這篇文章,我們一起來到 linux 的詭異的一面……
你知道嗎?在我們日常使用的 Unix(和 Linux )及其各種各樣的分支系統中,存在著一些詭異的命令或進程,它們讓人毛骨悚然,有些確實是有害,但也有些卻是有益的。下面就來簡單介紹一下這些家伙吧。
1. daemon
daemon 有一個很高大上的中文名字,叫 守護進程 。
有句話是這么說的,如果 Unix 中沒有了守護進程,那么 Unix 就不會是相同的。
它很有個性,是一個運行在后臺且不受終端控制的進程,其大多數都是隨著系統啟動而啟動,無特殊情況下會一直保持運行直到系統關閉。
它的存在為我們用戶和系統本身提供有用的服務。常見的有 httpd,MySQLd,syslogd 等,一般守護程序名稱會以 d 結尾。
2020 精選 阿里/騰訊等一線大廠 面試、簡歷、進階、電子書 私聊我「1024」免費獲取
2. zombie
zombie ,僵尸?什么鬼?聽著就讓人害怕。
不過,它在 Linux 中指的是當一個進程被殺死后,其實它并不會馬上消失,而是變成了 zombie ,即僵尸進程,然后等待其父進程搜集完它的信息才會被清除。
一般這種搜集信息的過程會很快完成,但有時它的父進程很忙,該僵尸進程就會一直呆在我們的系統中。
系統運行過程中時不時地會產生一些僵尸進程,我們無法直接殺死它們,因為它們已經死了,我們只能采取別的手段,比如說殺死它的父進程,然后由 init 來回收這個僵尸進程。
僵尸進程的出現通常表示產生它的進程除了問題,而且它會消耗資源,要防止它的出現。
3. kill
kill ,一個冷酷無情的單詞。
顧名思義,kill 是一個用于殺死進程的命令,其使用方法簡單粗暴。當你發現一個占用太多內存或者 CPU 資源的進程并造成了負面影響時,建議您可以直接用 kill 干掉它。
若你遇到僵尸進程殺不掉?別慌,去找它的父進程吧,按上面提到的方法來處理。
2020 精選 阿里/騰訊等一線大廠 面試、簡歷、進階、電子書 私聊我「1024」免費獲取
4. cat
cat,貓?這又是什么奇怪的東西?Linux中除了僵尸還有貓?
其實,cat 命令是 concatenate 的簡寫,也就是連接的意思,這么解釋你就懂了。
它的作用是組合文件。另外,你甚至可以用這個方便的命令來查看文件的內容。
5. tail
tail,尾巴。這個怪怪的命令解釋起來就比較容易了。
當你想要查看文件的最后 n 行時,使用 tail 命令就很方便了。
另外,當你想要監控文件時,你也可以用它。比如觀察日志文件,tail 命令會顯示尾部的內容并且可以實時更新,是不是很厲害呢?
6. which
which,別看了前面幾個詭異的命令就和 witch(女巫)搞混了。它不是那種童話中陰森惡毒的女巫,它是 which,是負責打印傳遞給它的任何命令相關聯的文件的位置的家伙。
例如,我們想要獲取 Python 的位置,我們就可以用 which python ,它就會在你的系統上打印每個版本的 Python 的位置。
2020 精選 阿里/騰訊等一線大廠 面試、簡歷、進階、電子書 私聊我「1024」免費獲取
7. crypt
crypt,地下室,這個命令也很好懂。
當你想要保管好自己的東西不被別人知道,放到地下室鎖起來是一個很好的辦法。
crypt 在 Linux 中的含義是加密,現在被稱為 mcrypt ,當你想要對文件進行加密而不被別人讀取,這個命令會很方便。與大多數 Linux 命令一樣,您可以單獨使用 crypt ,也可以在系統腳本中使用。
8. shred
shred,切碎。我想你看到這里已經對這些怪異的詞語見怪不怪了。
它是個非常狠的家伙,作用是粉碎文件。當我們想要刪除文件,我們會用 rm 命令,但這是有手段進行恢復的,那我們不想讓別人恢復怎么辦?沒錯,sherd 的作用就此。shred 能多次覆蓋文件以前占用的空間。所以說,用這個命令一點要做好心理準備,因為神仙難救。