2021-09-10 23:22  阅读(78)
文章分类:Linux 入门教程 文章标签:LinuxLinux 教程
©  原文作者:慕课教程 原文地址:http://www.imooc.com/wiki/linuxlesson

查找文件和目录

实际工作中文件多了,可能就会忘掉它的位置,这个时候就可以使用 find 命令快速查找出文件所在目录的地址,提升了文件查找的效率。

1. 按照文件类型查找

使用 -type 参数可以查找不同类型的文件,其可以查找的文件类型如下:

find-type文件类型介绍 描述
f 普通文件
d 目录文件
l 符号链接文件
b 块设备文件
c 字符设备文件
p 管道文件
s 套接字文件

这里以查找 /home 目录中的所有目录为例,使用 find 命令跟上 -type 来限制文件类型,命令如下:

    cd /
    
    find ./home -type d
    

执行结果如下图:

202109102322373151.png

Tipsfind ./home -type d 其中的 ./home 表示要查找的相对路径的目录, -type d 表示查找文件类型为目录。

2. 按照文件名查找

使用 -name 参数可以按照文件名来查找,这里以查找 /home 目录下所有的 .txt 文件为例,命令如下:

    cd /
    
    find ./home -name *.txt
    

执行结果如下图:

202109102322382132.png

Tipsfind ./home -name *.txt 其中的 ./home 表示要查找的相对路径目录,-name 表示按照文件名查找,*.txt 表示文件名匹配规则,* 表示通配符,还可以查找指定文件名,如 find ./home -name a.txt

3. 查找排除指定文件

可以在查找文件的时候使用 ! 取反来排除指定的文件,例如查找 /home 目录中除了 .txt 文件以外的所有文件,命令如下:

    cd /
    
    find ./home -name *.txt
    
    find ./home ! -name a.txt
    

执行结果如下图:

202109102322390553.png

Tipsfind ./home ! -name a.txt 中的 ! 可以理解为排除符合要求的文件。

4. 对查找到的文件执行操作

有时候需要对查找到的指定文件执行特定的操作:

    cd /
    
    find ./home -name *.txt
    
    find ./home -name *.txt -exec rm {} \;
    
    find ./home -name *.txt
    

执行结果如下图:

202109102322400794.png

Tips:注意 find ./home -name *.txt -exec rm {} \; 后面的 ; 不要漏掉, -exec 表示执行某个操作,rm 表示删除操作。

5. 小结

本小节介绍了如何使用 find 命令去查找目录中指定的文件,可以通过 -type 指定查找文件的类型, ! 排除查找文件,-exec 对查找到的文件执行特定命令,需要注意的是 find 命令用法很多,本小节介绍了几种比较常见的用法,另外在查找文件名称时,可以使用表达式去匹配符合要求的文件名。

  • 划线
  • 写笔记
  • 复制
    
点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 查找文件和目录
上一篇
文件和目录重命名
下一篇
查看文件内容