Linux系统之常用文件搜索命令

(一)常用文件搜索命令

(1)which命令

(2)find命令

(3)locate

(4)updatedb

(5)grep 

(6)man

(7)whatis

(一)常用文件搜索命令

(1)which命令

命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which [命令名称]
功能描述:显示系统命令所在目录,另外显示命令别名记录
例子:which ls

补充一个命令:whereis [命令名称]

显示系统命令所在目录,另外显示帮助信息

 (2)find命令

命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
语法:find [搜索路径] [搜索关键字]
功能描述:查找文件或目录

文件名

参数-name 文件名

例子:在目录/etc中查找文件newdir

find /etc -name newdir

使用通配符:

* 匹配任意字符

例子:find newdir*

搜索以newdir开头的文件或目录

 

?匹配单个字符

例子:find new???

搜索以new开头,后面三个任意字符的文件或目录

 

 文件大小

参数-size 文件大小

这里我们姚之队 linux的最小存储单位是一个数据块

block数据块  512字节=0.5kb   2个数据块=1kb

100MB=102400kb=204800 block

例子:

     大于 +

     find / -size +204800

    在根目录下查找大于100MB的文件

小于 -  
find / -size -204800
在根目录下查找大于100MB的文件

等于 =
find / -size 204800
在根目录下查找大于100MB的文件

文件所有者

 参数 -user 文件所有者

 例子 :find / -user sam

在根目录下查找所有者为sam的文件

时间

天 ctime、atime、mtine
分钟 cmin、amin、mmin

  

c-change 改变 表示文件属性被修改,所有者,所属组,权限
a-access 访问
m-modify 修改 表示文件内容被修改过

  

- 表示什么时间之内
+ 表示超过什么时间
= 表示指定在特定时间

例子 :

find /etc -ctime -1
在/etc下查找24小时内被修改过属性的文件和目录

   find /etc -mmin -120
   在/etc下查找两小时内被修改的文件和目录

  

 连接符

-a and 逻辑与
-o or 逻辑或

find ...... -exec 命令 {} ;
find ...... -ok 命令 {} ;

{} find查询的结果
  转义符,符号命令使用本身的含义
;  结果

文件类型

参数 -type 
f 二进制文件
l 软链接文件
d 目录

i节点

参数 -inum 

每一个文件或目录都有自己 的I节点 ,这样操作系统才能定位到文件或目录

怎么查看文件或目录的节点呢?
命令:ls -i

例子:

find /etc -name init* -a -type f
在/etc下查找以init开头的文件
find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件
find /etc name inittab -exec ls -l {} ; 在/etc下查找inittab文件并显示其详细信息
find . -inum 16 -exec rm {} ; 在/etc下查找i节点为16的文件或目录并删除

  

 

(3)locate

命令名称:locate
英文原意:list files in databases
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate [搜索关键字]
功能描述:寻找文件或目录
例子:locate file

注意:使用这个命令需要先使用下面的命令

(4)updatedb

命令名称:updatedb
英文原意:updata the slocate database
命令所在路径:/usr/bin/updatedb
执行权限:root
语法:updatedb
功能描述:建立整个系统目录文件的数据库
例子:updatedb

(5)grep 

命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep [指定字符] [源文件]
功能描述:在文件中搜寻字串匹配的行并输出
例子:grep ftp /etc/services

(6)man命令

命令名称:man
英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man [命令或配置文件]
功能描述:获得帮助信息
例子:
man ls
查看ls命令的帮助信息

man services
查看配置文件services的帮助信息

(7)whatis命令


命令名称:whatis
英文原意:search the whatis database for strings
命令所在路径:/usr/bin/whatis apropos
/usr/sbin/makewhatis

执行权限:All User,root
语法:what apropos [任何关键字]
功能描述:获得索引的简短说明信息
例子:
whatis ls
apropos fstab

注意 :当使用这两个命令发生错误时,就是whatis database没有建立

命令 :makewhatis,建立whatis和apropos搜索使用的数据库

原文地址:https://www.cnblogs.com/-wenli/p/10073065.html