博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20181216文件查找
阅读量:5915 次
发布时间:2019-06-19

本文共 3622 字,大约阅读时间需要 12 分钟。

文件查找

grep: 文件内容过滤

find: 文件查找,针对文件名
一、命令文件
which ls //从 PATH 环境变量 (echo $PATH)

[root@localhost ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/htop/bin/:/root/bin
二、任意文件
(一). locate (查询的数据库: /var/lib/mlocate/mlocate.db)
计划任务:每天自动更新数据库 /etc/cron.daily/mlocate.cron
手动更新数据库:updatedb 在查找之前,先要更新数据库
locate ifcfg-eth0
locate ifcfg-enp0s25

(二)find(尽量缩小找的范围)

find [options] [path...] [expression] [action]
1.按文件名
[root@tianyun ~]# find /etc -name "ifcfg-eth0"
[root@tianyun ~]# find /etc -iname "ifcfg-eth0" //-i 忽略大小写
[root@tianyun ~]# find /etc -iname "ifcfg-eth*" //借助通配符

2.按文件大小:

[root@tianyun ~]# find /etc -size +5M //大于 5M
[root@tianyun ~]# find /etc -size 5M //等于 5M
[root@tianyun ~]# find /etc -size -5M //小于 5M
[root@tianyun ~]# find /etc -size +5M -ls //-ls 找到的处理动作

3.指定查找的目录深度:

-maxdepth levels
-mindepth levels
[root@tianyun ~]# find / -maxdepth 3 -a -name "ifcfg-eth0"

4.按时间找(atime,mtime,ctime):

[root@dong ~]# ll -t /etc |head 查看最新修改的文件
-rw-r--r--. 1 root root 1309 12月 16 10:01 tpvmlp.conf
-rw-r--r--. 1 root root 239 12月 16 10:01 resolv.conf
-rw-r--r--. 1 root root 576 12月 16 10:01 mtab

[root@dong ~]# ll -t /etc |tail 最旧的文件

-rw-r--r--. 1 root root 233 1月 12 2010 printcap
-rw-r--r--. 1 root root 6455 1月 12 2010 protocols
-rw-------. 1 root root 122 1月 12 2010 securetty

[root@tianyun ~]# find /etc -mtime +5 //修改时间超过 5 天(120小时)

[root@tianyun ~]# find /etc -mtime 5 //修改时间等于 5 天
[root@tianyun ~]# find /etc -mtime -5 //修改时间 5 天以内

5.按文件属主、属组找:

[root@tianyun ~]# find /home -user jack //属主是 jack 的文件
[root@tianyun ~]# find /home -group hr //属组是 hr 组的文件
[root@tianyun ~]# find /home -user jack -group hr //属主是jack,属组是group
[root@tianyun ~]# find /home -user jack -a -group hr //和
[root@tianyun ~]# find /home -user jack -o -group hr //或
[root@tianyun ~]# find /home -nouser
[root@tianyun ~]# find /home -nogroup
[root@tianyun ~]# find /home -nouser -o -nogroup

6.按文件类型:

[root@tianyun ~]# find /dev -type f //f 普通
[root@tianyun ~]# find /dev -type d //d 目录
[root@tianyun ~]# find /dev -type l //l 链接
[root@tianyun ~]# find /dev -type b //b 块设备
[root@tianyun ~]# find /dev -type c //c 字符设备
[root@tianyun ~]# find /dev -type s //s 套接字
[root@tianyun ~]# find /dev -type p //p 管道文件

7.按文件权限

[root@tianyun ~]# find . -perm 644 -ls //当前目录下查找权限是644的
[root@tianyun ~]# find . -perm -644 -ls //当前目录下查找权限是包含644的
[root@tianyun ~]# find . -perm -600 -ls // 只要所有者有读写就可以
[root@tianyun ~]# find . -perm -222 -ls //全局可写
[root@tianyun ~]# find /usr/bin /usr/sbin -perm -4000 -ls //包含 set uid
[root@tianyun ~]# find /usr/bin /usr/sbin -perm -2000 -ls //包含 set gid
[root@tianyun ~]# find /usr/bin /usr/sbin -perm -1000 -ls //包含 sticky

8.按正则表达式:

-regex pattern
[root@tianyun ~]# find /etc -regex '.ifcfg-eth[0-9]'
.
任意多个字符
[0-9] 任意一个数字
[root@localhost ~]# find /etc -regex '.ifcfg-enp0s25'
/etc/sysconfig/network-scripts/ifcfg-enp0s25
[root@localhost ~]# find /etc -regex '.
ifcfg-enp0s[0-9]+'
/etc/sysconfig/network-scripts/ifcfg-enp0s25

9.找到后处理的动作 ACTIONS: (默认动作-print)

-ls
-delete
-exec 后面跟自定义的 shell 命令
-ok 后面跟自定义的 shell 命令
[root@tianyun ~]# find /etc -name "ifcfg" -print[root@tianyun ~]# find /etc -name "ifcfg" -ls
[root@tianyun ~]# find /etc -name "ifcfg" -exec cp -rvf {} /tmp \; //{}表示前面查找到的结果
[root@tianyun ~]# find /etc -name "ifcfg
" -ok cp -rvf {} /tmp \; //+v查看效果,OK会有提示
[root@tianyun ~]# find /etc -name "ifcfg" -exec rm -rf {} \;
[root@tianyun ~]# find /etc -name "ifcfg
" -delete

扩展知识:find 结合 xargs

[root@tianyun ~]# find . -name "yang*.txt" |xargs rm -rf / /参数的传递xargs
[root@tianyun ~]# find /etc -name "ifcfg-eth0" |xargs -I {} cp -rf {} /var/tmp

转载于:https://blog.51cto.com/8450442/2331167

你可能感兴趣的文章
从拥挤的兔子到伪随机数算法
查看>>
随便写写
查看>>
kotlin 中 Collection 相关操作
查看>>
java序列化
查看>>
Visual Studio不只是让你用来拖拖控件
查看>>
Android大图片加载以及EXIF信息读取写入
查看>>
vmware让虚拟机内外网络可互访
查看>>
CSS样式之选择器
查看>>
不可忽视的项目文档管理
查看>>
刀片服务器故障一例
查看>>
第四章—使用函数
查看>>
puppet 部署jdk
查看>>
如何利用路由器防止DoS拒绝服务疯狂攻击
查看>>
使用 JFreeChart来创建基于web的图表
查看>>
Android Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
查看>>
马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理
查看>>
699的高性价比,大神F1极速版体验一览
查看>>
开放与互联:透明工厂如何引领中国制造升级?
查看>>
Linux下添加php的zip模块
查看>>
memcache
查看>>