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 {}
阅读更多
个人分类: shell编程
上一篇random+tput 更改屏幕显示
下一篇读书笔记  -tr
想对作者说点什么? 我来说一句

linux的shell合集

2009年12月25日 11.78MB 下载

没有更多推荐了,返回首页

关闭
关闭