1. which;寻找“可执行程序”;
which命令是根据;PATH;环境变量所规范的路径去搜索“可执行文件”的文件名;重点是只会搜索可执行程序。
which ls # 在PATH的文件路径下搜多ls可执行程序;返回第一个文件名为ls可执行程序的路径。
which -a ls # 在PATH的文件路径下搜多ls可执行程序;返回所有文件名为ls可执行程序的路径
2. whereis;在特定目录中搜索文件文件民;
whereis [选项] 文件或目录名
选项与参数; -l :可以列出 whereis 会去查询的几个主要目录而已 -b :只找 binary 格式的文件 -m :只找在说明文档 manual 路径下的文件 -s :只找 source 来源文件 -u :搜寻不在上述三个项目当中的其他特殊文件
查看whereis会搜索的目录;

搜索名字中包含ls的文件名的文件;

3. locate/updatedb
locate命令是根据本地数据库进行文件搜索;因为数据库每天只会同步一次;有可能会出现新建文件搜索不到的情况;所以在使用locate搜索文件之前使用updatedb命令进行手动数据更新。
locate [-ir] keyword
选项与参数; -i ;忽略大小写的差异; -c ;不输出文件名;仅计算找到的文件数量 -l ;仅输出几行的意思;例如输出五行则是 -l 5 -S ;输出 locate 所使用的数据库文件的相关信息;包括该数据库纪录的文件/目录数量等 -r ;后面可接正则表达式的显示方式 注意;在使用locate前;手动更新数据库updatedb。
**4.find **
find命令相当于对硬盘进行检索;通常来说耗费的时间是比较多的;不太建议使用;除非在特定情况下。
4.1 搜索与时间有关的;
find [PATH] [option] [action] -mtime n ;n 为数字;意义为在 n 天之前的“一天之内”被更动过内容的文件; -mtime ;n ;列出在 n 天之前;不含 n 天本身;被更动过内容的文件文件名; -mtime -n ;列出在 n 天之内;含 n 天本身;被更动过内容的文件文件名。 -newer file ;file 为一个存在的文件;列出比 file 还要新的文件文件名 将过去系统上面 24 小时内有更动过内容 ;mtime; 的文件列出 find / -mtime 0 # 那个 0 是重点;0 代表目前的时间;所以;从现在开始到 24 小时前; # 有变动过内容的文件都会被列出来;那如果是三天前的 24 小时内? # find / -mtime 3 有变动过的文件都被列出的意思; 4.2 搜索与使用者或群组名称有关的。 -uid n ;n 为数字;这个数字是使用者的帐号 ID;亦即 UID ;这个 UID 是记录在 /etc/passwd 里面与帐号名称对应的数字。这方面我们会在第四篇介绍。 -gid n ;n 为数字;这个数字是群组名称的 ID;亦即 GID;这个 GID 记录在 /etc/group;相关的介绍我们会第四篇说明; -user name ;name 为使用者帐号名称喔;例如 dmtsai -group name;name 为群组名称喔;例如 users ; -nouser ;寻找文件的拥有者不存在 /etc/passwd 的人; -nogroup ;寻找文件的拥有群组不存在于 /etc/group 的文件; 当你自行安装软件时;很可能该软件的属性当中并没有文件拥有者; 这是可能的;在这个时候;就可以使用 -nouser 与 -nogroup 搜寻。 搜寻 /home 下面属于 dmtsai 的文件 find /home -user dmtsai # 这个东西也很有用的;当我们要找出任何一个使用者在系统当中的所有文件时; # 就可以利用这个指令将属于某个使用者的所有文件都找出来喔; 4.2 与文件权限及名称有关的。 -name filename;搜寻文件名称为 filename 的文件; -size [;-]SIZE;搜寻比 SIZE 还要大;;;或小;-;的文件。这个 SIZE 的规格有; c: 代表 Byte; k: 代表 1024Bytes。所以;要找比 50KB 还要大的文件;就是“ -size ;50k ” -type TYPE ;搜寻文件的类型为 TYPE 的;类型主要有;一般正规文件 ;f;, 设备文件 ;b, c;, 目录 ;d;, 链接文件 ;l;, socket ;s;, 及 FIFO ;p; 等属性。 -perm mode ;搜寻文件权限“刚好等于” mode 的文件;这个 mode 为类似 chmod 的属性值;举例来说; -rwsr-xr-x 的属性为 4755 ; -perm -mode ;搜寻文件权限“必须要全部囊括 mode 的权限”的文件;举例来说; 我们要搜寻 -rwxr--r-- ;亦即 0744 的文件;使用 -perm -0744; 当一个文件的权限为 -rwsr-xr-x ;亦即 4755 时;也会被列出来; 因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。 -perm /mode ;搜寻文件权限“包含任一 mode 的权限”的文件;举例来说;我们搜寻 -rwxr-xr-x ;亦即 -perm /755 时;但一个文件属性为 -rw------- 也会被列出来;因为他有 -rw.... 的属性存在; 找出文件名为 passwd 这个文件 find / -name passwd 找出文件名包含了 passwd 这个关键字的文件 find / -name ;*passwd*; # 利用这个 -name 可以搜寻文件名啊;默认是完整文件名;如果想要找关键字; # 可以使用类似 * 的任意字符来处理 找出 /run 目录下;文件类型为 Socket 的文件名有哪些? find /run -type s # 这个 -type 的属性也很有帮助喔;尤其是要找出那些怪异的文件; # 例如 socket 与 FIFO 文件;可以用 find /run -type p 或 -type s 来找;
网友评论
快盘下载暂未开通留言功能。
-
推荐文章
最新文章