首页 > 代码库 > 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