一: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:忽略字母大小写 实例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