首页 / 操作系统 / Linux / 使用find命令查找Linux中的隐藏文件的方法
我们可以在Linux 或者 Unix 系统上使用 find 命令去查询所有(全部)隐藏文件
基本语法如下:
复制代码代码如下:[root@dabu.info ~]#find/要查找的文/件/夹/-name".*"-print
解释:
1. ".*" 表示要查找的文件名。因为linux / Unix 的隐藏文件和文件夹名是以 “ . ”开头的。而*表示通配符,意思是查找所有文件名和文件夹名中,以 "." 开始文件和文件夹。
2.-print 表示打印查找的结果。与 -ls 功能相同
或者
复制代码代码如下:[root@dabu.info ~]#find /要查找的文/件/夹/ -name".*"-ls
或者只搜索隐藏的文件:
复制代码代码如下:[root@dabu.info ~]#find/要查找的文/件/夹/ -typef -iname".*"-ls
或者只搜索隐藏的文件夹:
复制代码代码如下:[root@dabu.info ~]#find/要查找的文/件/夹/ -typed-iname".*" -ls
解释:
-type :指定要搜寻的文件的类型,是文件夹还是文件等,要与f或d一起用
f :意思代表文件,文件的英文是file。
d : 就代表文件夹,文件夹的英文是 directory
-iname :表示匹配文件名的时候,忽略大小写。如,查找“fo*” ,则 “foo” ,"fOO"都会匹配。
或者
复制代码代码如下:[root@dabu.info ~]#find/要查找的文/件/夹/ -path"*/.*" -print</p><p>[root@dabu.info ~]#find/要查找的文/件/夹/ -path"*/.*" -ls
关于-path参数的解释,见另外一篇文章《find命令中-path 参数的作用(意思)解释》
在下面的例子中,查找 $HOME 下的所有隐藏的文件与文件夹($HOME就是用户的家目录,你可以用 (echo $HOME 命令来查看,你就明白意思了)
复制代码代码如下:[root@dabu.info ~]#find $HOME -name ".*"-ls#已经递归查询了
输出如下:
复制代码代码如下:
5536074 -rw-r--r-- 1 root root100 Sep 222004 ./.cshrc
65536644 -rw------- 1 root root 1024 Nov 17 04:40 ./.rnd
65536044 -rw-r--r-- 1 root root 18 May 202009 ./.bash_logout
65536654 drwx------ 2 root root 4096 Dec 182012 ./.gnupg
65536710 -rw------- 1 root root0 Dec 182012 ./.gnupg/secring.gpg
65536690 -rw------- 1 root root0 Dec 182012 ./.gnupg/pubring.gpg~
65536734 -rw------- 1 root root899 Dec 182012 ./.gnupg/pubring.gpg
65536678 -rw------- 1 root root 7856 Dec 182012 ./.gnupg/gpg.conf
65536684 -rw------- 1 root root 1200 Dec 182012 ./.gnupg/trustdb.gpg
6553602 20 -rw------- 1 root root17462 Apr7 10:55 ./.bash_history
65536104 drwx------ 3 root root 4096 Jan 162013 ./.config
65536604 drwx------ 2 root root 4096 Jan 162013 ./.config/htop
65536814 -rw-r--r-- 1 root root597 Apr 112013 ./.config/htop/htoprc
6553723 12 -rw------- 1 root root 9629 Mar 30 23:56 ./.viminfo
65536154 drwxr-xr-x 3 root root 4096 Nov 292012 ./.original-configs
为了将结果存放到文本文件foo.txt中,使用输出重定向,命令如下:
复制代码代码如下:
[root@dabu.info ~]#find$HOME -name ".*"-ls >foo.txt
[root@dabu.info ~]#cat foo.txt #查看foo.txt文件的内容,即find命令的运行结果
下面假设我要查看 /home/www/ 下的隐藏文件与文件夹,并将结果保存至foo.txt。使用下面的命令:
复制代码代码如下:
[root@dabu.info ~]#find/home/www/ -name".*"-ls> foo.txt