每個開發人員應該知道的 10 個 Linux 命令

作為一名軟件工程師,學習Linux是我所做的最好投資。因為Linux是一個用戶必須理解和維護的系統,所以日常體驗就像向水坑加水滴一樣。時間一長,水坑就會成為湖泊,甚至是海洋。所以我們必須杜微慎防。

今天,我作為一名30多歲的工程師,仍然受益於我幾年前機緣巧合學到的一大堆知識,在我還是一個具有雄心壯志的初學者的時候。在另一篇博客中,我已經更詳細地解釋了為什麼Linux對於軟件開發人員來說是一個更加務實的選擇。

在這篇博文中,我將分享一些不太受歡迎但非常有用的Linux命令,我個人極力推薦。如果你是在Macbook上工作,那也沒關係,因為我提到的大部分命令也存在於OSX系統中。

每個開發人員應該知道的 10 個 Linux 命令

10.file

返回給定文件的信息。例如,你可以輸出圖像的尺寸信息:

<code>file logo.png/<code>

返回:

<code> PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced/<code>

9.iotop,powertop,nethogs

你怎麼監控Linux系統中正在發生的情況?這三個命令是你的救星:

  • iotop:通過磁盤寫入對進程進行排序,並顯示程序寫入磁盤的次數和頻率。
  • powertop:通過能量消耗列出流程。當你在外面,在某個地方你不能為筆記本電腦充電的地方時,這是一個至關重要的命令。
  • nethogs:通過網絡流量列出進程。

8.tee

它會分割程序的輸出,從而可以打印和保存。例如,添加一個新的條目到hosts文件;

<code>echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts/<code>

7.pidof,kill和pkill

這三個重要的命令可以幫助你控制系統中的運行程序。

pidof打印出正在運行的程序的進程ID。例如,以下命令將輸出nginx的進程ID:

<code>pidof nginx/<code>

你可以通過kill命令殺死nginx:

<code>kill -USR2 $(pidof nginx)'/<code>

pkill是一個快捷命令,可以殺死進程匹配模式:

<code>pkill -f nginx/<code>

6.tmux

如果還沒有安裝tmux的話,那麼你必須安裝。Tmux是終端的優秀窗口和會話管理器。

5.tree

以樹狀格式列出目錄的內容。它有整潔的選項,如只顯示目錄;

<code>tree -d/<code>

4.find

當我們正在數十個文件中尋找特定文件時,這個命令就是救星。我將在這裡介紹幾個簡單的用例。

示例1:列出所有CSS文件(包括子目錄):

<code>find . -type f -name "*.css"/<code>

示例2:列出所有CSS或HTML文件:

<code>find . -type f \\( -name "*.css" -or -name "*.html" \\)/<code>

3.htop

有名的過程監控。它有一個漂亮又多彩的命令行界面。一些有用的鍵綁定:

  • \\過濾器
  • /搜索
  • ,選擇排序條件
  • k發送殺死信號
  • u用戶過濾結果
  • t打開/關閉樹模式
  • -和+ 摺疊 / 展開選定的流程樹
  • H關閉顯示線程

2.chroot

很多人喜歡這個命令,是因為它在給定的目錄中打開了一個新的TTY。這意味著,你可以創建一個文件夾,在其中設置一個新的Linux系統,並隨時切換到該“子系統”。

是不是很強大?

1.dialog

在命令行上與用戶交互的一種非常簡單又良好的方式。例如,下面的命令展示了一個不錯的輸入框:

<code>dialog --title "Oh hey" --inputbox "Howdy?" 8 55/<code>

它既存在於Linux,也存在於OSX系統上,並支持許多其他類型的對話框;消息框,菜單,確認,進度條…我為Happy Hacking Linux編寫的安裝嚮導就是用這個令人驚歎的命令製作的!


分享到:


相關文章: