Linux操作系统文件查找
++++++++++++++++++++++++++++++++++++++++++++++++
标题:Linux操作系统的文件或命令查找
内容:命令查找(which和whereis)、文件查找(locate和find)
时间:2019年4月15日
++++++++++++++++++++++++++++++++++++++++++++++++
1. 系统命令文件查找
[root@test ~]# which yum //会遍历环境变量的是否存在
/usr/bin/yum
[root@test ~]# whereis yum //遍历环境变量、遍历man手册
yum: /usr/bin/yum /etc/yum /etc/yum.conf /usr/share/man/man8/yum.8.gz
2. 常规文件查找
2.1 locate常规文件查找
[root@test ~]# mkdir /dir100
[root@test ~]# touch /dir100/file001
[root@test ~]# locate /dir100/ file001 //数据库未更新
[root@test ~]# updatedb //手动更新数据库
[root@test ~]# locate /dir100/ file001
/dir100/file001
[root@test ~]# rm -rf /dir100/file001
[root@test ~]# locate /dir100/ file001 //删除文件后数据库未更新
/dir100/file001
[root@test ~]# updatedb
[root@test ~]# locate /dir100/ file001
locate知识点总结:
locate是通过数据库进行比对查找,查找速度非常快,但结果不一定准确。
locate配置的数据库位置"/var/lib/mlocate/mlocate.db"。
locate查询系统固定的文件效率会很高。
locate使用的数据库系统每日会自动更新一次。
使用updatedb命令手工更新数据库可能造成大量的IO操作,增加系统负担。
2.2 find常规文件查找
语法结构:find [options] [path] [expression]
++文件名称查找++
[root@test ~]# find /etc/ -name 'ifcfg-eth0'
[root@test ~]# find /etc/ -iname 'ifcfG-eth0' //忽略文件名称大小写
[root@test ~]# find /etc/ -name '*eth0*'
++文件属主属组以及类型查找++
[root@test ~]# find / -user mysql -name 'file*'
[root@test ~]# find / -group mysql -type d -iname 'MYSQL'
[root@test ~]# find / -type p |head -n 1
++文件大小查找++
[root@test ~]# find /etc/ -size 5M
[root@test ~]# find /etc/ -size +5M
[root@test ~]# find /etc/ -size -5M
++文件时间查找++
[root@test ~]# find /dir100/ -atime -1 //访问时间--realtime
[root@test ~]# find /dir100/ -mtime 1 //内容修改时间
[root@test ~]# find /dir100/ -ctime +1 //属性修改时间
++按文件所在深度++
[root@test ~]# find /etc/ -maxdepth 4 -iname 'ifcfg-eth0'
[root@test ~]# find /etc/ -mindepth 5 -iname 'ifcfg-eth0' //什么都没有
++按权限查找++
[root@test ~]# find /dir100/ -perm 222 //权限等于
[root@test ~]# find /dir100/ -perm -0111 //权限包含
++其他高级用法++
[root@test ~]# time find / -iname "ifcfg-eth0" //效率较低
[root@test ~]# time find 'ls /' -iname "ifcfg-eth0" //效率较高
[root@test ~]# find /etc/ -regex '.*ifcfg-eth[0-9]' //使用正则表达式匹配
[root@test ~]# find /home/ -nogroup -o -nouser //无主对象
[root@test ~]# find /home/ \( -nogroup -o -nouser \) -delete //删除无主对象
[root@test ~]# find /etc/ \( -size +5M -a -size -10M \) -print
[root@test ~]# find /etc/ -iname 'ifcfg-eth0' -ls //长格式显示,类似于ls -l,但不同于ls -l
[root@test ~]# find /dir100/ -iname 'file*' -exec cp {} /tmp \; //强制覆盖
[root@test ~]# find /dir100/ -iname 'file*' -ok cp {} /tmp \; //覆盖提示
[root@test ~]# find /tmp/ -name 'file*' -exec rm -rf {} \; //等于rm -rf file1;rm -rf file2
[root@test ~]# find /tmp/ -name 'file*' -exec rm -rf {} \+ //等于rm -rf file1 file2
[root@test ~]# find /etc/ -iname 'ifcfg-eth0'|xargs ls //存在部分命令不接受管道传递的信息,需要则使用xargs参数
[root@test ~]# find /etc/ -iname 'ifcfg-eth0'|xargs -I {} cp {} /tmp
Linux操作系统文件查找的更多相关文章
- Linux 操作系统文件略解
1.使用tree命令查看根目录的树结构 # tree -L 1 如果没有tree命令,可以使用yum进行安装 # yum -y install tree 执行命令后,即可看到根下一共有19个目录 . ...
- Linux操作系统主机名(hostname)简介
http://www.jb51.net/LINUXjishu/10938.html 摘要:本文是关于Linux操作系统主机名(hostname)的文档,对主要配置文件/etc/hosts进行简要的说明 ...
- linux 两个查找工具 locate,find详解
linux 中有很多查找工具,今天主要讲解locate,find两个工具. 1.locate (1)查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 注意:如果这 ...
- awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一
awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...
- Tutorial 01_熟悉常用的Linux操作和Hadoop操作
(一)熟悉常用的Linux 操作cd 命令:切换目录 (1) 切换到目录“/usr/local” (2) 切换到当前目录的上一级目录 (3) 切换到当前登录Linux 系统的用户的自己的主文件夹 ...
- linux 两个查找工具 locate,find
linux 中有很多查找工具,今天主要讲解locate,find两个工具. 一.locate 1.性能介绍 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 注意 ...
- 安装Linux系统,学习Linux操作基础
20189230杨静怡 2018-2019-2 <移动平台开发实践>第1周学习总结 安装Linux系统内容总结 一.学习"基于VirtualBox虚拟机安装Ubuntu图文教程& ...
- Linux vi中查找字符内容的方法
使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容. 这时,使用查找功能尤为重要. 方法如下: 1.命令模式下输入“/字符串”,例如“/Section 3”. 2.如果查找下一个, ...
- linux find 命令查找文件和文件夹
查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print 详解: find命令用来在指定目录下查找文件.任 ...
随机推荐
- 我所不知道的Makefile语法
问题一: $(CC) -c $^ -o $(ROOT_DIR)/$(OBJS_DIR)/$@ 这里的$^和$@是设么意思? 经过查找,该特殊符号的用法如下: 假如:all:library.cpp ma ...
- 跟我一起学opencv 第五课之调整图像亮度和对比度
一.调整图像亮度与对比度 1.图像变换 ---像素变换-点操作 ---邻域操作-区域操作 调整图像亮度和对比度属于像素变换-点操作 公式为:g(i,j) = αf(i,j) + β 其中α>0 ...
- springboot~jpa个性化数据操作接口
jap是个全能仓储 jap把很多数据库访问都封装了,并且提交了默认的一切数据方法签名的约定,大家按着约定走,可以不写SQL语句,而如果比较复杂的情况,也需要写SQL,这里我们介绍一下查询和修改的实例方 ...
- 接口自动化:HttpClient + TestNG + Java(四) - 封装和测试post方法请求
在上一篇中,我们对第一个自动化接口测试用例做了初步优化和断言,这一篇我们处理POST请求. 4.1 发送POST方法请求 post方法和get方法是我们在做接口测试时,绝大部分场景下要应对的主要方法. ...
- CentOS下MySQL的安装
MySQL数据库是一款比较常用的数据库,大家在练习安装时,可能会遇到各种各样的问题,请大家参考在CentOS系统下MySQL数据库的安装方式.如有任何问题,欢迎留言,本人随时解答. MySQL安装步骤 ...
- centos 7下安装jdk1.8
本篇文章主要介绍在centos7 环境下安装jdk1.8并配置环境变量. 安装步骤 1.下载网址 https://www.oracle.com/technetwork/java/javase/do ...
- JS添加或删除HTML dom元素的方法实例分析
本文实例讲述了JS代码添加或删除HTML dom元素的方法.分享给大家供大家参考,具体如下: 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一 ...
- qsv文件转码mp4格式过程记录
之前帮一个朋友剪辑配音视频,源文件在爱奇艺里,特有的qsv格式让我白忙活一下午. 晚上趁着有空,在网上查找资料,翻阅了很多文件,都让我无从下手. 基本都是一个套路,转成fiv格式,再转mp4格式,但是 ...
- U813.0操作员功能权限和数据权限的设置
操作员的权限有功能权限.数据权限.金额权限. 1. 给操作员设置功能权限,操作员才能进入系统进行相关业务操作. Admin用户登录无法修改账套,但可以新建.引入.输出.Demo用户每次只能进入一个账套 ...
- Unity 协同程序
定义协同程序: IEnumerator test() { Debug.log("test 1"); yeild return WaitForSecond(3.0f); Debug. ...