博客
关于我
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/

你可能感兴趣的文章
Plotly-Dash 存在未知问题并创建“加载依赖项时出错“;通过使用 Python-pandas.date_range
查看>>
Plotly-Dash:如何过滤具有多个数据框列的仪表板?
查看>>
Plotly:如何为 x 轴上的时间序列设置主要刻度线/网格线的值?
查看>>
Plotly:如何从 x 轴删除空日期?
查看>>
Plotly:如何从单条迹线制作堆积条形图?
查看>>
Plotly:如何以 Root 样式绘制直方图,仅显示直方图的轮廓?
查看>>
Plotly:如何使用 Plotly Express 组合散点图和线图?
查看>>
Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
查看>>
Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
查看>>
Plotly:如何使用 updatemenus 更新一个特定的跟踪?
查看>>
Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
查看>>
Plotly:如何向烛台图添加交易量
查看>>
Plotly:如何在 plotly express 中找到趋势线的系数?
查看>>
Plotly:如何在桑基图中设置节点位置?
查看>>
Plotly:如何处理重叠的颜色条和图例?
查看>>
Plotly:如何手动设置 plotly express 散点图中点的颜色?
查看>>
Plotly:如何结合 make_subplots() 和 ff.create_distplot()?
查看>>
Plotly:如何绘制累积的“步骤“;直方图?
查看>>
Quartz进一步学习与使用
查看>>
Plotly条形图-根据正/负值更改颜色-python
查看>>