在linux系统上,有一个核心思想,那就是一切皆文件。那我们在和linux系统打交道的同时,不免要和文件打交道。既然如此,那掌握文件查找、压缩、解压缩和文件归档类工具是我们必不可少的一项技能。

    文件查找工具:locate、find

    locate是一款非实时性查询工具,它是根据事先建立的索引数据库来查找文件,索引的构建是在系统不繁忙时自动创建,需要遍历整个根文件系统,极其消耗资源,管理员也可以手工创建。正因为如此,所以locate查询文件比较快,但不能够精确查找,都是模糊查询。

    locate -i :区分大小写进行搜索

    locate -n x:只显示前x个搜索到的文件

    updatedb:手动更新索引数据库

    locate foo:搜索名称或者路径中带有foo的文件

    

    find是一个实时性查找工具,通过遍历指定路径完成文件查找,查找速度略慢;find可以指定条件查找,能够精确查找文件。

    find语法:find 选项 查找路径 查找条件 处理动作

    查找路径:指定具体目标路径,默认为当前路径

    查找条件:指定具体查找条件,可以文件名、文件大小、类型等等

    处理动作:对符合条件的文件做什么操作,默认输出屏幕

    find查找条件:

    1、根据文件名和inode查找

       -name:根据文件名称查找,支持通配符,*、?、【】、【^】

       wKioL1dgDiXwUHJeAAAZgWUf7l8439.png-wh_50

       -iname:文件名称不区分大小写

       wKiom1dgDiSAF63LAAAUZ6bKo90754.png-wh_50

       -inum:根据inode号查找

       wKiom1dgD2mAZcOnAAAbhNkO3jg383.png-wh_50

       -links n:连接数为n的文件  

       wKioL1dgEaGhz3WiAAAThQvwA04680.png-wh_50    

       -samefile name:查找相同inode号的文件

       -regex:匹配整个文件路径,不只是文件名称

    2、根据文件属主和属组查找

       -user username:查找属主为指定的用户

       -group  groupname:查找属组为指定的组

       -uid ID:查找属主为指定的UID的文件

       -gid ID:查找属组为指定的GID的文件

       -nouser:查找没有属主的文件

       -nogroup:查找没有属组的文件

    3、根据文件类型查找

       -type f:查找普通文件

       -type d:查找目录文件

       -type b:查找块设备文件

       -type c:查找字符设备文件

       -type s:查找套接字文件

       -type p:查找管道文件

       -type l:查找符号链接文件

       wKiom1dgFFji-_YGAAAPO1hKkUw193.png-wh_50

    4、组合条件查找。与 -a、或  -o 、非  -not  !

      !A -a !B = !(A -o B)

      !A -o !B = ! (A -a B)

      查找/var下不属于root、gdm的所有文件

      wKiom1dgGP6AN5yoAAAdAVVRhvU493.png-wh_50

      查找/var目录下属主为root,且属组为mail的所有文件

      wKiom1dgGtPDaEt8AAAMgkl_LMc520.png-wh_50

    5、根据文件大小查找

      -size # k,M,G  范围 (#-1,#]K,M,G

      -size -# K.M,G 范围  [0,#-1]K,M,G

      -size +#K.M,G  范围 (#,oo)K,M,G

      wKioL1dirInh2YtJAAAe25gFjKo281.png-wh_50

    6、根据时间戳查找

      -atime # 按访问时间查找,以天为单位

      -atime -#  【0,#) #天内访问

      -atime *#  【#*1,oo】 #+1天之前访问

      -atime #    【#,#+1) #天与#+1天之间访问

      -mtime和-ctime 和上面语法一样,-mtime是修改时间,ctime是文件属性修         改时间,-amin -mmin  -cmin 是以分钟为单位

    7、根据文件权限查找

       -perm MODE:精确权限匹配

       -perm /MODE:任何一位u,g,o对象的权限中,只要有一类权限匹配即可

       -perm -MODE:每一类对象必须同时拥有指定权限,才能匹配

       wKiom1disQ3B5J3ZAAAzdPkHhUc556.png-wh_50

    find处理动作

    -ls:相当于对查找到的文件执行ls -l操作

    -print:输出至屏幕,相当于默认操作

    -delete:删除查找到的符合条件的文件

    -ok COMMAND {} \;对查找到的文件执行COMMAND命令

    -fls file:对查找到的所有文件长格式保存指定文件中

    wKiom1dit62grU8-AAAxS6UsV_w256.png-wh_50  


    文件压缩、解压缩、文件归档工具

    compress 压缩文件    uncompress 解压缩文件

    compress -d 解压缩文件

    compress -c 结果输出至标准输出,不删除原文件

    compress -v 显示压缩文件详情

    zcat file:查看.Z和.gz文件后缀

    gzip 压缩文件    gunzip 解压缩文件

    gzip -d  解压缩文件

    gzip -c  将压缩或解压缩的结果输出至标准输出

    gzip -# 指定压缩比,默认为6,范围 1到9

    bzip2 压缩文件    bunzip2  解压缩文件

    bzip2 -d 解压缩文件

    bzip2 -k  保留原文件

    bzip2 -#  指定压缩比,默认为6,范围1到9

    bzcat file 不显示解压缩的前提下查看文件

    xz 压缩文件    unxz  解压缩文件

    xz -d  解压缩文件

    xz -k  保留原文件

    xz -#  指定压缩比,默认为6,范围1-9

    xzcat  不显示解压缩的前提下查看文件

    zip  打包压缩    unzip解包解压缩

    tar -cvf  创建归档

    tar -xvf  展开归档

    tar -txf  查看归档文件

    tar -zcvf  结合gzip工具压缩并创建归档

    tar -jcvf  结合bzip2工具压缩并创建归档

    tar -Jcvf  结合xz工具压缩并创建归档

    

     cpio是通过重定向的方式进行打包备份,还原恢复的工具,它可以解压以          cpio、tar为后缀的打包文件

     cpio -o  将文件拷贝打包成文件或者将文件输出至屏幕上

     cpio -i  解包,将打包文件解压或者将设备上的备份还原到系统

     cpio -t  预览,查看文件内容

     cpio -v  显示文件打包过程中的文件名称

     cpio -d  解包生成目录,在cpio还原时,自动创建目录

     cpio -tv < aa.cpio  预览文件

     cpio -idv  < aa.cpio 解包文件