关闭

shell 命令 笔记--find

438人阅读 评论(0) 收藏 举报
分类:
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 {}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:89324次
    • 积分:1551
    • 等级:
    • 排名:千里之外
    • 原创:66篇
    • 转载:13篇
    • 译文:1篇
    • 评论:13条
    文章分类
    最新评论