查看原文
其他

可怕的万圣节 Linux 命令

Linux爱好者 2019-04-02

(点击上方公众号,可快速关注)


英文:Sandra Henry-stocker,翻译:Linux中国/geekpi

linux.cn/article-9552-1.html



虽然现在不是万圣节,也可以关注一下 Linux 可怕的一面。什么命令可能会显示鬼、巫婆和僵尸的图像?哪个会鼓励“不给糖果就捣蛋”的精神?


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 命令不鼓励这样做。


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


shred


Linux 系统也支持一个名为 shred 的命令。shred 命令会覆盖文件以隐藏其以前的内容,并确保使用硬盘恢复工具无法恢复它们。请记住,rm 命令基本上只是删除文件在目录文件中的引用,但不一定会从磁盘上删除内容或覆盖它。shred 命令覆盖文件的内容。


$ shred dupes.txt

$ more dupes.txt

▒oΛ▒▒9▒lm▒▒▒▒▒o▒1־▒▒f▒f▒▒▒i▒▒h^}&▒▒▒{▒▒


僵尸


虽然不是命令,但僵尸在 Linux 系统上是很顽固的存在。僵尸基本上是没有完全清理掉的死亡进程的遗骸。进程不应该这样工作 —— 让死亡进程四处游荡,而不是简单地让它们死亡并进入数字天堂,所以僵尸的存在表明了让他们遗留于此的进程有一些缺陷。


一个简单的方法来检查你的系统是否有僵尸进程遗留,看看 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


可怕!上面显示有三个僵尸进程。


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> <EOT>

job 3 at Thu Oct 31 00:00:00 2017


守护进程


Linux 系统也高度依赖守护进程 —— 在后台运行的进程,并提供系统的许多功能。许多守护进程的名称以 “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



看完本文有收获?请分享给更多人

关注「Linux 爱好者」,提升Linux技能

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存