虽然现在不是万圣节, 也可以关注一下 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Λ9lmo1־ffih^}&{
僵尸
虽然不是命令, 但僵尸在 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
万圣节快乐!
在 Facebook https://www.facebook.com/NetworkWorld/ 和 LinkedIn https://www.linkedin.com/company/network-world 上加入 Network World 社区来对主题进行评论.
来源: http://os.51cto.com/art/201804/570720.htm