在学习Linux的which命令时,发现可以which which,查看which命令所在的源文件位置,这种套娃的方式让我觉着挺有趣的。于是我简单了解,盘点了一些可以套娃的命令。
1.我查我自己型
(1)which与whereis命令
which命令是查看系统PATH目录下的可执行文件,可以查看which命令所在的文件位置。
whereis命令可以查找二进制(命令)、源文件、man文件所在位置,搜索范围比which命令更广。
(2)ps命令
ps命令可以显示出当前正在执行的命令,同样会显示ps命令。
(3)man命令
man命令是一个非常重要的命令,可以为我们调出命令的帮助手册。同样输入man man对于man命令本身也有帮助手册可以调出。
2.纯属巧合型
(1)locate命令
locate命令是根据文件名称查找并打印用户可读取的全部文件位置的命令。而前面提到的which命令和whereis命令只能搜索系统命令。可以通过locate locate查找含有locate的用户可读全部文件,还不少呢!
(2)echo命令
echo本身意思为回响,在Linux中可以打印用户刚输入的内容。于是echo echo输出一个echo。
3.人为创造型
(1)touch,mkdir,useradd,groupadd命令
touch命令可以创建文件,mkdir命令可以创建目录,useradd,groupadd命令可以分别创建用户以及组。那么当然也可以创建一个与命令同名的文件/目录/用户/组。
(2)cd,su命令
cd命令为切换文件,su命令为切换用户,倘若你的当前目录中正好有名为cd的文件,cd cd也会正常执行哦!
4.其他的一些思考
@志锴,给我提供的一个也挺有趣的想法,是否可以通过管道将一个命令的输出转化为同一个命令的输入在执行这个命令得到结果呢?这里我还没有想到理想的命令能够满足这个要求。也欢迎各位Linux大佬讨论,补充这些可以套娃的Linux命令与想法啊!