linux中Find、whereis、locate、which查找文件命令总结

来源:互联网 发布:金蝶软件培训教程 编辑:程序博客网 时间:2024/05/17 08:49

IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结!


Find

Find是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录. 

主要选项: 
-name 按照文件名查找文件 
-perm 按照文件权限来查找文件 
-prune 不在当前指定的目录中查找 
-user 按照文件属主来查找文件 
-group 按照文件所属的组来查找文件 
-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前. 
-nogroup 查找无有效所属组的文件,即该文件所属的组不存在 
-nouser 查找无有效属主的文件 
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件 
-type 查找某一类型的文件 

[ 文件类型: 
b 块设备文件 
d 目录 
c 字符设备文件 
p 管道文件 
l 符号链接文件 
f 普通文件 
]

-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计 
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找 
-mount 在查找文件时不跨越文件系统mount点 
-follow 如果find命令遇到符号链接文件,就跟踪到链接所指向的文件 
-cpio 对匹配的文件使用cpio命令,就将这些文件备份到磁盘设备中 

(其余选项,请man find,进一步查看) 
对find命令选项的一些例子: 
  $ find /etc -type d #在/ etc目录下查找所有的目录 
  $ find /etc -user yaoyuan #在/etc目录下查找文件属主为yaoyuan的文件 
  $ find . -size +1000000c #在当前目录下查找文件长度大于1 M字节的文件


whereis
whereis命令会在指定的目录中查找符合条件的文件,文件应的属性应属于原始代码,二进制文件,或是帮助文件. 

选项: 
-b 只查找二进制文件 
-B 只在设置的目录下查找二进制文件 
-f 不显示文件名前的路径名称 
-m 只查找说明文件 
-M 只在设置的目录下查找说明文件 
-s 只查找原始代码文件 
-S 只在设置的目录下查找原始代码文件 
-u 查找不包含指定类型的文件 

whereis例子 
$ whereis mysql 
mysql: /usr/bin/mysql /etc/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz 

locate
locate命令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找符合条件的文件或目录 

选项: 
-u 建立数据库,由根目录开始 
-U 建立数据库,可以指定开始的位置 
-e 将排除在寻找的范围之外 
-f 将特定的档案系统排除在外 
-q 安静模式,不会显示任何错误讯息 
-n 至多显示n个输出 
-r 使用正规运算式 做寻找的条件 
-o 指定数据库存的名称 
-d 指定数据库的路径 
-h 显示辅助讯息 
-v 显示更多的讯息 
-V 显示程序的版本讯息 

(locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab) 
  locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如"*"或"?"等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。 ) 

locate例子: 

$ locate inittab 
/usr/lib/upstart/migrate-inittab.pl 
/usr/share/terminfo/a/ansi+inittabs 

which
which 和where 相似,只是我们所设置的环境变量中设置好的路径中寻找;比如; 

[root@localhost ~]# which fdisk  
/sbin/fdisk 

=============================================================================================================

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命令。

(完)


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米2s电信版信号不好怎么办 4s微信版本过低怎么办 换了一个城市牵的电信网线怎么办 联通电话卡注销了里面的钱怎么办 红米4a上网太慢怎么办 华为光猫网线接囗接触不良怎么办? 苹果电信4g信号变3g怎么办 苹果7的4g变3g了怎么办 华为路由器的登录密码忘记了怎么办 华为手机有4g但不能上网怎么办 移动4g 手机开密码忘了怎么办 华为安卓8.0屏幕上圆怎么办 苹果5s不能用4g怎么办 电动车的锁住了钥匙丢了怎么办 小米蓝牙耳机青春版开不了机怎么办 小米蓝牙耳机进水了开不了机怎么办 新买的蓝牙耳机开不了机怎么办 蓝牙耳机长时间不用开不了机怎么办 瑞和宝pos机无法连接蓝牙怎么办 手机做话筒连蓝牙音箱不同步怎么办 荣耀畅玩7x触屏不灵怎么办 华为6x屏幕点没反应怎么办 苹果耳机按一下就挂断电话怎么办 华为畅享7忘记账号密码怎么办 华为荣耀8手机外放声音小怎么办 安卓手机耳机减音量不能用怎么办 苹果手机微信语音是耳机模式怎么办 平果手机没声音出现耳机模式怎么办 苹果6s进水了一直耳机模式怎么办 华为手机没声音显示耳机模式怎么办 华为手机没声音出现耳机模式怎么办 安卓手机全民k歌耳返延迟怎么办 华为手机双清后手机开不了机怎么办 荣耀9上面有个耳机标志怎么办 华为p9耳机有一个没有声音怎么办 小米5c手机gps信号弱怎么办 华为8手机时常听常音乐声怎么办 手机用久了变慢了怎么办 免税店买的皮带太短了怎么办 小米手机自拍照片是反的怎么办 华为p20旅行助手被删了怎么办