天天看點

Linux系統運維必備150個指令彙總線上查詢及幫助指令(2個)檔案和目錄操作指令(18個)檢視檔案及内容處理指令(21個)檔案壓縮及解壓縮指令(4個)資訊顯示指令(11個)搜尋檔案指令(4個)使用者管理指令(10個)基礎網絡操作指令(11個)深入網絡操作指令(9個)有關磁盤與檔案系統的指令(16個)系統權限及使用者授權相關指令(4個)檢視系統使用者登陸資訊的指令(7個)系統管理與性能監視指令(9個)關機/重新開機/登出和檢視系統資訊的指令(6個)程序管理相關指令(15個)

線上查詢及幫助指令(2個)

  • man:全拼manual,用來檢視系統中自帶的各種參考手冊。
  • help:用于顯示shell内部指令的幫助資訊。

檔案和目錄操作指令(18個)

  • ls:全拼list,列出目錄的内容及其内容屬性資訊。
  • cd:全拼change directory,切換目前工作目錄至dirName(目錄參數)。其中dirName表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home目錄。另外,“~”也表示為home目錄的意思,“.”是表示目前所在的目錄,“..”則表示目前目錄位置的上一層目錄。
  • cp:全拼copy,複制檔案或目錄。
  • find:用來在指定目錄及目錄下查找檔案。
  • mkdir:全拼make directories,建立目錄。
  • mv:全拼move,移動或重命名檔案。
  • pwd:全拼print working directory,顯示目前工作目錄的絕對路徑。
  • rename:可用字元串替換的方式批量改變檔案名。
  • rm:全拼remove,删除一個或多個檔案或目錄。必須格外小心地使用該指令。
  • rmdir:全拼remove empty directories,删除空目錄。
  • touch:修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。
  • tree:以樹狀圖列出目錄的内容。它會列出指定目錄下的所有檔案,包括子目錄裡的檔案。
  • basename:顯示檔案名。用于去掉檔案名的目錄和字尾。
  • dirname:顯示給定路徑的目錄部分。
  • chattr:全拼change file attributes,改變檔案的擴充屬性。
  • lsattr:全拼list file attributes,顯示檔案擴充屬性。
  • file:用來識别檔案類型。
  • md5sum:用于生成和校驗檔案的md5值。它會逐位對檔案的内容進行校驗,它常用于檢查檔案的完整性。

檢視檔案及内容處理指令(21個)

  • cat:全拼concatenate,用于連接配接多個檔案并且列印到螢幕輸出或重定向到指定檔案中,可檢視檔案内容。
  • tac:cat的反向拼寫,是以指令的功能為反向顯示檔案内容。檔案内容的最後一行先顯示,第一行最後顯示。
  • more:一頁一頁的形式顯示檔案内容,更友善使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明檔案,按 h 。
  • less:less 可以随意浏覽檔案,而 more 僅能向前移動,卻不能向後移動,而且 less 在檢視之前不會加載整個檔案。
  • head:顯示檔案的開頭的内容。在預設情況下,head指令顯示檔案的頭10行内容。
  • tail:檢視檔案尾部内容,有一個常用的參數 -f 常用于查閱正在改變的檔案。可以看到最新的檔案内容。
  • cut:将檔案的每一行按指定分隔符分割并輸出。
  • split:分割檔案為不同的小片段。
  • paste:用于合并檔案的列。paste指令會把每個檔案以列對列的方式,一列列地加以合并。
  • sort:将文本檔案内容加以排序,sort可針對文本檔案的内容,以行為機關來排序。
  • uniq:全拼uniqique,用于檢查及删除文本檔案中重複出現的行列。
  • wc:統計檔案的行數、單詞數或位元組數等。
  • iconv:轉換檔案的編碼格式。
  • dos2unix:是将Windows DOS格式檔案轉換為Unix、Linux格式的實用指令。Windows格式檔案的換行符為\r\n ,而Unix&Linux檔案的換行符為\n.。dos2unix指令其實就是将檔案中的\r\n 轉換為\n。
  • diff:全拼difference,diff以逐行的方式比較檔案的差異。
  • vimdiff:指令行可視化檔案比較工具,常用于文本檔案。
  • rev:全拼reverse,rev指令将檔案中的每行内容以字元為機關反序輸出,即第一個字元最後輸出,最後一個字元最先輸出,依次類推。
  • grep/egrep:全拼(Extend)Global standard Research Expression Print out the line,是一種文本搜尋工具,可以通過使用指定的通配符/正規表達式來實作文本搜尋功能。
  • join:用于将兩個檔案中,指定欄位内容相同的行連接配接起來。找出兩個檔案中,指定欄位内容相同的行,并加以合并,再标準輸出。
  • tr:拼translate,tr指令用于轉換或删除檔案中的字元。tr 指令從标準輸入裝置讀取資料,經過字元串轉譯後,将結果輸出到标準輸出裝置。
  • vi/vim:vi編輯器是所有Unix及Linux系統下标準的編輯器,它的強大不遜色于任何最新的文本編輯器。Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等友善程式設計的功能特别豐富,在程式員中被廣泛使用。

檔案壓縮及解壓縮指令(4個)

  • tar:tar指令是用來建立,還原備份檔案的工具程式,它可以加入,解開備份檔案内的檔案。
  • unzip:unzip指令用于解壓縮zip檔案。
  • gzip:gzip指令用于壓縮檔案。gzip是個使用廣泛的壓縮程式,檔案經它壓縮過後,其名稱後面會多出".gz"的擴充名。
  • zip:zip指令可以用來将檔案壓縮成為常用的zip格式。

資訊顯示指令(11個)

  • uname:全拼Unix name,用于顯示系統資訊。
  • hostname:hostname指令用于顯示和設定系統的主機名稱。環境變量HOSTNAME也儲存了目前的主機名。在使用hostname指令設定主機名後,系統并不會永久儲存新的主機名,重新啟動機器之後還是原來的主機名。如果需要永久修改主機名,需要同時修改/etc/hosts和/etc/sysconfig/network的相關内容。
  • dmesg:全拼diagnostic message,用于顯示開機資訊,診斷系統故障。kernel會将開機資訊存儲在ring buffer中。若是開機時來不及檢視資訊,可利用dmesg來檢視。開機資訊亦儲存在/var/log目錄中,名稱為dmesg的檔案裡。
  • uptime:顯示系統運作時間及負載。
  • stat:全拼status,用于顯示檔案和檔案系統狀态屬性。
  • du:全拼disk usage,顯示指定的目錄或檔案所占用的磁盤空間。
  • df:全拼disk free,用于顯示目前在Linux系統上的檔案系統的磁盤使用情況統計。
  • top:top指令是Linux下常用的性能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似于Windows的任務管理器。top是一個動态顯示過程,即可以通過使用者按鍵來不斷重新整理目前狀态。如果在前台執行該指令,它将獨占前台,直到使用者終止該程式為止。比較準确的說,top指令提供了實時的對系統處理器的狀态監視。
  • free:free指令顯示Linux系統中空閑的、已用的實體記憶體及swap記憶體,及被核心使用的buffer。在Linux系統監控的工具中,free指令是最經常使用的指令之一。
  • date:date指令可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式。
  • cal:全拼calendar,cal指令用來顯示公曆月曆。

搜尋檔案指令(4個)

  • which:which指令用于查找檔案。which指令會在環境變量$PATH設定的目錄裡查找符合條件的檔案。
  • find:從磁盤周遊查找檔案或目錄。
  • whereis:該指令會在特定目錄環境變量PATH路徑查找符合條件的檔案。這些檔案應屬于原始代碼、二進制檔案,或是幫助檔案。
  • locate:locate指令用于查找符合條件的文檔,他會去儲存文檔和目錄名稱的資料庫内,查找合乎範本樣式條件的文檔或目錄。一般情況我們隻需要輸入 locate your_file_name 即可查找指定檔案。locate與find 不同: find 是去硬碟找,locate 隻在資料庫中找。locate的速度比find快,它并不是真的查找,而是查資料庫。

使用者管理指令(10個)

  • useradd:建立使用者帳号。使用useradd指令所建立的帳号,實際上是儲存在/etc/passwd文本檔案中。
  • usermod:修改系統已經存在的使用者屬性。
  • userdel:userdel指令用于删除使用者帳号。若不加參數,則僅删除使用者帳号,而不删除相關檔案。
  • groupadd:用于建立一個新的使用者工作組。新工作組的資訊将被添加到系統檔案中。
  • passwd:全拼password,passwd指令用來更改使用者的密碼。
  • chage:全拼change,chage指令是用來修改帳号和密碼的有效期限。
  • id:顯示使用者以及所屬群組的實際與有效ID。
  • su:全拼Switch User,su指令用于變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。
  • visudo:visudo編輯/etc/sudoers檔案的專屬指令。sudoers檔案的預設權限是440,即預設無法修改,visudo需要超級使用者權限,可以在不更改sudoers檔案權限的情況下,直接修改sudoers檔案。
  • sudo:sudo指令可以把某些超級使用者權限分類有針對性授權給指定的普通使用者,并且普通使用者不需要知道root密碼就可以使用得到的授權。也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。這樣使用者就可以通過自己的普通帳戶登入實作利用root的權限來管理系統了,當然也就不需要有root賬号及密碼了。

基礎網絡操作指令(11個)

  • telnet:telnet指令使用TELNET協定遠端登入。執行telnet指令開啟終端機階段作業,并登入遠端主機。
  • ssh:使用SSH加密協定遠端登入。
  • scp:全拼secure copy,用于不同主機之間複制檔案。, scp 是 linux 系統下基于 ssh 登陸進行安全的遠端檔案拷貝指令。
  • wget:用來從指定的URL下載下傳檔案。
  • ping:測試主機之間網絡的連通性。
  • route:顯示和設定linux系統的路由表。
  • ifconfig:全拼interfaces config,通常需要以root身份登入或使用sudo以便在Linux機器上使用ifconfig工具。ifconfig工具不僅可以被用來簡單地擷取網絡接口配置資訊,還可以修改這些配置。
  • ifup:啟動網卡。
  • ifdown:關閉網卡。
  • netstat:顯示網絡狀态。利用netstat指令可讓你得知整個Linux系統的網絡情況。
  • ss:全拼Socket Statistics,用來擷取socket統計資訊,它可以顯示和netstat類似的内容。ss的優勢在于它能夠顯示更多更詳細的有關TCP和連接配接狀态的資訊,而且比netstat更快速更高效。

深入網絡操作指令(9個)

  • nmap:全拼Network Mapper,是Linux下的網絡掃描和嗅探工具包。nmap是在網絡安全滲透測試中經常會用到的強大的掃描器。
  • lsof:全名list open files,列出目前系統打開檔案的工具。在linux系統環境下,任何事物都可以以檔案形式存在,通過檔案不僅可以通路正常的資料,還可以通路網絡連接配接和硬體。
  • mail:電子郵件發送和接收工具。
  • mutt:郵件管理指令。
  • nslookup:互動式查詢網際網路DNS伺服器的指令。
  • dig:常用的域名查詢工具,可以用來測試域名系統工作是否正常。
  • host:常用的分析域名查詢工具,可以用來測試域名系統工作是否正常。
  • traceroute:顯示資料包到主機間的路徑。traceroute指令讓你追蹤網絡資料包的路由途徑,預設資料包大小是40Bytes,使用者可另行設定。
  • tcpdump:免費的網絡分析工具。TcpDump可以将網絡中傳送的資料包的“頭”完全截獲下來提供分析。

有關磁盤與檔案系統的指令(16個)

  • mount:用于挂載Linux系統外的檔案。
  • umount:用于卸除檔案系統。
  • fsck:全拼file system check,用來檢查和維護不一緻的檔案系統。若系統掉電或磁盤發生問題,可利用fsck指令對檔案系統進行檢查。
  • parted: 磁盤分區指令,沒有磁盤大小限制。針對大于2TB的硬碟,需要采用GPT分區,使用parted指令進行操作 。
  • mkfs:全拼make filesystem,格式化建立Linux檔案系統。常見的檔案系統有ext2,ext3, ext4 , vfat等。
  • partprobe:從kernel重新讀取分區資訊。
  • e2fsck:檢查ext2/ext3/ext4類型檔案系統。
  • mkswap:用于設定交換區(swap area)。mkswap可将磁盤分區或檔案設為Linux的交換區。
  • swapon:啟用交換分區。
  • swapoff:關閉交換分區。
  • sync:在 linux/unix 系統中,在檔案或資料處理過程中一般先放到記憶體緩沖區中,等到适當的時候再寫入磁盤,以提高系統的運作效率。sync 指令則可用來強制将記憶體緩沖區中的資料立即寫入磁盤。
  • resize2fs:調整ext2/ext3/ext4檔案系統大小。

系統權限及使用者授權相關指令(4個)

  • chmod:全拼Change mode,Linux/Unix 的檔案調用權限分為三級 : 檔案擁有者、群組、其他。chmod指令可以控制檔案如何被他人所調用。
  • chown:全拼Change owner,Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。chown将指定檔案的擁有者改為指定的使用者或組 。
  • chgrp:全拼Change group,用于變更檔案或目錄的所屬群組。
  • umask:顯示或設定權限掩碼。在linux系統中,我們建立一個新的檔案或者目錄的時候,這些新的檔案或目錄都會有預設的通路權限,umask指令與檔案和目錄的預設通路權限有關。若使用者建立一個檔案,則檔案的預設通路權限為 -rw-rw-rw- ,建立目錄的預設權限 drwxrwxrwx ,而umask值則表明了需要從預設權限中去掉哪些權限來成為最終的預設權限值。

檢視系統使用者登陸資訊的指令(7個)

  • whoami:顯示目前有效的使用者名稱。
  • who:顯示目前登入系統的使用者資訊。
  • w:顯示已經登陸系統的使用者清單,并顯示使用者正在執行的指令。
  • last:用于顯示使用者最近登入資訊。
  • lastlog:顯示系統中所有使用者最近一次登入資訊。
  • users:顯示目前登入系統的所有使用者的使用者清單。
  • finger:顯示本地主機現在所有的使用者的登陸資訊。

内置指令及其它(19個)

  • echo:列印變量,或直接輸出指定的字元串。
  • printf:将結果格式化輸出到标準輸出。
  • rpm:管理rpm包的指令。rpm(redhat package manager) 原本是 Red Hat Linux 發行版專門用來管理 Linux 各項套件的程式,由于它遵循 GPL 規則且功能強大友善,因而廣受歡迎。逐漸受到其他發行版的采用。RPM 套件管理方式的出現,讓 Linux 易于安裝,更新,間接提升了 Linux 的适用度。
  • yum:yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。基于RPM包管理,能夠從指定的伺服器自動下載下傳RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。yum提供了查找、安裝、删除某一個、一組甚至全部軟體包的指令。
  • watch:周期性的執行給定的指令,并将指令的輸出以全屏方式顯示。
  • alias:用于設定指令的别名。若僅輸入alias,則可列出目前所有的别名設定。alias的效力僅及于該次登入的操作。若要每次登入是即自動設好别名,可在/etc/profile(全局生效)或.bashrc(目前使用者生效)中設定指令的别名。别名的作用:1)通過給危險指令加一些保護參數,防止人為誤操作。2)把很多複雜的字元串或指令變成一個簡單的字元串或指令。
  • unalias:用于删除别名。
  • date:用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式。
  • clear:清除螢幕。
  • history:顯示曆史記錄和執行過的指令指令。
  • eject:彈出光驅。
  • time:用于測量一個指令的運作時間。
  • nc:一個功能強大的網絡工具,通過它不僅可以探測端口,還能作為用戶端連接配接服務。
  • xargs:全拼extended arguments,給指令傳遞參數的一個過濾器,也是組合多個指令的一個工具。
  • exec:用于調用并執行指令的指令。exec指令通常用在shell腳本程式中,可以調用其他的指令。如果在目前終端中使用指令,則當指定的指令執行完畢後會立即退出終端。
  • export:設定或者顯示環境變量。
  • unset:删除變量或函數。
  • type:用來顯示指定指令的類型,判斷給出的指令是内部指令還是外部指令。
  • bc:任意精度電腦語言,通常在linux下當電腦用。

系統管理與性能監視指令(9個)

  • chkconfig:用于檢查,設定系統的各種服務。這是Red Hat公司遵循GPL規則所開發的程式,它可查詢作業系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。
  • vmstat:全拼Virtual Memory Statistics,用來顯示Linux系統虛拟記憶體狀态,也可以報告關于程序、記憶體、I/O等系統整體運作狀态。
  • mpstat:全拼Multiprocessor Statistics,實時系統監控工具。其報告與CPU的一些統計資訊,這些資訊存放在/proc/stat檔案中。在多CPU系統裡,其不但能檢視所有CPU的平均狀況資訊,而且能夠檢視特定CPU的資訊。
  • iostat:用于輸出CPU和磁盤I/O相關的統計資訊。
  • sar:全拼System Activity Reporter,目前 Linux 上最為全面的系統性能分析工具之一,可以從多方面對系統的活動進行報告。
  • ipcs:用于報告linux中程序間通信設施的狀态,顯示的資訊包括消息清單、共享記憶體和信号量的資訊。
  • ipcrm:用來删除一個或更多的消息隊列、信号量集或者共享記憶體辨別。
  • strace:用于診斷、調試Linux使用者空間跟蹤器。我們用它來監控使用者空間程序和核心的互動,比如系統調用、信号傳遞、程序狀态變更等。
  • ltrace:用來跟蹤程序調用庫函數的情況。

關機/重新開機/登出和檢視系統資訊的指令(6個)

  • shutdown:用來進行關機程式,并且在關機以前傳送訊息給所有使用者正在執行的程式,shutdown 也可以用來重開機。
  • halt:用來關閉正在運作的Linux作業系統。halt指令會先檢測系統的runlevel,若runlevel為0或6,則關閉系統,否則即調用shutdown來關閉系統。
  • poweroff:用來關閉計算機作業系統并且切斷系統電源
  • logout:退出目前登入的Shell。
  • exit:退出目前登入的Shell。
  • Ctrl+d:退出目前登入的Shell的快捷鍵。

程序管理相關指令(15個)

  • bg:将一個在背景暫停的指令,變成繼續執行。
  • fg:将背景中的指令調至前台繼續運作。
  • jobs:檢視目前有多少在背景運作的指令。
  • kill:用于删除執行中的程式或工作。
  • killall:用于終止某個指定名稱的服務所對應的全部程序。
  • pkill:通過程序名終止程序。
  • crontab:用來定期執行程式的指令。當安裝完成作業系統之後,預設便會啟動此任務排程指令。
  • ps:全拼Processes Status,用來列出系統中目前運作的那些程序。ps指令列出的是目前那些程序的快照,就是執行ps指令的那個時刻的那些程序,如果想要動态的顯示程序資訊,就可以使用top指令。
  • pstree:将所有行程以樹狀圖顯示。
  • nice/renice:為未運作指令指定運作時排程優先級的,如果是已運作的指令則需要renice指令。
  • nohup:全拼no hang up,讓背景工作在離開操作終端時,也能夠正确地在背景執行。
  • pgrep:通過程式的名字來查詢程序的工具,一般是用來判斷程式是否正在運作。
  • runlevel:檢視系統目前運作級别。
  • init:用于切換到指定的運作級别。
  • service:用于管理Linux作業系統中服務的指令。它可以啟動、停止、重新啟動和關閉系統服務,還可以顯示所有系統服務的目前狀态。

注:此文來自網際網路進行整理。

繼續閱讀