歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux常用命令

linux常用命令

日期:2017/3/1 13:33:23   编辑:關於Linux

用 'top -i' 看看有多少進程處於 Running 狀態,可能系統存在內存或 I/O 瓶頸,用 free 看看系統內存使用情況,swap 是否被占用很多,用 iostat 看看 I/O 負載情況...

還有一種辦法是 ps -ef | sort -k7 ,將進程按運行時間排序,看哪個進程消耗的cpu時間最多。

top:

主要參數

d:指定更新的間隔,以秒計算。

q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。

c:顯示進程完整的路徑與名稱。

S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。

s:安全模式。

i:不顯示任何閒置(Idle)或無用(Zombie)的行程。

n:顯示更新的次數,完成後將會退出to

顯示參數:

PID(Process ID):進程標示號。

USER:進程所有者的用戶名。

PR:進程的優先級別。

NI:進程的優先級別數值。

VIRT:進程占用的虛擬內存值。

RES:進程占用的物理內存值。

SHR:進程使用的共享內存值。

S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。

%CPU:該進程占用的CPU使用率。

%MEM:該進程占用的物理內存和總內存的百分比。

TIME+:該進程啟動後占用的總的CPU時間。

Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。

top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啟動的。

<空格>:立刻刷新。

P:根據CPU使用大小進行排序。

T:根據時間、累計時間排序。

q:退出top命令。

m:切換顯示內存信息。

t:切換顯示進程和CPU狀態信息。

c:切換顯示命令名稱和完整命令行。

M:根據使用內存大小進行排序。

W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。

free

1.作用

free命令用來顯示內存的使用情況,使用權限是所有用戶。

2.格式

free [-b-k-m] [-o] [-s delay] [-t] [-V]

3.主要參數

-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。

-s delay:顯示每隔多少秒數來顯示一次內存使用情況。

-t:顯示內存總和列。

-o:不顯示緩沖區調節列。

uptime

18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21

現在的時間

系統開機運轉到現在經過的時間

連線的使用者數量

最近一分鐘,五分鐘和十五分鐘的系統負載

參數: -V 顯示版本資訊。

vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70

1 觀察磁盤活動情況

磁盤活動情況主要從以下幾個指標了解:

bi:表示從磁盤每秒讀取的塊數(blocks/s)。數字越大,表示讀磁盤的活動越多。

bo:表示每秒寫到磁盤的塊數(blocks/s)。數字越大,表示寫磁盤的活動越多。

wa:cpu等待磁盤I/O(未決的磁盤IO)的時間比例。數字越大,表示文件系統活動阻礙cpu的情況越嚴重,因為cpu在等待慢速的磁盤系統提供數據。wa為0是最理想的。如果wa經常大於10,可能文件系統就需要進行性能調整了。

2 觀察cpu活動情況

vmstat比top更能反映出cpu的使用情況:

us:用戶程序使用cpu的時間比例。這個數字越大,表示用戶進程越繁忙。

sy: 系統調用使用cpu的時間比例。注意,NFS由於是在內核裡面運行的,所以NFS活動所占用的cpu時間反映在sy裡面。這個數字經常很大的話,就需要注 意是否某個內核進程,比如NFS任務比較繁重。如果us和sy同時都比較大的話,就需要考慮將某些用戶程序分離到另外的服務器上面,以免互相影響。

id:cpu空閒的時間比例。

wa:cpu等待未決的磁盤IO的時間比例。

iostat

用於統計CPU的使用情況及tty設備、硬盤和CD-ROM的I/0量

參數:

-c 只顯示CPU行

-d 顯示磁盤行

-k 以千字節為單位顯示磁盤輸出

-t 在輸出中包括時間戳

-x 在輸出中包括擴展的磁盤指標

avg-cpu: %user %nice %sys %iowait %idle

20.25 0.18 2.61 76.39 0.57

%iowait 等待本地I/O時CPU空閒時間的百分比

%idle 未等待本地I/O時CPU空閒時間的百分比

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

hda 9.86 284.34 84.48 685407 2036

每秒傳輸數(tps)、每秒512字節塊讀取數(Blk_read/s)、每秒512字節塊寫入數(Blk_wrtn/s)和512字節塊讀取(Blk_read)和寫入(Blk_wrtn)的總數量。

系統

# uname -a # 查看內核/操作系統/CPU信息

# head -n 1 /etc/issue # 查看操作系統版本

# cat /proc/cpuinfo # 查看CPU信息

# hostname # 查看計算機名

# lspci -tv # 列出所有PCI設備

# lsusb -tv # 列出所有USB設備

# lsmod # 列出加載的內核模塊

# env # 查看環境變量

資源

# free -m # 查看內存使用量和交換區使用量

# df -h # 查看各分區使用情況

# du -sh # 查看指定目錄的大小

# grep MemTotal /proc/meminfo # 查看內存總量

# grep MemFree /proc/meminfo # 查看空閒內存量

# uptime # 查看系統運行時間、用戶數、負載

# cat /proc/loadavg # 查看系統負載

磁盤和分區

# mount | column -t # 查看掛接的分區狀態

# fdisk -l # 查看所有分區

# swapon -s # 查看所有交換分區

# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)

# dmesg | grep IDE # 查看啟動時IDE設備檢測狀況

網絡

# ifconfig # 查看所有網絡接口的屬性

# iptables -L # 查看防火牆設置

# route -n # 查看路由表

# netstat -lntp # 查看所有監聽端口

# netstat -antp # 查看所有已經建立的連接

# netstat -s # 查看網絡統計信息

進程

# ps -ef # 查看所有進程

# top # 實時顯示進程狀態

用戶

# w # 查看活動用戶

# id # 查看指定用戶信息

# last # 查看用戶登錄日志

# cut -d: -f1 /etc/passwd # 查看系統所有用戶

# cut -d: -f1 /etc/group # 查看系統所有組

# crontab -l # 查看當前用戶的計劃任務

服務

# chkconfig --list # 列出所有系統服務

# chkconfig --list | grep on # 列出所有啟動的系統服務

程序

# rpm -qa # 查看所有安裝的軟件包

幾種常見的服務的端口號(ftp21 ssh 22 telnet23 snmp161 pop3 (110) IMAP rsync873等)

Route命令的正確用法

使用 Route 命令行工具查看並編輯計算機的 IP 路由表。Route 命令和語法如下所示:

route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

-f 清除所有網關入口的路由表。

-p 與 add 命令一起使用時使路由具有永久性。

若要向帶有 255.255.0.0 子網掩碼和 10.27.0.1 下一躍點地址的 10.41.0.0 目標中添加一個永久路由,請鍵入:

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

若要刪除到帶有 255.255.0.0 子網掩碼的10.41.0.0 目標的路由,請鍵入:

route delete 10.41.0.0 mask 255.255.0.0

永久自動掛載

vim /etc/fstab

設備 掛載點 類型 掛載參數 是否備份 是否檢測

xxx.iso /source iso9660 ro.relatime 0 0

Linux開機流程

一、概念

1、boot loader: 領導裝載程序,常用的有(Grub, spfdisk)

2、Grub: 是一個多操作系統啟動管理器,開機時領導不同系統,windows linux等

二、開機的流程

1、加載BIOS(basic input output system)的硬件信息,並進行自我測試

2、讀取並執行第一個開機裝置內MBR(主引導記錄扇區)的boot loader即grub spfdisk 等程序!

3、 grub(boot loader)就是一個多操作系統啟動管理器,運行之後就是選擇系統(boot loader --grup的功能之後在講)

4、依據 boot loader 的設定加載kernel(也就是在第3步這裡選擇的系統的內核),加載進來的kernel在存儲器中解壓並執行,偵測硬件信息加載驅動程序

5、硬件驅動成功之後,kernel會主動呼叫第一個用戶級的程序,init, init 會取得運行級別(runlevel) 的信息(run level 信息保存在/etc/inittab檔案中)

6、init 執行/etc/rc.d/rc.sysinit 檔案 來准備軟件執行的環境(如 網絡 ,時區等信息)具體信息可以vim /etc/rc.d/rc.sysinit 去查看

7、init 執行run-level 的各個服務即啟動和這個run-level 對應的服務

8、 執行 /etc/rc.d/rc.local 檔案 (這是使用者自訂開機啟動程序,把需要開機自動運行的程序寫在這個腳本裡)

9、 init 執行終端機仿真程序 mingtty 來啟動 login 程序,最後等待用戶登錄

五、第一個用戶級程序init ,及配置文件 /etc/inittab 以及運行等級 run level

1、在核心加載完畢,進行硬件信息這測與驅動程序加載之後,此時你的主機硬件應該已經准備就緒了,此時核心會主動的呼叫第一個用戶級程序,那就是 /sbin/init (init 被稱為所有進行的祖進程,也是第一個啟動的用戶級進程)

2、 /sbin/ init 最主要的功能就是准備軟件執行的環境,包括系統的主機名,網絡設定,語系設置,系統文件格式及其他服務的啟動, 而所有的動作都會透過 init 的配置文件及 /etc/inittab 來規劃。

3、 /etc/inittab 中配置了系統的運行級別 , 這個檔案的最下面 有 id : n : initdefault 這就是設置的系統運行級別

4、為何要設置系統的運行級別,這個有什麼不同: linux藉由 設定的 run level 來規劃,系統使用不同的服務來啟動,讓linux 的使用環境不同,按照有無網絡與有無 xwindow可分為 7 個等級

5、 run level 運行級別

(0)、run level 0: 關機

(1) 、run level 1 : single mode 即單人維護模式,一般忘記 root的密碼,系統有問題什麼的使用這個模式

(2)、run level 2 : without NFS 即無NFS系統

(3)、run level 3: 完整含有網絡功能的純文本模式

(4)、run level 4: 系統保留

(5)、run level 5: xwinods 與3 是類似的只是純文本變為窗口模式

(6)、run level 6: 重啟 reboot

6、啟動時執行一次的文件, /etc/rc.d/rc.sysinit 即系統的數據設定完成!

7、啟動系統 服務與 啟動配置文件 /etc/rc,d/rc n(你的系統級別,按照不同的級別啟動不同的服務) /etc/sysconfig

8、加載核心讓整個系統准備接受指令來工作,在經過/etc/rc.d/rc.sysinit 的系統模塊與相關硬件信息的初始化,你的系統應該已經順利工作了!

六、運行級別的切換

1、事實上不同的運行級別 只是加載的服務不同,,這裡已 run level 3 和 run level 5 為列: 只是他們的/etc/rc.3d 和 /etc/rc.5d 內的Sxxname 和 Kxxname 不同而已

2、先對比 /etc/rc.3d 和 /etc/rc.5d 內k 和 s開頭的檔案

3、在新的 run level 內多的 K 都被關閉掉

4、在新的 run level 內多的S 都被開啟,而都存在的就不用管了。

ok 這樣運行級別就轉化過來了!

Copyright © Linux教程網 All Rights Reserved