|
---------------------【linux 下的搜索命令find 、which、whereis、locate】-------------------------【find】
- find,搜索文件及目录。在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而“find”命令可以解决上述问题 (鸟哥linux第二版 p137页)
- 在特定的目录下搜索并显示指定名称的文件和目录
【案例】find / -name man:意思是说从根目录开始搜索名称为man的文件或目录
- 搜索一段时间内被存取/变更的文件或目录
【案例】find /home -amin -10:十分钟内存取的文件或目录
【案例】find /home -atime -10:十小时内存取的文件或目录
【案例】find /home -cmin -10:十分钟内更改过的文件或目录
【案例】find /home -ctime +10:十小时前更改过的文件或目录
- 搜索指定大小的文件
【案例】find /home -size +10k:意思是说查找/home目录下大小为10k的文件
find /etc -name init (在目录/etc中查找文件init)
find /etc -name init* (在目录/etc中查找文件init开头)
find /etc -name init??? (在目录/etc中查找文件init开头名字长度7)
find / -size +204800 (在根目录查找大于100MB的文件) 1 block=512字节=0.5k
find /home -user username(在根目录下查找所有者为username的文件)
时间
1,天 ctime ,atime, mtime
2,分钟 cmin,amin,mmin
c-change(改变) ,表示文件属性修改过
a-access,(访问)
m-modify(修改),表示文件的内容修改
find /etc -ctime -l (在/etc下查找24小时之内修改过属性的文件和目录)
find /etc -size +163840 -a -size -204800 (在/etc下查找大于80MB小于100MB的文件)
find /etc -name inittab -exec ls -l{} \; (在/etc下查找inittab文件并显示其详细信息)
find /etc -name init* -a -type f
find . -inum 16 -exec rm []\;(查找并删除节点为16的文件)
1,连接符 -a (and),-o (or)
2, 文件类型 -type (f二进制文件,l软链接文件,d目录)
【which】
- which 寻找“执行文件”
- -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称
- whereis 寻找特定文件 whereis [-bmsu] 文件或目录
- -b : 只找二进制文件
- -m : 只找在帮助文件manual路径下的文件
- -s : 只找源文件
- -u : 没有帮助文件的文件
【whereis】
whereis passwd
【locate】
不能直接使用。先安装slocate 、可能slocate是被替换了成mlocate
yum install -y mlocate
现在使用 updatedb 命令来创建locate命令依赖的数据库
直接输入命令,等等几秒
完成就可以使用了。
locate passwd
纯粹手打,小弟不才,只能使用通俗的话语跟大家解析了。那里有错误的地方还望各位兄弟高抬贵手帮我指出了,万分感谢!!!一起进步一起加油!
|
|
|