萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 使用find命令查找Linux中的隱藏文件的方法

使用find命令查找Linux中的隱藏文件的方法

   我們可以在Linux 或者 Unix 系統上使用 find 命令去查詢所有(全部)隱藏文件

  基本語法如下:

  代碼如下:

  [[email protected] ~]#find /要查找的文/件/夾/ -name ".*" -print

  解釋:

  1. ".*" 表示要查找的文件名。因為linux / Unix 的隱藏文件和文件夾名是以 “ . ”開頭的。而*表示通配符,意思是查找所有文件名和文件夾名中,以 "." 開始文件和文件夾。

  2.-print 表示打印查找的結果。與 -ls 功能相同

  或者

  代碼如下:

  [[email protected] ~]#find /要查找的文/件/夾/ -name ".*" -ls

  或者只搜索隱藏的文件:

  代碼如下:

  [[email protected] ~]#find /要查找的文/件/夾/ -type f -iname ".*" -ls

  或者只搜索隱藏的文件夾:

  代碼如下:

  [[email protected] ~]#find /要查找的文/件/夾/ -type d -iname ".*" -ls

  解釋:

  -type :指定要搜尋的文件的類型,是文件夾還是文件等,要與f或d一起用

  f :意思代表文件,文件的英文是file。

  d : 就代表文件夾,文件夾的英文是 directory

  -iname :表示匹配文件名的時候,忽略大小寫。如,查找“fo*” ,則 “foo” ,"fOO"都會匹配。

  或者

  代碼如下:

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

[[email protected] ~]#find /要查找的文/件/夾/ -path '*/.*' -ls

  關於-path參數的解釋,見另外一篇文章《find命令中-path 參數的作用(意思)解釋》

  在下面的例子中,查找 $HOME 下的所有隱藏的文件與文件夾($HOME就是用戶的家目錄,你可以用 (echo $HOME 命令來查看,你就明白意思了)

  代碼如下:

  [[email protected] ~]#find $HOME -name ".*" -ls #已經遞歸查詢了

  輸出如下:

  代碼如下:

  553607 4 -rw-r--r-- 1 root root 100 Sep 22 2004 ./.cshrc

  6553664 4 -rw------- 1 root root 1024 Nov 17 04:40 ./.rnd

  6553604 4 -rw-r--r-- 1 root root 18 May 20 2009 ./.bash_logout

  6553665 4 drwx------ 2 root root 4096 Dec 18 2012 ./.gnupg

  6553671 0 -rw------- 1 root root 0 Dec 18 2012 ./.gnupg/secring.gpg

  6553669 0 -rw------- 1 root root 0 Dec 18 2012 ./.gnupg/pubring.gpg~

  6553673 4 -rw------- 1 root root 899 Dec 18 2012 ./.gnupg/pubring.gpg

  6553667 8 -rw------- 1 root root 7856 Dec 18 2012 ./.gnupg/gpg.conf

  6553668 4 -rw------- 1 root root 1200 Dec 18 2012 ./.gnupg/trustdb.gpg

  6553602 20 -rw------- 1 root root 17462 Apr 7 10:55 ./.bash_history

  6553610 4 drwx------ 3 root root 4096 Jan 16 2013 ./.config

  6553660 4 drwx------ 2 root root 4096 Jan 16 2013 ./.config/htop

  6553681 4 -rw-r--r-- 1 root root 597 Apr 11 2013 ./.config/htop/htoprc

  6553723 12 -rw------- 1 root root 9629 Mar 30 23:56 ./.viminfo

  6553615 4 drwxr-xr-x 3 root root 4096 Nov 29 2012 ./.original-configs

  為了將結果存放到文本文件foo.txt中,使用輸出重定向,命令如下:

  代碼如下:

  [[email protected] ~]#find $HOME -name ".*" -ls > foo.txt

  [[email protected] ~]#cat foo.txt # 查看foo.txt文件的內容,即find命令的運行結果

  下面假設我要查看 /home/www/ 下的隱藏文件與文件夾,並將結果保存至foo.txt。使用下面的命令:

  代碼如下:

  [[email protected] ~]#find /home/www/ -name ".*" -ls > foo.txt

copyright © 萬盛學電腦網 all rights reserved