查找命令2

查找命令2

1.模糊查找:可以包含一部分字符串
[root@sc-cali lianxi]# locate zhangql
/lianxi/zhangql.txt
/lianxi/zhangql2.txt
/lianxi/zhangql3.txt
2.精确查找:find命令

2.1 用find命令结合通配符也可以做到模糊查找

[root@sc-cali lianxi]# find  /lianxi  -name "zhangql*"
/lianxi/zhangql.txt
/lianxi/zhangql2.txt
/lianxi/zhangql3.txt

2.2.根据名字查找: -name
-iname(不区分大小写1)
2.3.根据大小来查找: -size
2.4.根据文件类型查找:-type
f 为文件
d 为文件夹
l 为链接文件
b 为块设备文件 --》磁盘设备文件
c 为字符设备文件 --》显示字符相关
p 为管道文件
s 为socket文件 --》进程通信的
2.5 find / -name hello.c -exec cp {} /backup ;
-exec 需要执行后面的命令
cp {} /backup 执行cp命令
{} 相当于一个容器,存放前面查找到的内容,
/backup 是cp命令的目的地
; 是find命令的结束符号
2.6 在当前目录下查找深度为1的,名字为hello的文件
find . -maxdepth 1 -name hello
2.7 在当前目录下查找比xiaomi.txt更新的文件,也就是时间比较靠后的文件
find . -newer xiaomi.txt
2.8 在当前目录下查找七天以前的文件,+7是七天前
find . -mtime +7 -type f
2.9 在当前目录下查找5分钟以前的文件,+5是五分钟前
find . -mmin +5 -type f

2.10.多条件组合(默认是and),逻辑与的优先级高于逻辑或 :
-and 2个条件都要满足:

		[root@xiaoliu dev]# find /boot -size +3M  -and -name "*linuz*"
			/boot/vmlinuz-4.18.0-305.3.1.el8.x86_64
			/boot/vmlinuz-0-rescue-f7c6935e376e4b5580f9e6a1b54a4bd4
			/boot/boot/vmlinuz-4.18.0-305.3.1.el8.x86_64
			/boot/boot/vmlinuz-0-rescue-f7c6935e376e4b5580f9e6a1b54a4bd4
			-or		2个条件只要满足一个条件就可以了:
		[root@xiaoliu boot]# find /boot -size +3M  -or -name "*linuz*"
			/boot/vmlinuz-4.18.0-305.3.1.el8.x86_64
			/boot/System.map-4.18.0-305.3.1.el8.x86_64
			/boot/.vmlinuz-4.18.0-305.3.1.el8.x86_64.hmac
			/boot/initramfs-4.18.0-305.3.1.el8.x86_64.img
			/boot/vmlinuz-0-rescue-f7c6935e376e4b5580f9e6a1b54a4bd4
			/boot/initramfs-0-rescue-f7c6935e376e4b5580f9e6a1b54a4bd4.img
			/boot/initramfs-4.18.0-305.3.1.el8.x86_64kdump.img
			/boot/boot/vmlinuz-4.18.0-305.3.1.el8.x86_64
			/boot/boot/System.map-4.18.0-305.3.1.el8.x86_64
3.重定向

正确的输出重定向

正确的追加输出重定向
2> 错误的输出重定向
2>> 错误的追加输出重定向
&> 不管正确的还是错误的都输出重定向
&>》 不管正确的还是错误的都追加输出重定向

4.扩展:find /lianxi -name “zhangql*” 背后发生了什么事情?

要从这几个方面去回答:shell解释、文件的查找、内存的分配,进程的创建,进程的执行
4.1 .shell解释器过程
4.2.命令查找过程 --》/bin/find -->文件系统–》目录项,inode,block
4.3.内核去内存里申请内存空间,创建pcb,加载程序代码到内存里
进程: pcb+code+data
pcb :进程控制块: process control block 里面包含了进程的信息,例如:pid,user,状态,内存中的地址
进程的身份证,是证明进程存在的唯一凭证
4.4.运行进程find
4.5.去磁盘里的文件系统里查找zhangql*相关的文件–》文件系统–》目录项,inode,block
4.6.命令的执行结果返回给shell
4.7.shell解释器将结果展示给人

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值