您的位置:首页 > 运维架构 > Shell

shell 命令 笔记--find

2013-12-04 15:08 441 查看
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 {}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: