文件查找和压缩

在文件系统上查找符合条件的文件;实现工具:locate,find

locate:

       以来事先构建好的索引库:系统自动实现(周期性任务);手动更新数据库(updatedb)

      工作特性:查找速度快;模糊查找,非实时查找;

       -b:只匹配路径中的基名;

       -c:统计出共有多少个符合条件的文件 

       -r:BRE正则

     注意:索引构建过程需要遍历整个根文件系统,极消耗资源

find:

   实时查找工具,通过遍历文件系统查找

   工作特性:查找速度略慢;精确查找,实时查找;

   find 【选项】 【查找路径】 【查找条件】【查找到后可以处理动作】

   查找条件:制定的查找标准,可以根据文件名,大小,类型,从属关系,权限等等

   处理动作:对符合查找条件的文件作出的操作,例如删除,移动等操作;默认输出到屏幕

  查找条件:

     根据文件名:-name  -iname(不区分大小写)

     根据文件从属关系查找:-user  -group  -uid  -gid  -nouser -nogroup(查找没有属主,属组的文件)

     根据文件的类型查找:-type f普通文件 d目录文件 l软链接 b块设备文件 c字符设备文件 p管道文件 s套接字文件   例子:find /dev -type b -ls(处理动作)

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

     根据文件大小查找:-size +|-  常用单位:k,M,G

     根据时间戳查找:以“天”为单位 -atime访问时间 -mtime修改时间 -ctime改变时间  以“分钟”为单位:-amin -mmin -cmin

     根据权限查找:-perm 权限

   处理动作:-delete删除查找到的文件 -fls保存至指定文件中 -ok 命令 {} \; 对查找到的文件执行命令,每次操作有用户确认  -exec 命令 {} \;同上,但不在由用户确认

  


文件压缩

gzip file(压缩完会删除原文件) -c将压缩或解压缩的结果输出至标准输出,例gzip -c yum.log > yum.log.gz       -d解压缩

bzip2 file  -k: keep, 保留原文件  -d:解压缩

xz file  -k: 保留原文件  -d:解压缩  三种方式压缩文件,xz压缩后文件更小,当然耗费内存资源也多


打包压缩:zip 例:zip -r yum.zip testdir/yum.log  解压缩:unzip yum.zip


tar打包压缩工具:结合压缩工具实现-j: bzip2, -z: gzip, -J: xz

例:tar -cvf log.tar log2012.log 仅打包,不压缩

    tar -zcvf log.tar.gz log2012.log 打包后,以 gzip 压缩

    tar -jcvf log.tar.bz2 log2012.log 打包后,以 bzip2 压缩

    -x还原