shell文件查找和压缩命令

locate命令

1.locate filename
     模糊匹配 只要文件名中包含关键字即可
     非实时查找,速度比find快.
     依靠索引数据库 /var/lib/mlocate/mlocate.db
     每天自动运行一次来更新数据库.
     updatedb 更新索引数据库
2.适合搜索变化不太频繁的文件.对系统的资源消耗不大.

3.实例

    1.    locate -r "^/etc/.*\.conf$"

find命令

      实时查找工具,通过遍历指定路径来完成文件查找

      查找出来的文件名称必须是filename而不是包含filename

       find / -name  "*filename"    模糊匹配查找

   

实例:

     1.find /etc -maxdepth 3 -mindepth 1 -name passwd

     2.find -samefile  file   查找file的硬链接文件

     3.find /etc -regex ".*\.conf$"     正则表达式查找

     4.find /etc "   *.sh"                    通配符查找       find /etc -name "*.sh" -ls

     5. find /etc -iname sos.conf

     6.find /data  -size    1024c   查找文件大小范围在(1023,1024]  1023是开区间表示不包含1023,1024是闭区间表示包含1024.总体表示为大于1023小于等于1024字节

     7.find /data  -size    1k         查找文件大小范围在(1-1,1]这个范围内,表示查找文件大小大于0k,小于等于1k的所有文件.

     8.find /data  -size    -1024    查找的文件大小范围在 [0,1024-1]的所有文件

     9.find /data  -size    +1023   表示(1023,无穷大]的文件  不包含1023

     10. find /mnt  -size +10M  -exec mv {}  /data/  \;  找到mnt目录下大于10M的文件并且移动到/data目录下.   {}表示搜索出来的文件名本身

 

   xargs命令

     默认是把前面命令的输出信息用空格隔开,但是可以添加选项使用特定符号来代替空格符号

     有时候用空格分隔输出信息同样实现不了相应的效果

     echo f{1..10} | xargs -n2 echo   -n 以空格回车符进行分割前面命令的输出信息

 

压缩和打包

   1.压缩只能对单个文件进行压缩,如果需要同时对多个文件进行压缩,就必须先打包然后再进行压缩

   2.tar 可以对目录进行打包成一个文件,然后可以使用压缩命令对这个打包文件进行压缩

   3.创建归档文件

         tar  -cpvf      data.tar     /data    

   4.查看归档文件tar包下面的所有文件

         tar    tvf     data.tar

   5.解压缩tar包文件

         tar   xvf    data.tar

   6.同时进行打包和压缩

        tar    -zcpvf    data.tar.gz     /data

        tar    xvf    data.tar.gz

   7.切割和合并压缩文件

       split   -b  10M  -d  data.tar.xz  a.tar      把data.tar.xz压缩包切割成10M一个包

       cat   a.tar0*  > newdata.tar.xz              把分割后的文件合并成一个压缩包

 

       

 

    

     

 

posted @ 2018-04-14 09:59  不懂123  阅读(2042)  评论(0编辑  收藏  举报