这篇文章,我们一起来到 Linux 的诡异的一面……
你知道吗?在我们日常使用的 Unix(和 Linux )及其各种各样的分支系统中,存在着一些诡异的命令或进程,它们让人毛骨悚然,有些确实是有害,但也有些却是有益的。下面就来简单介绍一下这些家伙吧。
1. daemon
daemon 有一个很高大上的中文名字,叫 守护进程
。有句话是这么说的,如果 Unix 中没有了守护进程,那么 Unix 就不会是相同的。它很有个性,是一个运行在后台且不受终端控制的进程,其大多数都是随着系统启动而启动,无特殊情况下会一直保持运行直到系统关闭。它的存在为我们用户和系统本身提供有用的服务。常见的有 httpd,mysqld,syslogd 等,一般守护程序名称会以 d
结尾。
2. zombie
zombie ,僵尸?什么鬼?听着就让人害怕。不过,它在 Linux 中指的是当一个进程被杀死后,其实它并不会马上消失,而是变成了 zombie ,即僵尸进程,然后等待其父进程搜集完它的信息才会被清除。一般这种搜集信息的过程会很快完成,但有时它的父进程很忙,该僵尸进程就会一直呆在我们的系统中。系统运行过程中时不时地会产生一些僵尸进程,我们无法直接杀死它们,因为它们已经死了,我们只能采取别的手段,比如说杀死它的父进程,然后由 init 来回收这个僵尸进程。僵尸进程的出现通常表示产生它的进程除了问题,而且它会消耗资源,要防止它的出现。
3. kill
kill ,一个冷酷无情的单词。顾名思义,kill 是一个用于杀死进程的命令,其使用方法简单粗暴。当你发现一个占用太多内存或者 CPU 资源的进程并造成了负面影响时,建议您可以直接用 kill 干掉它。若你遇到僵尸进程杀不掉?别慌,去找它的父进程吧,按上面提到的方法来处理。
4. cat
cat,猫?这又是什么奇怪的东西?Linux中除了僵尸还有猫?其实,cat 命令是 concatenate 的简写,也就是连接的意思,这么解释你就懂了。它的作用是组合文件。另外,你甚至可以用这个方便的命令来查看文件的内容。
5. tail
tail,尾巴。这个怪怪的命令解释起来就比较容易了。当你想要查看文件的最后 n 行时,使用 tail 命令就很方便了。另外,当你想要监控文件时,你也可以用它。比如观察日志文件,tail 命令会显示尾部的内容并且可以实时更新,是不是很厉害呢?
6. which
which,别看了前面几个诡异的命令就和 witch(女巫)搞混了。它不是那种童话中阴森恶毒的女巫,它是 which,是负责打印传递给它的任何命令相关联的文件的位置的家伙。例如,我们想要获取 Python 的位置,我们就可以用 which python
,它就会在你的系统上打印每个版本的 Python 的位置。
7. crypt
crypt,地下室,这个命令也很好懂。当你想要保管好自己的东西不被别人知道,放到地下室锁起来是一个很好的办法。crypt 在 Linux 中的含义是加密,现在被称为 mcrypt ,当你想要对文件进行加密而不被别人读取,这个命令会很方便。与大多数 Linux 命令一样,您可以单独使用 crypt ,也可以在系统脚本中使用。
8. shred
shred,切碎。我想你看到这里已经对这些怪异的词语见怪不怪了。它是个非常狠的家伙,作用是粉碎文件。当我们想要删除文件,我们会用 rm 命令,但这是有手段进行恢复的,那我们不想让别人恢复怎么办?没错,sherd 的作用就此。shred 能多次覆盖文件以前占用的空间。所以说,用这个命令一点要做好心理准备,因为神仙难救。