首页 > 代码库 > 6.文件查找与文件列表---FIND

6.文件查找与文件列表---FIND

find命令的工作方式如下: 沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。

1.要列出当前目录及子目录下所有的文件和文件夹,可以采用下面的写法:

find base_path, base_path 可以是任何位置。

find . -print     打印文件和目录的列表.

-print指明打印出匹配文件的文件名(路径)。 当使用-print时,‘\n‘用作分隔文件的定界符。  -print0 指明使用‘\0‘作为定界符来打印每一个匹配的的文件名。当文件名中包含换行符时,这个方法就有用武之地了

2.根据文件名或正则表达式匹配搜索.

选项  -name 的参数指定了文件名所必须匹配的字符串。 find有一个指令 -iname 能够忽略字母大小写。

如果想匹配多个条件中的一个,可以使用OR条件操作。

find . \(-name "*.txt" -o -name "*.pdf"\) -print

-name 总是用给定的文件名进行匹配, -path则将文件路径作为一个整体进行匹配。

find可以使用! 否定参数的含义,例如:

find . ! -name "*.txt" -print 匹配所有不以.txt结尾的文件。

3. 基于目录深度的搜索。

find 命令在使用时会遍历所有的子目录,可以使用一些深度参数来限制find命令的遍历深度。 -maxdepth 和 -mindepth就是这类参数。-maxdepth 和 -mindepth应该作为find 的第三个参数出现,否则就会影响效率。

4. 根据文件类型进行搜索.

-t type

-t f  普通文件

-t l  符号链接

-t d  目录

-t c 字符设备

-t b 块设备

-t s 套接字

-t p Fifo

5. 根据

6.文件查找与文件列表---FIND