帶你了解可怕的萬圣節(jié)Linux命令
雖然現(xiàn)在不是萬圣節(jié),也可以關注一下 Linux 可怕的一面。什么命令可能會顯示鬼、巫婆和僵尸的圖像?哪個會鼓勵“不給糖果就搗蛋”的精神?
crypt
好吧,我們一直看到 crypt
。盡管名稱不同,crypt 不是一個地窖,也不是垃圾文件的埋葬坑,而是一個加密文件內容的命令?,F(xiàn)在,crypt
通常用一個腳本實現(xiàn),通過調用一個名為 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
命令會創(chuàng)建第二個擴展名為 .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 系統(tǒng)也支持一個名為 shred
的命令。shred
命令會覆蓋文件以隱藏其以前的內容,并確保使用硬盤恢復工具無法恢復它們。請記住,rm
命令基本上只是刪除文件在目錄文件中的引用,但不一定會從磁盤上刪除內容或覆蓋它。shred
命令覆蓋文件的內容。
$ shred dupes.txt
$ more dupes.txt
▒oΛ▒▒9▒lm▒▒▒▒▒o▒1־▒▒f▒f▒▒▒i▒▒h^}&▒▒▒{▒▒
僵尸
雖然不是命令,但僵尸在 Linux 系統(tǒng)上是很頑固的存在。僵尸基本上是沒有完全清理掉的死亡進程的遺骸。進程不應該這樣工作 —— 讓死亡進程四處游蕩,而不是簡單地讓它們死亡并進入數字天堂,所以僵尸的存在表明了讓他們遺留于此的進程有一些缺陷。
一個簡單的方法來檢查你的系統(tǒng)是否有僵尸進程遺留,看看 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
有時會在萬圣節(jié)這么說,死者的靈魂從日落開始游蕩直到午夜。Linux 可以通過 at midnight
命令跟蹤它們的離開。用于安排在下次到達指定時間時運行的作業(yè),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 系統(tǒng)也高度依賴守護進程 —— 在后臺運行的進程,并提供系統(tǒng)的許多功能。許多守護進程的名稱以 “d” 結尾。這個 “d” 代表守護進程,表明這個進程一直運行并支持一些重要功能。有的會用單詞 “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
萬圣節(jié)快樂!
在 Facebook 和 LinkedIn 上加入 Network World 社區(qū)來對主題進行評論。