Linux常見運維命令
阿新 • • 發佈:2018-11-04
最有效率的方式就是使用命令來操作和管理系統,那麼我們來介紹一些常用的運維命令
-
過濾文字grep
#在指定檔案中查詢特定字串 [[email protected] ~] # grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin #結合管道使用 [[email protected] ~] # cat /etc/passwd | grep root root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin #按正則表示式查詢 [
grep支援豐富的正則表示式,大家可以參考正則引數使用,這裡就不一一列舉了
-
文字操作awk和sed
awk和sed是Linux中強大的文字處理工具,使用簡單,處理效率非常高
1 . awk命令用於文字處理,資料可以來自檔案或標準輸入,支援正則表示式等功能
語法:awk ‘{pattern + action}’ filename
pattern表示awk在資料中查詢的內容,action指找到匹配內容時執行的一系列命令,{}用於將程式碼分塊[[email protected] ~] # awk '{print $0}' /etc/passwd | head ## 與執行cat /etc/passwd結果相同 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin ................................ ### awk命令內容很多,我們只舉幾個例子 ### ## 檢視file.text檔案(50行)內第10行到第15行的內容(企業面試)## [[email protected] ~] # awk '{if(NR>=10 && NR<15) print $1}' file.text 10 11 12 ## NR內建變量表示已經讀出的記錄數,就是行號,從1開始 13 14 15 ## 已知file.text檔案內容為:請從中過濾"luck"和字串"1234567",令輸出結果為:luck:1234567 [
2 .sed命令是將編輯工作自動化的編輯器,使用sed可以完成資料行增刪改查並換等操作,sed命令可以列印指定的行至標準輸出或重定向至檔案,列印指定行使用p命令
[[email protected] ~] # sed -n 2p /etc/passwd ## 列印第2行 bin:x:1:1:bin:/bin:/sbin/nologin [[email protected] ~] # sed -n 2,5p /etc/passwd ## 列印第2~5行 bin:x:1:1:bin:/bin:/sbin/nologin ## 我之前用的方式就很繁瑣,先head列印 daemon:x:2:2:daemon:/sbin:/sbin/nologin ## 前5行,然後tail列印後4行才輸出2~5行 adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
-
打包或解包檔案tar
tar命令用於將檔案打包或解包,拓展名一般為.tar,指定特定引數可呼叫gzip或bzip2製作壓縮包或解開壓縮包,副檔名為.tar.gz或.tar.bz2#僅打包,不壓縮 [[email protected] ~] # tar -cvf /tmp/etc.tar /etc ## -c 打包 #打包並使用gzip壓縮 ## -v 處理過程顯示相關資訊 [[email protected] ~] # tar -zcvf /tmp/etc.tar.gz /etc ## -f 指定的壓縮包名字,f後不能再加引數 #打包並使用bzip2壓縮 ## -x 解壓壓縮包 [[email protected] ~] # tar -jcvf /tmp/etc.tar.bz2 /etc ## -j 壓縮或解壓bzip2包 #解壓壓縮包到當前位置 ## -z 壓縮解壓gizp包 [[email protected] ~] # tar -zxvf /tmp/etc.tar.gz .
-
檢視系統負載uptime
uptime命令主要用於獲取主機執行時間和查詢Linux系統負載等資訊,資訊顯示依次為:當前時間、系統已執行時間、當前連線使用者數、過去1/5/15分鐘內的平均負載,用法時分簡單,直接輸入uptime[[email protected] ~] # uptime 08:41:21 up 1 min, 2 users, load average: 0.70, 0.22, 0.08 ## 2 users表示使用者連線數,是總連線數不是使用者數
-
顯示系統記憶體狀態
free命令顯示記憶體使用情況,包括實體記憶體,虛擬的交換檔案,共享記憶體區段,系統核心使用的緩衝區[[email protected] ~] # free -m ## 以M為單位檢視系統記憶體資源佔用情況 total used free shared buff/cache available Mem: 1824 549 858 10 416 1082 Swap: 2047 0 2047 ########## free命令常用選項 ######## free -m # 以MB為單位顯示記憶體情況 -s<間隔秒數> # 持續觀察記憶體使用情況
-
單次任務at
at可以設定在指定時間執行一個指定任務,可在與shell斷開的情況下執行,使用前確認系統開啟了atd服務systemctl status atd ## 檢視atd服務是否開啟 # 明天17點鐘,輸出時間到指定檔案內 [[email protected] ~] # at 17:20 tomorrow at> echo "hellooooo" >> /root/Desktop/file.txt ## 這裡按ctrl+d,ctrl+d,ctrl+d at> <EOT> job 5 at Sat Oct 27 09:41:00 2018 [[email protected] ~] # atq ## 檢視待執行的定時任務 6 Sat Oct 27 09:49:00 2018 a root sf [[email protected] ~] # atrm 6 ## atrm +工作號,刪除已設定的任務 [[email protected] ~] # atq [[email protected] ~] # [[email protected] ~] # at -c 6 ## 顯示定時任務的內容,會顯示大量資訊,但內容在最下面