Linux常见的文件系统介绍
支持十多种:JFS,ReiserFS,Ext,Ext2,Ext3,ISO9660,XFS,Minx,MSDOS,UMSDOS,VFAT,
NTFS,HPFS,NFS,SMB,SysV,PROC等
Linux文件介绍
1.LINUX文件均为无结构的字符流形式,文件名是文件的标识,由字母,数字,下划线和圆点组成的字符串构成.
2.LINUX系统中有三种基本文件类型:
   普通文件:是用户最熟悉的最常用的文件,分为文本文件和二进制文件两种.
    目录文件:主要的目的是用于管理和组织系统中的大量文件,其存储一组相关文件的位置,大小等与文件有关的信息.目录文件一般简称为目录.
   设备文件:LINUX系统把每一个I/O设备都看成一个文件.与普通文件一样处理.
LINUX目录介绍
1.树型目录结构
LINUX系统以文件夹目录的方式来组织和管理系统中的所有文件,所谓文件目录就是将所有文件的说明信息采用树型结构组织起来.整个文件系统有一个"根"ROOT,然后在根上分"杈"(DIRECTORY),任何一个分杈上都可以再分杈,杈上也可以长出"叶子",.根和杈在LINUX中被称为是目录或文件夹.而叶子则是文件.实际上,各个目录结点之下都会有一些文件和子目录,并且,系统在建立每一个目录时,都会自动为它设定两个目录文件,一个是".",代表该目录自己.另一个则是".."代表该目录的父目录.
2.工作目录与用户主目录的路径
  从逻辑上讲,用户登录LINUX系统之后,第时第刻都处在某个目录之中,些目录被称作工作目录或当前目录.工作目录可以随时改变.用户初始登录到系统中时,其主目录就成为其工作目录.工作目录用"."表示,其父目录用".."表示.
  用户主目录是系统管理员增加用户时建立起来的,每个用户都有自己的主目录,不同用户服务的主目录一般是互不相同的.用户刚登录到系统中,其工作目录便是该用户的主目录,通常与用户的登录名相同.用户可以通过一个"~"来引用自己的主目录
如下:#cat ~/tool/software
         #cat  /home/test/tool/software
这两条路径是一样的.
LINUX目录结构
 / 根目录
/bin 存放必要的命令
/boot 存放内核以及启动所需的文件
/dev 存放设备文件
/etc  存放系统的配置文件
/home 用户文件的主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp  存放临时文件的目录
/usr  包含一个不要修改的应用程序,命令程序文件,程序库,手册
/var 包含系统产生的经常变化的文件
 
文件与目录基本操作
1.显示文件内容命令:cat ,more,less,head,tail
 cat命令
  使用形式:cat[选项]文件名
 -V:--show-nonprinting用一种特殊形式显示控制字符,LFD与TAB除外
 -n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
下面给出使用例子看看
每一个是在屏幕上显示出51CTO.txt文件的内容.加了-A是如果文件中含有特殊字符的话,一起显示出来.
第三个是把两个文件的内容合并起来,放入文件beijin.txt中.然后查看其内容变化.
2.more命令
要查看文件过程中,因为有的文本过于庞大,文本在屏幕上迅速闪过,用户不及看清其内容.该命令就可以一次显示一屏文本,显示满之后,停下来,并在终端底部打印出-MORE-.若要继续显示,按回车或空格键即可.
使用格式:more[选项]文件名
-P:显示下一屏之前先清屏
-C:作用同-P类似
-d:在每屏底部显示更友好的提示信息.
-s:文件中连续的空白行压缩成一个空白行显示
i:n在命令行中指定了多个文件名的情况下,可用此命令使之显示第I个文件,若I过大,则显示文件名列表中最后一个文件.
i:p在命令行中指定了多个文件夹名的情况下,可用些命令使之显示倒数第I个文件,若I过大,则显示第一个文件.
i:f显示当前文件的文件名和行数.
下面给出几个例子:
分页方式显示文件内容
3.less命令
该命令和上面的功能基本相同,不同的是显示文件夹时允许用户既可以向前又可以向后地翻阅文件,而MORE命令只能向后翻.
命令格式:less文件名
如果按页翻TEST文件,执行如下:
#less test
如果向后翻用键盘上的"PAGE UP".向前用"PAGE DOWN"
4.head命令
该命令只显示文件或标准输入的头几行内容,如果用户希望查看一个文件究竟保存的是什么内容,只要查看文件的头几行,而不必浏览整个文件.便可使用该命令.
格式:head [n值]文件名

 这里是显示文件的前3行.和前8行看看.
5.tail命令
和HEAD命令功能相对应,如果想查看文件的尾部,就使用该命令.
格式:tail [选项]文件名
+num:从第num行以后开始显示
-num:从距离文件尾行处开始显示.如果省略参数,则默认为10
l:以文本行为num的计数单位,与参数+num或-num选项同时使用时,num表示要显示的文本行行数.
c:以字节为num的计数单位,与参数+num或-num选项同时使用时,num表示要显示的字符数.
例子:
显示文件的最后8行.
 
文件内容查询命令:grep,egrep,fgrep
这组命令抒写的查找模式搜索文件,通知用户在什么文件中搜索到与指定的模式匹配的字符串.GREP命令一次只能搜索一个指定的模式,EGREP命令检索扩展的正则表达式.FGREP命令检索固定字符串,并不识别正则表达式,是一种更为快速的搜索命令.用来搜索文件中包含的关键词.
 格式:grep [选项][查找模式][文件名1,文件名2,....]
          egrep[选项][查找模式][文件名1,文件名2,...]
           fgrep[选项][查找模式][文件名1,文件名2,...]
例子:
搜索字符串"redhat".
最后一个命令是搜索出当前目录下所有文件中含有"51CTO"字符串的行
 
文件查找命令:find,locate
1.find命令
该命令的功能是在指定的目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作.
格式:find[选项]文件名
可跟逻辑运算符not,and,or组成复合条件:and,逻辑与,在命令用"-a"表示.or,逻辑或,在命令中用"-o"表示,not,逻辑非,在命令串用"!"表示.
参数:
-amin<分钟>  查找在指定时间曾被存取过的文件或目录,单位以分钟计算。 
 -anewer<参考文件或目录>  查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。 
 -atime<24小时数>  查找在指定时间曾被存取过的文件或目录,单位以24小时计算。 
 -cmin<分钟>  查找在指定时间之时被更改的文件或目录。 
 -cnewer<参考文件或目录>  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。 
 -ctime<24小时数>  查找在指定时间之时被更改的文件或目录,单位以24小时计算。 
 -daystart  从本日开始计算时间。 
 -depth  从指定目录下最深层的子目录开始查找。 
 -expty  寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录。 
 -exec<执行指令>  假设find指令的回传值为True,就执行该指令。 
 -false  将find指令的回传值皆设为False。 
 -fls<列表文件>  此参数的效果和指定"-ls"参数类似,但会把结果保存为指定的列表文件。 
 -follow  排除符号连接。 
 -fprint<列表文件>  此参数的效果和指定"-print"参数类似,但会把结果保存成指定的列表文件。 
 -fprint0<列表文件>  此参数的效果和指定"-print0"参数类似,但会把结果保存成指定的列表文件。 
 -fprintf<列表文件><输出格式>  此参数的效果和指定"-printf"参数类似,但会把结果保存成指定的列表文件。 
 -fstype<文件系统类型>  只寻找该文件系统类型下的文件或目录。 
 -gid<群组识别码>  查找符合指定之群组识别码的文件或目录。 
 -group<群组名称>  查找符合指定之群组名称的文件或目录。 
  -iname<范本样式>  此参数的效果和指定"-name"参数类似,但忽略字符大小写的差别。  
 -ls  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。 
  -nogroup  找出不属于本地主机群组识别码的文件或目录。 
 -noleaf  不去考虑目录至少需拥有两个硬连接存在。 
 -nouser  找出不属于本地主机用户识别码的文件或目录。 
 -ok<执行指令>  此参数的效果和指定"-exec"参数类似,但在执行指令之前会先询问用户,若回答"y"或"Y",则放弃执行指令。 
 -path<范本样式>  指定字符串作为寻找目录的范本样式。 
 -perm<权限数值>  查找符合指定的权限数值的文件或目录。 
 -print  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称之前皆有"./"字符串。 
 -print0  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。 
 -printf<输出格式>  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式可以自行指定。 
 -size<文件大小>  查找符合指定的文件大小的文件。 
 -typ<文件类型>  只寻找符合指定的文件类型的文件。 
 -uid<用户识别码>  查找符合指定的用户识别码的文件或目录。 
 -used<日数>  查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。 
 -user<拥有者名称>  查找符合指定的拥有者名称的文件或目录。 
 -version或--version  显示版本信息。 
 -xdev  将范围局限在先行的文件系统中。 
 -xtype<文件类型>  此参数的效果和指定"-type"参数类似,差别在于它针对符号连接检查。
下面看几下例子
查找当前目录所有心51CTO开头的文件并显示这些文件的内容.
删除当前目录下所有一周之内没有被访问过的a.out 或*.o文件.
寻找三个给定条件都满足的所有文件.
查询文件名为httpd或是匹配h*的所有文件
查询文件名不是httpd.conf的所有文件
文本处理命令:sort,uniq
1.sort命令
该命令是对文件中的各行进行排序.
使用形式:sort[选项]文件名
参数
-b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  -f   排序时,将小写字母视为大写字母。
  -i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  -m   将几个排序好的文件进行合并。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
  -o<输出文件>   将排序后的结果存入指定的文件。
  -r   以相反的顺序来排序。
  -t<分隔字符>   指定排序时所用的栏位分隔字符。
  +<起始栏位>-<结束栏位>   以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  --help   显示帮助。
  --version   显示版本信息。
下面看几个例子
先看原文件内容,然后对内容排序
 
以第二个字段作为排序关键字对文件的内容进行排序
当前工作目录中的文件送给SORT进行排序,排序关键是第6个到第8个字段.
把两个文件经过合并与排序后被保存到文件zhanjiang中.可看到保存后的内容.
2.uniq命令
文件经过处理后在它的输出文件中可能会出现重复的行.可用这个命令将这些重复的行从输出文件中删除,只留下每条记录的惟一样本.
使用形式:uniq[选项]文件名
 -c或--count   在每列旁边显示该行重复出现的次数。
  -d或--repeated   仅显示重复出现的行列。
  -f<栏位>或--skip-fields=<栏位>   忽略比较指定的栏位。
  -s<字符位置>或--skip-chars=<字符位置>   忽略比较指定的字符。
  -u或--unique   仅显示出一次的行列。
  -w<字符位置>或--check-chars=<字符位置>   指定要比较的字符。
  --help   显示帮助。
  --version   显示版本信息。
  [输入文件]   指定已排序好的文本文件。
  [输出文件]   指定输出的文件。
 
文本内容统计命令:wc
该命令统计给定文件中的字节数,字数,行数,如果没有给出文件名,则从标准输入读取.
使用形式:wc[选项]文件名
-c:统计字节数
-l:统计行数
-w:统计字数
下面看几个例子
统计的分别是行数,字节数,字数.最后一条命令是对两个文件同时处理.
 
文件比较命令:comm.diff
1.comm命令
该命令是对两个已经排好序的文件进行比较.其中FILE1和FILE2是排序好的文件,comm读取两个文件,然后生成三列输出,仅在FILE1中出现的行,仅在FILE2中出现的行;在两个文件中都存在的行.如果文件名用"-"则表示从标准输入读取.
使用形式:comm[选项]文件名
选项1.2或3控制相应的列显示与否.例如comm-12就显示在两个文件中都存在的行;comm-23只显示在第一个文件中出现而未在第二个文件中出现的行;comm-123则什么也不显示.
下面看几个例子
显示两个文件中共有行的内容.
2.diff命令
该命令的功能为逐行比较两个文本文件,列出其不同之处,它对给出的文件进行系统地检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序.
使用形式:diff[选项]待比较文件1 待比较文件2
语  法:diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2] 
补充说明:diff以逐行的方式,比较文本文件的异同处。所是指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
参  数:
 -<行数>  指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。 
 -a或--text  diff预设只会逐行比较文本文件。
 -b或--ignore-space-change  不检查空格字符的不同。 
 -B或--ignore-blank-lines  不检查空白行。 
 -c  显示全部内文,并标出不同之处。 
 -C<行数>或--context<行数>  与执行"-c-<行数>"指令相同。 
 -d或--minimal  使用不同的演算法,以较小的单位来做比较。 
 -D<巨集名称>或ifdef<巨集名称>  此参数的输出格式可用于前置处理器巨集。 
 -e或--ed  此参数的输出格式可用于ed的script文件。 
 -f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。 
 -H或--speed-large-files  比较大文件时,可加快速度。 
 -l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。 
 -i或--ignore-case  不检查大小写的不同。 
 -l或--paginate  将结果交由pr程序来分页。 
 -n或--rcs  将比较结果以RCS的格式来显示。 
 -N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:
Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。  
 -p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。 
 -P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。 
 -q或--brief  仅显示有无差异,不显示详细的信息。 
 -r或--recursive  比较子目录中的文件。 
 -s或--report-identical-files  若没有发现任何差异,仍然显示信息。 
 -S<文件>或--starting-file<文件>  在比较目录时,从指定的文件开始比较。 
 -t或--expand-tabs  在输出时,将tab字符展开。 
 -T或--initial-tab  在每行前面加上tab字符以便对齐。 
 -u,-U<列数>或--unified=<列数>  以合并的方式来显示文件内容的不同。 
 -v或--version  显示版本信息。 
 -w或--ignore-all-space  忽略全部的空格字符。 
 -W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。 
 -x<文件名或目录>或--exclude<文件名或目录>  不比较选项中所指定的文件或目录。 
 -X<文件>或--exclude-from<文件>  您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。 
 -y或--side-by-side  以并列的方式显示文件的异同之处。 
 --help  显示帮助。 
 --left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
 --suppress-common-lines  在使用-y参数时,仅显示不同之处。
下面看几个例子
以"<"打头的行属于第一个文件,以">"打头的行属于第二个文件.
 
文件的复制,移动,和删除命令:cp,mv,rm
1.cp命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中.如同DOS下的COPY一样.
使用形式:cp[选项]源文件或目录 目标文件或目录
参  数:
 -<行数>  指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。 
 -a或--text  diff预设只会逐行比较文本文件。
 -b或--ignore-space-change  不检查空格字符的不同。 
 -B或--ignore-blank-lines  不检查空白行。 
 -c  显示全部内文,并标出不同之处。 
 -C<行数>或--context<行数>  与执行"-c-<行数>"指令相同。 
 -d或--minimal  使用不同的演算法,以较小的单位来做比较。 
 -D<巨集名称>或ifdef<巨集名称>  此参数的输出格式可用于前置处理器巨集。 
 -e或--ed  此参数的输出格式可用于ed的script文件。 
 -f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。 
 -H或--speed-large-files  比较大文件时,可加快速度。 
 -l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。 
 -i或--ignore-case  不检查大小写的不同。 
 -l或--paginate  将结果交由pr程序来分页。 
 -n或--rcs  将比较结果以RCS的格式来显示。 
 -N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:
Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。  
 -p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。 
 -P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。 
 -q或--brief  仅显示有无差异,不显示详细的信息。 
 -r或--recursive  比较子目录中的文件。 
 -s或--report-identical-files  若没有发现任何差异,仍然显示信息。 
 -S<文件>或--starting-file<文件>  在比较目录时,从指定的文件开始比较。 
 -t或--expand-tabs  在输出时,将tab字符展开。 
 -T或--initial-tab  在每行前面加上tab字符以便对齐。 
 -u,-U<列数>或--unified=<列数>  以合并的方式来显示文件内容的不同。 
 -v或--version  显示版本信息。 
 -w或--ignore-all-space  忽略全部的空格字符。 
 -W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。 
 -x<文件名或目录>或--exclude<文件名或目录>  不比较选项中所指定的文件或目录。 
 -X<文件>或--exclude-from<文件>  您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。 
 -y或--side-by-side  以并列的方式显示文件的异同之处。 
 --help  显示帮助。 
 --left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
 --suppress-common-lines  在使用-y参数时,仅显示不同之处。
下面举例
将文件拷贝到/home/ming目录下.
拷贝并命名为meizhou.txt.
可看下结果.已命名了.
2.mv命令
用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中,该命令如同DOS下的ren和move的组合.
使用形式:mv[选项]源文件或目录 目标文件或目录.
下面看例子
将/home/ming中的所有文件移动到当前目录(用"."表示).
将文件meizhou.txt 重命名为guangzhou.txt
3.rm命令
使用形式:rm[选项]文件
-f忽略不存在的文件,从不给出提示
-r:指示rm将参数中列出的全部目录和子目录均递归地删除,如果没有使用-r选项,则rm不会删除目录
-i:进行交互式删除
下面看例子
一个删除,一个保留.
文件键接命令:ln
该命令在文件之间创建链接,这促操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称,对于这个新的文件名,我们可以为其指定不同的访问权限,以控制对信息的共享和安全性的问题.如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用使用较长的路径名,而且删除这个链接不会破坏原来的目录.
   链接有两种.一种是硬链接:链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接,另一种是符号链接,也叫软链接.给ln加入-s选项,则建立符号链接.
用户为当前目录下的文件guangzhou.txt创建了一个符号链接/home/ming
 
目录的创建与删除命令:mkdir,rmdir
1.mkdir命令
使用形式:mkdir[选项]dirname
参数:
-m:对新建目录设置存取权限,也可以用chmod命令设置.
-p:可以是一个路径名称,此时若路径中某些目录不存在,加上此选项后,系统将自动建立好这些不存在的目录,即一次可以建立多个目录.
在当前目录中建立***和***下的/mail目录,也就是连续建两个目录.
×××
看到都建立了.
2.rmdir命令
使用形式为rmdir[选项]dirname
该命令从一个目录中删除一个或多个子目录项.要注意的是,一个目录被删除之前必须是空的,删除某目录时也必须具有对父目录的写权限.
-p:递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除.
可见删除了,由于父目录非空不能被删除,便有提示.
 
改变工作目录,显示路径和显示目录内容命令:cd,pwd ,ls
1.cd命令
这个命令大家都很常用的.
切换到另处一个目录.
2.pwd命令
该命令显示整个路径名.
显示当前工作路径.
3.ls命令
使用形式为:ls[选项][目录或是文件]
-a:显示指定目录下所有的子目录与文件,包括隐藏文件.
-A:显示指定目录下所有的子目录与文件,包括隐藏,但汪列出"."和".."
-d:如果参数是目录,只显示其名称不显示其下的各个文件,且往往与l选项一起使用,以得到目录的详细信息.
-l:以长格式来显示文件的详细信息.这个选项最常用了.每行列出的信息依次是:文件类型与权限 链接数  文件属主 文件属组  文件大小 建立或最近修改时间名字....对于符号链接文件,显示的文件名之后有"->"和引用文件路径名;对于设备文件,其"文件大小"字段显示主,次设备号,而不是文件大小,目录中的总块数显示在长格式列表的开头,其中包含间接块.
-L:若指定的名称为一个符号链接文件,则显示链接所指向的文件.
-m:输出按字符流格式,文件跨页显示,以逗号分开
-R;递归式地显示指定目录的各个子目录中的文件.
下面看类型:-:普通文件;d:目录;b:块设备文件;c:字符设备文件.后面的9个字符表示文件的访问权限,分为3组,每组3位,每一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其它用户的权限.
   每一组的三个字符分别表示对文件的读,写和执行权限.各权限如下
:r:读;
w:写;
x:执行,对于目录,表示进入权限.
s:当文件被执行时,把该文件的UID或GID赋予执行进程的UID或GID;
t:设置标志位(留在内存,不被换出),如果该文件是目录,在该目录中的文件只能被超级用户,目录拥有都或文件属主删除,如是是可执行文件,在该文件执行后,指向其正文段的指针仍留在,内存,这样再次执行,系统就能更快地装入该文件.
-:没有设置权限.
下面看例子
列出当前目录的内容
列出某个目录的内容.
用长格式列出某个目录下的所有的文件,包括隐藏文件.
用长格式列出某个目录下所有的文件包括隐藏文件各它们的I节点号,并把文件属主和属组以UID号和GID号形式显示.
 
文件/目录访问权限管理
文件或目录的访问权限分为只读,只写和可执行三种.有三种不同类型的用户可对文件或目录进行了访问;文件所有者,同组用户和其它用户.每一个文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读写和执行权限;与属主同组的用户读写和执行权限;系统中其它用户的读写和执行权限.
横线代表空许可,即不具有该权限.注意这里共有10个位置,第1个字符指定了文件类型.在通常意义上,一个目录也是一个文件,如果第1个字符是横线,表示是一个非目录的文件,如果是d,表示一个目录.后面的9个字符每三个构成一组,依次表示文件主,组用户,其它用户对该文件的访问权限.
使用chmod改变文件/目录的访问权限
该命令有两种方法,一种是包含字母和操作符表达式的文字设定法,另一种是包含数字的数字设定法.
1文字设定法:使用形式:chmod[who][+|-|=][mode]文件名其中who可以是下面字母中的任一个或者为各字母的组合:U表示用户.即文件或目录的所有者.G表示同组用户.O表示其它用户.a表示所有用户.其为系统默认.
操作符可以是:+:添加某个权限;-取消某个权限;=赋予给定权限并取消其它所有权限.
设定文件属性为:文件属主U增加执行权限;与文件属主同组用户G增加执行权限;其它用户O增加执行权限.
设定文件属性为:U增加写权限;G增加写权限;O删除执行权限.
对可执行文件添加S权限,使得执行该文件的用户暂时具有该文件拥有者的权限.
这些命令都是将文件的执行权限删除
2.数字设定法.
数字设定法含义为:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限.然后将其相加.所有数字格式应为3个从0到7的八进制数.如果想让某个文件的属主有"读/写"二种权限,要把4+2=6读/写.
然后看看结果
 
使用命令chown更改文件/目录的所有权
该命令用来更改某个文件或目录的属主和属组.
使用形式:chown[选项]用户或组文件
-R"递归地改变面貌指定目录和其下面的所有子目录和文件的拥有者.
-v:显示chown命令所做的工作.
把文件的所有者改为yang
这里可以看到结果
把目录/home/***和其下面的所有文件和子目录的属主改成yang,属组改成users.
可看到更改的结果
 
管理磁盘存储器
1.存储设备的命名
看下面这个表就知道了
/dev/hda   表示第一个IDE硬盘
/dev/hda1 表示第一个IDE硬盘的第一个主分区
/dev/hda2  表示第一个IDE硬盘的扩展分区
/dev/hda5  表示第一个IDE硬盘的第一个逻辑分区
/dev/hda8  表示第一个IDE硬盘的第四个逻辑分区
/dev/hdb   表示第二个IDE硬盘
/dev/hdb1  表示第二个IDE硬盘的第一个主分区
/dev/sda  表示第一个SCSI硬盘
/dev/sda1  表示第一个SCSI硬盘的第一个主分区
/dev/sdd3  表示第四个SCSI硬盘的第三个主分区
 
磁盘空间管理
使用df命令检查文件系统磁盘占用情况
参  数:
  -a或--all   包含全部的文件系统。
  --block-size=<区块大小>   以指定的区块大小来显示区块数目。
  -h或--human-readable   以可读性较高的方式来显示信息。
  -H或--si   与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes。
  -i或--inodes   显示inode的信息。
  -k或--kilobytes   指定区块大小为1024字节。
  -l或--local   仅显示本地端的文件系统。
  -m或--megabytes   指定区块大小为1048576字节。
  --no-sync   在取得磁盘使用信息前,不要执行sync指令,此为预设值。
  -P或--portability   使用POSIX的输出格式。
  --sync   在取得磁盘使用信息前,先执行sync指令。
  -t<文件系统类型>或--type=<文件系统类型>   仅显示指定文件系统类型的磁盘信息。
  -T或--print-type   显示文件系统的类型。
  -x<文件系统类型>或--exclude-type=<文件系统类型>   不要显示指定文件系统类型的磁盘信息。
  --help   显示帮助。
  --version   显示版本信息。
  [文件或设备]   指定磁盘设备。
看几个例子
列出各个文件系统的磁盘空间使用情况
列出各文件系统的I节点使用情况
列出文件系统的类型
使用du命令检查磁盘空间使用情况
参  数:
  -a或-all   显示目录中个别文件的大小。
  -b或-bytes   显示目录或文件大小时,以byte为单位。
  -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  -D或--dereference-args   显示指定符号连接的源文件大小。
  -h或--human-readable   以K,M,G为单位,提高信息的可读性。
  -H或--si   与-h参数相同,但是K,M,G是以1000为换算单位。
  -k或--kilobytes   以1024 bytes为单位。
  -l或--count-links   重复计算硬件连接的文件。
  -L<符号连接>或--dereference<符号连接>   显示选项中所指定符号连接的源文件大小。
  -m或--megabytes   以1MB为单位。
  -s或--summarize   仅显示总计。
  -S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。
  -x或--one-file-xystem   以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
  -X<文件>或--exclude-from=<文件>   在<文件>指定目录或文件。
  --exclude=<目录或文件>   略过指定的目录或文件。
  --max-depth=<目录层数>   超过指定层数的目录后,予以忽略。
  --help   显示帮助。
  --version   显示版本信息。
看例子
查看/mnt目录占用磁盘空间的情况
列出所有文件和目录所占的空间,并心字节为单位来计算大小
完成