那些嚇人的 Linux 命令

本文轉載於其它網站,原作者如有問題,請您及時聯繫我,及時刪除!

哪些Linux命令會讓人聯想到妖魔鬼怪?不妨好好瞧一瞧!

v2-b103c623c42ad4296836b787c9fa97a9_hd.jpg

每年一度的萬聖節馬上就要到來,是時候稍微關注一下Linux那嚇人的一面了。哪些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^}&▒▒▒{▒▒

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

好嚇人!上面顯示有三個殭屍進程。

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

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章