课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
2分钟

查找locate和find-1

文件的搜索和查找

locate

在数据库里查找,如果数据库未更新可能查找失败,但是对系统资源占用少,适合搜索旧文件

系统开机会自动建立/var/mlocate/mlocate.db

一般用法 locate filename

locate -i 忽略大小写

locate -n N filename 只列举前N个匹配项目

locate -r 使用正则表达式

手动更新数据库命令:

updatedb

实时查找工具

find

默认是递归搜索的,直接进入指定文件夹开始进入所有子目录搜索指定文件

例如搜索etc文件夹下passwd文件

find /etc/ -name passwd

可以指定搜索层级

-maxdepth level 最大搜索目录深度,指定目录为第1级

默认第1层就是指当前层

find /etc/ -maxdepth 1 -name passwd

/etc/passwd

第2层就是

find /etc/ -maxdepth 2 -name passwd

/etc/pam.d/passwd

-mindepth level 最小搜索目录深度

找特定目录下指定第n层的文件

find /data -maxdepth 3 -mindepth 3 -name f1

find -name 是精确搜索如果想扩展搜索可以参考以下

find /data -name “f1

注意必须加双引号!

find -name 支持glob * ?

find -iname 忽略大小写字母

find -inum 按inode号查找

find /data -inum 69

find -samefile name 相同inode号的文件 就是找硬链接

find -links n 链接数为n的文件

find -regex 支持基本正则表达式

find /data -empty

-user USERNAME:查找属主为指定用户(UID)的文件

-group GRPNAME: 查找属组为指定组(GID)的文件

-uid UserID:查找属主为指定的UID号的文件

-gid GroupID:查找属组为指定的GID号的文件

-nouser:查找没有属主的文件

-nogroup:查找没有属组的文件

根据文件类型查找:

-type TYPE:

f: 普通文件

d: 目录文件

l: 符号链接文件

s:套接字文件

b: 块设备文件

c: 字符设备文件

p: 管道文件

空文件或目录

-empty

find /app -type d -empty

组合条件:

与: -a

或: -o

非: -not, !

查找data目录下空的但是不能是普通文件的集合

find /data -empty -type f

/data/dd1 这里的dd1是文件夹

查找data目录下非空的普通文件

find /data ! -empty -type f

find -prune 剪切文件

排除目录

查找/etc/下,除/etc/sane.d目录的其它所有.conf后缀的文件

find /etc -path ‘/etc/sane.d’ -a –prune -o -name “*.conf”

查找/etc/下,除/etc/sane.d和/etc/fonts两个目录的所有.conf后缀的文件

find /etc (–path ‘/etc/sane.d’ –o –path ’/etc/fonts’ )

-a -prune –o -name “*.conf