locate命令的使⽤
使⽤locate命令,遇到了这样的情况:
当前⽬录下有⼀个⽂件,⽽使⽤这个命令时却查不到这个⽂件,上⽹查了⼀下,到了原因,就在下⾯。
1. find
find是最常见和最强⼤的查命令,你可以⽤它到任何你想的⽂件。
find的使⽤格式如下:
  $ find <;指定⽬录> <;指定条件> <;指定动作>
  - <;指定⽬录>:所要搜索的⽬录及其所有⼦⽬录。默认为当前⽬录。
  - <;指定条件>:所要搜索的⽂件的特征。
  - <;指定动作>:对搜索结果进⾏特定的处理。
如果什么参数也不加,find默认搜索当前⽬录及其⼦⽬录,并且不过滤任何结果(也就是返回所有⽂件),将它们全都显⽰在屏幕上。
find的使⽤实例:
  $ find . -name 'my*'
搜索当前⽬录(含⼦⽬录,以下同)中,所有⽂件名以my开头的⽂件。
  $ find . -name 'my*' -ls
搜索当前⽬录中,所有⽂件名以my开头的⽂件,并显⽰它们的详细信息。
  $ find . -type f -mmin -10
搜索当前⽬录中,所有过去10分钟中更新过的普通⽂件。如果不加-type f参数,则搜索普通⽂件+特殊⽂件+⽬录。
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命令。
find查命令的使用

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。