Linux_搜文件

Linux 下搜文件, 通常先用 whereis 或 locate ,如果找不到,才以 find 搜寻!因为 whereis 与 locate 是利用数据库来搜寻数据,省时间!

<<鸟哥的Linux私房菜>>

1  whereis (寻找特定文件)

whereis [-bmsu] 文件或目录名
-b : 只找 binary 格式的文件 -m : 只找在说明档 manual 路径下的文件 -s : 只找 source 来源文件 -u : 搜寻不在上述三个项目当中的其他特殊文件
例一:找出 ifconfig 文档
whereis ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
例二:找出跟 passwd 有关的『说明文件』档名(man page)
whereis -m passwd

passwd: /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz

2  locate

 locate 的使用更简单,直接在后面输入『文件的部分名称』后,就能够得到结果。

locate [-ir] keyword



-i  :忽略大小写的差异;

-r  :后面可接正规表示法的显示方式

例一:找出系统中所有与 passwd 相关的档名

locate passwd

/etc/passwd
/etc/passwd-
/etc/alternatives/kpasswd
...省略....

 3  find

find [PATH] [option] [action]


1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明 -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件; -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名; -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。 -newer filefile 为一个存在的文件,列出比 file 还要新的文件档名

例一:将过去系统24小时内有更动过内容(mtime)的文件列出

find / -mtime 0 # 那个 0 是重点!0 代表目前的时间,所以,从现在开始到 24 小时前, # 有变动过内容的文件都会被列出来!那如果是三天前的 24 小时内? # find / -mtime 3 有变动过的文件都被列出的意思! 例二:寻找 /etc 底下的文件,如果文件日期比 /etc/passwd 新就列出
find /etc -newer /etc/passwd

# -newer 用在分辨两个文件之间的新旧关系是很有用的!

   

 

你可能感兴趣的:(linux)