1. which:在当前用户环境变量path指定的路径下查找可执行程序/文件。
特点:(1)只在当前用户环境变量指定的路径下查找;
(2)只找出可执行程序/文件的位置;
(3)查找速度非常快。
注:使用env命令可以查看当前用户的环境变量path的值;可以通过修改
/root/.bash_profile文件来修改path,修改后需用户重新登录才能生效。
2. whereis:在数据库中查找,列出所有与查找程序/文件相关的文件位置。
特点:(1)在数据库中查找文件信息;
(2)列出所有与查找程序/文件相关的文件位置(包括可执行文件、配置文
件、帮助文档等等);
(3)查找速度非常快。
whereis -b 文件名:只查找这个文件的二进制可执行文件。
whereis -m 文件名:只查找这个文件的帮助文件。
whereis -s 文件名:只查找这个文件的源代码文件。
注:在linux系统中,软件安装时已将相关信息写入数据库。
Linux软件安装有一定的顺序,如:可执行文件放在/usr/bin/,配置文件放在/etc/,
帮助文档放在/usr/share/man/。
3. locate:在数据库中查找,列出所有包含查找文件名字符串的文件位置。
特点:(1)在数据库中查找文件信息;
(2)模糊查找,只要文件名中包含查找文件名字符串就列出来;
(3)查找速度快。
注:linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和locate
时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自
然很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,
在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文
件,却无法查找到,原因就是因为数据库文件没有被更新。
updatedb:立刻生成该数据库的最新版本(需要有root权限)。
4. find:通过扫描整个磁盘在指定路径下查找符合过滤条件的文件。
特点:(1)扫描磁盘查找;
(2)通过过滤条件查找,没关键字时列出当前目录下所有文件信息;
(3)查找速度慢。
与时间相关:
find 路径名 - mtime 0:24小时内修改过的相关文件。
find 路径名 - mtime 3:3天前的那一天修改过的文件。
find 路径名 - mtime +3:3天以前所有修改过的文件。
find 路径名 - mtime -3:3天以内所有修改过的文件。
(-atime读取、查看时间记录,-ctime状态时间,权限、内容修改)。
使用者、组名相关:
find 路径名 -user zhengsan:与zhengsan有关的文件。
find 路径名 -nouser:与用户无关的文件(不属于用户、用户组)。
find 路径名 -group zhangsan:用户组zhengsan相关的文件。
文件权限相关:
find 路径名 -name 文件名:查找文件名对应的文件(区分大小写)。
find 路径名 -iname 文件名:查找文件名对应的文件(不区分大小写)。
find 路径名 -type 文件类型:根据文件类型查找文件。
(f普通文件,d目录)
特殊功能:
find 路径名 -size +1000k:大于或等于1000k的文件。
find 路径名 -name ‘*pass*’:通配符查找文件。
特殊权限:
find 路径名 -perm 2770:查找特殊权限文件。