1. 程式人生 > 其它 >Linux --- 常用shell命令彙總

Linux --- 常用shell命令彙總

一、常用系統命令彙總

1、echo命令:輸出字串或變數提取後的值

語法:echo[字串][$變數]

示例: [root@localhost ~]# echo sssss     >>>sssss

[root@localhost ~]# echo $SHELL    /bin/bash

2、date命令:顯示及設定系統的時間或日期  

語法:date[選項][+指定格式]

示例:[root@localhost ~]# date   >>>Wed Dec 2 20:29:19 CST 2020

[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"    >>>2020-12-02 20:30:42

3、reboot命令:重啟系統,需要獲取root許可權

4、poweroff命令:關閉系統,需要獲取root許可權

5、wget命令:終端中下載網路檔案

語法:wget[引數] 下載地址

引數說明:-b  後臺下載模式
-p  下載到指定目錄
-t  最大嘗試次數
-c  斷電續傳
-p  下載頁面內所有資源,包括圖片,視訊等
-r  遞迴下載

6、ps命令:檢視系統的程序狀態

語法:ps [引數]

引數說明:-a  顯示所有程序(包括其他使用者的程序)
-u  使用者以及其它詳細資訊
-x  顯示沒有控制終端的程序

7、top命令:動態監視程序活動與系統負載等資訊

(執行後想要退出按下q或Ctrl + c)

8、pidof命令:查詢指定服務程序的PID值,eg:pidof sshd

9、kill命令:終止某個指定PID服務程序,eg:kill 2111

10、killall命令:終止某個名稱的服務對應的全部程序,eg:killall httpd

11、clear命令:清屏 清除螢幕上的所有內容,只保留當前提示符,並顯示在新螢幕的第一行

二、系統狀態檢測命令

1、ifconfig命令

語法:ifconfig [網路裝置][引數]

功能:獲取網絡卡配置與網路狀態等資訊

interface:網路介面的名稱,如eth()(網絡卡)

up:啟用網路裝置

down:關閉網路裝置

add:IP地址,即設定網路裝置地址

netmask add:子網掩碼

2、uname命令:檢視當前系統的核心名稱、主機、核心發行版本

uname -a   完整地檢視當前系統的核心名稱、主機名、處理器型別以及作業系統名稱等資訊 

-r  只是查詢核心版本資訊

3、uptima命令:檢視系統負載資訊

功能:平均負載指的是系統在最近1分鐘、5分鐘、15分鐘內的壓力情況;負載值越低越好,儘量不要長期超過1,在生產環境中不要超過5

4、free命令:顯示當前系統記憶體的使用情況

可以在加字尾-h檢視有哪些連綴引數,顯示格式等,如free -m,以MB單位顯示

5、who命令:檢視所有正在登陸本機的使用者的名稱以及它們正在開啟的終端資訊

6、last命令:檢視所有系統的登陸記錄

7、history命令:顯示歷史執行過的命令

歷史命令會被儲存到使用者家目錄中的.bash_history檔案中,可以用cat命令檢視其檔案內容(cat ~/.bash_history)

使用 history -c 命令清除使用者在本機上執行的Linux命令歷史記錄資訊

三、工作目錄切換命令

1、pwd命令:顯示當前所在的工作目錄

示例:[root@localhost ~]# pwd  >>> /root

2、cd命令:用於切換目錄

其他常用:cd -    返回上一次所在目錄

cd..   進入上級目錄

cd~   切換到當前使用者的家目錄

cd~username    切換到其他使用者的家目錄

3、ls命令:顯示指定工作目錄下的內容

格式:ls [選項][檔案]

主要引數舉例:-a   顯示所有的檔案以及目錄

-l   列出檔名稱外,還將檔案形態、許可權、擁有者、檔案大小等詳細資訊列出

-d   檢視目錄屬性資訊

四、文字檔案編輯命令

1、cat命令:檢視內容比較少的純文字檔案

若想顯示行號,可在命令後加 -n 引數

示例:[root@localhost ~]# cat -n .bash_history

2、more命令:檢視內容較多的純文字檔案

比如開啟長篇小說,使用cat不合適,螢幕顯示不下,會不斷翻滾,more開啟後會顯示百分比,可用空格鍵或回車鍵翻頁

3、head命令:檢視文字的前N行

格式:head -n 數字 檔案

示例:[root@localhost ~]# head -n 10 .bash_history

4、tail命令:檢視純文字檔案的後N行或持續重新整理內容(如用於檢視最新日誌檔案)

格式:tail -n 20 檔名    或  tail -f 檔名

5、tr命令:替換檔案中的字元

 格式:tr[原始字元][目標字元]

6、wc命令:統計指定文字的行數,字數,位元組數

-l     只顯示行數

-w     值顯示單詞數

-c     只顯示位元組數

7、stat命令:檢視檔案的具體儲存資訊和時間等資訊

示例:  [root@localhost ~]# stat .bash_history

8、cut命令:按列提取文字字元

-d 引數設定間隔符

-f 引數設定需要看的列數

示例:[root@localhost ~]# cut -d: -f1 /etc/passwd

9、patch與diff命令:打補丁

生產補丁  diff hello1.c hello2.c > test.patch

打補丁  patch -p0 hello1.c < test.patch

反向補丁 patch -Rp0 hello1.c < test.patch

注意:以上假設hello1.c 為低版本,hello2.c為高版本

五、檔案目錄管理命令

1、touch命令:建立空白檔案或設定檔案時間

touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案


ls -l    可以顯示檔案的時間記錄
語法:touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>] [-t<日期時間>][--help][--version][檔案或目錄…]

引數說明:a   改變檔案的讀取時間記錄
m    改變檔案的修改時間
c    假如目的檔案不存在,不會建立新的檔案,與-no-create的效果一樣
f    不使用,是為了與其他unix系統的相容性而保留的
r    使用參考檔的時間記錄,與-file的效果一樣
d    設定時間與日期,可以使用各種不同的格式
t    設定檔案的時間記錄,格式與date指令相同
--no-create    不會建立新檔案
--help    列出指令格式
--version列出版本訊息
示例:https://www.runoob.com/linux/linux-comm-touch.html

2、mkdir命令:建立空白目錄

語法:mkdir [-p] dirName     

引數說明:-p  確保目錄名稱存在,不存在的就建一個

3、cp命令:複製檔案或目錄

語法:cp[選項] 原始檔或目錄 目錄檔案或目錄

主要引數: -a 該選項保留連結、檔案屬性、並遞迴地拷貝檔案,其作用等於dpR選項的組合
-d   拷貝時保留連結
-f   刪除已經存在的目標檔案而不提示
-i  與 f 命令相反,在覆蓋目標檔案之前將給出提示要求使用者確認。回答 y 時目標檔案將被覆蓋,是互動式拷貝
-p   此時cp除複製原始檔的內容外,還將把其修改時間和訪問許可權也複製到新檔案中
-r   若給出的原始檔是一目錄檔案,此時cp將遞迴複製該目錄下所有的子目錄和檔案,此時目標 檔案必須為一個目錄名
-l   不作拷貝,只是連結檔案
-v  顯示執行過程

4、mv命令:剪下檔案或將檔案重新命名

格式:mv[選項]原始檔[目標路徑|目標檔名]

如果在同一個目錄中對一個檔案進行剪下操作,其實就是對其進行重新命名

5、rm命令:刪除命令或命令

格式:rm[選項][檔案及資料夾]

主要引數: -i  刪除前逐一詢問確認

-f  即使原檔案設為唯讀,亦直接刪除,無需逐一確認

-r  將目錄及以下之檔案逐一刪除

6、dd命令:按照指定大小和個數的資料塊來複制檔案或轉換檔案

格式 dd [引數]

if     輸入的檔名稱

of     輸出的檔名稱

bs     設定每個“塊”的大小

count     設定要賦值“塊”的個數

7、file命令:檢視檔案型別

示例:[root@localhost ~]# file .bash_history

六、打包壓縮與搜尋命令

1、tar命令:壓縮或解壓

格式:[選項][檔案目錄列表]

主要引數: -c     建立壓縮檔案
-x     解開壓縮檔案
-t     檢視壓縮包內有哪些檔案
-z     用Gzip壓縮或解壓
-j     用bzip2壓縮或解壓
-v     顯示壓縮或解壓的過程
-f     目標檔名
-p     保留原始的許可權與屬性
-P     使用絕對路徑來壓縮
-C     指定解壓到的目錄
常用的壓縮格式:tar -czvf 壓縮包名稱.tar.gz 要打包的目錄
常用的解壓格式:tar -xzvf 壓縮包名稱.tar.gz -C 解壓到指定目錄

2、grep命令:在文字中進行關鍵詞搜尋,並顯示匹配的結果

格式:grep[選項][檔案]

主要引數: -b     將可執行檔案(binary)(text)來搜尋
-c     僅顯示找到的行數
-i     忽略大小寫
-n     顯示行號
-v     反向選擇---僅列出沒有"關鍵詞"的行

3、find命令:按照指定條件查詢檔案

格式:find[查詢路徑] 尋找條件 操作
可使用不同的檔案特性作為尋找條件(如檔名、大小、修改時間、許可權等資訊),匹配成功則預設將資訊顯示到螢幕上
-name     匹配名稱
-perm     匹配許可權(mode為完全匹配,-mode為包含即可)
-user     匹配所有者
-group     匹配所有組
-mtime -n +n     匹配修改內容的時間(-n指n天以內,+n指n天以前)
-atime -n +n     匹配訪問檔案的時間(-n指n天以內,+n指n天以前)
-ctime -n +n     匹配修改忘記拿許可權的時間(-指n天以內,+n指n天以前)
-nouser     匹配無所有者的檔案
-nogroup     匹配無所有組的檔案
-newer  f1 !f2     匹配比檔案f1新但比f2舊的檔案
--type b/d/c/p/l/f     匹配檔案型別(+50KB為查詢超過50KB的檔案,而-50KB為查詢小於50KB的檔案)
-prune     忽略某個目錄
-exec......{}\;     後面可跟用於進一步處理搜尋結果的命令
示例:[root@localhost ~]# find /etc -name "host*"

七、軟體下載安裝命令apt-get

1、修改資料來源地址

修改資料來源地址可以使用vim編輯器開啟該檔案修改,或直接使用圖形介面修改

2、更新資料來源列表apt-get update

更改了資料來源地址後,需要使用apt-get update命令更新資料來源列表

3、安裝和更新軟體apt-get install

比如安裝vim編輯器,直接輸入命令apt-get install vim,再輸入y即可