【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
LinuxShell目录传送门: https://blog.csdn.net/MACMACip/article/details/89890219
LinuxShell-查找命令/文件
1.which
2.whereis
3.find
1.which
$ man which
locate a command
定位一个命令
言简意赅, 它就是告诉你, 这个命令的可执行文件放在哪.如:
告诉你, mv这条命令/这个程序, 被放在/bin/mv中.(为什么是在这个路径下呢? 在这里我假设你已经知道了Linux的环境变量Path).
2.whereis
$ man whereis
locate the binary, source, and manual page files for a command
定位一个二进制文件(即可执行文件), 以及它的源代码和man手册(帮助文档).
和which命令相对比, 很显然whereis命令比他强大得多, 因为它不仅告诉你这条命令放在哪, 而且还告诉你与这条命令相关联的代码以及帮助文档放在哪. 如下图:
3.find
$ man find
search for files in a directory hierarchy
从一个目录里, 递归地往下查找一个文件.
这是一个很常用到的命令, 帮助你找到一个文件, 速度很快! (比图形界面快多了)
常用的命令格式为: find [搜索目录, 为空则是当前目录] -name [filename] -user [username]
在实际的工作中, 你可能只记得一个文件名的头几个字母或者中间几个字母或仅仅是后缀名, 这时候, 你需要认识我们LinuxShell中的通配符:
? | * | [] | [!] | |
---|---|---|---|---|
通配符讲解: | 匹配任一个字符 | 匹配任何字符(0或多个) | 匹配符号内任一字符, 至少要有一个匹配 | 不匹配[]里面任一字符, 至少要有一个 |
举例: abc.txt | a?c.txt | *.txt | [a]bc.txt | [!x]bc.txt |
举例中所有字串, 配合find命令皆可以找到这个abc.txt(如果你不钻牛角尖的话~).