locate:用来在预先建立好的文件索引数据库中查找文件,所以必须先建立或更新索引数据库
updatedb用来生成或更新所以数据库
用locate并不只是查找某一个文件,而是会将所有路径下的相关信息全部列出,但是locate只能显示出索引数据库中存在的文件,假如当前某个文件被删除或又新建了一个文件,而没有及时更新索引库,就会导致查找的结果与实际不符
locate 关键字
查找于指定关键字有关的所有文件或目录
用locate查询文件速度很快,因为不需要遍历目录或磁盘,直接读取索引数据库,但是查找结果不精确,实际上反而降低了查找效率,所以一般不推荐用locate
find:精确查找,命令后可跟路径或关键字,不指定路径则默认在当前目录下查找, 实时查找,不读取数据库,速度比locate慢一些,但查找的精准度很高,所以也是最常用的文件查找工具
使用find时,通常除了指定关键字,还会附带一些条件参数,以使查找结果更符合我们的需求,比如需要查找/etc路径下名称为passwd的文件就需要-name这个条件参数
需要说明的是,默认情况下,linux系统是区分大小写的,所以-name也是区分大小写的,如果查找Passwd就肯定找不到了,如果我们在查找的时候不确定文件名的大小写,就需要-i参数,忽略大小写
不过这样查找文件有时会出问题,因为/etc属于系统路径,有很严格的权限限制,如果换作普通用户去执行上面的命令就会报很多错误
日常维护过程中不会总是用root进行操作的,更多的时候还是以普通用户身份进行,所以在使用find命令时,权限问题是必须要考虑的
find的使用实际上不仅仅只是这么简单,有很多种用法
1、按属性
现在有这么一组文件
查找属主为user2的文件
查找属组为root的文件
还可以和一些逻辑操作符结合使用
查找属主为user1并且属组为user2的文件
查找属主为root但属组不为root的文件
查找属组为root或者是user2的文件
2、按权限
还是刚才这组文件
查找权限为664的文件
查找属组有些权限的文件
查找其他用户有执行权限的文件
查找任意位有写权限的文件
3、按大小
有三个文件,大小分别为1M、2M、3M
查找大小为2M的文件
查找小于2M的文件
查找大于2M的文件
4、按时间
有3种选项
atime:被访问的时间
mtime:内容被更改的时间
ctime:内容以及元数据被更改的时间
参数后面需要附加一个条件,1个整数,单位为天
查找/var/log/下面5天之内任意数据被改动过的文件
查找/var/log/下面5天内未被改动过的文件
按各种条件找来找去,到底有什么用呢,和实际结合起来,又有很多种用法,这里需要两个参数
ok和exec
假设,一个目录下,用三个文件作测试
1、为了文件安全,不希望其他人对文件有写权限,但是又不想一个一个的输入修改权限的命令,就可以用find配合执行参数来帮忙
解释一下,首先先按权限找出other上有写权限的文件,然后查找结果被-exec参数传给后面的chmod命令,执行删除写权限的操作,两条命令一次执行完毕,省时省力
“{}”表示调用-exec前的find命令查找出来的所有文件
“ \;”前面有个空格(空格斜杠分号)为该命令的固定语法格式
-ok和-exec在命令的执行结果上没有区别,但是在执行过程中-ok会询问用户是否继续执行后面的命令,而-exec不询问直接执行
2、希望把当前目录下大于1M的文件进行压缩以节省空间
Orz,真强,bzip2竟然把3M的文件压缩成了8K!!!

转载于:https://blog.51cto.com/wangwenbo/247544

RH033 Unit 13 Finding and Processing Files相关推荐

  1. RH033 Unit 9 vim: An Advanced Text Editor

    vi是一种广泛应用于Unix和Linux上的文本编辑器,有时也称为模式编辑器,因为不同的按键会更改不同的编辑模式并产生相应的操作. vi的几种常用工作模式: 1.Insert Mode(插入模式) 启 ...

  2. RH033 Unit 2 Linux Usage Basics

    控制台切换: 系统默认7个控制台,其中第7个为图形界面,图形默认排在每个virtual  console后面 切换虚拟控制台: ctrl+alt+F1~F6 切换图形:ctrl+alt+F7 运行级别 ...

  3. Ubuntu 升级 kernel 至 5.13.11(5.15.10)

    借鉴 最新的 release 版本 kernel 的种类说明 警告 ⚠升级有风险,先备份数据以防万一.但用一台虚拟机来折腾升级的过程,这个风险还是能够承受滴,再则,升级失败了,大不了回滚之前的版本呗. ...

  4. mulesoft Module 13 quiz 解析

    mulesoft Module 13 quiz 解析 Processing records Summary 1. A Batch Job scope has three batch steps. An ...

  5. Glib2:error: Installed (but unpackaged) files found(七)

    报错: Processing files: php-debuginfo-5.3.10-1.x86_64 Checking for unpackaged file(s): /usr/lib/rpm/ch ...

  6. Ubiq:A Scalable and Fault-tolerant Log Processing Infrastructure

    Abstract 互联网应用通常会产生大量的时间日志需要进行分析和处理.本文介绍Ubiq的架构,它是一个分布式系统,用于处理不断增长的日志文件,具有可扩展性.高可用.低延迟的特性.Ubiq框架容忍基础 ...

  7. iOS 音视频开发:Audio Unit播放FFmpeg解码的音频

    本文档描述了iOS播放经FFmpeg解码的音频数据的编程步骤,具体基于Audio Toolbox框架的Audio Session和Audio Unit框架提供的接口实现.在iOS 7及以上平台Audi ...

  8. Audio Unit: iOS中最底层最强大的音频控制API

    阅读的前提: Audio Session基础(Audio Session) Core Audio基本数据结构(Core Audio) 音视频基础知识 C/C++ 简单数据结构,函数使用 以下概念是文中 ...

  9. Audio Unit: iOS中最底层最强大音频控制API

    阅读前提: Audio Session基础(Audio Session) Core Audio基本数据结构(Core Audio) 音视频基础知识 C/C++ 简单数据结构,函数使用 以下概念是文中常 ...

最新文章

  1. spring vo是什么_DO、VO、DTO...XXOO,你弄明白了么
  2. Memcache 安装与使用
  3. OpenGL之NURBS曲面构建
  4. http://blog.csdn.net/u011026037/article/list/2
  5. 菜鸟学SSH(十五)——简单模拟Hibernate实现原理
  6. BOMHEAD display issue
  7. xlsx文件打开乱码_Excel 2016 双击无法打开xlsx文件怎么办?
  8. 假装windows系统升级界面html源码
  9. Maven私服Nexus搭建
  10. 牛逼!这么问 OutOfMemoryError 能让我懵逼!
  11. 图像识别并用机械手进行抓取
  12. 根据给出的关系矩阵,判断该关系所具有的特性
  13. 论文笔记:CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection
  14. 【BUUCTF】强网杯 2019随便注1 write up
  15. 《PHP与MySQL程序设计(第四版)》中第73页4.2.6节分期还贷计算器数学原理分析
  16. RNA 10. SCI 文章中基因表达富集之 KEGG 注释
  17. 软件测试测试用例—用户注册界面
  18. FPGA自学11——以太网通信
  19. 自媒体视频如何消重?批量处理去重消重去水印去logo软件企鹅号视频不重复必学的消重技巧...
  20. Danar程序员之家在CSDN安家落户啦

热门文章

  1. 《Elasticsearch 权威指南》阅读笔记
  2. Java 学习(1) ---JDK安装和配置环境变量
  3. loadrunner,socket脚本总结
  4. 通过form表单请求servlet资源代码
  5. 如何消费WCF Data Services定义的服务操作
  6. mysql数据库导出后乱码问题_MySQL导入导出数据出现乱码的解决办法
  7. MySQL like 通配符是_MySql模糊查询like通配符使用详细介绍
  8. php mysql_query的的用法_PHP / MYSQL使用mysqli_query选择
  9. 7.QML Qt Quick——基于Qt Quick Controls 2实现图片浏览器
  10. VS-OpenCV三种加载图片的方式