Linux学习-(4)搜索查找类实用指令

一:find指令

功能描述:从指定目录向下递归所有子目录,查找指定内容

基本语法:find [搜索范围] [选项] 查找内容

常用选项:
    -name:按照文件名查找
    -size :+/-大小 按照文件大小查找,+大于,-小于
    -user: 按照指定用户名查找,
    -type 按照文件类型查找
    -group 根据文件所属组查找
 
实例1:按文件名在/home目录下查找b.txt文件 : find /home -name b.txt
 
 
实例2:按照文件大小查找整个系统大于30M的文件: find / -size +30M
 
实例3:按照用户名查找/opt下用户名称是lrc 的文件:find /home/lrc -user lrc
 
二:locate指令
功能描述:快速定位文件路径。利用事先建立的所有文件名称和路径的locate数据库实现快速定位指定的文件。locate无需遍历整个文件系统,查找速度较快。
基本语法:locate 查找内容
特别说明:loacte指令基于数据库进行查询,所以在第一次执行该指令前,必须使用updatedb指令创建locate数据库
实例1:快速定位b.txt文件 :locate b.txt
 
 
 
find指令和locate指令的区别:
find:直接搜索整个文件目录,默认直接从当前目录开始搜索,功能最强大,但是速度慢。
locate:超快速查找任意文件,从linux内置索引数据库查找文件路径,速度快。刚刚新建的文件可能需要一定时间才能加入索引数据库,可以通过updatedb命令更新索引,确保不会遗漏文件
 
 
三、which指令
功能描述:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。查找范围只在$PATH中,范围小,速度快。默认只返回第一个匹配的文件路径,可以通过选项-a返回所有匹配路径
基本语法:which 系统命令
实例1:查找pwd的文件路径: which pwd
 
实例2:使用which查找which: which which
这里有两个 which ,其中一个是 alias 即『命令别名』,意思是输入 which 会等於后面接的那串命令!
 
实例3:使用which查找history:which history
history 这个常用的命令竟然找不到啊!为什么呢?这是因为history是bash内建的命令,而which默认是找PATH内所规范的目录,所以当然一定找不到的!
 
 
四:whereis指令
功能描述:定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
基本语法:whereis [选项] 查找内容
常用选项:

-b   定位可执行文件。

-m   定位帮助文件。

-s   定位源代码文件。

-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

-B   指定搜索可执行文件的路径。

-M   指定搜索帮助文件的路径。

-S   指定搜索源代码文件的路径。

 

实例1:查找pwd :whereis pwd

 

实例2:只查找pwd的二进制文件:whereis -b pwd

 
which和whereis的区别
which:常用于查找可直接执行的命令,只能查找可执行文件,查找范围只在$PATH中,范围小,速度快。默认只返回第一个匹配的文件路径,可以通过选项-a返回所有匹配路径
whereis:不仅可以查找命令,还可以查找其他文件类型,查找范围只在$PATH中,查找范围比which大,速度快
 
五:grep指令和管道符指令
功能描述:grep用于过滤查找,管道符"|"表示将前一个命令的处理结果传递给后面的指令的输入
基本语法:(其他常用命令如cat、tail等)| grep  [选项] 查找内容
常用选项:-n:显示匹配行及行号
-i:忽略字母大小写
-v:搜索不含指定字符串行
-w:整个单次匹配
-x:整行匹配
实例1:实时查找/etc/profile文件末尾100行含有b的行信息:tail -fn 100 /etc/profile | grep -n b
 
实例2:实时查找/etc/profile文件末尾100行含有b的行信息,忽略大小写:tail -fn 100 /etc/profile | grep -ni b
 
 
 
六:wc指令
功能描述:统计文件的字节数、单词数和行数
基本语法: wc [选项]
常用选项:-c:统计字节数
-m:打印字符统计
-l:打印行号
-L:打印最长行的长度
-w:打印单词数
常用场景:经常与管道符连用,用于统计上一个指令的输出内容的字节数、单词数和行数信息
实例1:统计单个文件的行数、单词数和字节数:wc /etc/httpd/conf/httpd.conf
该输出表示:文件/etc/httpd/conf/httpd.conf有1009行,4895个单词,34419个字节
 
实例2:对多个/etc下的多个.conf文件统计:wc /etc/*.conf
 
实例3:统计当前系统中httpd进程数目:ps -aux | grep httpd | wc -l
 
posted @   筱筱创  阅读(303)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示