命令和文件与目录查找

1、命令查找

1.1 which

格式:which -a 命令。比如which -a ifconfig

[root@www ~]# which ifconfig

该命令主要用于由PATH系统变量内的目录去查找对应的命令的位置。由于不同的用户配置的PATH系统变量不一样,因此找到的结果就随着用户的不同而不同。另外,一些内建的命令,也会有可能利用该命令查找不到。

2、文件与目录查找

2.1 whereis

格式:whereis -bmsu 文件或目录

[root@www ~]# whereis ifconfig

-b:只查找二进制格式的文件

-m:只查找manual帮助文件夹下面的文件

-s:只查找source来源文件

-u:查找除了以上3者之外的其他特殊文件

需要注意的是该查找命令是在Linux系统的数据库内查找对应的文件或者目录,速度较快。

2.2 locate

格式:locate -ri 文件与目录的全部名称或部分名称或者正则表达式

-r:查找正则表达式对应的文件与目录

-i:忽略大小写查找

同样类似whereis命令,该查找也是基于数据库进行的,但由于数据库的更新是有区别的并且有时间确定性的,因此有的时候会由于数据库没有更新而出现查找不成功或者查找无效文件(文件已被删除等)。

2.3 find

格式:

find 路径 -mtime +n/-n/n 动作

find 路径 -atime +n/-n/n 动作

find 路径 -ctime +n/-n/n 动作

find 路径 -newer 文件

find 路径 -user 用户

find 路径 -name 文件名

find 路径 +/-size 文件大小

find 路径 -type f/d/b/l/s/p(f文件、d目录、b装置文件、l连结档、ssocket文件、p管道)

find 路径 perm mode(查找文件权限仅仅为mode的文件)

find 路径 -perm mode(查找文件权限在mode限定的权限的文件)

find 路径 +perm mode(查找文件权限包含mode限定的任一权限的文件)

其中的+n代表n天之前、-n代表n天之内、n代表第n天,结合mtime/atime/ctime便可以得到具体时间段修改的文件。

其中动作即:-exec 动作命令 \;。

[root@www ~]# find / -name passwd -exec ls -al {} \;