日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux运维实用命令

發布時間:2023/12/20 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux运维实用命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(尊重勞動成果,轉載請注明出處:https://blog.csdn.net/qq_25827845/article/details/83956874冷血之心的博客)

目錄

top----Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況

?系統運行時間和平均負載

任務

CPU 狀態

內存使用

進程信息:

uptime----查看系統負載

free----顯示Linux系統中空閑的、已用的物理內存及swap內存,及被內核使用的buffer

iostat----用于輸出CPU和磁盤I/O相關的統計信息

netstat----用于顯示各種網絡相關信息

df----列出文件系統的整體磁盤空間使用情況

du----用于顯示目錄或文件的大小

ps----命令用于顯示當前進程 (process) 的狀態

ping----常用的網絡命令,它通常用來測試與目標主機的連通性

總結


做為一名優秀的Java開發工程師,我們必不可少的會用到以下幾個命令:

  • top----Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況
  • uptime----查看系統負載
  • free----顯示Linux系統中空閑的、已用的物理內存及swap內存,及被內核使用的buffer
  • iostat----用于輸出CPU和磁盤I/O相關的統計信息
  • netstat----用于顯示各種網絡相關信息
  • df----列出文件系統的整體磁盤空間使用情況
  • du----用于顯示目錄或文件的大小
  • ps----命令用于顯示當前進程 (process) 的狀態
  • ping----常用的網絡命令,它通常用來測試與目標主機的連通性

接下來我們開始介紹各個命令的輸出。

top----Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況

? ? ? ? ?Linux中的top命令顯示系統上正在運行的進程。它是系統管理員最重要的工具之一。被廣泛用于監視服務器的負載。top命令的輸出如下:

在上邊的輸出中,前五行水平顯示了不同系統參數的概括,接下來是進程和它們在列中的屬性。

?系統運行時間和平均負載

第一行顯示的信息的含義表示如下:

  • 當前時間

  • 系統已運行的時間

  • 當前登錄用戶的數量

  • 相應最近5、10和15分鐘內的平均負載。

任務

第二行顯示的是任務或者進程的總結。進程可以處于不同的狀態。這里顯示了全部進程的數量。除此之外,還有正在運行、睡眠、停止、僵尸進程的數量(僵尸是一種進程的狀態)。

CPU 狀態

第三行顯示的是CPU狀態。 這里顯示了不同模式下的所占CPU時間的百分比。這些不同的CPU時間表示:

  • us, user: 運行(未調整優先級的) 用戶進程的CPU時間

  • sy,system: 運行內核進程的CPU時間

  • ni,niced:運行已調整優先級的用戶進程的CPU時間

  • wa,IO wait: 用于等待IO完成的CPU時間

  • hi:處理硬件中斷的CPU時間

  • si: 處理軟件中斷的CPU時間

  • st:這個虛擬機被hypervisor偷去的CPU時間(譯注:如果當前處于一個hypervisor下的vm,實際上hypervisor也是要消耗一部分CPU處理時間的)。

內存使用

第四和第五行顯示內存使用率,第一行是物理內存使用,第二行是虛擬內存使用(交換空間)。

物理內存顯示如下:

  • 全部可用內存
  • 已使用內存
  • 空閑內存
  • 緩沖內存。

交換部分顯示如下:

  • 全部可用內存
  • 已使用內存
  • 空閑內存
  • 緩沖交換空間。

進程信息:

接下來顯示的當前機器中各個進程的信息,如下所示:

各個字段表示的含義如下:

  • PID:進程ID,進程的唯一標識符
  • USER:進程所有者的實際用戶名
  • PR:進程的調度優先級。這個字段的一些值是’rt’。這意味這這些進程運行在實時態。
  • NI:進程的nice值(優先級)。越小的值意味著越高的優先級。
  • VIRT:進程使用的虛擬內存。
  • RES:駐留內存大小。駐留內存是任務使用的非交換物理內存大小。
  • SHR:SHR是進程使用的共享內存。
  • S:這個是進程的狀態。它有以下不同的值:
    • D – 不可中斷的睡眠態。

    • R – 運行態

    • S – 睡眠態

    • T – 被跟蹤或已停止

    • Z – 僵尸態

  • %CPU:自從上一次更新時到現在任務所使用的CPU時間百分比。

  • %MEM:進程使用的可用物理內存百分比。

  • TIME+:任務啟動后到現在所使用的全部CPU時間,精確到百分之一秒。

  • COMMAND:運行進程所使用的命令。

當我們想查看每個進程中的所有線程的情況時,需要使用 top -h -p pid 命令,輸出如下所示:

當我們指定要查看某個進程內部的各個線程的情況時,在輸出的第二行就變成了?Threads?而不是之前的?Tasks
?

uptime----查看系統負載

其實top命令的第一行就是系統的負載,我們也可以使用uptime來單獨查看。

重點關注參數:

load average 代表了最近1分鐘,5分鐘,15分鐘CPU的平均負載情況。CPU核數乘以0.7,即如果CPU總核數為4,當load average上15分鐘的數值達到2.8時,系統需要處理。

?

free----顯示Linux系統中空閑的、已用的物理內存及swap內存,及被內核使用的buffer

可以使用的參數如下:

  • -b:以Byte為單位顯示內存使用情況
  • -k:以KB為單位顯示內存使用情況
  • -m:以MB為單位顯示內存使用情況
  • -g:以GB為單位顯示內存使用情況
  • -o:不顯示緩沖區調節列
  • -s:持續觀察內存使用狀況
  • -t:顯示內存總和列
  • -V:顯示版本信息

區別:

第二行(mem)的used/free與第三行(-/+?buffers/cache)?used/free的區別。?這兩個的區別在于使用的角度來看,第一行是從OS的角度來看,因為對于OS,buffers/cached?都是屬于被使用。

第三行所指的是從應用程序角度來看,對于應用程序來說,buffers/cached?是等于可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。

所以從應用程序的角度來說,可用內存=系統free?memory+buffers+cached。

iostat----用于輸出CPU和磁盤I/O相關的統計信息

iostat命令的用法:iostat [ 選項 ] [ <時間間隔> [ <次數> ]]

可以使用的參數包括:

  • -c:只顯示系統CPU統計信息,即單獨輸出avg-cpu結果,不包括device結果
  • -d:單獨輸出Device結果,不包括cpu結果
  • -k/-m:輸出結果以kB/mB為單位,而不是以扇區數為單位
  • -x:輸出更詳細的io設備統計信息
  • interval/count:每次輸出間隔時間,count表示輸出次數,不帶count表示循環輸出

所表示的含義如下:

  • rrqm/s: 每秒對該設備的讀請求被合并次數,文件系統會對讀取同塊(block)的請求進行合并
  • wrqm/s: 每秒對該設備的寫請求被合并次數
  • r/s: 每秒完成的讀次數
  • w/s: 每秒完成的寫次數
  • rkB/s: 每秒讀數據量(kB為單位)
  • wkB/s: 每秒寫數據量(kB為單位)
  • avgrq-sz:平均每次IO操作的數據量(扇區數為單位)
  • avgqu-sz: 平均等待處理的IO請求隊列長度
  • await: 平均每次IO請求等待時間(包括等待時間和處理時間,毫秒為單位)
  • svctm: 平均每次IO請求的處理時間(毫秒為單位)
  • %util: 采用周期內用于IO操作的時間比率,即IO隊列非空的時間比率

需要重點關注參數

1、avgqu-sz 表示磁盤IO隊列長度,即IO等待個數。

2、await 表示每次IO請求等待時間,包括等待時間和處理時間

3、svctm 表示每次IO請求處理的時間

4、%util 表示磁盤忙碌情況,一般該值超過80%表示該磁盤可能處于繁忙狀態。

netstat----用于顯示各種網絡相關信息

這個命令更加常用了,可以使用的參數如下:

  • -a:(all)顯示所有選項,netstat默認不顯示LISTEN相關
  • -t:(tcp)僅顯示tcp相關選項
  • -u:(udp)僅顯示udp相關選項
  • -n:拒絕顯示別名,能顯示數字的全部轉化成數字
  • -l:僅列出有在:Listen:(監聽):的服務狀態
  • -p:顯示建立相關鏈接的程序名
  • -r:顯示路由信息,路由表-e:顯示擴展信息,例如uid等
  • -s:按各個協議進行統計
  • -c:每隔一個固定時間,執行該netstat命令

查看當前所有tcp端口:netstat -nltp

查看所有8080端口使用情況:netstat -an |grep 8080?

?

df----列出文件系統的整體磁盤空間使用情況

該命令可選的參數如下:

df [選項] [文件名]?
參數:?

  • -a:--all,顯示所有的文件系統,包括虛擬文件系統
  • -B:--block-size,指定單位大小。比如1k,1m等
  • -h:--human-readable,以人們易讀的GB、MB、KB等格式顯示
  • -H:--si,和-h參數一樣,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。
  • -i:--inodes,不用硬盤容量,而是以inode的數量來顯示
  • -k:以KB的容量顯示各文件系統,相當于--block-size=1k
  • -m:以KB的容量顯示各文件系統,相當于--block-size=1m
  • -l:--local,只顯示本地文件系統
  • --no-sync:在統計使用信息之前不調用sync命令(默認)。?
  • -sync:在統計使用信息之前調用sync命令
  • -P:--portability,使用POSIX格式顯示
  • -t:--type=TYPE,只顯示指定類型的文件系統
  • -T:--print-type,顯示文件系統類型
  • -x:--exclude-type=TYPE,不顯示指定類型的文件系統。?
  • --help:顯示幫助信息。
  • --version:顯示版本信息。

du----用于顯示目錄或文件的大小

  • -a或-all??顯示目錄中個別文件的大小。???
  • -b或-bytes??顯示目錄或文件大小時,以byte為單位。???
  • -c或--total??除了顯示個別目錄或文件的大小外,同時也顯示所有目錄或文件的總和。?
  • -k或--kilobytes??以KB(1024bytes)為單位輸出。
  • -m或--megabytes??以MB為單位輸出。???
  • -s或--summarize??僅顯示總計,只列出最后加總的值。
  • -h或--human-readable??以K,M,G為單位,提高信息的可讀性。
  • -x或--one-file-xystem??以一開始處理時的文件系統為準,若遇上其它不同的文件系統目錄則略過。?
  • -L<符號鏈接>或--dereference<符號鏈接>?顯示選項中所指定符號鏈接的源文件大小。???
  • -S或--separate-dirs???顯示個別目錄的大小時,并不含其子目錄的大小。?
  • -X<文件>或--exclude-from=<文件>??在<文件>指定目錄或文件。???
  • --exclude=<目錄或文件>?????????略過指定的目錄或文件。????
  • -D或--dereference-args???顯示指定符號鏈接的源文件大小。
  • -H或--si??與-h參數相同,但是K,M,G是以1000為換算單位。
  • -l或--count-links???重復計算硬件鏈接的文件。??

du,disk usage,是通過搜索文件來計算每個文件的大小然后累加,du能看到的文件只是一些當前存在的,沒有被刪除的。它計算的大小就是當前他認為存在的所有文件大小的累加和。
df,disk free,通過文件系統來快速獲取空間大小的信息,當我們刪除一個文件的時候,這個文件不是馬上就在文件系統當中消失了,而是暫時消失了,當所有程序都不用時,才會根據OS的規則釋放掉已經刪除的文件,df記錄的是通過文件系統獲取到的文件的大小,它比du強的地方就是能夠看到已經刪除?的文件,而且計算大小的時候,把這一部分的空間也加上了,更精確了。
當文件系統也確定刪除了該文件后,這時候du與df就一致了。

ps----命令用于顯示當前進程 (process) 的狀態

  • -a 顯示同一終端下的所有程序
  • -A 顯示所有進程
  • c 顯示進程的真實名稱
  • -N 反向選擇
  • -e 等于“-A”
  • e 顯示環境變量
  • f 顯示程序間的關系
  • -H 顯示樹狀結構
  • r 顯示當前終端的進程
  • T 顯示當前終端的所有程序
  • u 指定用戶的所有進程
  • -au 顯示較詳細的資訊
  • -aux 顯示所有包含其他使用者的行程
  • -C<命令> 列出指定命令的狀況
  • –lines<行數> 每頁顯示的行數
  • –width<字符數> 每頁顯示的字符數
  • –help 顯示幫助信息
  • –version 顯示版本顯示

eg.查看與java相關的進程信息:ps -ef|grep java

ping----常用的網絡命令,它通常用來測試與目標主機的連通性

?

總結

? ? ? ? 這篇文章比較詳細的介紹了常用的linux運維命令,這些命令對我們的日常工作效率的提高都有著顯著的作用,在此總結下來和大家一起學習,研究,掌握其最簡單的用法。

?

如果對你有幫助,記得點贊哦~歡迎大家關注我的博客,可以進群366533258一起交流學習哦~

本群給大家提供一個學習交流的平臺,內設菜鳥Java管理員一枚、精通算法的金牌講師一枚、Android管理員一枚、藍牙BlueTooth管理員一枚、Web前端管理一枚以及C#管理一枚。歡迎大家進來交流技術。
?

總結

以上是生活随笔為你收集整理的Linux运维实用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。