ps
檢視系統程序執行緒,我一般都是用這個命令檢視程序pid的,然後用pid做更深入的排查。
基本用法
ps -aux 檢視所有程序
ps -t -p $ 檢視某個程序的執行緒
參考資料
10個重要的linux ps命令實戰
檢視系統程序樹,他可以把各個程序之間的關係用樹形結構標識出來。
基本用法
pstree
檢視系統程序執行緒運**況,包裹資源的使用情況,系統負載等。我的用法是看下伺服器上負載是否很高,然後看具體是哪個程序,哪個執行緒占用cpu比較多。
基本用法
top 列出所有執行緒負載資訊
top -h 列出所有執行緒的負載資訊
top -h -p $ 列出某個pid下所有執行緒的負載資訊
檢視記憶體及使用情況
基本用法
free
檔案操作相關
我都是用這個命令檢視配置檔案,或者是日誌檔案,但是有點需要注意,cat命令會把整個檔案輸出到終端了,如果檔案內容非常多,建議使用grep進行過濾,或者直接用less或more命令。
基本用法
cat file.txt
檢視某個檔案的尾部,或者檢視標準出入的最末尾,預設值顯示10行,可以用-n引數來指定輸出多少行。
基本用法
tail -n 100 file.txt 輸出最末尾的100行
tail -f file.txt 隨著檔案新增,持續輸出新增的內容,一般用來看實時日誌
和tail命令很相似,不過head是輸出頭部內容,個人感覺head遠沒有tail命令用的多。
基本用法
head -n 100 file.txt 輸出最開始的100行
也是用來檢視檔案,但more命令只載入一屏的內容,可以向下翻動,因為載入的內容少,所以比cat快多了。
基本用法
more file.txt
和more很像,但是可以上下翻動,感覺less和more只需要less就可以了,完全可以去掉more啊
基本用法
less file.txt
這個是我非常常用的乙個命令了,尤其是在問題排查的時候,需要用grep從大量的資料中篩選出一些我想要的。 grep也支援正規表示式匹配。
基本用法
grep 「abc」 file 從file中篩選出包含 abc的行。
開頭我也說過,這個命令是我最常用的命令之一,比如在檔案有多列的時候,我可以用awk輸出具體某幾列,或者做一些簡單的統計 求和,求平均值啊,再或者做一下簡單的資料格式化。
基本用法
cat data | awk 『』 輸出第1 3 5列,注意下標是從1開始
cat data | awk 『 end 』 對第一列求和
cat data | awk -f』\t』 『』 把每行資料按tab分列,並輸出1 3列
參考資料
阮一峰 awk介紹
對標準內容做排序,
基本用法
cat file|sort 把file裡的資料排序,注意是按字典序排的,如果想按數值排,需要能夠加-n引數
cat file|sort -k2 -n -r 按第二列 數值 倒序 排序,-k指定第幾列,-r是翻轉reverse的意思
對排序好的內容去重,注意它只是把相鄰且相同的去重,所以如果想要全域性去重,需要先用sort排序。
基本用法
cat file|sort|uniq 把file裡的檔案排序並去重
cat file|sort|uniq -c 把file裡的檔案排序並去重,且輸出每行出現的次數
我都是用wc來數有多上行,其實wc不僅僅能數多少行,還可以數多少單詞,多少字元。
基本用法
wc -l file 數下file裡有多少行
wc -w file 多少個單詞
wc -c file 多少個位元組
wc -m file 多少個字元
參考資料
linux大部分命令都是單程序的,這個命令可以讓其他命令多程序執行。
參考資料
15分鐘神器gnu parallel 入門觀止
之前運維大量機器的時候,通常需要批量修改某個配置檔案,都是在一台機器上改好,然後用scp指令碼分發到其他機器上去的,大大提高效率。
基本用法
scp aaa.txt [email protected]:/tmp/ 把當前目錄下的aaa.txt檔案通過192.168.1.3上的test賬號放到/tmp目錄下
scp [email protected]:/tmp/aaa.txt . 和上一條相反
du檢視目錄大小
基本用法
du -h --max-depth=1 輸出最深1層的目錄,然後檔案大小用人類可讀的方式,比如1k 234m 2g
df檢視磁碟大小和占用情況
基本用法
df -h 檢視各個分割槽的大小和使用情況
iostat
檢視磁碟的io狀態
iotop
可以類似於top目錄一樣,實時顯示各個程序的io狀態。
查詢檔案,查詢條件可以是檔名,檔案日期,檔案大小,很強大。 我們之前伺服器上有個磁碟滿就強制刪除伺服器某個目錄下大於1g,且時間大於2天,且檔名是*.log的檔案,就是用find加xargs命令做的
基本用法
find /home/test -iname "test.txt 在/home/test/下找檔名為test.txt的檔案,也支援萬用字元
find /home/test -isize +100m 查詢/home/test下大於100m的檔案
參考資料
wikipedia unix find
定位某個具體檔案的位置,locate命令要比find -name快得多,原因是它不搜尋具體目錄,而是搜尋乙個資料庫/var/lib/mlocate/mlocate.db,這個資料庫會通過乙個cron定時更新,所以有可能新建的檔案會檢索不到。
基本用法
locate a.txt 定位a.txt的位置,如果系統中有多個a.txt,會全部顯示出來。
可以看到樹狀目錄結構,
基本用法
tree -l 2 只顯示兩層樹狀結構
網路檢視網路是否通
基本用法
netcat,可以用來看遠端某個埠是否開啟,功能很強大,但是我用到的不多。
基本用法
nc -z xindoo.me 443 檢測我伺服器上的443埠是否開放(當然是開的)
參考資料
linux nc命令介紹
檢視和操作本機路由表
基本用法
route 列出本地路由表
檢視本機的網路狀態,可以看到埠占用情況和網路鏈結情況。
基本用法
netstat -antp
檢視乙個請求到目標伺服器所經過的所有路由節點,一般用來排查網路問題。
基本用法
檢視實時網路io情況
lsof
檢視埠占用
dig檢視網域名稱的資訊,之前做運維的時候,經常需要驗證某個網域名稱解析改動是否生效,因為一般乙個網域名稱會-a到多個ip上,用ping命令只能看到乙個ip,這個時候我就會用dig來看網域名稱解析資訊了。
基本用法
參考資料
dig 命令介紹
發起乙個http請求,我一般都是用這個命令來驗證服務是否能正常訪問的,它有獲取html原始碼的功能。
基本用法
curl -i www.baidu.com 獲取請求baidu.com的請求頭
參考資料
curl的用法(英文)
yum|apt install
很多時候伺服器上沒有我們想要的工具,可以用這個命令安裝下,yum是fedora和redhat以及centos中的shell前端軟體包管理器, apt是ubuntu平台上的。
基本用法
yum install curl
apt install curl
這個命令是用來檢視其它命令手冊的,可以看到具體某個命令的詳細作用,和具體引數。這個是個很重要的命令了,一般他會比各命令自帶的–help詳細很多。
linux命令一些常用總結
bin bash ftp n open 10.139.0.130 開啟連線ftp ip user odsftp ahvrab5 使用者名稱和密碼 prompt off 關閉密碼詢問 binary 開啟二進位制 檔案所在目錄 mget credit cheat ods 201806.tar.gz.a ...
Linux常用的一些命令總結 一
學習linux需要從一些命令入手,最近剛結束個專案,時間還算充裕,linux的重要性毋庸置疑,自己對linux進行了一些總結,分享下 1.man 命令 對一些命令需要找些註解,解釋的話,man命令很重要 2.ls 命令 檢視當前目錄下檔案文件 例子 ls a 檢視出當前文件,包括些隱藏的文件 ls ...
Linux一些命令總結
linux下檔案的複製 移動與刪除 檢視centos 版本 cat etc redhat release 1,複製貼上檔案 cp 選項 原始檔或目錄 目標檔案或目錄 2,剪下貼上檔案 mv 選項 原始檔或目錄 目標檔案或目錄 3,刪除檔案 rm 檔案 慎用 rm rf linux下檔案的複製 移動與...