LinuxDay9——文件查找和压缩

Locate

 查询系统上预建的文件索引数据库,依赖于事先构建的索引

  /var/lib/mlocate/mlocate.db

工作特点:

 索引构建过程需要遍历整个根文件系统,极消耗资源;查找速度快;模糊查找;非实时查找;搜索的是文件的全路径,不仅仅是文件名;可能只搜索用户具备读取和执行权限的目录

  -i 不区分大小写的搜索

  -n N 只列举前N个匹配项目

  -r 使用正则表达式

find

工作特点:

 查找速度慢;精确查找;实时查找;

查找条件

 指搜索层级

  -maxdepth:  level最大搜索目录深度,指定目录为第1级

  -mindepth:  level最小搜索目录深度

 根据文件名和inode查找

  -name "文件名称":  支持使用glob

    *,?[],[^}

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

  -inum n:  按inode号查找

  -samefile name:   相同inode号的文件

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

  -regex “PATTERN”:以PATTREN匹配整个文件路径字符串,而不仅仅是文件名称

 根据属主、属组查找:

  -user USERNAME:  查找属主为指定用户(UID)的文件

  -group GRPNAME:  查找属组为指定组(GID)的文件

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

  -gid GroupID:   查找属组为指定的GID号的问价

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

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

 根据文件类型查找:

  -type:

    f:普通文件

    d:目录文件

    l:符号链接文件

    s:套接字文件

    b:块设备文件

    c:字符设备文件

    p:管道文件

 空文件或目录

  -empty

 组合条件:

  与:-a  或:-o  非:-not,!

 德·摩根定律

  (非A)或(非B)=非(A且B)

  (非A)且(非B)=非(A或B)

 根据文件大小来查找

  -size [+ | -] # UNIT

    常用单位:k,M,G,c(byte)

   #UNIT:(#-1,#)

     例如:6k表示(5k,6k]

   -UNIT:[0,#-1]

    例如:-6k表示[0,5k]

   +UNIT:(#,∞)

    例如:+6k表示(6k,∞) 

 根据时间戳

    以“天”为单位;

  -atime [+ | -] #

    #: [#,#+1)

    +#: [#+1,∞]

    -#: [0,#)

  -mtime

  -ctime

 以“分钟”为单位

  -amin

  -mmin

  -cmin

 根据权限查找:

  -perm

    mode:精确权限匹配

    /mode: 任何一类对象的权限中只要有一位符合即可

    -mode:每一类对象都必须同时拥有指定权限和关系

处理动作

  -print:默认的处理动作,显示至屏幕

  -ls:查找到的文件执行“ls -l”

  -delete:删除查找到的文件

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

  -ok COMMAND {}\;对查找到的每个文件执行COMMAND指定的命令,对于每个文件执行之前,都会交互式要求用户确认

   -exec COMMAND{}\;对查找到的每个文件执行由COMMAND指定的命令

  {}:用于引用查找到的文件名称自身

  find传递差遭到到文件至后面指定的命令时,查找到所有符合条件的文件要一次性传递给后面的命令

  

xargs

  用于生产某个命令的参数,xargs可以读入stdin的数据,并以空格符或回车符将stdin的数据分割成aruguments。

Gnome

  图形化搜索工具

compress/uncompress

 compress [-dfvcVr] [-b maxbits] [file ...]

 uncompress 解压缩

  -d: 解压缩,相当于uncompress

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

  -v: 显示详情

 zcat file.Z >file

gzip/gunzip

 gzip [OPTION]... FILE ...

  -d: 解压缩,相当于gunzip

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

  -#:1-9,指定压缩比,值越大压缩比越大

zcat:不显式解压缩的前提下查看文本文件内容

bzip2/bunzip2/bzcat

 bzip2 [OPTION]... FILE ...

  -k: keep, 保留原文件

  -d:解压缩

  -#:1-9,压缩比,默认为9

bzcat:不显式解压缩的前提下查看文本文件内容

xz/unxz/xzcat

 xz [OPTION]... FILE ...

  -k: keep, 保留原文件

  -d:解压缩

  -#:1-9,压缩比,默认为6

xzcat: 不显式解压缩的前提下查看文本文件内容

zip/unzip:打包压缩/解包解压缩

 

 tarTape ARchive,磁带归档的缩写)

  -c(创建)打包 -cpvf

  -f指定到那个文件

  -v显示详细信息

  -p保留原有属性

  -x解压缩(默认当前路径)

  -z 打包成gz后缀

  -j 打包成bz2后缀

  -J打包成xz后缀

  -T 选择指定输入文件

  -X选项指定要包含排除的文件

 分割大的 tar 文件为多份小文件:

  split –b Size –d tar-file-name prefix-name

  split -b 1M –d mybackup.tgz mybackup-parts

  split -b 1M mybackup.tgz mybackup-parts

 合并:

  cat mybackup-parts* > mybackup.tar.gz

cpio

  -o 将文件复制打包成

  -i 解包

  -t预览

  -v显示打包过程

  -d接包成目录

 

posted @ 2018-04-12 10:27  Gmiao  阅读(204)  评论(0编辑  收藏  举报