#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:可以将找到关键字部分加上颜色显示出来
上一篇: Laravel 的十八个最佳实践