常用的一些linux命令總結

2021-09-09 06:40:45 字數 4057 閱讀 9804

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下檔案的複製 移動與...