linux查找文件的常用指令
创始人
2024-05-29 21:06:01
0

目录

一.查找系统命令的位置-which

二.快速查找程序-whereis

三.快速查找文件-locate

四.从硬盘查找文件-find

五.查找文件中符合条件的字符串-grep


一.查找系统命令的位置-which

判断某个系统命令是否存在,并且找到位置

which是通过 PATH环境变量到该路径内查找可执行文件,所以本质是寻找可执行文件,并返回第一个搜索结果

# gr @ gr-System-Product-Name in ~ [16:56:36] 
$ echo $path
/home/gr/.local/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin /opt/qt/5.15.2/gcc_64/bin /usr/local/cuda-11.1/bin /usr/local/TensorRT7/bin /opt/v2ray /home/gr/.fzf/bin# gr @ gr-System-Product-Name in ~ [17:06:26] 
$ which mysql 
/usr/bin/mysql# gr @ gr-System-Product-Name in ~ [17:06:35] 
$ which cuda   
cuda not found# gr @ gr-System-Product-Name in ~ [17:06:40] C:1
$ which snap      
/usr/bin/snap

二.快速查找程序-whereis

用于程序名的搜索

定位指令的二进制程序(binary)、源代码文件(source)和man手册页

都属于普通文件,ls -al  中,首字符是"-"

和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件​中,当使用whereis和locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。

但是,该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 

# gr @ gr-System-Product-Name in ~ [17:49:23] 
$ whereis mysql     
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/man/man1/mysql.1.gz# gr @ gr-System-Product-Name in ~ [17:50:58] 
$ whereis cuda 
cuda: /usr/local/cuda# gr @ gr-System-Product-Name in ~ [17:51:03] 
$ whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info.gz /usr/share/info/find.info-2.gz /usr/share/info/find.info-1.gz

三.快速查找文件-locate

根据文件名进行查找

locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的.在内定值中,updatedb每天会跑一次,可以手动更新updatedb来更准确的运行locate命令。

# gr @ gr-System-Product-Name in ~ [9:00:13] 
$ locate  boost
/home/gr/.local/share/Trash/files/clang-14.0.0.src/test/Frontend/Inputs/SystemHeaderPrefix/libs/boost
/home/gr/.local/share/Trash/files/clang-14.0.0.src/test/Frontend/Inputs/SystemHeaderPrefix/libs/boost/all.h
/home/gr/.local/share/Trash/files/clang-14.0.0.src/test/Frontend/Inputs/SystemHeaderPrefix/libs/boost/warn.h
/opt/nvidia/nsight-compute/2023.1.0/host/linux-desktop-glibc_2_11_3-x64/libboost_atomic.so.1.78.0
/opt/nvidia/nsight-compute/2023.1.0/host/linux-desktop-glibc_2_11_3-x64/libboost_chrono.so.1.78.0
...

四.从硬盘查找文件-find

查找符合条件的文件、目录
find不常用,因为find直接去硬盘内查找文件,速度慢,而且影响硬盘的性能
但是find的功能很强大

五.查找文件中符合条件的字符串-grep

创建文件

# gr @ gr-System-Product-Name in ~/Documents [9:11:01] 
$ cat > file01.txt
12345
qwert
abcde%    

追加内容

# gr @ gr-System-Product-Name in ~/Documents [9:11:51] 
$ cat >> file01.txt
asdffg
ahb342%                                                                                                                      

查找含有字符"a"的内容,并显示行数

# gr @ gr-System-Product-Name in ~/Documents [9:14:29] 
$ grep -n "a" file01.txt 
3:abcdeasdffg
4:ahb342

本质是过滤

将查找结果过滤,只显示含有字符"statechart"的内容

# gr @ gr-System-Product-Name in ~/Documents [9:21:27] 
$ locate statechart          
/opt/qt/5.15.2/Src/qtbase/doc/src/images/rogue-statechart.png
/opt/qt/5.15.2/Src/qtscxml/examples/scxml/ftpclient/doc/images/ftpclient-statechart.png
/opt/qt/5.15.2/Src/qtscxml/examples/scxml/pinball/doc/images/pinball-statechart-global.png
/opt/qt/Examples/Qt-6.3.1/scxml/pinball/doc/images/pinball-statechart-onstate.png
/opt/qt/Examples/Qt-6.3.1/scxml/pinball/doc/images/pinball-statechart-workflow.png
/usr/local/include/boost/statechart
/usr/local/include/boost/statechart/asynchronous_state_machine.hpp
/usr/local/include/boost/statechart/custom_reaction.hpp# gr @ gr-System-Product-Name in ~/Documents [9:23:02] 
$ locate statechart | grep 'statechart/'
/usr/local/include/boost/statechart/asynchronous_state_machine.hpp
/usr/local/include/boost/statechart/custom_reaction.hpp
/usr/local/include/boost/statechart/deep_history.hpp
/usr/local/include/boost/statechart/deferral.hpp

相关内容

热门资讯

小学三年级作文400字(优质... 小学三年级作文400字 篇一:我的暑假生活暑假终于来临了,我迫不及待地开始了我的暑假生活。在这个暑假...
园一日游作文300字作文三年... 篇一:园一日游今天,我们三年级的同学们来到了一个美丽的园,进行了一次愉快的一日游。早晨,我们在学校门...
恐龙公园作文三年级【经典6篇... 恐龙公园作文三年级 篇一:探索恐龙世界在一个阳光明媚的周末,我和爸爸妈妈一起去了恐龙公园。我非常兴奋...
观察三年级的作文(实用6篇) 观察三年级的作文 篇一三年级的作文是一个让人感到充满惊喜和想象力的世界。作为一名老师,我有幸能够亲眼...
美丽的神农谷三年级作文(精简... 美丽的神农谷三年级作文 篇一神农谷是我家附近一个非常美丽的地方。每当我有时间,我都会去神农谷散步。神...
我的学校三年级作文(优质6篇... 我的学校三年级作文 篇一我喜爱的学校图书馆我所在的学校有一个很棒的图书馆,它是我最喜欢去的地方之一。...
三年级作文新学期的开始【经典... 三年级作文新学期的开始 篇一新学期的开始新学期开始了,同学们都充满了期待和憧憬。我们迈进了三年级的课...
小学三年级我的老师作文400... 篇一:小学三年级我的老师我非常喜欢我的小学三年级的老师,她是一个非常好的老师。她叫李老师,是一个年轻...
将门虎子三年级作文(精彩3篇... 将门虎子三年级作文 篇一我的宠物小狗我家有一只很可爱的宠物小狗,它的名字叫将门虎子。将门虎子是一只三...
母爱是无私的三年级作文【优秀... 母爱是无私的三年级作文 篇一母爱是无私的母爱是世界上最伟大的力量,它是无私的。无论是在我们出生的那一...
第一次掌勺作文_三年级作文(... 第一次掌勺作文_三年级作文 篇一第一次掌勺今天,我迎来了人生中第一次掌勺的机会。我既兴奋又紧张,因为...
小学三年级作文700字 【精品】小学三年级作文700字3篇  在日常学习、工作抑或是生活中,说到作文,大家肯定都不陌生吧,写...
黄岩石窟三年级作文(实用3篇... 黄岩石窟三年级作文 篇一探秘黄岩石窟我家住在浙江省的黄岩市,最近我们班组织了一次参观黄岩石窟的活动。...
假如我会变三年级450字作文... 假如我会变三年级450字作文 篇一如果我能变成三年级的学生,我会怎么样呢?首先,我会更加努力学习,争...
可恶的小老鼠三年级作文【精简... 可恶的小老鼠三年级作文 篇一最近我们班的教室里出现了一个可恶的小老鼠。这只小老鼠总是在我们不注意的时...
三年级作文200个子18篇【... 篇一:我的暑假计划暑假即将来临,我早早地制定了一个丰富多彩的暑假计划。首先,我计划读很多好书。我喜欢...
小学三年级作文400字【实用... 小学三年级作文400字 篇一爱护小动物我家附近有一个小公园,里面有很多小动物。我喜欢去那里看它们,但...
三年级科幻作文智能干家务的机... 三年级科幻作文智能干家务的机器人 篇一智能家务机器人的出现在未来的世界里,科技发展迅速,人们的生活变...
三年级下册我做了一项小实验作... 三年级下册我做了一项小实验作文 篇一标题:探究种子发芽的条件在三年级下册的科学课上,我们进行了一项小...
三年级学生感受作文(优选6篇... 三年级学生感受作文 篇一我喜欢上学的理由我是一个三年级的学生,我非常喜欢上学。每天早上,当妈妈叫我起...