linux命令之 find

定义:
find 命令主要用于在指定的目录下面查找匹配的文件,它支持正则表达式。

主要参数:
!取反
-a 相当于and 取交集
-o 相当于or 取并集
-mtime 更待时间
-atime 访问数据
-ctime 创建时间
-maxdepth 查找深度
-name 按文件名字查找
-iname 按文件名字查找(忽略大小写)
-type 按文件类型查找
-size 按文件大小查找

下面就以上的参数分别举例:

find ./ -name "acrosspm" 在当前目录下面查找文件或者目录的名字里面包含acrosspm关键字的
find ./ ! -name "acrosspm" 在当前目录下面查找文件或者目录的名字里面不包含acrosspm关键字的

find ./ -type f -name "acrosspm" 在当前目录下面只查找文件的名字里面包含acrosspm关键字的

find ./ -size +1M 查找当前目录下面大于1M的文件

find ./ -maxdepth 1 -name "*.log" 查找深度为1(只查找当前目录,不查找子目录),以log结尾的文件

find ./ -name "a" -o -name "b" 查找 a 或者 b 文件

find ./ -name "test.txt" -mtime +7 查找7天以前修改过的test.txt文件
find ./ -name "test.txt" -mtime -7 查找7天内修改过的test.txt文件

find常用命令公式搭配:
find ./ -name "test.txt" -exec rm {}\

find ./ -name "text.txt"|xargs rm -f 这个地方xargs的意思是把找到的符合结果放到一行,再rm。

find ./ -name "test.txt" -type f |xargs -i cp {} /home/acrosspm/

注意:find ./ 和 find ./ 区别 ./不包含当前目录

猜你喜欢

转载自blog.51cto.com/15013163/2553749