find命令查找文件时排除某些文件

时间:2019-11-20 08:53:26  来源:igfitidea点击:

在使用find命令搜索文件时,如何排除某些类型的文件?
Linux find命令,如何忽略某些文件?
find命令查找时如何排除隐藏文件?

find命令排除文件语法

基本语法语法如下:

find /dir/to/search/ -options -name 'pattern' -action
find /dir/to/search/ -options -iname 'pattern' -action
find /dir/to/search/ -type f -name 'pattern' -print
find /dir/to/search/ -type f -name \( expression \) -print

find命令 逻辑与条件

find /dir/to/search/ -type f -name 'expression -and expression' -print

find命令 逻辑或条件

find /dir/to/search/ -type f -name 'expression -or expression' -print

find命令示例

查找以c或者cpp结尾的文件:

$ find . -type f \( -iname "*.c" -or -iname "*.cpp" \)

在/etc/目录中查找所有.conf或者 .txt文件:

$ find /etc -type f \( -name "*.conf" -or -name "*.txt" \) -print

图01:Linux查找命令排除文件命令

注意,括号必须使用 \\进行转义。
-type f选项表示匹配文件。

find命令查找时如何排除隐藏文件?

查找txt文件,但忽略隐藏的文件,例如.vimrc或.data.txt文件:

$ find . -type f \( -iname "*.txt" ! -iname ".*" \)

查找所有隐藏文件,但忽略.htaccess文件:

$ find . -type f \( -iname ".*" ! -iname ".htaccess" \)