shell 命令 笔记--find

find 命令在shell脚本中会常常用到,下面记录了一些常用的参数 
 
find  path file_name              --基本语法

find  path \( -name "a.t*" -o -name "b.t*" \) -print

find /home/user -path "sly*" -print   --匹配文件路径或文件   path与regex类似 后支持reg

find . ! -name "*.txt"         --支持否定参数    

find . -maxdepth 1 -type f                --默认遍历所有子目录 可以指定层级 1为当前 以此类推

-atime 访问时间         用户最近一次访问的时间
-mtime修改时间         文件内容最后一次修改时间
-ctime 变化时间         文件原数据最后修改时间

-amin  -mmin  -cmin                        分钟级

find . -type f -atime -7                       --打印七天内访问的文件
find . -type f -atime 7 -print               --打印恰好七天前被访问的文件
find . -type f -atime +7                      --打印访问时间超过7天的文件

find . -type f  -amin +7                      --打印访问时间超过7分钟的文件

find . -type f  -newer file.txt -print      --打印比file.txt修改时间更长的文件

find . -type f  -size +2K                         大于2K的文件

find . -type f  -size -2K                          小于2K的文件  除了K b     c     w    M G  可用

find . -type f  -perm 644

find . -type f  ! -perm 644 

find . -type f -user root -exec chown xep {} \;

find . -type f -user root -exec cat  {} \; >all_root_file.txt

find . -type f  -mtime +10 -name"*.txt" -exec cp {} old \;  --将10天前修改的txt文件复制到old目录中

find  /source_path \( -name ".git" -prune \) -o \( -type f \) --过滤掉.git目录(跳过)

find . -mtime 0 -type f |xargs -I {} scp -r {}  192.16.7.160:/var/lib/mysql/ --xargs擅长将标准输入数据转换为命令行参数 或 将单行转换为多行or not

cat test.txt |xargs    --将多行转为单行 
cat test.txt |xargs -n 3 将单行转为多行 n表示为列   -d 指定定界符

cat files.txt| (while read arg; so cat $arg ; done)   =    cat files.txt |xargs -I{} cat {}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值