每個開發人員應該知道的 10 個 Linux 命令
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
作為一名軟體工程師,學習Linux是我所做的最好投資。因為Linux是一個使用者必須理解和維護的系統,所以日常體驗就像向水坑加水滴一樣。時間一長,水坑就會成為湖泊,甚至是海洋。所以我們必須杜微慎防。
今天,我作為一名30多歲的工程師,仍然受益於我幾年前機緣巧合學到的一大堆知識,在我還是一個具有雄心壯志的初學者的時候。在另一篇部落格中,我已經更詳細地解釋了為什麼Linux對於軟體開發人員來說是一個更加務實的選擇。
在這篇博文中,我將分享一些不太受歡迎但非常有用的Linux命令,我個人極力推薦。如果你是在Macbook上工作,那也沒關係,因為我提到的大部分命令也存在於OSX系統中。
10.file
返回給定檔案的資訊。例如,你可以輸出影像的尺寸資訊:
file logo.png
返回:
> PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
9.iotop,powertop,nethogs
你怎麼監控Linux系統中正在發生的情況?這三個命令是你的救星:
iotop
:通過磁碟寫入對程式進行排序,並顯示程式寫入磁碟的次數和頻率。powertop
:通過能量消耗列出流程。當你在外面,在某個地方你不能為膝上型電腦充電的地方時,這是一個至關重要的命令。nethogs
:通過網路流量列出程式。
8.tee
它會分割程式的輸出,從而可以列印和儲存。例如,新增一個新的條目到hosts檔案;
echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts
7.pidof,kill和pkill
這三個重要的命令可以幫助你控制系統中的執行程式。
pidof
列印出正在執行的程式的程式ID。例如,以下命令將輸出nginx的程式ID:
pidof nginx
你可以通過kill
命令殺死nginx:
kill -USR2 $(pidof nginx)'
pkill是一個快捷命令,可以殺死程式匹配模式:
pkill -f nginx
6.tmux
如果還沒有安裝tmux的話,那麼你必須安裝。Tmux是終端的優秀視窗和會話管理器。
5.tree
以樹狀格式列出目錄的內容。它有整潔的選項,如只顯示目錄;
tree -d
4.find
當我們正在數十個檔案中尋找特定檔案時,這個命令就是救星。我將在這裡介紹幾個簡單的用例。
示例1:列出所有CSS檔案(包括子目錄):
find . -type f -name "*.css"
示例2:列出所有CSS或HTML檔案:
find . -type f \( -name "*.css" -or -name "*.html" \)
3.htop
有名的過程監控。它有一個漂亮又多彩的命令列介面。一些有用的鍵繫結:
- \過濾器
- /搜尋
- ,選擇排序條件
- k傳送殺死訊號
- u使用者過濾結果
- t開啟/關閉樹模式
- -和+ 摺疊 / 展開選定的流程樹
- H關閉顯示執行緒
2.chroot
很多人喜歡這個命令,是因為它在給定的目錄中開啟了一個新的TTY。這意味著,你可以建立一個資料夾,在其中設定一個新的Linux系統,並隨時切換到該“子系統”。
是不是很強大?
1.dialog
在命令列上與使用者互動的一種非常簡單又良好的方式。例如,下面的命令展示了一個不錯的輸入框:
dialog --title "Oh hey" --inputbox "Howdy?" 8 55
它既存在於Linux,也存在於OSX系統上,並支援許多其他型別的對話方塊;訊息框,選單,確認,進度條…我為Happy Hacking Linux編寫的安裝嚮導就是用這個令人驚歎的命令製作的!
譯文連結:http://www.codeceo.com/article/10-linux-command-every-programmer-must-know-2.html
英文原文:10 Linux Commands Every Developer Should Know
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 每個運維人員應該知道的 10 個 Linux 命令!運維Linux
- 每個開發人員都應該知道的 10 個 GitHub 倉庫Github
- 每個開發人員都應該知道的WebSockets知識Web
- 每個 Linux 新手都應該知道的 10 個命令Linux
- 每個Java開發人員應該知道的五種RESTful客戶端程式碼JavaREST客戶端
- 每個JavaScript開發人員都應該瞭解UnicodeJavaScriptUnicode
- Ruby開發人員應該熟悉的10個工具
- 新幹貨:開發人員都應該知道的CLI命令
- 每個JavaScript開發人員都應該知道的新ES2018功能(譯文)JavaScript
- 每個Linux使用者都應該知道的命令列技巧Linux命令列
- 每個極客都應該知道的Linux技巧Linux
- PDB檔案:每個開發人員都必須知道的
- 你應該知道的16個linux命令Linux
- Linux 新手應該知道的 26 個命令Linux
- 開發人員應該學習SQL的9個理由SQL
- 每個開發者都應該知道的33個JavaScript概念JavaScript
- 每個前端應該知道的jquery 細節前端jQuery
- 開發人員都應該知道的開源搜尋引擎
- Web開發人員應當知道的15個開源專案Web
- 每個開發人員應閱讀的9本書 - Victor Rentea
- 每個 Java 開發者都應該知道的 5 個註解Java
- 每個程式設計師應該知道的12個API程式設計師API
- 每個Java開發者都應該知道的5個JDK工具JavaJDK
- IT職場:每個黑帶都應該知道的事
- C#開發人員應該知道的13件事情C#
- 網站開發人員應該知道的61件事網站
- 網站開發人員應該知道的62件事網站
- Web開發/設計人員應當知道的15個網站Web網站
- 每個開發人員都需要了解的一個SQL技巧SQL
- 每個 Java 開發者應該知道(並愛上)的 8 個工具Java
- 每個Android開發者應該知道的6個SDK和APIAndroidAPI
- 每個 Kubernetes 應聘者應該知道的 5 個面試題面試題
- Android開發人員應該知道的一些技術Android
- Web開發人員應當收藏的10個網站Web網站
- Android開發人員應避免的10個誤區Android
- 每個安卓開發初學者應該瞭解的 12 個技巧安卓
- 系統管理員應該知道的 20 條 Linux 命令Linux
- 每個程式設計師應該知道12件事程式設計師