歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux命令 >> Linux中的find命令使用時的一些注意點整理

Linux中的find命令使用時的一些注意點整理

日期:2017/2/28 9:56:28   编辑:Linux命令
Linux命令

find命令中用了-path 參數,則文件名是匹配shell通配符模式。這時候,元字符不能識別 '/ ' 和 ' . ' 。舉個例子
假設/root 目錄下有四個文件,其絕對路徑分別為:

代碼如下: /root/src/misc
/root/src/test/misc
/root/src1misc
/root/test/src/misc

這時候輸入下面的命令:

代碼如下: [[email protected] ~]# cd /root
[[email protected] ~]#find . -path './sr*sc'
./src1misc
./src/misc
./src/test/misc

命令運行輸出的結果不是文件名,而是文件的路徑

可見,文件夾符號/ 在此時也可以用 * 通配符匹配,而且 * 是可以匹配n多個字符。上面的命令行的意思是是在當前目錄下及子目錄遞歸查找文件路徑 匹配的文件,所以輸出的是文件的路徑。
因為是'./sr*sc' ,所以 /root/test/src/misc這個文件不匹配,因為 ./ 代表當前目錄 (即/root) ,而 /root/test/src/misc不符合 ./sr的格式。

但是稍微改一下,如下:

代碼如下: [[email protected] ~]#find . -path '*/sr*sc*'
./src1misc
./src/misc
./src/test/misc
./test/src/misc

解釋:因為" * " 可以匹配 "." 和 " / ", 我們將上面的'*/sr*sc*' 改為 '*sr*sc*' 。結果也是一樣的。

注意:也可以直接用絕對路徑

代碼如下: [[email protected] ~]#find /root -path '*/sr*sc*'



代碼如下: [[email protected] ~]#find /root -path '/root/sr*sc*'
/root/src1misc
/root/src/misc
/root/src/test/misc
此時, /root/test/src/misc 是不符的'/root/sr*sc*'的格式的。

所以Linux / Unix:遞歸查找並列出所有(全部)隱藏文件的方法可以如下:

代碼如下: [[email protected] ~]#find /要查找的文/件/夾/ -path '*/.*' -print

教程完!

Copyright © Linux教程網 All Rights Reserved