Linux学习笔记7:命令与文件的查找

参考书籍:《鸟哥的Linux私房菜:基础学习篇》

知道文件放在哪里,才能进行修改或维护等操作,这就用到了文件查找命令。

脚本文件的查找
【which】查找(执行文件)
语法:

[root@localhost ~]# which [-a] command
选项或参数:
-a:将所有由PATH目录中可以找到的命令均列出(所有同名)

这个命令是根据【PATH】所规范的路径,去查找执行文件的文件名,重点是找出执行文件,且which后面接的是完整的文件名。

文件的查找
find不常用,除了速度慢外还影响硬盘性能,一般都是先使用whereis或locate。
whereis只找系统中某些特定目录下面的文件,locate则是利用数据库来查找文件名。两者都没有实际查找硬盘内的文件系统状态,比较省时间。

【whereis】
语法:

[root@localhost ~]# whereis [-bmsu] 文件或目录
选项与参数:
-l:可以列出whereis会去查询的几个主要目录
-b:只找binary(二进制)格式的文件
-m:只找在说明文件manual路径下的文件
-s:只找source源文件
-u:查找不在上述三个项目当中的其他特殊文件

主要针对/bin/sbin下面的执行文件,以及/usr/share/man下面man page文件,跟几个比较特定的目录来处理而已,所以速度当然快得多。

【locate/updatedb】

[root@localhost ~]# locate [-ir] keyword
选项与参数:
-i:忽略大小写的差异
-c:不输出文件名,仅计算找到的文件数量
-l:仅输出几行的意思,例如输出五行则是-l 5
-S:输出locate所使用的数据库文件的相关信息,包括该数据库记录的文件/目录数量等
-r:后面可接正则表达式的显示方式

使用locate寻找数据特别快,这是因为locate寻找的数据是由已建立的数据库/var/lib/mlocate/里面的数据所查找到的,所以不用再去硬盘当中读取数据。但是有一个限制,就是如果数据库没有更新,最新建立的文件数据无法查找到,手动更新数据库直接输入【updatedb】即可。

【find】

[root@localhost ~]# find [PATH] [option] [action]
选项与参数:
1、与时间有关的选项有-atime、-ctime、-mtime。以mtime进行说明
-mtime  n:n为数字,意义为在n天之前的一天内被修改过内容的文件
-mtime +n:列出在n天之前(不含n)被修改过内容的文件
-mtime -n:列出在n天之内(含n)被修改过内容的文件
-newer file:file为一个存在的文件,列出比此文件还要新的文件

2、与使用者或用户组名称有关的参数:
-uid n:n为数字,这个数字是使用者的账号ID,即UID,记录在/etc/passwd里面
-gid n:用户组ID,即GID,记录在/etc/group
-user name:name为使用者的账号
-group name:用户组名称
-nouser:查找文件的拥有者不在/etc/passwd中
-nogroup:文件拥有用户组不存在于/etc/group中

3、与文件权限及名称有关的参数:
-name filename:查找文件名称为filename的文件
-size [+-] SIZE:查找比SIZE还要大(+)或(-)的文件
-type TYPE:查找文件类型为TYPE的
-perm mode:查找文件权限刚好等于mode的
-perm -mode:查找文件权限全部囊括mode的
-perm /mode:查找文件权限包含任一mode权限的

4、额外可进行的操作
-exec command:command为其命令,-exec后面可再接额外的命令来处理查找到的结果
-print:将结果打印到屏幕上,默认操作

(find后面可以接多个目录进行查找,同时默认也会查找子目录)

例:find的特殊操作

[root@localhost ~]# find / -perm /7000 -exec ls -l {} \;

{}代表的是由find找到的内容
-exec和;是关键词,代表中间为额外操作,在本例中的额外操作就是【ls -l {}】
这里\为转义符
整个命令就是对查找到的内容再执行【ls -l】命令

持续更新中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值