本文轉載於其它網站,原做者若有問題,請您及時聯繫我,及時刪除!算法
哪些Linux命令會讓人聯想到妖魔鬼怪?不妨好好瞧一瞧!app
每一年一度的萬聖節立刻就要到來,是時候稍微關注一下Linux那嚇人的一面了。哪些Linux命令會讓人聯想到鬼、巫婆和殭屍?哪些命令又會滋長惡做劇精神?ssh
cryptide
好吧,咱們一直都有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.spa
Enter passphrase:命令行
Enter passphrase:orm
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