中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

常用Shell命令集合有哪些

發布時間:2021-05-07 11:21:56 來源:億速云 閱讀:220 作者:小新 欄目:開發技術

這篇文章主要介紹了常用Shell命令集合有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、控制臺使用技巧

基于我平時的工作經驗,總結出一些我常用的快捷鍵

1.1 操作快捷鍵

      Ctrl+r:可以快速查找歷史命令

      Ctrl+a / Ctrl+e:移動光標到命令行首 / 行尾

      Ctrl+w / Ctrl+k:刪除光標之前 / 之后的內容

1.2 VIM文件編輯快捷鍵

       ZZ:文件保存并退出

1.3 進程操作快捷鍵

       Ctrl+c:強制終止程序

       Ctrl+z:掛起一個進程

       Ctrl+d: 終端輸入exit后回車

1.4 linux命令中快捷鍵(top)

       Shift + p: 根據CPU使用率排序

       Shift + m: 根據Mem使用率排序

二、Shell命令合集

首先,我們先對Shell命令合集做一個分類,主要可分為 空間分析,指定文件操作,鏈接狀態分析,IP信息提取

2.1 空間分析

場景1: 磁盤空間不足,需快速定位日志目錄

該場景主要用在linux操作系統磁盤空間不足,需要快速定位磁盤使用情況,對文件的磁盤使用率做排序,需要用到如下組合命令:

du -x --max-depth=1 / | sort -k1 -rn #-x 表示跳過其他文件系統

常用Shell命令集合有哪些

-x表示跳過其他文件系統,只分析本文件系統里面的文件,排除一些額外的干擾項;--max-depth=1 表示只分析/ 目錄下第一級目錄下的所有文件大小;-k 表示具體按照那一列進行排序;-r是倒序排列;-n表示只對數值排序

場景2:系統產生很多碎片文件,導致 inode 資源不足

該場景主要是操作系統產生大量碎片文件,隨之消耗大量innode,innode的過渡使用會導致innode資源不足無法創建文件,因為du 命令只能統計磁盤使用情況無法統計碎片文件的個數,所以統計碎片文件個數需要用到如下組合命令

find -type f | awk -F/ -v OFS=/ 
 '{$NF="";dir[$0]++}END
{
for (i in dir) print dir[i] i}' | sort -k1 -rn | head

常用Shell命令集合有哪些

這條命令比較復雜,使用了find,awk,sort,head。

通過find找出指定文件類型的文件,然后管道給 awk,它可以把文本內容按行進行格式化輸出并展示,-F / 指定處理文件時字符串之間以 / 進行分割,-v OFS=/ 表示文件顯示結果時以 / 進行分割展示。對于awk命令整體規則而言有一個 {} END {} 格式,前面的 {} 表示行處理操作,END{} 表示行處理后需要進行整體結果出,在行處理操作邏輯中,設置$NF 為空表示將每一行的文件名信息去除,從而只保留目錄路徑,dir 是一個自增數組,用于統計結果。最后通過 for 循環進行遍歷輸出dir關聯數組中所有行信息。

2.2 指定文件操作

場景一:批量查找文件對內容做替換

場景一適用于一個目錄下有多個子目錄,并且子目錄下有大量文件,我們需要找到指定文件然后替換文件里面的內容,需要用到如下組合命令:

(find . -name "*.txt"|xargs tar -cvf test.tar)
 && cp -f test.tar /home/.

常用Shell命令集合有哪些

通過find命令查找當前目錄下的所有子文件夾名稱為 consumer.xml 的文件,然管道給 sed ,通過-i把文件內容替換。

場景二:批量查找文件作拷貝打包

場景二主要是用在對查找到的指定文件進行打包,然后拷貝到指定路徑,可以使用如下組合命令:

netstat -n | awk '/^tcp/{arr[$NF]++
} 
END {for (i in arr) print arr[i] " " i
}'

查找當前目錄下的所有以 .txt結尾的文件,然后打包成test.tar,如果打包成功則把壓縮包拷貝到/home目錄下

2.3 網絡連接狀態分析

場景一:列出tcp協議下的連接,并統計所有狀態的總量

場景一主要用在查看服務器當前有多少TCP類型的連接,分析TCP/IP網絡狀態(ESTABLISHED,TIME_WAIT)

netstat -n | awk '/^tcp/{arr[$NF]++} END {for (i in arr) print arr[i] " " i}'

常用Shell命令集合有哪些

對于awk命令整體規則而言有一個 {} END {} 格式,上述命令分析了TCP協議下,所有類型連接的總數,可用于分析查看當前服務器連接數。

2.4 IP信息提取

場景一:通過命令獲取主機IP信息

ip a|grep "global"|awk'{print $2}'|awk -F/'{print $1}'

常用Shell命令集合有哪些

ip a負責查看主機上所有的網卡信息,然后過濾 global關鍵字,打印出第二列,再把子網掩碼移除掉即可獲取到主機ip

三、常見問題

問題一:Shell適不適合作多并發任務

答:不適合,Shell中一般是通過nohup的方式把需要并發執行的任務放入后臺,這樣做有存在一些問題,包括  進程狀態不好控制,進程間信息共享一般以文件形式進行等,所以當需要進行大的并發任務執行時,建議使用Python,Go,PHP語言實現并發。

問題二:Shell適合用在什么場景中

答:Shell 適合用在追求運維高效(非性能高效)要求的簡單場景中,如日志切割、進程分析、系統初始化等。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“常用Shell命令集合有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰安市| 宁河县| 都兰县| 怀仁县| 沈阳市| 库尔勒市| 鄂伦春自治旗| 山东省| 吴桥县| 夏津县| 河间市| 南澳县| 久治县| 承德市| 阜平县| 河南省| 新安县| 米林县| 陇南市| 铜山县| 乌拉特前旗| 漳平市| 黄浦区| 讷河市| 阜新市| 灵台县| 会东县| 恩平市| 海伦市| 潞城市| 饶平县| 上虞市| 湾仔区| 醴陵市| 江城| 漳州市| 无极县| 巴塘县| 茂名市| 连南| 五原县|