博客
关于我
Linux 搜索命令 find
阅读量:360 次
发布时间:2019-03-04

本文共 1648 字,大约阅读时间需要 5 分钟。

find 命令详细指南

find 命令的基本信息

find 命令是Linux系统中的一个强大工具,用于在文件系统中搜索文件。以下是find命令的基本信息:

  • 命令名称:find
  • 英文原意:search for files in a directory hierarchy
  • 所在路径:/bin/find
  • 执行权限:所有用户
  • 功能描述:在指定目录中搜索文件和目录

按文件名搜索

要根据文件名搜索,可以使用以下选项:

  • -name:按照文件名搜索
  • -iname:按照文件名搜索,不区分大小写
  • -type:根据文件类型搜索(如-type d表示搜索目录,-type f表示搜索文件)

示例:

find /path -name "filename.txt"

按文件大小搜索

要根据文件大小搜索,可以使用以下选项:

  • -size [+|-]大小:按照指定大小搜索文件
    其中+表示搜索大于指定大小的文件,-表示搜索小于指定大小的文件

示例:

find /path -size +100k

文件大小的单位支持:

  • b:512字节(默认单位)
  • c:字节
  • w:双字节(常用于中文文件)
  • k:千字节(1024字节)
  • M:兆字节(1048576字节)
  • G:吉字节(1073741824字节)

示例:

find /path -size 500k -size 100k

按修改时间搜索

Linux文件有三个时间属性:atime(访问时间)、mtime(修改时间)、ctime(状态修改时间)。可以根据这些时间属性搜索文件:

  • -atime [+|-]时间:按照访问时间搜索
  • -mtime [+|-]时间:按照修改时间搜索
  • -ctime [+|-]时间:按照状态修改时间搜索

时间格式示例:

find /path -mtime 3  # 搜索3天前的文件

按文件权限搜索

可以使用以下选项来搜索文件权限:

  • -perm:查找文件权限
  • -perm -权限模式:查找包含指定权限模式的文件
  • -perm +权限模式:查找包含指定权限模式的任意一个权限的文件

示例:

find /path -perm 755  # 搜索权限为755的文件

按所有者和所属组搜索

要根据文件所有者和所属组搜索,可以使用以下选项:

  • -uid:按照用户ID搜索
  • -gid:按照组ID搜索
  • -user:按照用户名搜索
  • -group:按照组名搜索
  • -nouser:搜索没有所有者的文件

示例:

find /path -uid 1000  # 搜索用户ID为1000的文件

按文件类型搜索

可以使用以下选项来搜索不同类型的文件:

  • -type d:查找目录
  • -type f:查找普通文件
  • -type l:查找软链接

示例:

find /path -type f  # 搜索普通文件

逻辑运算符

find命令支持以下逻辑运算符:

  • -a:和(-and)
  • -o:或(-or)
  • -not:非(-not)

示例:

find /path -name file1 -o -name file2  # 搜索file1或file2
find /path -not -name file1  # 搜索不是file1的文件

执行命令(-exec 和 -ok)

可以通过-exec-ok选项将find命令的结果传递给外部命令处理:

  • -exec:执行外部命令,{}表示find的结果
  • -ok:与-exec类似,但会询问用户是否继续处理

示例:

find /path -name "*.txt" -exec ls -l {} \;  # 搜索并列出所有.txt文件

其他选项

  • -depth:按照目录深度搜索
  • -followlinks:查找符号链接的目标文件
  • -ignorelinks:忽略符号链接的目标文件
  • -delete:删除匹配的文件

示例:

find /path -depth 2 -delete  # 删除当前目录下的所有子目录

通过合理使用find命令的各种选项,可以根据需求高效地搜索文件。

转载地址:http://vxur.baihongyu.com/

你可能感兴趣的文章
plsql查询乱码问题解决
查看>>
PLSQL的DBMS_GETLINE
查看>>
quartz简单demo,教你最快使用quartz
查看>>
PlutoSDR学习笔记(一)—函数API手册
查看>>
Quartz安装包中的15个example
查看>>
Quartz学习总结(2)——定时任务框架Quartz详解
查看>>
pm2 start命令中的json格式详解
查看>>
pm2启动报错
查看>>
pm2通过配置文件部署nodejs代码到服务器
查看>>
Unknown character set: 'utf8mb4'
查看>>
PML调用PDMS内核命令研究
查看>>
PMM安装-第一篇
查看>>
PMP知识要点(第九章)
查看>>
PNETLab 镜像包官方下载太慢?不急,最新版本PNET_4.2.10分享!
查看>>
pnpm : 无法加载文件...
查看>>
pnpm 如何安装指定版本
查看>>
pnpm的设计与npm的对比
查看>>
pocoserver无限重启_Poco::TCPServer框架解析
查看>>
POCO库中文编程参考指南(4)Poco::Net::IPAddress
查看>>
Quartz基本使用(二)
查看>>