欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

#Linux学习# 文件搜索命令

程序员文章站 2022-06-25 08:42:25
文件搜索命令findfind命令名称:find命令所在路径:/bin/find执行权限:所有用户功能描述:文件搜索选项与参数:find [PATH] [option] [action]与时间相关的选项:-atime、-ctime、-mtime、-amin、-cmin与-mmin,前面字母为操作类型,... ......

文件搜索命令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:可以将找到关键字部分加上颜色显示出来