#Linux学习# 文件搜索命令

文件搜索命令find

find

命令名称:find

命令所在路径:/bin/find

执行权限:所有用户

功能描述:文件搜索

选项与参数:

find    [PATH]    [option]    [action]


与时间相关的选项:-atime、-ctime、-mtime、-amin、-cmin与-mmin,前面字母为操作类型,a(access time)、c(change time)、m(modify time);后面time为天数,min为分钟。

以-mtime说明:

-mtime n:n为数字,意义为在n天之前的【一天之内】被修改过内容的文件

-mtime +n:列出在n天之前(不含n天本身)被修改过内容的文件

-mtime -n:列出在n天之内(含n天本身)被修改过内容的文件


与使用者或用户组名称有关的参数:

-uid n:n为数字,这个数字是使用者的账号ID,亦即UID,这个UID是记录在/etc/passwd

-gid n:n为数字,这个数字是用户组名称的ID,亦即GID,这个GID记录在/etc/group

-user name:name为使用者账号名称

-group name:name为用户组名称

-nouser:查找文件的拥有者不在/etc/passwd中

-nogroup:查找文件的拥有用户组不存在于/etc/group的文件

当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,这是可能的。在这个时候,就可以使用-nouser和-nogroup查找。


与文件权限以及名称有关的参数:

-name(-i不区分大小写) filename:查找文件名称为filename的文件(可以结合正则表达式使用)

-size [+-] SIZE:查找比SIZE 还有大(+)或小(-)或为SIZE的文件,c:代表Bytes,k:代表1024Bytes,没有单位就默认为块(一般1块等于0.5k)

-type TYPE:查找文件的类型为TYPE,类型主要有:一般正规文件(f),设备文件(b,c),目录文件(d),链接文件(l),socket(s),及FIFO(p)等属性

-perm mode:查找文件权限【刚好等于】mode的文件,这个mode为类似chomd的属性值

-perm -mode:查找文件权限【必须要全部囊括mode的权限】的文件

-perm /mode:查找文件权限【包含任一mode的权限】的文件

-perm这个选项,它的重点是找出特殊权限的文件


额外可进行的操作:

-a:and,两个条件同时满足

-o:or,两个条件满足任意一个即可

-inum:根据i节点查找

-exec/-ok    command    {}    \;  :对搜索结果执行操作,{}代表的是find找到的内容,【;】在bash环境下是有特殊意义的,因此利用反斜杠来转义;“ok”则会在执行前进行确认

-print:将结果打印到屏幕上,这个操作是默认操作

locate

命令名称:locate

命令所在路径:/usr/bin/locate

执行权限:所有用户

功能描述:在文件资料库中查找文件

选项与参数:

locate    [-iclSr]    keyword

-i:忽略大小写的差异

-c:不输出文件名,仅计算找到的文件数量

-l:仅输出几行的意思,例如输出五行则是:-l 5

-S:输出locate所使用的数据库文件的相关信息,包括该数据库记录的文件/目录数量等

-r:后面可接正则表达式的显示方式

locate:依据/var/lib/mlocate内的数据库记录,找出用户所输入关键词的文件名

updatedb:根据/etc/updatedb.conf的设置取查找系统硬盘内的文件,并更新/var/lib/mlocate内的数据库文件

which

命令名称:which

命令所在路径:/usr/bin/which

执行权限:所有用户

功能描述:搜索命令所在目录及别名信息

选项与参数:

which    [-a]    command

-a:将所有有PATH目录中可以找到的命令均列出,而不止第一个被找到的命令名称

whereis

命令名称:whereis

命令所在路径:/usr/bin/whereis

执行权限:所有用户

功能描述:搜索命令所在目录及帮助文档路径

选项与参数:

whereis    [-lbmsu]    文件或目录名

-l:可以列出whereis会去查询的几个主要目录

-b:只找binary(二进制)格式的文件

-m:只找在说明文件manual路径下的文件

-s:只找source源文件

-u:查找不在上述三个项目当中的其他特殊文件

grep

命令名称:grep

命令所在路径:/bin/grep

执行权限:所有用户

功能描述:在文件中搜寻字串匹配的行并输出

选项与参数:

grep    [-acinv]    [—color=auto]    ‘查找字符’    filename

-a:将二进制文件以文本文件的方式查找数据

-c:计算找到‘查找字符’的次数

-i:忽略大小写的不同,所以大小写视为相同

-n:顺便输出行号

-v:反向选择,亦即显示出没有‘查找字符’内容显示出来

--color=auto:可以将找到关键字部分加上颜色显示出来

你可能感兴趣的:(#Linux学习# 文件搜索命令)