(更新中...)
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的所有文件
 
本文出自 “ yangming.com” 博客,请务必保留此出处 [url]http://ming228.blog.51cto.com/421298/105827[/url]