在Linux中,使用find命令时,如果需要排除某些目录,可以通过几种方式来实现。以下是两种常用的方法,分别是使用-prune选项和使用!(或-not)与-path或-wholename选项结合使用。 1. 使用-prune选项排除目录 -prune选项会排除与指定模式匹配的文件和目录,但不会进入这些目录中去查找。这通常与-path选项一起使用,以指定要排...
示例1:查找并列出某目录下的所有文件夹 find /home/user/documents -maxdepth 1 -typed 示例2:查找并列出某目录下的所有文件 find /home/user/documents -maxdepth 1 -typef 示例3:查找某目录下的所有文件,但不包括该目录本身 find /home/user/documents -mindepth 1 -typef 示例4:查找某...
find .:从当前目录(.)开始搜索。 -type d:只查找目录(d)。 -name 'directory_to_exclude':查找名为directory_to_exclude的目录。 -prune:当找到匹配的目录时,排除(prune)该目录及其子目录。 -o:逻辑或(or),用于组合多个表达式。 -type f:只查找文件(f)。 -print:打印匹配的文件路径。 将directory_to_ex...
1. 排除特定文件: “`shell find . -type f ! -name “*.txt” “` 上述命令在当前目录下查找所有非`.txt`文件。 2. 排除特定目录: “`shell find . -type d ! -name “dir1” ! -name “dir2” “` 上述命令在当前目录下查找除了`dir1`和`dir2`以外的所有目录。 3. 排除多个特定文件类型:...
-path "/home/user/Downloads":指定要排除的目录路径。 -prune:告诉find不要进入Downloads目录。 -o(OR):将-prune操作与下一个搜索条件连接起来。 -name "*.txt":查找所有以.txt结尾的文件。 -print:输出找到的文件。 在这个例子中,find命令首先检查是否匹配-path "/home/user/Downloads",如果匹配,则-prun...
find . -type f -not -name "*.txt" ``` 这条命令将会列出当前目录中所有不以“.txt”为后缀的文件。通过使用“-not”选项,我们实现了排除某文件的目的。 2. 使用“-prune”选项 另一种排除文件或目录的方法是使用“-prune”选项。通过“-prune”选项,可以排除特定目录及其子目录。例如,要查找所有子目录...
find . -type f -name "*.txt" -not -name "exclude.txt" ``` 这条命令的含义是在当前目录下查找所有以“.txt”结尾的文件,但不包括文件名为“exclude.txt”的文件。 另一个常用的排除文件的方法是使用“-prune”选项。这个选项可以帮助我们排除指定的目录,让find命令不再搜索该目录下的文件。例如,我们要...
排除多个目录 find. \( -path ./Gallery2 -o -path ./HTMLViewer -o -path ./Nfc \) -prune -o -name *.mk -print -o 或运算, 类型的还有 -a:与(可省略,默认就是与); -not:非(和!意义相同) -type 要搜索的文件类型, f:普通文件; d:目录; l:符号链接; s:Socket; 其它参见man手册 ...
find [path] [expression] 其中,path是要搜索的起始目录路径,如果省略,则默认从当前目录开始搜索。expression是用于指定搜索条件的选项,可以是文件名、文件类型、大小、权限等。 2.2 示例 2.2.1 查找指定目录下的所有子目录 要查找指定目录下的所有子目录,可以使用以下命令: ...