系列教程--Linux基础--10--Linux下文件查找

本节概要

  find 命令

  locate 命令

  whereis 命令

  which 命令

  type 命令

环境准备

操作系统:Centos7.2、Centos6.5。

一、文件查找

Linux 中文件查找命令较多,本节概要中提到的5条命令为工作中较常使用的命令。

1. find

作用:find 是工作中最常见和最强大的查找命令,基本可以找到任何我们想要查找的文件。

格式:find <指定目录> <指定条件> <指定动作>

如果不加参数,则find默认会搜索当前目录及其子目录,并且不会过滤任何的结果。

举例:

–name

find . –name “a*”   #搜索当当前目录下所有以a开头的文件。

–type

find . –type f         #搜索当前目录下所有的普通的文件。

–size

find . –size +2M      #当前目录下所有大于2M的文件

find . –size -2M       #当前目录下所有小于2M的文件

–mtime、-atime、-ctime

ctime:change time,文件权限和文件属性的修改。查看 ls -lc

atime:文件访问时间,即文件被读取或者被执行的时间。查看ls -lu

mtime:文件内容被修改的时间。查看ls -l

find /home -mtime +1    #查找/home目录下 1天前被修改的文件,即48小时前修改的文件。

find /home –ctime -1     #查找48小时内新建的文件

–perm

find /home –perm 644   #查找/home下权限为644的文件或目录

–maxdepth

find /home –maxdepth 1 #查找目录深度为1层,即查找当前层。

find /home –maxdepth 2 #查找目录深度为2层

多条件配合使用:

find /home –type f –and perm 644  #/home下权限为644的普通文件

find  /home  ! –type f –and perm 644 #/home下权限不为644的非普通文件

动作:

查找完成后接着执行的动作。

find /home –type f –and perm 600 –exec rm –rf {} \;   #删掉查找到的文件,固定语法。注意空格,分号结尾。

2. locate

作用:

  locate 其实是find –name 的另一种写法,但是locate的速度更快,原因是locate不搜索具体的目录,而是直接在数据库(/var/lib/locatedb)中查找,这个数据库含有本地所有文件信息。Linux系统自动新建此数据库,且每天(2:00左右)会更新一次数据库,因此locate命令默认查找不到最新变动的文件,为避免这种情况可以在使用locate之前先使用updatedb命令手动更新下数据库。

  updatedb具体信息可以man updatedb进行查看:

格式:locate <要找的文件名>

举例:

[root@localhost ~]# locate updatedb

/etc/updatedb.conf

/usr/bin/updatedb

/usr/share/man/man5/updatedb.conf.5.gz

/usr/share/man/man8/updatedb.8.gz

/usr/share/vim/vim74/ftplugin/updatedb.vim

/usr/share/vim/vim74/syntax/updatedb.vim

3. whereis

作用:whereis只能用于程序名的搜索,且值搜索二进制文件(-b)、man说明文件(-m)、源代码文件(-s),省略参数则返回所有匹配文件。

格式:wheteis <文件名>

举例:

[root@localhost ~]# whereis find

find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/man/man1p/find.1p.gz

[root@localhost ~]# whereis locate

locate: /usr/bin/locate /usr/share/man/man1/locate.1.gz

4. which

作用:在变量PATH指定的路径中搜索某个系统命令的位置,且返回第一个搜索结果,即使用which可以查看到系统命令是否存在,以及命令的位置。

格式:which <命令名>

举例:

[root@localhost ~]# which find

/usr/bin/find

[root@localhost ~]# which locate

/usr/bin/locate

5. type

作用:type是用来区分某个命令到底是shell自带的还是外部独立的二级制文件提供的,如果一个命令是外部命令则使用-p参数会显示该命令的路径,相当于which命令。

格式:type <选项> <命令名称>

举例:

[root@localhost ~]# type cd

cd is a shell builtin    #cd是shell自带命令

[root@localhost ~]# type locate

locate is hashed (/usr/bin/locate)  #locate是外部命令,并显示路径

[root@localhost ~]# type pwd

pwd is a shell builtin  #pwd为shell自带命令

[root@localhost ~]# type find

find is hashed (/usr/bin/find)  #find为外部命令,并显示find的路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值