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

你可能感兴趣的文章
Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
查看>>
Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
查看>>
Node.js 异步模式浅析
查看>>
node.js 怎么新建一个站点端口
查看>>
Node.js 文件系统的各种用法和常见场景
查看>>
Node.js 模块系统的原理、使用方式和一些常见的应用场景
查看>>
Node.js 的事件循环(Event Loop)详解
查看>>
node.js 简易聊天室
查看>>
Node.js 线程你理解的可能是错的
查看>>
Node.js 调用微信公众号 API 添加自定义菜单报错的解决方法
查看>>
node.js 配置首页打开页面
查看>>
node.js+react写的一个登录注册 demo测试
查看>>
Node.js中环境变量process.env详解
查看>>
Node.js之async_hooks
查看>>
Node.js初体验
查看>>
Node.js升级工具n
查看>>
Node.js卸载超详细步骤(附图文讲解)
查看>>
Node.js卸载超详细步骤(附图文讲解)
查看>>
Node.js基于Express框架搭建一个简单的注册登录Web功能
查看>>
node.js学习之npm 入门 —8.《怎样创建,发布,升级你的npm,node模块》
查看>>