码迷,mamicode.com
首页 > 其他好文 > 详细

find查找及tar打包

时间:2019-08-05 00:17:32      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:dep   inode   type   修改   postfix   接受   ugo   ack   解压   

find 文件查找

find [option]..[path][condition][action]
path:如果不指明,则默认当前文件夹。
conditon:查找标准,文件名、大小、时间等。
action: 动作处理,默认输出至屏幕

1.1. 根据文件名和inode查找

find /path -name “filename” 根据文件名查找,支持通配符,?,[],[^]
find /path -iname "filename" 不区分大小写的查找
find /path -inum N 按照inode号来查找。N是数字
find /path --samefile "filename",硬链接软件
find /path links n 链接数是N的文件
find /path -regex "PATTERN" 启用正则表达式。注意此处的是整个路径,而不是文件名

1.2 属主,属组查找

find /path -user "USERNAME"
find /path -group GROUPNAME
find /path -uid UID find /path -gid GID find /path -nouser find / -nogroup

1.3 -type TYPE 根据文件类型查找

find /path -type f 找所有普通文件
find /path -type d 目录文件
find /path -type l 符号链接文件
find /path -type s 套接字文件
find /path -type b 块设备文件
find /path -type c 字符设备
find /path -type p 管道文件
find /path -empty 空的目录或者文件 find /path -type d -empty

1.4 文件大小、更改时间等条件查找

find -size +10K,指的是 大于10k,不包含10K的文件
find -size 10k 是(9K-10k]的文件。大于9小于10 K的文件
find -size -10k 小于等于9K的文件 [0,9]K
find -atime 以天为单位查找 find -atime 10 查找访问时间10-11天
find -mtime +10 查找修改时间10天以上
find -ctime -10 查找10天以内的改变状态的文件
find -amin ,find -mmin ,find -cmin
find 认为0-24小时为0天

1.5 权限查找 find /path -perm [/|-] MODE

find -perm 755表示精确匹配755权限
find / -perm /222 uog只要有个2即可。
find / -perm -222 ugo都要有2才匹配。
find /-perm -002 "0"表示忽略。other 有w时才会匹配。

1.6 action 动作处理

-print 默认打印输出至屏幕
-ls 类似ls -l
-delete 删除查到的文件
-fls file 查找到的信息另存为file文件
-ok COMMAND {} \;交互式处理COMMAND每次都会询问是否处理。
-exec COMMAND {} \;对查找到的文件直接处理,不询问。
////其中 {}表示用于引用查找到的文件名称自身,结束符“ \;”时固定格式,注意前要有空格。
xargs 接受管道来的输出,转换成参数传给后面的COMMAND。 默认按照空格、换行来分割成参数。
echo "xiaowang xiaoli xiaozhang "|xargs -n 1 useradd .此种用法,useradd本身不支持多参数传入,-n 1 表示每次传一个参数给useradd执行,知道全部参数传递完毕。

1.7 指定搜索层级

find -maxdepth N .最大搜索N层目录。
find -mindepth N .最小搜索N层目录,目录深度少于N的忽略。
example:
find /var -mtime -7 -not ( -user root -o -user postfix )
不是root 也不是postfix 且一周内修改过的文件 ,not A and not B == not (A or B )

打包压缩工具

tart zcpcf ./file.tar.gz /etc/ 用gzip压缩并打包。
tar -r -f ./file.tar /etc 追加打包文件
tar jcpf file.tar.bz2 /etc/ j,bz2压缩,c创建打包,p保持原来文件权限,f指定文件名
此命令有输出,脚本时要把输出重定向到垃圾箱
tar xvf file.tar.bz2 解包时,不用指定压缩格式,程序会判断压缩格式,直接解压即可。

BACKUPFILE=backup-$(date +%m-%d-%Y)
rchive=${1:-$BACKUPFILE}
tar cvf - find . -mtime -1 -type f -print > $archive.tar
find . -mtime -1 -type f -print0 | xargs -0 tar rvf "$archive.tar"

find查找及tar打包

标签:dep   inode   type   修改   postfix   接受   ugo   ack   解压   

原文地址:https://blog.51cto.com/14420400/2426491

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!