Linux——查询命令的命令

目录

工具(命令)locate

find命令

语法格式:

目录名:

 文件名:

拥有人和拥有组:

根据文件的类型进行查询:(-type)

根据文件的权限进行查询:(-perm)permission

根据文件的大小进行查询:(-size)

根据文件时间戳查询(-time默认为:天)

文件时间戳:

find命令的特点:


工具(命令)locate

格式:locate 命令

特点:

 ①基于数据库的查询:查询速度快,不是实际进入目录进行查询,而是直接反馈数据库中的内容。可使用“updatedb”命令来手动更新locate的数据库。

②模糊查询:会将包含有该命令的所有文件路径全部显示出来。

                 将“-i”选项与locate命令搭配使用是忽略大小写的查询。

                “-n”选项与locate命令搭配使用时过滤出查询到的前几行的内容。

find命令

语法格式:

find [dir1 ....] [criteria ...] [action ...]

可选项:

目录名:

[dir1 ...]:使用find命令查找指定目录

指定查询/etc下文件,并给出一共有多少(包含目录):

 文件名:

注意:使用名字查询文件时使用“-name”这个选项来进行查询。这个选项延申了unix命令的语法规则

命令:#find /etc -name passwd 此命令属于精确查询

 

模糊查询使用通配符来完成:(一定要将查询的关键字用单引号框起来)

忽略大小写:(-i)

拥有人和拥有组:

根据文件的拥有人查询文件:(-user)

详细的显示find命令所查询的用户的文件信息:

#find /home -user user4 -ls

根据文件的拥有组查询文件:(-group)

find /home -group user3 -ls

查询拥有人是username并且拥有组是username的文件:

查询拥有人是username或者拥有人是username的文件:(-o)

注意:①若没有添加“\(   \)”则输出的内容则有问题的

            ②执行顺序是:限制行括号内的内容,在执行括号外的内容

使用用户的UID直接查询也是可以的

查询文件拥有人不是username的:

查询文件拥有为username的且文件名称为file的:

根据文件的类型进行查询:(-type)

文件的类型有:文件(-)、目录(d)、块设备(b)、字符设备(c)、管道(p)、链接文件(l字母)、普通的二进制文件(f)、套接字文件(s)

文件的类型的解释可使用man find命令;文件中查询-type的内容就可以查询到关于文件类型的解释

查询拥有人为user1且文件类型是文件的(-type)

根据文件的权限进行查询:(-perm)permission

一般目录的权限是:755,文件的权限是:644

查询root用户家目录下文件的权限为:755的文件:#find -perm 755 -ls

例子:在/tmp目录下创建两个文件夹 /red和/dir做验证

find命令权限的特殊用法:#find -perm /222 -ls   

/222”匹配的规则是:(拥有人、拥有组、其他人)任何一个人只要有写权限都被匹配。

"/022"匹配的规则是:”0代表匹配时不关注拥有人,只要拥有组和其他人拥有写权限就匹配。

-222”匹配的规则是:(拥有人、拥有组、其他人)所有人都要有写权限

-200”匹配规则是:只要匹配拥有人有写权限的文件

注意:#find -perm -006 -ls  和 #find -perm /006 -ls这两个命令区别:

“-”:代表其他人必须要拥有读权限(r-4)“”写权限(w-2)

“/”:代表其他人只要有读权限“或者”写权限

根据文件的大小进行查询:(-size)

查找当前目录下,文件大小大于10M的文件:#find -size +10M

查找当前目录下,文件大小小于10M的文件:#find -size -10M

查找当前目录下,文件大小等于10M的文件:#find -size 10M

扩展“xargs”:

例子:如果删除find命令所查询的所有小于或大于10M指定文件,如何删除? 

注意:find命令所查询的文件不可以直接使用管道丢给rm命令来删除的。原因是rm命令不能接收stdin(标准输入)。但可以使用“xargs”命令来删除find命令所查询的内容。

使用管道的前提是管道右边的命令可以接收来自左边命令的输出

根据文件时间戳查询(-time默认为:天)
文件时间戳:

A time:文件最后一次被访问的时间。

M time:文件内容最后一次被修改的时间。【ll 命令显示的文件信息的时间是mtime】

C time:文件状态(属性:大小、权限.....)最后被修改的时间

注意

查询一天以内(-atime  -1)被访问的文件有那些:#find -atime -1

查询10天以前(-mtime +10)被最后一次修改的文件:#find -atime +10

查询第10天(-atime 10)被访问的文件:#find -atime 10

查询640分钟以内(-amin  -640)被访问的文件有些:#find -amin -640

查询640分钟以前(-mmin  +640)被最后一次修改的文件有些:#find -amin -640

查询第640分钟(-amin  640)被访问的文件有些:#find -amin 640

在find命令查找的基础上继续执行命令:

如:“-ls”:显示find命令查询的文件详细信息

“-exec”:将find命令执行的结果可以继续执行一些操作,无交互直接操作。

“-ok”:将find命令执行的结果可以继续执行一些操作,有交互的过程。

注意:“-exec”和“-ok”命令后面必须有结束符,否则将会报错无法执行

使用find命令查询文件后缀名以”.conf“结尾的文件,并且将这些文件拷贝到当前目录下且文件以”.org“的命名方式结尾:

”-not“选项:非(典型)

任何一个人有的 “非(-not)”  是:所有人都没有执行权限。

find命令的特点:

①实时查询

②当find命令后没有指定查询的内容时,查询的是当前目录下的所有文件信息 

③如果没有给匹配标准,就是所有文件都匹配

④对所查询的目录需要有rx权限,否则在查询的过程中会有报错,提示对所查询的目录没有权限

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值