6 個 “嚇人” 的 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 基本上是沒有被完全清除的死亡進程的殘骸。另外,搜索公衆號 Linux 就該這樣學後臺回覆 “git 書籍”,獲取一份驚喜禮包。

進程不應該以這種方式運行——任由死亡進程逗留,而不是僅僅讓它們死亡、進入數字天堂,所以 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> <EOT>

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
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/UZPC56aeUCzg8X0WYbgBgw