开头总结:

学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的差别和使用方法格式,什么是path环境变量以及其优点,whereis和which的使用方法,差别在于查询系统命令内容的不同,grep和find的差别。为什么要引入通配符?
什么情况下用通配符还是正則表達式?

Locate文件搜索命令:

1)格式:

Locate [文件名称]

2)更新数据库

updatedb

优点:

相对于find命令来说。Locate耗费资源比較少。搜索速度快。

原理:

locate搜索文件名称是在指定的后台数据库下搜索,通常是/var/lib/mlocate文件夹下,可是数据库是一天一次更新,所以你今天新建的文件。用locate找不到。可是能够updatedb命令强制更新,就能够找到了。

而find命令是在文件系统上总体遍历。所以速度比較慢,耗费资源大。

命令搜索命令 whereis 和which(两者非常像)

:仅仅能搜索系统命令

1)

比如:whereis ls

显示的是ls的位置和ls的帮助文档的位置。

2)

加了-b以后 就是仅仅看ls的位置 不看帮助文档的位置

Whereis -b ls

3)

加了-m以后 仅仅看帮助文档的位置 不看Ls的位置

Where -m ls

Which 看到命令的位置和别名(也有例外)  看不到命令的帮助文档。

4)什么是path环境变量?

就是定义的系统命令搜索的路径。

这种优点?

输入命令。就不用在指定其所在的绝对路径。以后写好的脚本命令。就能够放在path中,直接用。

Path中定义了路径。(手工就不用在输入据对路径了,由于在path中配置了)在打ls时 会在这些路径中找,找到了会运行其命令的功能,找不到会显示找不到的信息,Command not found。

Find命令(很强大的命令):

1)格式

find [搜索范围][搜索条件]

在根文件夹下 搜索名字为install.log的文件。(耗费资源比較大 由于在个文件夹下搜索)

2)通配符     什么是通配符?

为了进行模糊查询而诞生的符号

*   匹配随意内容

?   匹配随意一个字符

[]   匹配随意一个中括号内的字符

匹配install.log后面随意字符的文件和匹配全部文件

匹配 全部前面随意以g结尾的文件

3)不区分大写和小写进行匹配

Find  /root -iname install.log

注意一点: find是进行的全然匹配 就是查找的和原文件必须是一个名字,假设要进行模糊查询,那么就要用到通配符。

4)全部者文件和垃圾文件

一般的。我们把没有全部者的文件成为垃圾文件。须要手工清除。

用到命令:

Find /root -nouser(经常使用)

可是内核产生和外来的(u盘)文件除外。

5)按文件大小进行查找

find  /root  -size 25k

找等于25k的文件

Find /root  -size +25k

找大于25K的文件

Find /root  -size -25k

找小于25k的文件

6)按文件的节点序号查询

Find -inode 26543

寻找节点为26543的文件。

7)扩展

Find /root -size +20k -a -size --50k

-a是逻辑与  找大于20k而且小于50k文件。

Find /root -size +20k -a -size -50k -exec ls lh {}\;

将找到的文件的具体结果显现出来

标准格式:

-exec  [命令]  {}\;

Grep字符串搜索命令:(包括匹配)

1)  grep [选项] 字符串  要查找文件

2)  加-v 是查找不包括字符串的文件的内容

3)  加-i  是不区分大写和小写

Grep和find的差别:

1)Find命令在系统其中搜索符合条件的文件。而grep命令在文件里搜索与字符串符合的内容;

2)find命令要想匹配,须要用通配符。通配符是全然匹配。

Grep使用正則表達式进行匹配,是包括匹配。

3)什么时候用通配符还是正則表達式?

假设匹配是文件的名称。那么就用通配符。假设搜索的是文件的内容,那么就应该用正則表達式。

最新文章

  1. Linux静态库和共享库
  2. [ActionScript 3.0] AS3 绘制12面体
  3. Android进阶笔记04:Android进程间通讯(IPC)之Messenger
  4. angular : ng-animate : ng-show 原理,详解
  5. 模板C++ 03图论算法 2最短路之全源最短路(Floyd)
  6. UWP 共享文件——接收者
  7. C语言头文件中定义全局变量导致重复定义错误
  8. Visio打开或取消箭头的自动吸附和自动连接
  9. 解决win10中chm内容显示为空白的问题
  10. 让ubuntu下的eclipse支持GBK编码
  11. rhel 7 设置默认运行级别为图形
  12. Scala学习笔记——安装
  13. Android平台下OpenGL图形编程
  14. SQL语句group by 与order by 执行顺序引发的一场“内斗”
  15. linux Find命令教程
  16. 转:docker的核心技术深度剖析
  17. http请求发生了两次(options请求)
  18. VSCode快捷键整理
  19. Delphi DBGridEH中,选中行、列、单元格
  20. Fedora20上Xen的安装与部署

热门文章

  1. KMP中next数组的理解与应用
  2. 启动myeclipse弹窗Please allow Subclipse team to receive anonymous usage statistics for this Eclipse intance
  3. JVM内存管理及垃圾回收机制
  4. vue多视图
  5. 样例GeoQuiz应用开发 第2章
  6. Linux网络配置出现的问题
  7. IO之DataStream数据流举例
  8. c++基础_特殊的数字
  9. linux下mysql的安装与使用
  10. 【转载】什么是Zero-Copy