文件查找和压缩
在文件系统上查找符合条件的文件;实现工具: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还原