是時候稍微關注一下 Linux 那嚇人的一面了。算法
好吧,咱們一直都有crypt。顧名思義,crypt不是存放垃圾文件的地宮或墓坑,而是加密文件內容的命令。shell
現在,「crypt」一般做爲一個腳本而實現:經過調用一個名爲mcrypt的二進制程序,模擬較舊的crypt命令,從而發揮其功用。直接使用mycrypt命令是一種更好的選擇。ssh
$ 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」。ide
它並不覆蓋你在加密的文件。mcrypt命令有密鑰大小和加密算法方面的選項。你還能夠指定密鑰做爲一個選項,不過mcrypt命令不鼓勵這麼作。工具
還有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
Linux系統還支持一種名爲shred的命令。shred命令覆蓋文件以隱藏之前的內容,並確保沒法使用硬盤恢復工具來恢復它們。請記住:rm命令基本上只是刪除目錄文件中的文件引用,但不必定從磁盤上擦除內容或覆蓋內容。shred命令纔是覆蓋文件的內容。3d
$ shred dupes.txt $ more dupes.txt ▒oΛ▒▒9▒lm▒▒▒▒▒o▒1־▒▒f▒f▒▒▒i▒▒h^}&▒▒▒{▒▒
zombiescode
雖然zombies(殭屍進程)不是一個命令,但它在Linux系統上卻根深蒂固。zombies基本上是沒有被徹底清除的死亡進程的殘骸。blog
進程不該該以這種方式運行——任由死亡進程逗留,而不是僅僅讓它們死亡、進入數字天堂,因此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
死人的靈魂會從日落一直遊蕩到深夜。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系統還高度依賴守護進程(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
文章轉自:twt企業IT社區