第5章文件和目录_第1页
第5章文件和目录_第2页
第5章文件和目录_第3页
第5章文件和目录_第4页
第5章文件和目录_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2/4/20231Linux操作系统基础第5章文件和目录Linux文件5.1

Linux目录结构5.2文件和目录操作5.3链接文件5.45.1Linux文件 在Linux系统下除了一般文件之外,所有的目录和设备(光驱、硬盘等)都是以文件的形式存在的。 本节主要讲述Linux文件扩展名和Linux文件类型。Linux文件名 Linux可以支持长达256个字符的文件名称,文件名称中不能直接使用以下字符:

!@#$%^&*()[]{}‘“\/|;<>空格 这些字符具有特殊含义(称为“元字符”),如果在文件名称中使用的话,会产生“多义性”。 如果一定要使用这些字符必须在其前面加上转义符“\”,以取消其特殊含义,这种使用方法称为“引用”。5.1.1Linux文件的扩展名 文件扩展名是文件名的最后一个点(.)之后的部分,下面简单列出了一些在Linux系统中的文件扩展名和它们的含义。压缩的和归档的文件扩展名及其含义如下。.bz2:使用bzip2压缩的文件。

.gz:使用gzip压缩的文件。

.tar:使用tar压缩的文件,又称tar文件。.tbz:使用tar和bzip压缩的文件。

.tgz:使用tar和gzip压缩的文件。.zip:使用zip压缩的文件1.压缩的和归档的文件文件格式扩展名及其含义如下。

.au:音频文件。

.gif:GIF图像文件。

.html/.htm:HTML文件。

.jpg:JPEG图像文件。

.pdf:PDF文档。.png:PNG图像文件。.ps:PostScript文件,为打印而格式化过的文件。.txt:纯ASCII文本文件。

.wav:音频文件。.XPm:图像文件。2.文件格式系统文件扩展名及其含义如下。

.conf:一种配置文件,配置文件有时也使用.cfg。.lock:锁文件,用来判定程序或设备是否正在被使用。

.rpm:Linux系统中用来安装软件的软件包管理器文件。3.系统文件编程和脚本文件扩展名及其含义如下。

.c:C程序语言的源码文件。

.cpp:C++程序语言的源码文件。

.h:C或C++程序语言的头文件。

.o:程序的对象文件。.pl:Perl脚本。.py:Python脚本。.so:库文件。

.sh:Shell脚本。.tcl:TCL脚本。4.编程和脚本文件

文件扩展名不总是被使用或被一致地使用。可以使用file命令查看该文件的类型就可以了[root@PC-LINUX~]#fileit

it:ASCIItext注意5.1.2Linux文件类型

Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。 通过一般应用程序创建的文件,比如file.txt,file.tar.gz,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多称之为普通文件。Linux文件类型常见的有:普通文件目录文件设备文件管道文件符号链接文件常见的文件类型1.普通文件 用“ls–l”命令查看某个文件的属性,可以看到有类似“-rw-r--r--”的属性符号,其属性第一个符号“-”,这样的文件在Linux系统中就是普通文件。 这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具或归档工具等。2.目录文件 当我们在某个目录下执行“ls–l”命令时,可以看到有类似“drwxr-xr--x”的属性符号,其属性第一个符号“d”,这样的文件在Linux系统中就是目录文件。3.设备文件 Linux系统下的/dev目录中有大量的设备文件。主要是块设备文件和字符设备文件。(1)块设备文件 块设备的主要特点是可以随机读写,而最常见的块设备就是磁盘,如/dev/hda1、/dev/sda2、/dev/fd0等。其属性符号是“b”。

[root@PC-LINUX~]#ls–l/dev|grepsd

(2)字符设备文件 最常见的字符设备是打印机和终端,他们可以接受字符流。其属性符号是“c” [root@PC-LINUX~]#ls–l/dev

/dev/null是一个非常有用的字符设备文件,送入这个设备的所有东西都被忽略。如果将任何程序的输出结果重定向到/dev/null,则看不到任何输出信息。甚至于,您可以将某一用户的shell指向/dev/null以禁止其登录。4.管道文件 管道文件有时候也被叫做FIFO文件(FIFO是先进先出的意思),从字面上理解,管道文件就是从一头流入,从另一头流出。 使用如下命令可以看到文件属性第一个字符是“p”,这样的文件就是管道文件。

[root@PC-LINUX~]#ls–l/dev/initctl prw-------1rootroot0Feb502:00/dev/initctl5.链接文件见5.4节5.2Linux目录结构 所谓“分类”在术语上被称为“目录”(directory),对于一个分类中包含的更细层次的分类,前者称为后者的父目录或上级目录,而后者则称为前者的子目录。一个目录就是一系列它所包含的文件及子目录的集合。 在一个存储设备中最基本的目录(即分层结构的最上端)称为根目录,用符号“/”表示,这种分层保管文件的存储形式称为文件系统,在每一个文件系统中都只会有惟一一个根目录。由于文件系统看上去就像一棵倒挂着的树,故也称为“树型结构”。路径分为绝对路径和相对路径。绝对路径:文件或目录在硬盘上真正的路径,与当前用户所在的目录无关,均从根目录开始,即以“/”开头。相对路径:起点是当前目录,上级目录用“..”表示。不以“/”开头。路径Linux下的常见目录/home:该目录中包含Linux系统上各用户的主目录,主目录名称以该用户名命名。/root:系统管理员(也叫超级用户或根用户)的主目录。/bin:该目录中包含系统启动时需要的执行文件(二进制)。系统有很多放置执行文件的目录,但/bin比较特殊。因为/bin放置的是在单用户维护模式下还能够被操作的命令。 在/bin下的命令可以被root与一般账号所使用,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash等等常用的指令。Linux下的常见目录/sbin:该目录下的命令主要是用来设定系统环境的。只有root才能够利用这些命令来设定系统,其他用户最多只能用来查询而已。常见的指令包括:fdisk,ifconfig,init等等。/etc:系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件passwd、inittab文件。一般来说,这个目录下的各文件是可以让一般使用者查阅的,但是只有root有权力修改。/dev:在Linux系统上,任何设备与接口设备都是以文件的形式存在于这个目录当中的。你只要访问这个目录下面的某个文件,就等于访问某个设备。/lib:该目录中包含Linux系统的共享文件和内核模块文件Linux下的常见目录/usr目录中存放不经常变化的数据,一般在Linux系统中将其作为独立分区进行挂载。 因为所有系统默认的软件都会放置到/usr下,因此这个目录有点类似Windows系统的“C:\Windows\+C:\Programfiles\”这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。

/usr/bin/:绝大多数用户可使用的指令都放在这里。请注意到与/bin的不同之处Linux下的常见目录/proc:目录是一个虚幻的文件系统。它们实际上并不存在磁盘上,也不占用任何空间。当查看这些文件时,实际上是在访问保存在内存中的信息。/boot:用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。Linux下的常见目录/mnt如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。/tmp目录中包含一些临时文件。该目录会被自动清理干净。/lost+found目录中包含在文件系统修复时恢复的文件Linux下的常见目录5.3文件和目录操作本节主要讲述在Linux系统下如何使用命令对文件和目录进行操作,如:显示工作目录切换目录创建目录删除目录创建文件删除文件复制文件移动文件pwd(printworkdirectory)命令

-

查看当前目录使用权限:所有用户语法:pwd

功能:此命令显示出当前工作目录的绝对路径。例:显示当前工作目录名。#pwdcd(changedirectory)命令

-

切换目录命令使用权限:所有用户语法:cd

目录名功能:该命令将当前目录改变至目录名所指定的目录。

说明:若没有目录名,则转至用户的主目录。若目录名为“.”,则表示当前目录,若目录名为“..”,则表示为父目录,若目录名为“/”,表示为根目录。cd命令举例例1:从当前目录转到/usr/bin/目录。#cd/usr/bin例2:转到用户自己的主目录。#cd~

或#cd例3:跳到当前目录的上两层目录。#cd../..

使用权限:所有用户语法:ls[可选项]路径或文件名功能

:

列出文件或子目录的信息,没有任何选项的ls命令将按照字母顺序列出当前目录的所有非隐藏文件。可选项:

-a:显示所有文件,包括以.开头的隐藏文件

-l:以长格式显示文件或子目录的信息

-R:递归显示目录及下级子目录结构

-S:以文件大小排序-F:在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”等。ls(list)命令–

列出子目录和文件信息ls命令举例例1:显示/home/bxs目录下所有的文件(包括隐藏文件)。#ls-a/home/bxs例2:显示当前目录下所有的文件目录信息,用标记标出文件类型。#ls-Fls-lls-l

以长格式形式在每行显示一个目录或文件,如:drwxr-xr-x2jjpr1group512Nov1810:24.bbcdrwxrwxr-x2rootauth512Nov1610:33.abc-r--------1jjpr1auth0Nov1810:24.lastlogin每一行的组成部分:用颜色代表不同文件:蓝色:目录绿色:可执行文件红色:压缩文件浅蓝色:链接文件灰色:其他文件在ls-l显示结果中,第一个字符表示文件的类型

-:普通文件d:目录

c:字符设备b:块设备

l:链接文件touch命令

创建空文件、更改文件和目录时间使用权限:所有用户语法:touch[可选项]文件1[文件2]

功能:改变文件的时间记录和创建一个新的文件。

可选项:

-m改变文件的修改时间

-d

改变文件的读取时间

-t

:后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]touch命令举例例1:在当前目录下一次性创建aa、bb、cc三个文件#touch{aa,bb,cc}或touchaabbcc例2:修改f1和f2的修改时间为当前时间#touchf1f2-m

例3:将aa的修改时间改为2007/09/152:02#touch-t0709150202aamkdir(makedirectory)命令–

建立目录使用权限:所有用户语法:mkdir[可选项]目录名可选项:

-p:建立目录时,如果父目录不存在,则此时可以与子目录一起建立,即一次可建立多级目录。

-m对新建目录设置存取权限。例1:在dir2目录下建立bak目录,如果dir2目录不存在,那么同时建立dir2目录。 #mkdir–pdir2/ba例2:同时创建父目录和子目录并指定权限。 #

mkdir-p–m700newdir/subdirmkdir命令举例rmdir(removedirectory)命令–

删除空目录使用权限:所有用户语法:rmdir[可选项]目录名可选项:

-p:一起删除父目录时,父目录下应无其他目录。rmdir命令举例例1:[root@redflag/root]#rmdirtest

删除当前目录下的test目录。删除目录时,被删除的目录下应无文件或子目录存在。例2:[root@redflag/root]#rmdir-plongkey/test

删除当前目录下的longkey/test目录。删除目录test时,如果父目录longkey下无其他内容,则一起删除longkey目录。cp(copy)命令–

复制文件和目录使用权限:所有用户语法:cp

[可选项]

源文件

目标文件cp[可选项]

源文件1源文件2..

目标目录功能:将文件复制为另一文件,或将数个文件复制到一个目录可选项:

-p:保持原始文件属性-i:提示是否覆盖现有的普通目标文件-f:删除已经存在的目标文件而不提示-r:递归复制目录下所有的子目录和文件例1:#cp

aaa

bbb

将文件

aaa

复制(已存在),并命名为

bbb

例2:#cp/home/bxs/aa/root将/home/bxs下的文件aa复制到/root目录下。

例3:#cp

*.c

Finished

将所有C语言程序拷贝至

Finished

目录中例4:#cp–r/boot/root将/boot目录中的所有文件及其子目录复制到目录/root中mv(move)命令-

移动或更名现有文件或目录使用权限:所有用户语法:mv[可选项]源文件1源文件2...目标目录(移动文件)

mv源文件目标文件(文件更名)功能:移动或更名现有文件或目录。可选项:-i:如果导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n。

-f:要覆盖某已有的目标文件时不给任何指示。

mv命令举例例1:将文件aa从/home/bxs移动到/root。#mv–f/home/bxs/aa/root例2:将文件aa更名为bb。#mvaabbrm(romove)命令–

删除文件或目录使用权限:所有用户语法:rm[可选项]文件或目录可选项:

-i:删除每个文件时提示用户;

-f:不加提示地删除已存在的文件;

-r:递归删除整个目录。rm命令举例例1:#rm

-i

*.c

删除所有C语言程序档;删除前逐一询问确认例2:#rm

-r

Finished

Finished

的子目录及子目录中所有文件删除例3:#rm–fr/root/aaa强制删除/aaa文件夹和其中的所有文件。wc(wordcount)命令

文件内容统计命令

使用权限:所有用户语法:wc[可选项]文件名功能:统计指定文件中的行数、字数、字符数,并将统计结果显示输出。可选项:-c:只输出字符数。-w:只输出字数。-l:只输出行数。wc命令举例例1:对文件/etc/samba/smb.conf进行字节、字和行的数量统计。#wc/etc/samba/smb.conf例2:只统计/etc/samba/smb.conf中的行数。#wc-l/etc/samba/smb.conf

5.4链接文件在Linux系统中,内核为每一个新创建的文件分配一个inode(索引节点)号,文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存里,从而实现文件的快速访问。5.4.1链接文件简介 链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的方法。Linux系统中包括两种链接:硬链接(HardLink)软链接(SoftLink)(1)软链接文件 软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。 链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题,链接文件甚至可以循环链接自己。类似于编程语言中的递归。软链接的操作 在对符号链接进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。(2)硬链接

硬链接是一个指针,指向文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论