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

相关内容

热门资讯

《老爸快跑》里的经典台词 《老爸快跑》里的经典台词  《老爸快跑》是由高一功执导,张云宵编剧,徐峥、伊春德主演的电视剧,于20...
公司领导年会致辞 公司领导年会致辞  在日常学习、工作和生活中,大家或多或少都用到过致辞吧,致辞要求风格的雅、俗、庄、...
秋季开学典礼主持词 秋季开学典礼主持词(精选6篇)  主持词已成为各种演出活动和集会中不可或缺的一部分。在一步步向前发展...
当幸福来敲门经典台词 当幸福来敲门经典台词大全  在日新月异的现代社会中,我们都可能会用到台词,台词可以刻画人物的性格,表...
六一儿童节开幕致辞 六一儿童节开幕致辞(通用5篇)  在日常的学习、工作、生活中,大家一定都接触过致辞吧,致辞要求风格的...
春晚主持词 春晚主持词(精选11篇)  主持词要根据活动对象的不同去设置不同的主持词。随着社会一步步向前发展,各...
小学国庆节主题活动主持词 小学国庆节主题活动主持词  主持词是主持人在节目进行过程中用于串联节目的串联词。在当下的社会中,活动...
八年级班会主持词 八年级班会主持词  主持词要注意活动对象,针对活动对象写相应的主持词。在如今这个中国,活动集会越来越...
职工追悼词 职工追悼词 各位亲友、各位来宾:  今天我们怀着十分沉痛的心情深切悼念退休职工×××。  ×××因病...
春天活动主持词 春天活动主持词  大家上午好!  踏着春天的脚步,踩着春风的节拍,春天已经来到我们中间,春天是生命的...
幼儿园家长会园长致辞 幼儿园家长会园长致辞幼儿园家长会园长致辞亲爱的家长、老师们:首先感谢大家在百忙中抽空参加今天举行的家...
教师节活动主持词 教师节活动主持词  一、什么是主持词  由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动...
百日宴致辞 百日宴致辞范文  在日复一日的学习、工作或生活中,许多人都有过写致辞的经历,对致辞都不陌生吧,在各种...
2021年会总经理简短致辞 2021年会总经理简短致辞范文(通用6篇)  在学习、工作、生活中,许多人都有过写致辞的经历,对致辞...
中学秋季开学典礼主持词 中学秋季开学典礼主持词  中学秋季开学典礼主持词    第一项:升国旗仪式(升旗仪式结束后,请新教师...
婚礼男方家长经典致辞 婚礼男方家长经典致辞  大家好!今天是我儿子××和××小姐结婚的大喜日子,我感到非常高兴和荣幸。高兴...
元宵晚会主持词 关于元宵晚会主持词(通用11篇)  主持词是主持人在台上表演的灵魂之所在。在当今社会生活中,司仪等是...
国学经典诵读比赛主持词 国学经典诵读比赛主持词  主持词可以采用和历史文化有关的表述方法去写作以提升活动的文化内涵。随着社会...
离职感谢词 离职感谢词  在xx近两个月的生活,让我感触很多,首先感谢领导一直以来对我们的包容,感谢x经理的照顾...
年会总经理致辞 年会总经理致辞(精选7篇)  在学习、工作、生活中,大家都经常接触到致辞吧,致辞具有“礼仪性”或“仪...