linux文件管理Word文档格式.docx
- 文档编号:20033158
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:16
- 大小:86.56KB
linux文件管理Word文档格式.docx
《linux文件管理Word文档格式.docx》由会员分享,可在线阅读,更多相关《linux文件管理Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
查看)。
在Shell脚本中,可用命令返回值作为控制逻辑的一部分。
◆Linux操作系统的联机帮助对每个命令的准确语法都做了说明,可以使用命令man来获取相应命令的联机说明,如manls。
文件系统概念
磁盘上的文件系统是层次结构的,由若干目录和其子目录组成,最上层的目录称作根(root)目录,用/表示。
1.文件与目录的定义
◆文件系统是磁盘上有特定格式的一片区域,操作系统通过文件系统可以方便地查寻和访问其中所包含的磁盘块。
◆文件文件系统中存储数据的一个命名的对象。
一个文件可以是空文件(即没有包含用户数据),但是它仍然为操作系统提供了其它信息。
◆目录目录文件中包含许多文件的目录项,每个目录项包含相应文件的名字和I节点号。
在I节点中存放该文件的控制管理信息。
目录支持文件系统的层次结构。
文件系统中的每个文件都登记在一个(或多个)目录中。
◆子目录被包含在另一个目录中的目录。
包含子目录的目录称作父目录。
除了root目录以外,所有的目录都是子目录,并且有它们的父目录。
root目录就作为自己的父目录。
◆文件名用来标识文件的字符串,它保存在一个文件目录项中。
◆路径名通过斜线字符(/)结合在一起的一个或多个文件名的集合。
路径名指定一个文件在分层树型结构(即文件系统)中的位置。
◆当前工作目录查看文件系统要使用一个参考点目录,它就称作当前工作目录。
用ls命令可以列出当前工作目录中所包含的文件和子目录的名字,这是默认方式。
文件名按照ASCII码顺序列出,以数字开头的文件名列在前面,然后是以大写字母开头的文件名,最后是以小写字母开头的文件名。
2.文件结构
文件是Linux操作系统处理信息的基本单位。
所有软件都组织成文件。
(1)文件的成分无论文件是一个程序、一个文档、一个数据库,或者是一个目录,操作系统都会赋予它如下所示的同样的结构:
◆索引节点又称I节点,在文件系统结构中,包含有关相应文件的信息的一个记录,这些信息包括文件权限、文件主、文件大小、存放位置、建立日期等。
◆数据文件的实际内容,它可以是空的,也可以非常大,并且有自己的结构。
(2)命名文件文件名保存在目录文件中。
Linux的文件名几乎可以由ASCⅡ字符的任意组合构成,文件名最长可多达255个字符(某些较老的文件系统类型把文件名长度限制为14个字符)。
下面的惯例会使管理文件更加方便。
◆文件名应尽量简单,并且应反映出文件的内容。
文件名几乎没有必要超过14个字符。
◆除斜线(/)和空字符(ASCII字符\0)以外,文件名可以包含任意的ASCⅡ字符,因为那两个字符被操作系统当作表示路径名的特殊字符来解释。
◆习惯上允许使用下线符_和句点.来区别文件的类型,使文件名更易读。
但是应避免使用以下字符,因为对系统的Shell来说,它们有特殊的含义。
这些字符是:
;
、|、<
、>
、`、″、′、$、!
、%、&
、*、?
、\、(、)、[、]。
文件名应避免使用空格、制表符或其它控制字符。
◆同类文件应使用同样的后缀或扩展名。
◆Linux系统区分文件名的大小写,例如,名为letter的文件与名为Letter的文件不是同一个文件。
◆以圆点.开头的文件名是隐含文件,默认方式下使用ls命令并不能把它们在屏幕上显示出来。
同样,在默认情况下,Shell通配符并不匹配这类文件名。
(3)文件名通配符为了能一次处理多个文件,Shell提供了几个特别字符,称为文件名通配符(也称作扩展字符)。
通过使用通配符可以让Shell查询与特别格式相符的文件名;
用作命令参数的文件或目录的缩写;
以简短的标记访问长文件名;
可以用于任意的命令行。
主要的文件名通配符有:
◆星号(*)与0个或多个任意的字符相匹配,例如,le*可以代表letter、lease或le。
星号匹配的是当前目录下的所有文件,但以点.开头的隐含文件除外。
.*只与隐含文件匹配。
◆问号(?
)问号只与一个任意的字符匹配,可以使用多个问号。
例如,file?
与文件file1、file2匹配,但不与file、file10匹配;
而name.?
?
与文件name.abc、name.xyz匹配,但不与文件name.ab匹配。
◆方括号([])与问号相似,只与一个字符匹配。
它们的区别在于,问号与任意一个字符匹配,而方括号只与括号中列出的字符之一匹配。
例如letter[123]只与文件letter1、letter2或letter3匹配,但不与文件letter12匹配。
可以用短横线代表一个范围内的字符,而不用将它们一一列出。
例如,letter[1-3]是letter[123]的简写形式。
但是,要注意范围内的字符都按升序排列,即[A-Z]是有效的,而[Z-A]是无效的。
方括号中可以列出多个范围,如[A-Za-z]可以和任意大写或小写的字符相匹配。
方括号中如果以惊叹号!
开始,表示不与惊叹号后的字符匹配。
上面介绍的所有符号都可以混和使用,例如,[!
A-Z]*.?
代表所有不以大写字母开头,但倒数第二个位置是.的文件名。
文件类型
Linux操作系统支持普通文件、目录文件、特别文件及符号链接文件等文件类型。
1.普通文件
普通文件也称作常规文件,包含各种长度的字节串。
核心对这些数据没有进行结构化,只是作为有序的字节序列把它提交给应用程序。
应用程序自己组织和解释这些数据,通常把它们归并为下述类型之一:
◆文本文件,由ASCII字符构成。
例如,信件、报告和称作脚本(Script)的命令文本文件,后者由shell解释执行。
◆数据文件,由来自应用程序的数字型和文本型数据构成。
例如,电子表格、数据库,以及字处理文档。
◆可执行的二进制程序,由机器指令和数据构成。
例如,上面所说的系统提供的命令。
使用file命令可以确定指定文件的类型。
该命令可以将任意多个文件名当做参数,其一般使用格式是:
file文件名[文件名...]
2.目录
目录是一类特殊的文件,利用它可以构成文件系统的分层树型结构。
如同普通文件那样,目录文件也包含数据;
但目录文件与普通文件的差别是,核心对这些数据加以结构化,它是由成对的I节点号/文件名构成的列表。
◆I节点号是检索I节点表的下标,I节点中存放有文件的状态信息。
◆文件名是给一个文件分配的文本形式的字符串,用来标识该文件。
在一个指定的目录中,任何两项都不能有同样的名字。
每个目录的第一项都表示目录本身,并以.作为它的文件名。
每个目录的第二项的名字是..,表示该目录的父目录。
应注意:
以.开头的文件名表示隐含文件,使用带-a选项的ls命令可以列出它们。
当把文件添加到一个目录中的时候,该目录的大小会增长,以便容纳新文件名。
当删除文件时,目录的尺寸并不减少,而是核心对该目录项做上特殊标记,以便下次添加一个文件时重新使用它。
ls命令不会列出这些未被使用的项。
3.设备文件
在Linux系统中,所有设备都作为一类特别文件对待,用户像使用普通文件那样对设备进行操作,从而实现设备无关性。
但是,设备文件除了存放在文件I节点中的信息外,它们不包含任何数据。
系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。
有两类特别设备文件,它们对应不同类型的设备驱动器:
◆字符设备最常用的设备类型,允许I/O传送任意大小的数据,取决于设备本身的容量。
使用这种接口的设备包括终端、打印机及鼠标。
◆块设备这类设备利用核心缓冲区的自动缓存机制,缓冲区进行I/O传送总是以1KB为单位。
使用这种接口的设备包括硬盘、软盘和RAM盘。
设备文件的一个示例是当前正在使用的终端,tty命令可以显示出这个文件名。
例如:
$tty
/dev/tty01
通常,设备文件在/dev目录之下。
目录及其操作命令
在Linux系统中,除根目录(root)以外,所有文件和目录都包含在相应的目录文件中。
下面介绍Linux系统的目录结构及主要的操作命令。
1.目录结构
Linux文件系统采用带链接的树形目录结构,即只有一个根目录(通常用/表示),其中含有下级子目录或文件的信息;
子目录中又可含有更下级的子目录或者文件的信息。
这样一层一层地延伸下去,构成一棵倒置的树,如图1所示。
图1Linux树型目录结构
在目录树中,根节点和中间节点(用圆圈表示)都必须是目录,而普通文件和特别文件只能作为叶子出现。
当然,目录也可以作为叶子。
(1)用户主目录
当注册进入系统时,主目录就是当前工作目录。
主目录往往位于/home目录之下,并且与注册名相同,例如,/home/mengqc。
通常主目录包含子目录、数据文件,以及用于注册环境的配置文件。
(2)路径名
迄今为止,所看到的文件仅是主目录下的文件。
其实,还可以利用路径名访问在层次结构文件系统中任何地方的文件和目录。
为了访问文件,必须告诉系统文件在什么地方,即保存在哪个目录下。
路径名描述了文件系统中通向任意文件的路径。
有绝对路径和相对路径两种路径名。
当为命令指定文件路径名时,需要指定两种路径形式的一种,不管它有多长或有多复杂。
◆绝对路径名
在Linux操作系统中,每一个文件有惟一的绝对路径名,它是沿着层次树、从根目录开始、到达相应文件的所有目录名连接而成,各目录名之间以斜线字符(/)隔开。
例如,/home/mengqc/lib/func/file1。
绝对路径名总是以斜线字符(/)开头,它表示根目录。
如果要访问的文件在当前工作目录之上,那么,使用绝对路径名往往是最简便的方法。
绝对路径名也称作全路径名,使用pwd命令可以在屏幕上显示出当前工作目录的绝对路径名。
$pwd
/home/mengqc
图2路径名类型
图2示出路径名的类型。
绝对路径名为/home/mengqc/lib/func/file1;
相对路径名(当前目录是/home/mengqc/lib)为func/file1。
◆相对路径名
相对路径名利用相对当前工作目录的路径指定一个文件。
为了访问当前工作目录或其任意子目录中的文件,可以使用相对路径名。
例如,如果工作目录是/home/mengqc/lib,为了列出目录/home/mengqc/lib/func中的文件file1,可以使用下述命令:
ls-lfunc/file1
注意,相对路径名不能以斜线字符(/)开头。
为了访问在当前工作目录中和当前工作目录之上的文件,可以在相对路径名中使用特殊目录名.和..。
.目录表示本目录自身,而..目录代表该目录的父目录。
例如,当前工作目录是/home/mengqc/lib,想列出/home/liu目录的内容,可使用命令:
ls../../liu
提醒注意,在每个目录中都有..目录文件。
在上面示例中,/home/mengqc/lib的父目录是/home/mengqc,后者的父目录是/home。
也可以连续使用../形式表示父目录,直至根目录。
所以,系统中的每个文件都可以利用相对路径名来命名。
(3)正确使用路径名
什么情况下使用绝对路径名,什么情况下使用相对路径名,取决于哪种方式涉及到的目录更少。
路径短,不仅键盘输入少,而且节省系统搜索路径的时间,提高执行效率。
例如,当前的工作目录是/etc/conf/cf.d,如果需要访问系统口令文件/etc/passwd,那么使用绝对路径名是/etc/passwd,使用相对路径名是../../passwd。
绝对路径名/etc/passwd涉及的目录有2个,而相对路径名../../passwd涉及的目录却是3个。
此时,使用绝对路径名更有效。
但是,如果当前工作目录是/home/mengqc/lib,要访问在func目录之下的file1文件,那么使用绝对路径名是/home/mengqc/lib/func/file1,使用相对路径名是func/file1。
绝对路径名/home/mengqc/lib/func/file1涉及的目录有5个,而相对路径名涉及的目录只有2个。
此时,使用相对路径名更有效。
如果不清楚当前工作目录与其它目录之间的关系,那么最好使用绝对路径名。
2.链接文件
Linux具有为一个文件起多个名字的功能,称为链接。
被链接的文件可以存放在相同的或不同的目录下。
如果在同一目录下,二者必须有不同的文件名,而不用在硬盘上为同样的数据重复备份;
如果在不同的目录下,那么被链接的文件可以与原文件同名,只要对一个目录下的该文件进行修改,就可以完成对所有目录下同名链接文件的修改。
对于某文件的各个链接文件,我们可以给它们指定不同的存取权限,以控制对信息的共享和增强安全性。
文件链接分为硬链接和符号链接两种形式。
(1)硬链接
建立硬链接时,是在另外的目录或本目录中增加目标文件的一个目录项,这样,一个文件就登记在多个目录中。
图3中所示的m2.c文件就在目录mub1和liu中都建立了目录项。
图3文件链接
创建硬链接后,已经存在的文件的I节点号(inode)会被多个目录文件项使用。
一个文件的硬链接数可以在目录的长列表格式的第二列中看到,无额外链接的文件的链接数为1。
ln命令用来创建链接。
默认情况下,ln命令创建硬链接。
ln命令会增加链接数,rm命令会减少链接数。
一个文件除非链接数为0,否则不会物理地从文件系统中被删除。
对硬链接有如下限制:
◆不能对目录文件做硬链接。
◆不能在不同的文件系统之间做硬链接。
也就是说,链接文件和被链接文件必须位于同一个文件系统中。
(2)符号链接
符号链接也称软链接,是将一个路径名链接到一个文件。
这些文件是一种特别类型的文件。
事实上,它只是一个小文本文件(如图3中的abc文件),其中包含它所链接的目标文件的绝对路径名,如图3中虚线箭头所示。
被链接文件是实际上包含所有数据的文件。
所有读写文件的命令,当它们涉及符号链接文件时,将沿着链接方向前进,找到实际的文件。
和硬链接不同的是,符号链接确实是一个新文件,它具有与目标文件不同的I节点号;
而硬链接并没有建立新文件。
符号链接没有硬链接的限制,可以对目录文件做符号链接,也可以在不同文件系统之间做符号链接。
用ln-s命令建立符号链接时,最好源文件用绝对路径名,这样可以在任何工作目录下进行符号链接。
当源文件用相对路径时,如果当前的工作路径和你要创建的符号链接文件所在路径不同时,就不能进行链接。
请注意,符号链接与源文件或目录之间的区别:
◆删除源文件或目录时,只删除了数据,不会删除链接。
一旦以同样文件名创建了源文件,链接将继续指向该文件的新数据。
◆在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是l。
◆符号链接的大小是其链接文件的路径名中的字节数。
◆当用ls-l命令列出文件时,可以看到符号链接名后有一个箭头指向源文件或目录,例如:
lrwxrwxrwx...14Jun2010:
20/etc/motd->
/original_file
上面代码中,表示文件大小的数字14恰好表示源文件名/original_file由14个字符构成。
ln命令的一般格式:
ln[选项]源文件[目标文件]
链接的对象可以是文件,也可以是目录。
如果链接指向目录,用户就可以利用该链接直接进入被链接的目录,而不用给出到达该目录的一长串路径。
这样,即使删除这个链接,也不会破坏原来的目录。
选项-s表示建立符号链接,而不是硬链接。
注意,符号链接文件不是一个独立的文件,它的许多属性依赖于原文件,所以给一个符号链接文件设置存取权限是没有意义的。
(3)示例
◆将目录/home/mengqc/mub1下的文件m2.c链接到目录/home/liu下的文件a2.c:
$cd/home/mengqc
$lnmub1/m2.c/home/liu/a2.c
在执行ln命令之前,目录/home/liu中不存在a2.c文件。
执行ln之后,在/home/liu目录中才有a2.c这一项,表明m2.c和a2.c已经链接起来。
注意,二者在物理上是同一个文件。
利用ls-l命令可以看到链接数的变化。
◆在目录/home/liu下建立一个符号链接文件abc,使它指向目录/home/mengqc/mub1:
$ln-s/home/mengqc/mub1/home/liu/abc
执行该命令后,/home/mengqc/mub1代表的路径将存放在名为/home/liu/abc的文件中。
3.文件或目录的存取权限
使用文件命令对文件进行操作的前提是拥有相应的权限。
下面我们介绍如何控制这些权限。
(1)用户和权限
Linux为每个文件都分配了一个文件所有者,称为文件主,并赋予文件主惟一的注册名。
对文件的控制取决于文件主或超级用户(root)。
文件或目录的创建者对创建的文件或目录拥有特别使用权。
文件的所有关系是可以改变的,可以将文件或目录的所有权转让给其它用户,但只有文件主或root用户才有权改变文件的所有关系。
文件的所有权的标志是用户ID(UID)。
利用chown命令可以更改某个文件或目录的所有权。
例如,超级用户把自己的一个文件myfile拷贝给用户xu。
为了让用户xu能够存取这个文件,超级用户(root)应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件,命令如下:
chownxumyfile
如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。
系统管理员经常使用chown命令,以便将文件拷贝到另一个用户的目录下以后,让该用户拥有使用该文件的权限。
(2)用户组
在Linux下,每个文件又同时属于一个用户组。
当创建一个文件或目录时,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。
文件用户组关系的标志是GID。
文件的GID只能由文件主或超级用户(root)来修改。
chgrp命令可以改变文件的GID。
(3)用户和权限
Linux系统中的每个文件和目录都有存取许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
Linux系统中规定了四种不同类型的用户,即文件主(owner)、同组用户(group)、可以访问系统的其它用户(others)、超级用户(root),具有管理系统的特权。
存取权限规定三种访问文件或目录的方式:
读(r)、写(w)、可执行或查找(x)。
当用ls-l命令显示文件或目录的详细信息时,最左边的一列为文件的存取权限,其中各位的含义如图4所示。
图4文件权限表示
◆文件的存取权限
读权限(r)表示只允许指定用户读取相应文件的内容,而禁止对它做任何的更改操作。
将所访问的文件的内容作为输入的命令都需要有读的权限。
例如cat、more等。
写权限(w)表示允许指定用户打开并修改文件。
例如命令vi、cp等。
执行权限(x)表示允许指定用户将该文件作为一个程序执行。
◆目录的存取权限
在ls命令后加上-d选项,可以了解目录文件的使用权限。
读权限(r)表示可以列出存储在该目录下的文件,即读目录内容列表。
这一权限允许Shell使用文件扩展名列出相匹配的文件名。
写权限(w)表示允许用户从目录中删除或添加新的文件,通常只有文件主才有写权限。
执行权限(x)表示允许用户在目录中查找,并能用cd命令将工作目录改到该目录。
(4)chmod命令
chmod命令用于改变或设置文件或目录的存取权限。
只有文件主或超级用户root才有权用chmod改变文件或目录的存取权限。
根据表示权限的方式不同,该命令有以符号模式改变权限和以绝对方式改变权限两种用法。
◆以符号模式改变权限
chmod命令的一般格式是:
chmodkey文件名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 文件 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)