Linux find命令教程:快速高效地搜刮文件和目次(附实例详解和注意事项) ...

海哥  金牌会员 | 2024-8-14 18:43:38 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 664|帖子 664|积分 1992

Linux find 命令先容

find,全称 File IN Databank,是一个强大的文件搜刮命令,可以根据各种标准如文件名、大小、修改日期等在系统中搜刮文件和目次。
Linux find 命令适用的Linux版本

find 这个命令适用于所有Linux版本,包括但不限于 Ubuntu、Debian、Fedora、Red Hat、CentOS 等。由于 find 是预安装在所有Linux发行版上的,所以大部分时间并不必要进行额外的安装。
Linux find 命令的基本语法

基本的命令语法如下:
  1. find [pathname] [expression]
复制代码
Linux find命令的常用选项或参数说明

参数/选项说明-name [file]根据文件名搜刮文件-size [size]根据文件大小搜刮文件-type [type]根据类型搜刮文件,如 -type d 为搜刮目次-mtime [n]根据修改时间搜刮文件,n为天数-exec [command] {} ;将查找的文件实行指定的命令 Linux find命令实例详解

实例1:查找名称为filename的文件

  1. [linux@bashcommandnotfound.cn ~]$ find / -name filename
复制代码
实例2:搜刮所有大于1MB的文件

  1. [linux@bashcommandnotfound.cn ~]$ find / -size +1M
复制代码
实例3:查找当前目次及子目次下所有的 .txt 文件

  1. [linux@bashcommandnotfound.cn ~]$ find . -name "*.txt"
复制代码
实例4:在/home目次中查找以.log结尾的文件

  1. [linux@bashcommandnotfound.cn ~]$ find /home -name "*.log"
复制代码
实例5:查找/home目次中用户所有者为root,而且文件大小超过10M的文件

  1. [linux@bashcommandnotfound.cn ~]$ find /home -user root -size +10M
复制代码
实例6:在当前目次查找更改时间在5天之内的文件

  1. [linux@bashcommandnotfound.cn ~]$ find . -mtime -5
复制代码
实例7:找出所有空的目次

  1. [linux@bashcommandnotfound.cn ~]$ find / -empty -type d
复制代码
实例8:在/var/log目次下查找最近5分钟内修改过的文件

  1. [linux@bashcommandnotfound.cn ~]$ find /var/log -mmin -5
复制代码
实例9:查找并删除所有的 .tmp 文件

这是一个示例,但请小心使用,不要坐数组。
  1. [linux@bashcommandnotfound.cn ~]$ find / -name "*.tmp" -exec rm {} \;
复制代码
实例10:查找并打印所有以 .sh 结尾的文件,并显示其文件大小和最后修改时间

  1. [linux@bashcommandnotfound.cn ~]$ find / -name "*.sh" -exec ls -lh {} \;
复制代码
实例11:查找当前目次及子目次中文件权限为755的文件

  1. [linux@bashcommandnotfound.cn ~]$ find . -type f -perm 0755
复制代码
实例12:在/home目次中查找拥有者为root的文件

  1. [linux@bashcommandnotfound.cn ~]$ find /home -owner root
复制代码
实例13:查找/home目次中,更改时间在10天前,15天内的文件

  1. [linux@bashcommandnotfound.cn ~]$ find /home -mtime +10 -mtime -15
复制代码
实例14:查找/etc目次下,更改时间超过10天,而且后缀为’.log’的文件

  1. [linux@bashcommandnotfound.cn ~]$ find /etc -name "*.log" -mtime +10
复制代码
实例15:查找/var/log目次下,10天内被访问过,而且后缀为’.log’的文件

  1. [linux@bashcommandnotfound.cn ~]$ find /var/log -name "*.log" -atime -10
复制代码
Linux find 命令的注意事项



  • 搜刮根目次(/)时记得使用 -sudo 选项,否则有些文件由于权限问题可能无法搜刮到。
  • 使用文件路径进行搜刮时,建议使用绝对路径,如许可以制止因路径错误而不能正确找到文件的问题。
  • bash: find: command not found, 假如发生这种情况,请按照上面的方法安装。
Linux find 相关命令



  • locate命令:在Linux系统中更快的查找文件
  • grep命令:基于文本内容的搜刮
  • which命令:在用户的PATH中确定实行文件位置
  • whereis命令:查找二进制文件、源文件
  • ls命令:列出当前目次下的文件
  • cp命令:在Linux中复制文件或目次
  • mv命令:在Linux中移动或重命名文件
  • rm命令:在Linux中删除文件和目次

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表