Linux中國

Linux系統管理員的命令行工具箱目錄

這篇文章會介紹一些系統管理員日常活動中最常用和有效的命令行工具。如果你想推薦其他沒在這裡列出來的好用的工具,別忘了在評論區里分享一下。

網路工具

  1. ping:通過ICMP回應/回復報文來檢查遠端主機的端到端連接性(RTT延時,抖動,丟包)。用來檢查系統狀態和可連接性很不錯。
  2. hping:網路掃描和檢測工具,可以產生ICMP/TCP/UDP ping數據包。常常用於高級埠掃描,防火牆測試,手動MTU路徑發現和碎片測試。
  3. traceroute:通過TTL限定的ICMP/UDP/TCP偵測包來發現從本地主機到遠端目標主機之間的第三層轉發路徑。用來調試網路連接性和路由問題。
  4. mtr:traceroute的一個變種,能根據運行時統計數據整理出每一跳的包丟失/抖動。用來評估路由路徑延時很不錯。
  5. netcat/socat:TCP/IP網路里的瑞士軍刀,可以讀/寫 TCP/UDP 協議位元組流。用來調試防火牆策略和服務可用性很不錯。
  6. dig:DNS調試工具,可以生成正向查詢,反向查詢,搜索域名伺服器,檢查CNAME,MX和其他DNS記錄。可以在偵錯的時候查詢特定的DNS伺服器。
  7. nslookup:另外一個DNS檢查/調試工具。支持所有DNS查詢和記錄。可以查詢特定DNS伺服器。
  8. dnsyo:一個DNS測試工具,通過對全世界1500個不同網路中的大量開放解析器執行DNS查詢來測試DNS傳輸。
  9. lsof:顯示進程打開的文件信息(例如,普通文件,管道或套接字)。用來監視網路連接很不錯。
  10. iftop:一個基於ncurses的命令行界面應用,可以實時監視各個網路物理介面上的網路連接和帶寬佔用。用來記錄霸佔帶寬的應用、用戶、目的地和埠等很不錯。
  11. netstat:一個網路統計工具,可以顯示狀態以及統計信息,當前網路連接(TCP/UDP埠,IP地址)、路由表、TX/RX traffic以及網路協議。用來做網路相關診斷和性能調試很不錯。
  12. tcpdump:一個常用的基於libpcap抓包庫的包偵測工具。可以按伯克利包過濾器格式定義抓包條件。
  13. tshark:另一個命令行抓包工具,和它的GUI版本Wireshark完全兼容。支持1000種協議而且這個列表還在增加。用來調試、分析和保存實時網路封包信息很不錯。
  14. ip:一個多功能的命令行網路工具,是iproute2包的一部分。可以檢查和修改路由表、網路設備狀態以及IP隧道設置。用來查看路由表、增加/刪除靜態路由、配置網路介面、以及調試路由問題很有用。
  15. ifup/ifdown:用來激活和關閉特定的網路介面。經常用於重啟整個網路服務。
  16. autossh:一個能建立SSH連接並在斷線後自動重新連接的程序。用來創建長時間保持的穿越嚴格企業網路的SSH隧道很有用。
  17. iperf:一個網路測試工具,通過在發送自定義TCP/UDP數據流來衡量主機間雙向最大吞吐量。
  18. elinks/lynx:為基於命令行的伺服器環境下使用的基於文字的網頁瀏覽器。

安全工具

  1. iptables:一個用戶空間下的命令行工具,用於配置Linux內核防火牆。可以創建和修改Linux內核空間的網路包接收、轉發和發送規則。
  2. nmap:一個常用的為了安全審查目的的埠掃描和網路發現工具。用來在本地網路中找出哪些主機開機並運行起來了以及某台特定主機打開了哪些埠很有用。
  3. TCP Wrappers:一個主機端的網路訪問控制列表工具,可以過濾進入/出去的網路請求/回復。經常配合iptables一起使用,作為額外一層安全保護。
  4. getfacl/setfacl:查看和定製文件和目錄的訪問控制列表,作為傳統文件許可權的擴展。
  5. cryptsetup:用於創建和管理LUKS加密磁碟分區。
  6. lynis:一個命令行的漏洞掃描工具。可以掃描整個Linux系統,並彙報潛在的漏洞以及相關可能解決方案。
  7. maldet:一個惡意軟體掃描命令行工具,可以檢測和隔離潛在的感染文件。可以在後台運行長期監視。
  8. rkhunter/chkrootkit:一個命令行工具,可以掃描本地系統里的潛在木馬、隱藏後門和可疑利用,並禁用它們。

存儲工具

  1. fdisk:一個磁碟分區編輯工具。用於查看、創建和修改本地磁碟或可移動磁碟的分區。
  2. sfdisk:fdisk的一個變種,能用一種非交互的方式訪問或更新磁碟分區表。用來自動化備份和恢復過程中的磁碟分區很有用。
  3. parted:另一個磁碟分區編輯器,支持超過2TB的磁碟的GPT(GUID分區表)格式。gparted是parted的一個前端GTK+圖形界面。
  4. df:用來查看不同分區或文件路徑的已用/可用存儲空間和掛載點。還有一個更易用的變種dfc。
  5. du:用來查看不同文件和目錄的當前磁碟佔用情況(例如,du -sh *)。
  6. mkfs:一個磁碟格式化命令,用來在獨立磁碟分區上建立文件系統。有多個文件系統相關的版本:ext2、ext3、ext4、bfs、ntfs、vfat/fat。
  7. fsck:一個命令行工具,用來檢查文件系統錯誤並嘗試可能的修復。通常在啟動時自動運行,但是在卸載一個分區後也可以根據需要手動運行。
  8. mount:用來映射一個物理磁碟分區、網路共享或遠程存儲到一個本地掛載點。任何對掛載點裡的讀/寫操作都是對應實際存儲的實際數據讀/寫。
  9. mdadm:一個命令行工具,用來管理物理塊設備上的軟體RAID設備。可以創建、構造、增長或監視RAID陣列。
  10. lvm:一套命令行工具集,用來管理卷分組和物理/邏輯卷,可以用最小的停機時間在多個物理磁碟上創建、調整大小、拆分和合併卷。

日誌訪問工具

  1. tail:用來查看一個(增長中的)日誌文件的尾部。有幾個變種,包括multitail(多窗口查看)和ztail(支持inotify和正則表達式過濾以及顏色)。
  2. logrotate:一個命令行工具,可以在根據設定的時間段拆分、壓縮並通過郵件發送舊的/大的日誌文件。用來管理可能產生大量日誌文件的繁忙主機很有用。
  3. grep/egrep:可以通過特定的模式或正則表達式過濾日誌內容。變種包括用戶更友好的ack和速度更快的ag。
  4. awk:一個多功能的文本掃描和處理工具。常用於從文本/日誌文件中找出特定的列或內容,並輸出給其他工具。
  5. sed:一個文本流編輯工具,可以過濾和改變(例如,刪除行/空格、替換/轉換單詞、增加計數)文本流並通過管道連接到stdout/stderr或者其他工具。

備份工具

  1. rsync:一個快速的單向增量備份和鏡像工具(LCTT 譯註:rsync 應是雙向的)。常用於複製一個數據倉庫到線下存儲,可以選擇通過SSH或stunnel的加密連接。
  2. rdiff-backup:另一個有效利用帶寬的增量備份工具。管理兩個連續快照之間的差分。
  3. duplicity:一個加密的增量備份工具。使用GnuPG加密備份,並通過SSH上傳到遠程伺服器。

性能監視工具

  1. top:一個命令行的進程查看程序。可以監視系統負載、進程狀態、CPU和內存佔用。有一個更易用的變種htop。
  2. ps:顯示系統所有運行中進程的一個快照。輸出可以定製成顯示PID、PPID、用戶、負載、內存、積累的用戶/系統時間、啟動時間、以及更多。有一個變種pstree可以用樹結構顯示進程。
  3. nethogs:一個帶寬監視工具,按進程來分組顯示活動網路連接,實時彙報每個進程佔用的(上傳/下載)帶寬。
  4. ngxtop:一個網頁伺服器訪問日誌解析和監視工具,界面受到了top命令啟發。它可以實時彙報整理過的頁面請求列表,包括頻率、大小、HTTP返回值、IP地址,等等。
  5. vmstat:一個簡單的命令行工具,可以顯示多個實時系統特徵,例如進程數、剩餘內存、分頁狀態、CPU佔用、塊設備I/O活動、中斷/上下文切換統計、等等。
  6. iotop:一個基於ncurses的I/O監視工具,可以實時排序顯示所有運行中進程的磁碟I/O活動。
  7. iostat:一個命令行工具,可以彙報當前CPU使用情況,以及設備I/O使用情況,這裡的I/O使用情況(例如,塊傳輸速度、位元組讀/寫速度)是按設備或分區來彙報的。

效率工具

  1. screen:用來把一個單一的終端拆分成多個持久的虛擬終端,也支持遠程用戶訪問,類似teamviewer的屏幕分享功能。
  2. tmux:另一個終端復用工具,可以支持多個長期會話,還可以橫向/縱向拆分終端。
  3. cheat:一個簡單的命令行工具,可以讓你查看多個常用Linux命令的備忘錄,就在手邊非常方便。內建的備忘錄也可以完全定製。
  4. apropos:用來在幫助手冊里查找描述或關鍵字很有用。

包管理工具

  1. apt:基於Debian系統的事實上的包管理工具,例如Debian、Ubuntu或Backtrack。一個救生圈。
  2. apt-fast:apt-get的一個支撐應用,可以通過多個並行連接明顯提高apt-get的下載速度。
  3. apt-file:用來查看某個特定文件屬於哪個.deb包,或者顯示一個特定.deb包里的所有文件。已安裝和未安裝的包都能支持。
  4. dpkg:一個用來手動安裝.deb包的命令行工具。強烈建議儘可能的使用apt。
  5. yum:用於基於紅帽的系統的自動包管理工具,比如RHEL、CentOS或Fedora。這是另一個救生圈!
  6. rpm:通常我都是使用 rpm 來配合 yum 使用。有很多有用的參數,比如-q、-f、-l可以分別用來查詢、指定文件和路徑。

硬體工具

  1. lspci:一個命令行工具,可以顯示已安裝的PCI設備的各種信息,比如型號名稱、設備驅動、設備功能、內存地址、PCI匯流排地址。
  2. lshw:一個命令行工具,可以查詢和顯示不同分類下的硬體配置的詳細信息(例如,處理器、內存、主板、網路、存儲)。支持多重輸出格式:html、xml、json、text。
  3. inxi:一個綜合硬體查看工具,可以提供不同硬體模塊的總覽,例如CPU,顯卡,音效卡,網卡,溫度/風扇感測器,等等。

如果你希望推薦沒有列在這裡的好用的工具,不要客氣,在評論區里分享一下。

via: http://xmodulo.com/2014/08/useful-cli-tools-linux-system-admins.html

作者:Sarmed Rahman 譯者:zpl1025 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國