| 
                         1. 前言 
本文主要讲解在Linux系统上如何使用find命令。 
  
2. find命令的使用方法 
要开始搜索整个硬盘,您需要输入以下内容: 
- find / 
 
  
但是,如果您想开始搜索当前所在的文件夹,那么可以使用find命令以下语法: 
- find . 
 
  
当您想在整个硬盘中按名称搜索文件时,请使用find命令以下语法: 
假设你要搜索的文件名为filename 
- find / -name filename 
 
  
find命令的第一部分显然是单词find。 
第二部分是从哪里开始搜索。即指定目录,它会自动搜索指定目录里的子目录 
第三部分是一个表达式,它决定要查找什么。 
最后一部分是要找的文件名。 
3. find命令搜索位置的快捷方式 
find之后的第一个参数是要搜索的位置。虽然可以指定特定的目录,但是大多数人使用元字符作为替代。使用这个命令的三个元字符包括: 
    - 句点:指定当前文件夹和所有嵌套文件夹
 
    - 左斜杠/:指定整个文件系统
 
    - 波浪符号~:指定活动用户的主目录
 
    - 提示:搜索整个文件系统可能会产生许多访问拒绝错误。一般的用户账号都会遇到权限的问题,这时,应该使用提升的特权运行该命令(例如,使用sudo)。
 
 
表达式 
最常用的表达式是-name。name表达式允许搜索文件或文件夹的名称。 
然而,你也可以用其他的表达方式: 
    - amin n: 该文件最后一次访问是在n分钟前
 
    - anewer: 最后一次访问该文件的时间比修改该文件的时间晚
 
    - atime n: 该文件最后一次被访问是在n天前
 
    - cmin n: 文件最后一次更改是在n分钟前
 
    - cnewer: 文件最后一次更改的时间比文件修改的时间更近
 
    - ctime n: 文件最后一次更改是在n天前
 
    - empty: 文件为空
 
    - executable: 该文件是可执行的
 
    - false: 总是错误的
 
    - fstype type: 该文件位于指定的文件系统上
 
    - gid n: 该文件属于ID为n的组
 
    - group groupname: 该文件属于指定的组
 
    - ilname pattern: 搜索符号行,但忽略大小写
 
    - iname pattern: 搜索文件但忽略大小写
 
    - inum n: 搜索具有指定节点的文件
 
    - ipath path: 搜索路径但忽略大小写
 
    - iregex expression: 搜索表达式但忽略大小写
 
    - links n: 搜索具有指定链接数量的文件
 
    - lname name: 搜索符号链接
 
    - mmin n: 文件的数据最后一次修改是在n分钟之前
 
    - mtime n: 文件的数据上次修改是在n天前
 
    - name name: 搜索具有指定名称的文件
 
    - newer name: 搜索最近编辑的文件,而不是给定的文件
 
    - nogroup: 搜索没有组id的文件
 
    - nouser: 搜索没有附加用户的文件
 
    - path path: 查找路径
 
    - readable: 查找可读的文件
 
    - regex pattern: 搜索匹配正则表达式的文件
 
    - type type: 搜索特定类型
 
    - uid uid: 文件数字用户id与uid相同
 
    - user name: 文件由指定的用户拥有
 
    - writable: 搜索可写入的文件
 
 
4. find命令使用案例 
如何查找访问文件超过一定天数的前几天 
要查找100天前访问过的主文件夹中的所有文件,请: 
- find ~ -atime 100 
 
  
如何找到空的文件和文件夹 
要查找系统中的所有空文件和文件夹: 
- find / -empty  
 
  
如何找到所有的可执行文件 
要在你的电脑上找到所有可执行文件: 
- find / -exec 
 
  
如何找到所有可读的文件 
要找到所有可读的文件: 
- find / -read 
 
  
模式: 
在搜索文件时,可以使用模式。例如,搜索扩展名为mp3的所有文件: 
- find / -name *.mp3 
 
  
如何将Find命令的输出发送到文件 
find命令的主要问题是,它有时会返回太多的结果,无法一次性查看。通过管道将输出输出到tail命令,或者您可以将这些行输出到一个文件中,如下所示: 
- find / -name *.mp3 -fprint nameoffiletoprintto 
 
  
如何查找并对文件执行命令 
同时搜索和编辑一个文件: 
- find / -name filename -exec nano '{}' ; 
 
  
上面的命令搜索一个名为filename的文件,然后为它找到的文件运行nano编辑器。 
5. 结论 
通过本文,你应该对find命令怎么用有所了解了吧?这是Linux运维中最常用的命令了,一定要学习使用。 【编辑推荐】 - 5分钟学会两年经验Linux运维都不懂的内核问题
 - 28个Unix/Linux的命令行神器
 - Linux怎么查看正在运行的进程的CPU和内存使用率?
 - 怎么制作Linux系统安装盘,U盘启动盘
 - Linux常用命令:简单易学,但能解决95%以上的问题!
  【责任编辑:赵宁宁 TEL:(010)68476606】 
            点赞 0                        (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |