欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2023-11-02 21:38:46
这篇文章主要介绍了使用find命令查找Linux中的隐藏文件的方法,包括只列出被隐藏的文件等操作,需要的朋友可以参考下... 15-06-26...

我们可以在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 /要查找的文/件/夹/ -type f -iname ".*" -ls

或者只搜索隐藏的文件夹:


复制代码
代码如下:
[root@dabu.info ~]#find /要查找的文/件/夹/ -type d -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 #已经递归查询了

输出如下:

复制代码
代码如下:

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中,使用输出重定向,命令如下:

复制代码
代码如下:

[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