Linux基础文件查找
一、文件查找
(一)、命令文件
[root@linux ~]# chich ls //从PATH环境变量
[root@linux ~]# chereis vim [root@linux ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
二、任意文件
A. locate (查询的数据库: /var/lib/mlocate/mlocate.db)
计划任务:每天自动更新数据库 /etc/cron.daily/mlocate.cron
手动更新数据库:updatedb
# locate ifcfg-eth0
# locate ifcfg-enp0s25
B. find
find [options] [path...] [expression] [action]
(一)、按文件名:
[root@linux ~]# find /etc -name "ifcfg-eth0"
[root@linux ~]# find /etc -iname "ifcfg-eth0" //-i忽略大小写
[root@linux ~]# find /etc -iname "ifcfg-eth*"
(二)、按文件大小:
[root@linux ~]# find /etc -size +5M //大于5M
[root@linux ~]# find /etc -size 5M
[root@linux ~]# find /etc -size -5M
[root@linux ~]# find /etc -size +5M -ls //-ls找到的处理动作
(三)、指定查找的目录深度:
-maxdepth levels
-mindepth levels
[root@linux ~]# find / -maxdepth -a -name "ifcfg-eth0" //深度3
(四)、按时间找(atime,mtime,ctime):
[root@linux ~]# find /etc -mtime + //修改时间超过5天
[root@linux ~]# find /etc -mtime //修改时间等于5天
[root@linux ~]# find /etc -mtime - //修改时间5天以内
(五)、按文件属主、属组找:
[root@linux ~]# find /home -user jack //属主是jack的文件
[root@linux ~]# find /home -group hr //属组是hr组的文件
[root@linux ~]# find /home -user jack -group hr
[root@linux ~]# find /home -user jack -a -group hr
[root@linux ~]# find /home -user jack -o -group hr
[root@linux ~]# find /home -nouser
[root@linux ~]# find /home -nogroup
[root@linux ~]# find /home -nouser -o -nogroup
(六)、按文件类型:
[root@linux ~]# find /dev -type f //f普通
[root@linux ~]# find /dev -type d //d目录
[root@linux ~]# find /dev -type l //l链接
[root@linux ~]# find /dev -type b //b块设备
[root@linux ~]# find /dev -type c //c字符设备
[root@linux ~]# find /dev -type s //s套接字
[root@linux ~]# find /dev -type p //p管道文件
(七)、按文件权限:
[root@linux ~]# find . -perm -ls
[root@linux ~]# find . -perm - -ls
[root@linux ~]# find . -perm - -ls
[root@linux ~]# find . -perm - -ls //全局可写
[root@linux ~]# find /usr/bin /usr/sbin -perm - -ls //包含set uid
[root@linux ~]# find /usr/bin /usr/sbin -perm - -ls //包含set gid
[root@linux ~]# find /usr/bin /usr/sbin -perm - -ls //包含sticky
(八)、按正则表达式:
-regex pattern
[root@linux ~]# find /etc -regex ' .* ifcfg-eth [0-9] '
.* 任意多个字符
[-] 任意一个数字 [root@linux ~]# find /etc -regex '.*ifcfg-enp0s25'
/etc/sysconfig/network-scripts/ifcfg-enp0s25 [root@linux ~]# find /etc -regex '.*ifcfg-enp0s[0-9]+'
/etc/sysconfig/network-scripts/ifcfg-enp0s25
三、查找之后
==找到后处理的动作 ACTIONS: (默认动作-print)==
-ls
-delete
-exec 后面跟自定义的shell命令
-ok 后面跟自定义的shell命令
[root@linux ~]# find /etc -name "ifcfg*"
[root@linux ~]# find /etc -name "ifcfg*" -print
[root@linux ~]# find /etc -name "ifcfg*" -ls
[root@linux ~]# find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \;
[root@linux ~]# find /etc -name "ifcfg*" -ok cp -rvf {} /tmp \; [root@linux ~]# find /etc -name "ifcfg*" -exec rm -rf {} \;
[root@linux ~]# find /etc -name "ifcfg*" -delete 扩展知识:find结合xargs
[root@linux ~]# find . -name "yang*.txt" |xargs rm -rf
[root@linux ~]# find /etc -name "ifcfg-eth0" |xargs -I {} cp -rf {} /var/tmp
Linux基础文件查找的更多相关文章
- linux 批量文件查找并替换
linux 批量文件查找并替换 sed -i "s/oldstring/newstring/g" `grep oldstring -rl path` 如: sed -i " ...
- Linux操作系统的文件查找工具locate和find命令常用参数介绍
Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具 locate命 ...
- Linux 执行文件查找命令 which 详解
某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查 ...
- [Linux] find文件查找和grep文件内容查找
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的: (1)find命令:根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时 ...
- Linux下文件查找命令find笔记
在Linux命令下如果需要快速自己系统所需要处理的文件,可以通过find命令快速进行检索. 如果想在某个路径下查找相应的文件可以执行如下命令: find path -name filename # p ...
- linux之文件查找find grep详解,以及压缩归档
.find linux里的实时查找工具,通过制定路径完成文件查找. find[options]...[查找路径] [查找条件] [处理动作] 查找路径:查找的位置,默认是当前文件夹. 查找条件:指定查 ...
- linux通过文件查找依赖关系
通过文件查找安装包安装缺少libstdc++6这个文件在ls /usr/lib/libstd*下有两个文件/usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.6 ...
- linux下文件查找工具--find
常用的文件查找命令有:which,locate,find 1.which命令 查找二进制数或二进制命令,由PATH给出 2.loacte 特点: 1.非实时,每天在系统上生成数据库,通过数据库查询 2 ...
- linux中文件查找、whereis、which、输出命令
1.文件查找(find):find是最常⻅和最强⼤的查找命令 格式:find / -name 文件名,比如:find / -name mysql. (1).模糊查找:*是代表所有的,?是代表⼀个字 ...
随机推荐
- jenkin+Git子模块自动拉取代码
jenkins+Git子模块自动拉取代码 添加Git子模块 先克隆想要添加子模块的仓库git clone ssh://git@ip:port/user/project.git,这个是主目录. 进入仓库 ...
- Git项目迁移
代码项目迁移步骤 1.将原有项目重命名,old 2.新建一个项目,名字为原本的项目名称,new 3.使用特殊方式克隆代码 # old.git为原项目重命名后的git链接 git clone --mir ...
- Programming In Lua 第八章
1, 也就是说,lua虽然会把代码预编译成中间码,以提高运行速度.但其会在程序运行过程中需要编译器,所以其仍然是解释型语言.loadfile会加载一个文件并将其编译成中间码,并返回一个函数. 2, 3 ...
- CentOS下安装配置MySQL8.0的步骤详解
下载yum源的安装包 yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm 安装 yu ...
- Mybatisの常见面试题
Mybatis -面试问题 最近准备系统的学一下Mybatis,之前只有粗略的看了下,选了十个常见的面试题 1. #{}和${}的区别是什么? #{}是预编译处理,${}是字符串替换. Mybatis ...
- BZOJ 1483:[HNOI2009]梦幻布丁(链表启发式合并)
http://www.lydsy.com/JudgeOnline/problem.php?id=1483 题意:中文. 思路:对于每一种颜色,用一个链表串起来,一开始保存一个答案,后面颜色替换的时候再 ...
- Easy doesn't enter into grown-up life
Hi xinlu, good afternoon, my name is xx, you can also call me andrew. i'm 31 years old, and i'm from ...
- c++ 函数知识点汇总
c++ 函数知识点汇总 swap函数 交换两个数组元素 比如 swap(a[i],a[j]); 就是交换a[i] 和 a[j] 的值 strcpy() 复制一个数组元素的值到另一个数组元素里 strc ...
- CF39D Cubical Planet-C++
银河系中没有你找不到的东西!有一颗形状为立方体的的行星正在绕着一颗形状为二十面体的恒星运转.现在我们让这颗行星的两个在同一条体对角线上的顶点置于(0,0,0)和(1,1,1)上.有两只苍蝇住在行星上. ...
- SpringBoot开发案例Nacos配置管理中心
前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等.一般会通过硬编码.配置文件或者数据库的形式实现. 那么问题来了,如何更加优雅的实现?欢迎来到 Naco ...