find命令的学习使用

1.
     find . -print
     # 打印文件和目录的列表

2.   
find . -name "*.stackdump" | xargs rm
#查找后缀名为stackdump的文件并删除

3.
find . \( -name "*.hpp" -o -name "*.h" \) -print
#匹配多个条件,使用“OR”组合条件。以上命令查找后缀名为".hpp"与".h"的文件。

4.
find . -path "*tmp*" -print
#查找文件路径名以tmp结尾的的文件夹或文件

5.
find . -regex ".*\(\.py\|\.sh\)$"
#使用正则表达式模式查找文件

6.
find . ! -name "*.cpp" -print
#匹配所有不以.cpp结尾的文件名

7.
find . -maxdepth 1 -type d -print
#查找深度为1的目录(当前目录)下的所有文件类型为d(及文件夹)的文件并打印。

8.
find . -maxdepth 2 -name "*.cpp" -print
#查找深度为2的目录(当前目录的下一级目录)下所有后缀名为”.cpp“的文件并打印。

9.
find . -mindepth 2 -type f -print
#查找距离当前深度至少为2的文件并打印。
find命令的学习使用

10.
find . -type l -print
#查找文件类型为符号链接类型的文件并打印。
find命令的学习使用
11.
find . -type f -atime -7 -print
#查找最近7天被访问过的所有文件

12.
find . -type f -atime 7 -print
#查找恰好在七天前被访问的所有文件

13.
find . -type f -atime +7 -print
#打印出访问时间超过七天的所有文件
find命令的学习使用

14.
find . -type f -amin -30 -print
#打印访问时间少于30分钟的所有文件

15.
find . -type f -size +20M
#查找当前目录下文件大小大于20MB的文件


16.
find . -type f -size -1k
#查找当前目录下文件大小小于1KB的文件

17.
find . -type f -size 4k
#查找当前目录下文件大小等于4KB的文件

文件大小:b-块,c-字节,w-字(2字节),k-千字节,M-兆字节,G-吉字节。

18.
find . -type f -name "*.swp" -delete
#删除当前目录下的所有.swp文件

19.
find . -type f -user frank -print
#查找文件所有者为frank的所有文件

20.
find . -type f -perm 644 -print
#查找文件权限为644的所有文件

21.
find . -type f -name "*.c" -exec cat {} \;>all_c_files.txt
#查找所有.c文件并拼接起来写入all_c_files.txt文件


22.
find . -type f -name "*.txt" -exec printf "Text file: %s\n" {} \;
#-exec能够同printf结合起来生成有用的输出信息。

23.
find . \( -name ".git" -prune \) -o \( -type f -print \)
#打印出不包含在.git目录下的所有文件的名称(路径)。