Linux笔记③:文件搜索命令

1.find ( : 文件搜索 )

命令格式:
	find [搜索范围] [匹配条件] 

1) 根据文件名查找  ( -name )

	-name (区分大小写)
	-iname (不区分大小写)
	
	例:在目录/etc下查找文件init
	
		精准搜索:find /etc -name init  
	
		模糊搜索:

		find /etc -name *init*   (名字里包含init)
	
		find /etc -name init*   (以init开头的文件)
	
		find /etc -name init???  (只记得init后有3个字符:如initabc)
		
2) 根据文件大小查找  ( -size ) 
	
	· +n(大于)  -n(小于)   n(等于)
	· 单位为数据块,数据块为linux存储文件的最小单位
	· 1个数据块 = 512字节 = 0.5k
	
	例:在根目录下查找大于100 MB的文件
	
		100MB = 102400k = 204800个数据块
		
		find / -size +204800
		
3) 根据所有者查找   ( -user )

	例:在home目录下查找所有者为tom的文件
	
		find /home -user tom
		
4) 根据所属组查找   ( -group )

	例:在home目录下查找所属组为jerry的文件
		
		find /home -group jerry
		
5) 根据时间属性来查找 ( -  min )

	-amin  访问时间 (access)
	-cmin  文件属性 (change) 
	-mmin  文件内容 (modify)
	
	+n 表示超过n分钟
	-n 表示在n分钟内
	
	例:在 /etc 下查找 5分钟内 被修改 属性 的文件和目录
	
		find /etc -cmin -5
		
	例:在 /etc 下查找 30分钟内 被修改 文件内容 的文件
		
		find /etc -mmin -30
		
6) 根据文件类型查找 ( -type )

	-type f/d/l   (文件/目录/软链接文件)
	
	例:查找 /etc目录下 查找以init开头的文件,不要以init开头的目录
	
		find /etc -name init* -a -type f

7) 连接选项
	
	-a 两个条件同时满足 (and)
	-o 两个条件满足任一 (or)
	
	例:在  /etc 下查找  大于80 MB,且小于100MB 的文件
		
		find /etc -size +163840 -a -size -204800   
			(80*1024*2=163840,100*1024*2=204800)
			
8) 执行选项 ( 对查找到的结果执行操作 )

	命令格式:
	
		find命令   +    -exec/-ok 命令 {} \;
		
	· -exec  查找时不询问
	· -ok    查找时挨个询问,输入y确定, n否定
	· 其中 “ {} \;”  暂时认为是固定格式

	
	例: 在目录/etc下查找 inittab 文件并显示其详细信息
	
		find /etc -name inittab -exec ls -l {} \;     (注意空格)
		
	例:在/etc 目录下查找 以init开头的文件并显示其详细信息,且排除以init开头的目录
	
		find /etc -name init* -a -type f -exec ls -l {} \;
		

		
9) 根据i节点查找 ( - inum )

	例:在当前文件夹下找到i节点为529689的文件并删除
		
		find . -inum 529689 -exec rm {} \;
	
	·linux系统中每个文件都有唯一一个i节点
	·可用于查找文件的所有硬链接(硬链接与源文件的i节点相同)

2.locate ( : 在文件资料库中查找文件 )

命令格式:
	locate [文件名]

·严格区分大小写
·不区分大小写方法:locate -i [文件名]

·若刚新建的文件,使用locate找不到,需进入root模式下,更新文件资料库

更新文件资料库:

	·进入root :输入 su root , 输入密码(密码不显示)后,回车
	·输入命令 : updatadb

·若文件存在于/tmp下(临时文件存放处),则更新文件资料库后,locate也查不到

3.which ( : 搜索命令所在目录及别名信息 )

命令格式:
	which [命令]

·一般存放在/bin或/usr/bin 是所有用户可使用的命令
·存放在/sbin或/usr/sbin下,只有root才可以使用的命令

·若找不到某些命令,则该命令可能为shell内置命令

4.whereis ( : 搜索命令所在目录及帮助文档所在位置 )

命令格式:
	whereis [命令]

·其中 , 后缀为 .1.gz的文件为 命令的帮助
·后缀为 .5.gz的文件为 配置文件的帮助

5.grep ( : 在文件中搜索子串匹配的行并输出 )

命令格式 : 
	grep -iv [指定字串] [文件]
		 -i 不区分大小写
		 -v 排除指定字串
		 
例:将某个文件中  以井号开头(一般为注释行)  的文件行排除,查找有效行
	grep -v ^# [文件]

Direction:
此篇文章仅为作者学习笔记,不用于任何非法用途,如有不足,欢迎批评指正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cloudcodes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值