搜索文件/文件夹 Linux/Mac

Find 命令

  • 根据文件名称模糊查询: 
find ./ -iname '*.txt'

同理:

// 包含任何一个字符(a或b或c)
find /Users/lim/Documents/ -iname '[abc].sh'

 

查找属主文件: 

find /Users/lim/Documents/ -user lim  // 查找属主文件

同理:

-user username:查找属主是xx的文件
-group group:查找属组的xx文件
-uid useruid:查找uid号的文件
-gid groupid:查找gid号的文件
-nouser:查找没有属主的文件,即文件存在但是 user已被删除
-nogroup:查找没有属组的文件

  • 根据文件类型查找:
find /Users/lim/Documents/ -type f

同理:

-type f:普通文件
-type d:目录文件
-type l:符号链接文件
-type s:套接字文件
-type b:块设备文件
-type c:字符设备文件
-type p:管道文件

  • 根据文件大小查找:
find /Users/lim/Documents/ -size +10M

同理:

-size +10M :大于10M的文件
-size +100k:大于100k的文件
-size +1G:大于1G的文件
-size -1G:小于文件的文件

  • 根据时间查找文件:
find /Users/lim/Documents/ -atime 3

同理:

以天为单位:
-atime:访问时间(access time)
-ctime:变更时间(change time)
-mtime:修改时间(modify time)

以分钟为单位:
-amin: 访问时间(access time)
-mmin:修改时间(change time)
-cmin:改变时间(modify time)

  • 根据权限查找:
find /Users/lim/Documents/ -perm +600

同理:

-perm +600:属主属组其他权限 只要有一个匹配就当成功;600代表三个对象,6属主 CentOS7上 使用 /600
-perm -600:每个对象都必须同时拥有其指定的权限,三个对象同时成立 如:-003表示其他用户必须有写与执行权限

  • 条件查询:
find /Users/lim/Documents/ -iname '*.txt' -a -name 'a*.txt'

同理:

-a :与
-o :或
-not:非
! :非

  • 处理动作
find /Users/lim/Documents/ -iname 'lim.sh' -print

同理:

-print:打印到屏幕
-ls:查找到的文件 进行 ls
-delete:删除查找到的文件
-ok command {}\; 对查找的文件执行由command指定的命令,交互式
-exec command {}\;同上,非交互式
{}:代表前面find找到的 文件名称本身

  • 相关示例:
  1. 最后十分钟修改的文件  find /Users/lim/Documents/ -cmin -10 

猜你喜欢

转载自www.cnblogs.com/Mr-Lim/p/10268801.html