歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

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

   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