++++++++++++++++++++++++++++++++++++++++++++++++
标题: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操作系统文件查找的更多相关文章

  1. Linux 操作系统文件略解

    1.使用tree命令查看根目录的树结构 # tree -L 1 如果没有tree命令,可以使用yum进行安装 # yum -y install tree 执行命令后,即可看到根下一共有19个目录 . ...

  2. Linux操作系统主机名(hostname)简介

    http://www.jb51.net/LINUXjishu/10938.html 摘要:本文是关于Linux操作系统主机名(hostname)的文档,对主要配置文件/etc/hosts进行简要的说明 ...

  3. linux 两个查找工具 locate,find详解

    linux 中有很多查找工具,今天主要讲解locate,find两个工具. 1.locate (1)查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 注意:如果这 ...

  4. awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一

    awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...

  5. Tutorial 01_熟悉常用的Linux操作和Hadoop操作

    (一)熟悉常用的Linux 操作cd 命令:切换目录 (1) 切换到目录“/usr/local” (2) 切换到当前目录的上一级目录 (3) 切换到当前登录Linux 系统的用户的自己的主文件夹  ...

  6. linux 两个查找工具 locate,find

    linux 中有很多查找工具,今天主要讲解locate,find两个工具. 一.locate 1.性能介绍 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 注意 ...

  7. 安装Linux系统,学习Linux操作基础

    20189230杨静怡 2018-2019-2 <移动平台开发实践>第1周学习总结 安装Linux系统内容总结 一.学习"基于VirtualBox虚拟机安装Ubuntu图文教程& ...

  8. Linux vi中查找字符内容的方法

      使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容. 这时,使用查找功能尤为重要. 方法如下: 1.命令模式下输入“/字符串”,例如“/Section 3”. 2.如果查找下一个, ...

  9. linux find 命令查找文件和文件夹

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print 详解: find命令用来在指定目录下查找文件.任 ...

随机推荐

  1. 跟我一起学opencv 第三课之图像在opencv中的表示-Mat对象

    1.下面第一章图是一位美女图像,和其他数据一样图像在计算机中也是以二进制存储,下面第二张图 2.在摄像头眼里一幅图像就是一个矩阵或者说是二维数组,数组元素是像素值 3.opencv中以Mat对象表示图 ...

  2. Python基础(max,min方法)

    max函数(min函数使用方法一致): #-----------------max函数----------------- #max之简单层次的使用 li=[1,0,2,45,12,-2,7,9] re ...

  3. IdentityServer4 中文文档与实战

    写在前面 写于2018.9.12 我研究 IdentityServer4 是从.net core 1.1的时候开始的,那时候国内的中文资料比较少,我都是按照官方文档来研究的,整理成了笔记.这个系列文档 ...

  4. Python爬虫入门教程 47-100 mitmproxy安装与安卓模拟器的配合使用-手机APP爬虫部分

    1. 准备下载软件 介绍一款爬虫辅助工具mitmproxy ,mitmproxy 就是用于MITM的proxy,MITM中间人攻击.说白了就是服务器和客户机中间通讯多增加了一层.跟Fiddler和Ch ...

  5. service相关

    本篇仍以问题为驱动 一.什么时Service? Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件.Ser ...

  6. 『集群』005 Slithice 基于 集群 的 自动容错

    Slithice 基于 集群 的 自动容错 Slithice容错概述: Slithice 支持 非集群 的 独立服务端: 支持 基于 中央服务器 的 集群服务端: 支持 基于 自定义配置 的 集群服务 ...

  7. 基础知识:IDE集成开发环境(pycharm)、基本数据类型、用户的交互、运算符

    今日内容: 1.IDE集成开发环境(pycharm) 2.基本数据类型(int.float.str.list.dict) 3.用户的交互(注释.输入input.输出print) 4.运算符(分类及使用 ...

  8. css 修改默认滚动条样式

    来自:https://www.cnblogs.com/juqian/p/6273808.html 侵删 <div class="inner"> <div clas ...

  9. 森林防火应急指挥GIS系统森林防火监测预警系统

    森林防火监测预警与应急管理三维系统含日常业务管理.物资设备管理.火情定位.火情短信平台.应急预案管理.辅助决策等功能模块.该平台可便捷集成手机等移动端,可实时查看现场视频图像.定位火场人员,实现可视化 ...

  10. QC API全系列揭秘之Test Execution操作(全网首发)

    (原创文章,转载请注明出处.) 一.QC简介: Quality Center存在至今已经走过了10多个年头,名字从一开始的TD,到后来的QC,再到现在的ALM.所属公司从开始的Mercury到现在的H ...