linux查找文件命令总结

linux查找文件命令总结

2023年7月26日发(作者:)

linux查找⽂件命令总结  使⽤电脑的时候,经常需要查找⽂件在Linux中,有很多⽅法可以做到这⼀点。国外⽹站LinuxHaxor总结了五条命令,你可以看看⾃⼰知道⼏条。⼤多数程序员,可能经常使⽤其中的2到3条,对这5条命令都很熟悉的⼈应该是不多的。  1. find  find是最常见和最强⼤的查找命令,你可以⽤它找到任何你想找的⽂件。  find的使⽤格式如下:  $ find <指定⽬录> <指定条件> <指定动作>  - <指定⽬录>: 所要搜索的⽬录及其所有⼦⽬录。默认为当前⽬录。  - <指定条件>: 所要搜索的⽂件的特征。  - <指定动作>: 对搜索结果进⾏特定的处理。  如果什么参数也不加,find默认搜索当前⽬录及其⼦⽬录,并且不过滤任何结果(也就是返回所有⽂件),将它们全都显⽰在屏幕上。  find的使⽤实例:  $ find . -name 'my*'  搜索当前⽬录(含⼦⽬录,以下同)中,所有⽂件名以my开头的⽂件。  $ find . -name 'my*' -ls  搜索当前⽬录中,所有⽂件名以my开头的⽂件,并显⽰它们的详细信息。  $ find . -type f -mmin -10  搜索当前⽬录中,所有过去10分钟中更新过的普通⽂件。如果不加-type f参数,则搜索普通⽂件+特殊⽂件+⽬录。 $ find ./workdir -name "config" 搜索./workdir⽬录及其⼦⽬录下的所有和config完全匹配的⽂件 $ find ./workdir -name "*config" 搜索./workdir⽬录及其⼦⽬录下的所有以config结尾的⽂件 $ find ./workdir -name "config*" 搜索./workdir⽬录及其⼦⽬录下的所有以config开头的⽂件 $ find ./workdir -name "*config*" 搜索./workdir⽬录及其⼦⽬录下的所有包括config字段的⽂件  2. locate  locate命令其实是“find -name”的另⼀种写法,但是要⽐后者快得多,原因在于它不搜索具体⽬录,⽽是搜索⼀个数据库(/var/lib/locatedb),这个数据库中含有本地所有⽂件信息。Linux系统⾃动创建这个数据库,并且每天⾃动更新⼀次,所以使⽤locate命令查不到最新变动过的⽂件。为了避免这种情况,可以在使⽤locate之前,先使⽤updatedb命令,⼿动更新数据库。  locate命令的使⽤实例:  $ locate /etc/sh  搜索etc⽬录下所有以sh开头的⽂件。  $ locate ~/m  搜索⽤户主⽬录下,所有以m开头的⽂件。  $ locate -i ~/m  搜索⽤户主⽬录下,所有以m开头的⽂件,并且忽略⼤⼩写。  3. whereis  whereis命令只能⽤于程序名的搜索,⽽且只搜索⼆进制⽂件(参数-b)、man说明⽂件(参数-m)和源代码⽂件(参数-s)。如果省略参数,则返回所有信息。  whereis命令的使⽤实例:  $ whereis grep  4. which  which命令的作⽤是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第⼀个搜索结果。也就是说,使⽤which命令,就可以看到某个系统命令是否存在,以及执⾏的到底是哪⼀个位置的命令。  which命令的使⽤实例:  $ which grep  5. type  type命令其实不能算查找命令,它是⽤来区分某个命令到底是由shell⾃带的,还是由shell外部的独⽴⼆进制⽂件提供的。如果⼀个命令是外部命令,那么使⽤-p参数,会显⽰该命令的路径,相当于which命令。  type命令的使⽤实例:  $ type cd  系统会提⽰,cd是shell的⾃带命令(build-in)。  $ type grep  系统会提⽰,grep是⼀个外部命令,并显⽰该命令的路径。  $ type -p grep  加上-p参数后,就相当于which命令。 通过⽂件内容中的关键字查找其所属的⽂件,⽐较常见的有两种: I. 命令原型:grep -rl "keyword" filepath ⽐如现在我们要查找在/home/userlan/⽬录中哪些⽂件中包含foobar这个关键字 $ grep -rl "foobar" /home/userlan/ "keyword" * -nR 其中n表⽰显⽰⾏号;R表⽰递归查找各个⼀级⽬录的⼦⽬录; * 表⽰查找当前⽬录下的所有⼀级⽬录;

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690359903a337628.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信