find linux系统查找目录或文件

Linux find
find命令用来查找在所在目录相对路径下的文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法:
find path -option 文件名 [ 动作]

常见参数:
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

动作:
-detele 删除文件
-exec command {} ; 执行命令,花括号代表当前文件
-ls 列出当前文件, ls dils 格式
-print 完整的文件名并添加一个回车换行符
-print 0 打印完整的文件名并不添加一个回车换行符
-printf format 打印格式
其他字符:
!取反
-or o 逻辑 或
-and 逻辑 和

实例:
将目前目录及其子目录下所有最近5天内更新过的文件列出 find . -ctime -5

将目前文件及子目录下名为1.py的文件列出来 find . -name 1.py

将当前目录下及子目录文件名后缀.py的文件全部列出 find . -name *.py

查找指定文件类型的文件名: find /data/dev -name app -type d

查找文件名并且文件类型删除: find /data/dev -name app -type d -delete

查找文件权限是664: # find . -perm 664

查找大于1024k的文件: # find . -size -1024k

查找3天内修改的文件: find . -ctime -3

只显示第一级目录: # find /etc -type d -maxdepth 1

原文地址:https://www.cnblogs.com/We612/p/11186959.html