每個開發人員應該知道的 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
- 每個 Linux 新手都應該知道的 10 個命令Linux
- 每個開發人員都應該知道的WebSockets知識Web
- 每個Java開發人員應該知道的五種RESTful客戶端程式碼JavaREST客戶端
- 每個JavaScript開發人員都應該知道的新ES2018功能(譯文)JavaScript
- 每個JavaScript開發人員都應該瞭解UnicodeJavaScriptUnicode
- 每個開發者都應該知道的33個JavaScript概念JavaScript
- 每個人都應該知道的jQuery的提示jQuery
- 你應該知道的16個linux命令Linux
- 每個 Java 開發者都應該知道的 5 個註解Java
- 新幹貨:開發人員都應該知道的CLI命令
- 每個綠帶都應該知道的事
- 每個開發人員應閱讀的9本書 - Victor Rentea
- 每個 Kubernetes 應聘者應該知道的 5 個面試題面試題
- Android開發人員應該知道的一些技術Android
- IT職場:每個黑帶都應該知道的事
- 每個人都應該懂點攻防
- 每個人都應該知道網站建設的製作流程與方法!網站
- 每個Python新手都應該知道的程式設計技巧Python程式設計
- 每個開發都應該懂的正規表示式
- 【還沒開始】每個前端開發人員都應瞭解的延遲資料前端
- 每個黑帶大師都應該知道的10件事(建議收藏)
- 重要!每個開發者都應該掌握的9個核心演算法演算法
- 每個開發者都應該使用的VSCode外掛 - tvkoushikVSCode
- Reflect API:每個 JavaScript 開發人員都需要的瑞士軍刀APIJavaScript
- 10 個你應該知道的 PHP 比特幣開源專案PHP比特幣
- 每個程式設計師都應該知道的下一個程式語言——Kotlin程式設計師Kotlin
- 每個資料科學專家都應該知道的六個概率分佈資料科學概率分佈
- Java開發人員必備Linux命令JavaLinux
- 每個高階前端工程師都應該知道的前端佈局前端工程師
- 每週節省前端開發人員5個小時的五個VSCode外掛 - nickbulljs前端VSCodeJS
- 每個Java軟體架構師都應該知道的20件事Java架構
- 學Java開發每個階段最應該被攻克的難點分享!Java
- Linux 運維人員最常用 150 個命令總結Linux運維
- 運維人員最常用150個Linux命令彙總運維Linux
- 開發人員應該害怕低程式碼嗎?
- IT安全專業人員應該知道的12件事
- [譯] 優秀 JavaScript 開發人員應掌握的 9 個技巧JavaScript