1、crypt
好吧,我们一直都有crypt。顾名思义,crypt不是存放垃圾文件的地宫或墓坑,而是加密文件内容的命令。如今,“crypt”通常作为一个脚本而实现:通过调用一个名为mcrypt的二进制程序,模拟较旧的crypt命令,从而发挥其功用。直接使用mycrypt命令是一种更好的选择。
$ mcrypt x Enter the passphrase (maximum of 512 characters) Please use a combination of upper and lower case letters and numbers. Enter passphrase: Enter passphrase: File x was encrypted. |
请注意:mcrypt命令会创建第二个文件,其扩展名是“.nc”。它并不覆盖你在加密的文件。
mcrypt命令有密钥大小和加密算法方面的选项。你还可以指定密钥作为一个选项,不过mcrypt命令不鼓励这么做。
2、kill
还有kill命令——当然这并不是指谋杀,而是指我们用来终止进程的命令,终止的方式有多强硬取决于需要什么来适当地终止它们。当然,Linux并不就此止步。相反,它有各种各样的kill命令来用于你的命令行。我们有kill、pkill、killall、killpg、rfkill、skill(参阅es-kill)、tgkill、tkill和xkill。
$ killall runme [1] Terminated ./runme [2] Terminated ./runme [3]- Terminated ./runme [4]+ Terminated ./runme |
3、shred
Linux系统还支持一种名为shred的命令。shred命令覆盖文件以隐藏以前的内容,并确保无法使用硬盘恢复工具来恢复它们。请记住:rm命令基本上只是删除目录文件中的文件引用,但不一定从磁盘上擦除内容或覆盖内容。shred命令才是覆盖文件的内容。
$ shred dupes.txt $ more dupes.txt ▒oΛ▒▒9▒lm▒▒▒▒▒o▒1־▒▒f▒f▒▒▒i▒▒h^}&▒▒▒{▒▒ |
4、zombies
虽然zombies(僵尸进程)不是一个命令,但它在Linux系统上却根深蒂固。zombies基本上是没有被完全清除的死亡进程的残骸。进程不应该以这种方式运行——任由死亡进程逗留,而不是仅仅让它们死亡、进入数字天堂,所以zombies的存在表明了留下它们的进程存在某种缺陷。
检查你的系统是否有僵尸进程残留下来,一个简单的方法就是查看top命令的标题行。
$ top top – 18:50:38 up 6 days, 6:36, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 171 total, 1 running, 167 sleeping, 0 stopped, 3 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 2003388 total, 250840 free, 545832 used, 1206716 buff/cache KiB Swap: 9765884 total, 9765764 free, 120 used. 1156536 avail Mem |
好吓人!上面显示有三个僵尸进程。
5、at midnight
据说万圣节晚上,死人的灵魂会从日落一直游荡到深夜。Linux让用户可以借助“at midnight”命令跟踪是否已离开。at用来安排下一次指定时间到来时就运行的任务,工作方式类似一次性计划任务(cron)。
$ at midnight warning: commands will be executed using /bin/sh at> echo ‘the spirits of the dead have left’ at> job 3 at Thu Oct 31 00:00:00 2017 |
6、daemons
Linux系统还高度依赖守护进程(daemon)——这种进程在后台运行,提供了系统的许多功能。许多守护进程的名称以“d”结尾。这个“d”代表“daemon”,它表明该进程一直运行,支持某种重要功能。另一些守护进程则将“daemon”这个单词拼出来。
$ ps -ef | grep sshd root 1142 1 0 Oct19 ? 00:00:00 /usr/sbin/sshd -D root 25342 1142 0 18:34 ? 00:00:00 sshd: shs [priv] $ ps -ef | grep daemon | grep -v grep message+ 790 1 0 Oct19 ? 00:00:01 /usr/bin/dbus-daemon –system –address=systemd: –nofork –nopidfile –systemd-activation root 836 1 0 Oct19 ? 00:00:02 /usr/lib/accountsservice/accounts-daemon |