一、执行文件名查找
which(查找‘执行文件') //根据PATH环境变量所规范的路径查询
which [-a] command //其中参数-a是指列出找到所有命令,而非只显示找到的第一个
例如:which ifconfig
二、文件名的查找
1、whereis(寻找特定文件)
whereis [-bmsu] filename/directoryname
-b :只找二进制的文件
-m :只找在说明文件manual路径下的文件
-s :只找source源文件
-u :查找不在上面三个规定下的特殊文件
例如:whereis ifconfig
2、locate
依赖于事先构建好的索引库,查找速度快;
用法:locate [-ir] keyword
-i : 忽略大小写的差异
-r : 后面可接正则表达式的显示防方式
例如:locate ifconfig
说明:lcoate是根据/var/lib/mlocate内记录数据查找,而数据来源通过更新数据库updatedb根据/etc/updatedb.config的配置从硬盘获取数据更新到/var/lib/mlocate;
注意:whereis和locate命令可能搜索到已经删除的文件,原因数据库没及时更新(一般一天更新一次),不过可以手动执行updatedb更新。
安装locate:
yum -y install mlocate
查看包:
yum search mlocate
安装好更新数据库该命令才生效:
直接执行updatedb即可
3、find
实时查找工具,通过遍历指定目录下的文件系统层级结构完成文件查找;
工作特性:
查找速度略慢;
精确查找;
实时查找;
用法:
find [option] [PATH] [查找条件] [action]
查找条件:指定查找标准,可以根据文件名、大小、类型、从属关系、权限等标准进行;
action:对符合查找条件的文件作出操作,例如删除操作;
查找条件:
1)根据时间查询
以‘天'为单位:
-atime、-ctime、-mtime
以mtime为列
-mtime n :n为数字,在n天前的‘一天之内'被改过的文件;
-mtime -n :n天内(包含第n天),修改过的文件;
-mtime +n :n天前(不包含第n天),修改过的文件;
以‘分'为单位:
-amin、-mmin、-cmin
说明:时间的计算从现在开始以24小时为一天来计算,如下图所示:
2)根据用户和用户组来查询
-uid n:其中n即指定属主的UID,在/etc/passwd可以查看;
-gid n:其中n即指定属组的GID,在/etc/group可以查看
-user name: 查找属主为name的文件;
-group name:查找属组为name的文件;
-nouser:查找/etc/passwd中没得属主的文件;
-nogroup:查找/etc/group中没得属组的文件;
例如:find /home -user legayu
3)根据文件名和文件权限查找
-name ‘pattern':查找文件;
-iname ‘pattern':同-name,但忽略查找的文件大小写;
支持glob通配符*,?,[],[^];
-type TYPE:查找文件类型为TYPE的文件,常见的文件类型有正规文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、及FIFO文件(p)等属性;
-size [+-]SIZE:查找比SIZE还大(+)或还小(-)的文件,大小规格:c:代表byte,k:代表1024byte,还可用M、G表示:MB和GB,如查找大于50kB的文件:-size +50k
-perm mode:查找文件权限“刚好等于”mode的文件;
-perm -mode:查找文件权限“必须包含全部”mode的文件;
-perm /mode:查找文件权限“包含任一”mode的文件;
例如:find / -name passwd
4)组合逻辑
与:-a
或:-o
非:-not,!
说明:逻辑关系拆分与合并
!A -a !B = !(A -o B)
!A -o !B = !(A -a B )
例如:
查找/tmp中非root用户的文件
两种方法:
find /tmp -not -user root -ls
find /tmp -not -uid 0 -ls
找出/tmp目录下属主为非root,而且文件名不包含fstab字符串的文件
5)find特殊功能
对查询的结果做操作
-print:输出至标准输出;默认的动作;
-ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息,这里不可以使用‘ll'别名;
-delete:删除查找到的文件;
-fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
-ok COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
-exec COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;
注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;
但是有些命令不能接受过长的参数,此时命令执行会失败;
另一种方式可规避此问题:
即find | xargs COMMAND
如:find /root -perm +644 -exec ls -l {} \;
说明:其中的{}指find查找到的内容,‘\;'代表结束符‘\'是转义符
举例:
查找/etc目录下所有用户都没有写权限的文件;
~]# find /etc -not -perm /222 -type f -ls
说明:所有用户至少有一个写的权限,则取反就是都没有写权
查找/etc目录至少有一类用户没有执行权限的文件;
~]# find /etc -not -perm -111 -type f -ls
说明:至少有一类用户没有执行权限就是都有执行权限的取反
以上所述是小编给大家介绍的了Linux命令与文件查找详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 外媒评Switch2:向下兼容是关键 但挑战依然存在
- 任天堂提醒:宠物的尿或唾液或会让NS故障 把它放好!
- 《博德3》再创新高 Steam掌机总游玩时长近2000年
- 张玮伽《想你的夜DSD》东升 [WAV+CUE][1G]
- 姚璎格《 粤 24KGOLD》正版低速原抓[WAV+CUE][1G]
- 杨千嬅《如果大家都拥有海》寰亚 [WAV+CUE][998M]
- 孟庭苇.1994-1990-1994钻石精选集2CD(2022环球XRCD限量版)【上华】【WAV+CUE】
- 群星.1998-华纳好情歌精选17首【华纳】【WAV+CUE】
- 张敬轩王菀之.2006-903.ID.CLUB拉阔演奏厅LIVE.2CD【环球】【WAV+CUE】
- 《欢欣森活》存档方法
- 《炉石传说》2024新赛季上线更新内容问题汇总
- 《南瓜恐慌》进不去游戏解决方法
- 杨烁《杨烁唱唐诗》2024Hi-Res[WAV分轨]
- 杨烁《杨烁唱唐诗》2024Hi-Res[WAV分轨]
- 童丽《民歌童丽(HQCD)》【WAV+CUE】