Linux 是开发人员必须要掌握的操作系统之一,在本文,我们一起来见识一下 Linux 终端里 8 个令人害怕的家伙……
这 8 个家伙,有些是令人闻之色变,对系统有害无益,而另外一些则是对系统有好处。下面就来简单介绍一下这些家伙吧。
1. daemon
英文 daemon 对初学者而言可能不熟悉,但它也有一个更广为人知的名字:守护进程
。
守护进程很有个性,它是一个运行在后台却不受终端控制的进程,也就是说它跟终端没有直接关系,并其大多数守护进程都是随着系统启动而启动,在没有受到干预的情况下会一直保持运行状态直到系统关闭。
守护进程的存在为我们用户及系统本身提供很多很有用的服务。我们很多很常见的服务,比如 httpd
,mysqld
,syslogd
等,都是守护进程。守护进程有个特点,一般情况下它们的名称都是以 d
结尾。
2. zombie
zombie ,僵尸?Linux 系统里还藏着僵尸?这真的令人害怕……
先别害怕,Linux 系统里的 zombie
一般是指僵尸进程。所谓的僵尸进程指的是当一个进程被杀死之后,它其实并没有马上消失,而是变成了僵死状态,即僵尸进程,直到它的父进程回收完它的资源,它才在系统里完全消失。
一般这种回收资源的过程很快就会完成,但是如果它的父进程受到阻塞或过于繁忙,则这个僵尸进程就会保留在系统中更长时间。
其实,在 Linux 系统运行过程中会不时地产生一些僵尸进程,而这些僵尸进程我们又没办法直接杀死它们,因为它们已经死了,我们只能使用其它手段干掉它们,比如杀死它的父进程,然后 init
进程就会接管这个进程,回收它的资源。
系统里一旦出现僵尸进程,通常就说明它的父进程出了问题。僵尸进程会消耗系统资源,对系统有害无益,要尽量避免它的出现。
3. kill
kill ,一看就知道是个有暴力倾向的单词。
在 Linux 系统里,kill
命令是用来给进程发送信号的,最常见的就是发送 SIGKILL
信号杀死进程。如果你发现一个进程占用过多内在或CPU资源,拖累你的系统运行速度,你可以手起刀落直接用 kill
命令干掉它。
但是遇到僵尸进程没办法杀掉怎么办?不着急,我们可以找它的老爹算账,按上面提到的方法来处理。
4. cat
cat,猫?终于遇到了一个没那么可怕的东西了……但是,Linux 系统中除了僵尸居然还有猫?
别被它呆萌的外表欺骗啦,其实,cat
命令是英语单词 concatenate
的缩写,也就是连接的意思。顾名思义,它的作用是用来组合文件。当然更常见的用法是,你可以使用 cat
命令来查看文件的内容。但是,一般只用来查看比较短小的文本文件,而比较长的文件一般用 more
、less
、vim
等命令或工具查看。
5. tail
tail,尾巴。难道它是猫咪的尾巴?
上面提到,可以使用 cat
命令来查看文本文件。如果你只想查看文件的最后 n
行内容,那么使用 tail
命令就非常方便了。
当然它还有个更常用的场合。我们在打印日志的时候,经常是将新内容追加到旧日志末尾,如果你想要监控日志文件,那么 tail
命令就派上大用场了。我们可以使用 tail
命令显示日志文件尾部的内容并且可以实时更新,听起来是不是很厉害呢?
6. which
经受了上面的惊吓,你也许会以为 which 是女巫了。可惜它不是,从字面上来看它就是个寻找命令软件位置的命令。
例如,我们想要知道 python 的安装位置,我们就可以使用 which python
来查询,它会将你的系统上所有版本的 Python 的位置打印出来反馈给你。
7. crypt
crypt,地下室,这个命令应该没有多少人知道吧。
现实生活中,如果你想要保管好自己的东西,放在地下室可能是一个不错的方法。
Linux 系统也是一样,我们可以用来加密文件。现在它一般被称为 mcrypt
,当你想要对一些重要的文件进行加密,防止被别人非法读取,那么这个命令就会非常实用。与大多数 Linux 命令一样,您可以单独使用 crypt
命令,也可以在脚本中调用它。
8. shred
shred,切碎。这又是一个令人毛骨悚然的家伙……
shred
命令是个非常狠毒的家伙,它的作用就是粉碎文件。删除文件我们有个非常常用的命令,那就是 rm
命令,但是使用这个命令删除的文件是有手段进行恢复的。如果我们的文件很机密,删除后不想被别人恢复怎么办?没错,sherd
命令的作用就开始显现了。
使用 shred
命令删除文件将多次覆盖文件以前占用的空间,对原文件进行从里到外的清洗,简直就是碎尸万段!所以,使用这个命令一点要做好充分准备,再三确认,因为文件被 shred
之后,神仙也帮不了你。