find 查找文件和目录
实际工作中多了,可能就会忘掉它的位置,这个时候就可以使用 find
命令查找出所在目录的地址,提升了查找的效率。
1. 按照类型查找
使用 -type
参数可以查找不同类型的,其可以查找的类型如下:
这里以查找 /home
目录中的所有目录为例,使用 find
命令跟上 -type
来限制类型,命令如下:
cd /find ./home -type d
执行结果如下图:
Tips:find ./home -type d
其中的 ./home
表示要查找的相对路径的目录, -type d
表示类型为目录。
2. 按照名查找
使用 -name
参数可以按照名来查找,这里以查找 /home
目录下所有的 .txt
为例,命令如下:
cd /find ./home -name *.txt
执行结果如下图:
Tips:find ./home -name *.txt
其中的 ./home
表示要查找的相对路径目录,-name
表示按照名查找,*.txt
表示名匹配规则,*
表示符,还可以查找指定名,如 find ./home -name a.txt
。
3. 查找排除指定
可以在的时候使用 !
取反来排除指定的,例如查找 /home
目录中除了 .txt
以外的所有,命令如下:
cd /find ./home -name *.txtfind ./home ! -name a.txt
执行结果如下图:
Tips:find ./home ! -name a.txt
中的 !
可以理解为排除符合要求的。
4. 对查找到的执行操作
有时候需要对查找到的指定执行特定的操作:
cd /find ./home -name *.txtfind ./home -name *.txt -exec rm {} \;find ./home -name *.txt
执行结果如下图:
Tips:注意 find ./home -name *.txt -exec rm {} \;
后面的 ;
不要漏掉, -exec
表示执行某个操作,rm
表示操作。
5. 小结
本小节介绍了如何使用 find
命令去中指定的,可以通过 -type
指定的类型, !
排除,-exec
对查找到的执行特定命令,需要注意的是 find
命令很多,本小节介绍了几种比较常见的,另外在时,可以使用表达式去匹配符合要求的名。