您的位置:首页 > 运维架构 > Linux

Linux搜寻文件或目录命令解析

2010-07-17 21:29 246 查看
which 查看可执行文件的位置
whereis 查看文件位置
locate 配合数据库查看文件位置
find 实际搜寻硬盘查询文件名称

下面对这些命令及参数进行具体分析
which 通过PATH环境变量到该路径内寻找可执行文件。
whereis
-b 只找二进制文件
-m manual路径下的文件
-s source源文件
-u 没有说明文档的文件
locate 是从数据库/var/lib/slocate中查找数据,不在硬盘中直接存取数据,但是它有一定的限制性,就是数据库的更新默认是每周执行一次,所以,在数据库更新之前新建的文件会会找不到,必须要在更新数据库之后。
下面重点介绍一下文件查询工具“find”命令。
1 -name 按照文件名查找,如:
find /etc -name *.txt
find / -name “*.png”
2 -user 按照文件属主查找,如:
find / -user Joy
3 “-o”和“-not”,如:
find / -name “.png” -o -user Joy
4 -perm 按照文件权限查找,如:
find ./ -perm +444
其中 –perm mode 表示精确查找
find /home -perm 764
-perm /mode 表示至少要有一个满足
find ./ -perm /444
-perm -/mode 表示3个都必须满足
find ./ -perm -/444
5 -size 按照文件大小查找,如:
find ./ -size 2M 在根目录下查找文件大小为2M的文件
但这里有个特殊情况,例如:
假设在 /wang目录下,有三个文件a,b,c,文件大小分别为10k,0M,2M. 这时输入命令:
find /wang -size -1M 在/wang目录下查找大小小于1M的文件,这时的输出结果只有b文件,因为它这时是以M为衡量单位的,a=10k被衡量为10M。
6 -type 按照文件类型查找,其中
f 一般文件
d 目录
l 链接文件
b 块设备文件
c 字符设备文件
p 管道文件
s socket文件
如:
find ./ -type f 在”./”目录下查找一般文件
7 -atinme, -mtime, -ctime 根据时间查找(默认单位为天),如:
find /tmp -ctime +10
find ./ -newer a.txt 查找比a.txt文件访问时间更短的文件

下面介绍一下找到这些文件后怎么对他们操作?
这样的命令有“-exec”和“-ok”,其中,“-exec”是直接执行,“-ok”是执行前总询问。如:
find -size +10M -ok mv {} /tmp/largefiles/ \;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息