Linux系统精讲--2.3 搜索命令 find

回复 收藏

一、Which

查找可执行文件,并且是在PATH的变量下

#touch aminglinux

#which aminglinux 【找不到aminglinux】

#mv aminglinux /tmp/ 【tmp/ 在PATH路径下,将aminglinux文件移动到tmp下】

#which aminglinux 【此时仍然找不到,因为虽然在tmp下,但是并没有可执行的属性】

#chmod a+x aminglinux [g+x;o+x] 【给aminglinux文件增加可执行权限】

#which aminglinux 【此时可以找到aminglinux的路径】

NOTE:给aminglinux文件的所属主、所属组、others任何一个增加x可执行权限,均可以以which命令找到

二、Whereis   不常用

语法:#whereis [-bmsu] [关键字]

-b     Search only for binaries. 只搜索二进制文件

-m     Search only for manual sections. 只找在说明文件manual路径下的文件

-s     Search only for sources. 只找来源文件

返回包含关键字的所有文件,并不是精准搜索,

三、locate 搜索文件

#yum install -y mlocate  【安装文件为 mlocate】

#locate ls

locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录

【红色标注的文件是搜索记录所搜素关键字的列表库, whereis 和 locate,都是通过查找预先生成的文件列表库来告诉用户要查找的文件在哪里】

#updatedb 【更新文件列表库】

#locate ls

返回命令中,数据太多,不适合精确查找。

NOTE:

1. locate 搜索不到/tmp下面的文件。

2. 新建文件无法直接搜索到,一定要更新数据库才可以。数据库默认两周更新一次,可自行到/etc/updatedb.conf中进行修改。

四、find

语法: find [路径] [参数]

#find [路径] -name [文件名]

1. find /tmp/ -name alinglinux 【在tmp下查找名字为aminglinux的文件】

find /tmp/ -name ‘aminglinux’ 【单引号可有可无】

2.find /tmp/ -name "aming*" 【查找以文件名以aming开头的所有文件】【单引号、双引号都可以,通配符*可在前面】

#find [路径] -type [文件类型]

#find /tmp/ -type d 【查找tmp下面的所有目录】

b Block 块设备

c Communication 串行端口设备

d Directory 目录

l  Linux Link 软连接

s Socket

f File 文件

#find [路径] 时间参数 ±n 【满足指定时间参数的文件,大于n天,小于n天的文件】

n的时间单位是天,找修改5分钟或者十分钟之内的。

find [路径] -mmin ±n 【大于n分钟,小于n分钟的文件】

find可以一次查找满足多个条件的文件

#find /tmp/ -name aming -type d

#find /tmp/ -type f |xargs ls -l 【列出tmp目录下所有文件的详细信息】

#find /tmp/ -type f |xargs rm  【删除tmp目录下所有文件】

拓展

http://www.cnblogs.com/hopeworld/archive/2011/04/08/2009252.html

第二阶段系统精讲里面的星标文件

2017-01-07 17:58 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: