Linux系统查找

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:查找特殊权限文件。

上一篇:recv用TCP和TUDP下的区别


下一篇:大话Python中*args和**kargs的使用