文件的搜素命令

一.which

           查找可执行的文件    搜索命令所在路径以及别名
           
        PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以   看  到某个系统命令是否存在,以及执行的到底是哪一个位置的命令搜索命令所在路径及别名。

二 . whereis

        只能用于搜索程序名    搜索命令所在的路径以及帮助文档所在位置
         b:只查找可执行文件
		-m:只查找帮助文件

在这里插入图片描述

三locate&& find

locate:
依赖于事先构建好的索引库,定时更新索引库 updatedb
查找速度快,模糊查找

			yum install  mlocate  -y

		-b:只匹配路径中的基名
		-c:统计总共有多少符合条件个文件

在这里插入图片描述

find: 搜索文件

		find [options] [查找的起始路径] [查找条件] [处理动作]

		查找的起始路径:指定具体的搜索目录,默认为当前目录
		查找条件:指定查找的标准,大小,文件名,类型。默认是指定路径下的所有文件
		处理动作:符合查找条件的文件做出的操作,例如cp,rm,默认为输出到标准输出

查找条件:
表达式:
选项
测试 组合
与 -a
或 -o
非:-not !

文件名查找:
-name “pattern” — 引号需要加
支持通配符 * ? [] [^]
-iname “pattern” 不区分大小写
基于正则表达式模式查找
-regex “pattern” 匹配整个路径 而不是文件名

			例如	find /  -regex  /t.*/f.*

根据文件的从属关系查找

				-user   属主
				-group  属组
				-uid  GID  属主ID
				-gid  GID  属组ID

				-nouser  没有属主的文件
				-nogroup 没有属组的文件

在这里插入图片描述
根据文件类型查找:

			-type  TYPE

			f:普通文件
			d:目录
			b:块设备文件
			l:链接文件
			c:字符设备文件
			p:管道文件
			s:socket套接字文件
			![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308125243636.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjMxNTQ4OA==,size_16,color_FFFFFF,t_70)
	根据文件的大小查找
				-size  [+|-] #UNIT
				#UNIT:(#-1,#]
				-#UNIT:[0,#-1)
				+#UNIT:(#,OO)

根据时间戳查找
以天为单位
-atime [+|-]# 文件最后访问时间
-mtime [+|-]# 文件最后修改时间
-ctime [+|-]# 文件最后改变时间
#:[#,#-1): 10 大于等于10天前,小于9天前
-#😦#,0] -10 最后的访问时间10天以内
+#:(oo,#-1] +10 最后的访问时间在9天以前,包括9天

以分钟为单位
-amin [+|-]#
-mmin [+|-]#
-cmin [+|-]#

根据文件权限来查找
-perm mode 777 rwx 421
权限对象:三类 属主 属组 其他
权限位: 读 写 执行 r w x 4 2 1
mode 精确查找
/mode:任何一个权限对象中满足其一即可
-mode:所有都需要满足

					 421  精确,9位权限位所有的权限位保持一致
					/421 只要包含,且9位权限中每个权限中有一个满足即可     或
					-421 只要包含,且9位权限中每个权限均要满足	
目录层级
				-path 基于目录层级
				
				基于目录深度查找

				-maxdepth 最大深度
				-mindepth 最小深度	
				
例如:查找/tmp目录下第三层目录中的文件
			[root@nebula tmp]# find /tmp/ -maxdepth 3   -mindepth 3 -name "file*"
			/tmp/test/test/file_test
			[root@nebula tmp]# find /tmp/ -maxdepth 4   -mindepth 4 -name "file*"
			/tmp/test/test/test/file_new

处理动-print: 默认动作,输出到标准输出作:

			-fls  /path/to/somefile:将查找到的文件的长格式信息写入到指定文件中
			-ok  commond  {} \;  对执行的每个文件做commond操作,每次的操作需要用户确认
			-exec commond {} \; 对执行的每个文件做commond操作
			-xargs -0 commond {} \
			;														
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值