Linux命令与文件的查询

查找命令的完整文件名路径,比如ls

which(寻找“执行文件”)

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


文件名的查找,首先使用whereis或者是locate来检查,如果找不到,再以find查找。因为whereis与locate是利用数据库来查找,所以相当快速,并且没有实际查询硬盘,比较节省时间。

whereis(查找特定文件)

【-b】只找二进制格式的文件

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

【-s】只找source源文件

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


locate(根据数据库查找文件)

【-i】忽略大小写的差异

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

locate寻找的数据是由已经创建的数据库/var/lib/mlocate里面的数据所查找到的,所以不直接在硬盘当中访问数据,所以相当迅速

一般默认是每天更新一次数据库,可使用updatedb手动更新,updatedb命令读取/etc/updatedb.conf这个配置文件的设置,再去硬盘里面进行查找文件名的操作。一般updatedb会执行数分钟。


find(扫描硬盘查找文件)


1、与时间有关的参数,共有atime、ctime、mtime,以mtime为例

-mtime n:n为数字,n天之间的“一天以内”被更改过的文件

-mtime +n:列出n天之间(不含n天本身)被更改过的文件名

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

find / -mtime 0 列出过去系统上面24小时内有改动的文件

find /etc -newer /etc/passwd 查找/etc下,文件日期比/etc/passwd新的文件


2、与用户或用户组名有关的参数

-uid n :n为数字,这个数字是用户的账号ID,即UID,这个UID是记录在/etc/passwd里面与账号名称对应的数字

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

-user name:name为用户账号名称,例如mikercal

-group name:name为用户组名,例如users

-nouser:寻找文件的所有者不在/etc/passwd的文件

-nogroup:寻找文件的所有用户组不在/etc/group中的文件

当我们自行安装软件时,很可能该软件的属性当中并没有文件所有者,这时候就可以使用上述命令来查找


3、与文件权限及名称有关的参数

-name filename 查找文件名为filename的文件

-size [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件。c:代表byte,k:代表1024bytes,如找比100KB大的文件-size +100k

-type TYPE:查找文件的类型为TYPE的,类型有:

一般正规文件:f

设备文件:b、c

目录:d

链接文件:l

socket:s

FIFO:p

-perm mode:查找文件权限“刚好等于”mode的文件

-perm -mode:查找文件权限“必须要全部包括mode的权限”的文件

-perm +mode:查找文件权限“包含任一mode的权限”的文件


4、其他可进行的操作

-exec command:command为其他命令

例如find / -name my.cnf -exec ls -l {} \:

{}代表“由find找到的内容”

-exec一直到"\;"是关键字,由于“;”在bash中具有特殊意义,故用“\”转义

command不可以用“ll”这样的命令别名


可使用通配符查找文件

find /etc -name "*http*"

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值