Linux系統(三)系統基礎掃盲大全

来源:http://www.cnblogs.com/knowledgesea/archive/2017/02/22/6392979.html
-Advertisement-
Play Games

序言 如果大家都愛裝逼,一般會偏愛使用安裝最小化的liunx系統,那麼你的系統就不帶圖形化的桌面功能,這樣對於一個想裝B的初學者來說,Liunx就是黑漆馬虎,一望無際的黑屏,黑屏,如何快速的對liunx系統有個較為全面基礎的認識呢?答:繼續往下讀,哈哈。 本篇目的就是讓大家對linux系統有個全面的 ...


序言

如果大家都愛裝逼,一般會偏愛使用安裝最小化的liunx系統,那麼你的系統就不帶圖形化的桌面功能,這樣對於一個想裝B的初學者來說,Liunx就是黑漆馬虎,一望無際的黑屏,黑屏,如何快速的對liunx系統有個較為全面基礎的認識呢?答:繼續往下讀,哈哈。

本篇目的就是讓大家對linux系統有個全面的基礎認知。

主要內容:網路,系統,cpu,記憶體,硬碟,進程等等常用的基礎信息查看與基礎功能設置。

Linux系統時間相關

查看系統當前時間

[root@zlhpc ~]# date
2017年 02月 09日 星期四 03:20:45 CST

修改時間

[root@zlhpc sysconfig]# date -s "2016-02-09 15:15:00"
2016年 02月 09日 星期二 15:15:00 CST
[root@zlhpc sysconfig]# date
2016年 02月 09日 星期二 15:15:05 CST

同步網路時間

[root@zlhpc sysconfig]# ntpdate -u ntp.api.bz
 9 Feb 15:56:21 ntpdate[4132]: step time server 17.253.68.253 offset 31624839.558211 sec
[root@zlhpc sysconfig]# date
2017年 02月 09日 星期四 15:56:27 CST

note1:ntp是網路時間協議,主要用作同步電腦時間與伺服器時間一致的。常見的ntp伺服器有:210.72.145.44(國家授時中心伺服器地址),ntp.api.bz(上海),time.nist.gov(美國),ntp.fudan.edu.cn(復旦),s1b.time.edu.cn(清華大學),等等。

note2:date命令設置時間只有超級用戶才有,一般用戶只能查看,且修改玩之後要記得執行clock -w 命令,把系統時間寫入CMOS中。

Linux系統主機名與操作系統相關信息

顯示系統主機名

[root@zlhpc sysconfig]# hostname
zlhpc

修改主機名,需要同時修改/etc/hosts和/etc/sysconfig/network,且修改完之後需重啟機器生效且永久保存,使用hostname命令只能臨時修改不能永久有效。

[root@zlhpc sysconfig]# vim /etc/hostname
-v:詳細信息模式;
-a:顯示主機別名; 
-d:顯示DNS功能變數名稱; 
-f:顯示FQDN名稱; 
-i:顯示主機的ip地址; 
-s:顯示短主機名稱,在第一個點處截斷; 
-y:顯示NIS功能變數名稱。

uname查看操作系統相關信息

[root@zlhpc /]# uname -a   
Linux zlhpc 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

數據依次為:內核名稱,主機名,內核版本號,內核版本,硬體名,處理器類型,硬體平臺類型,操作系統名稱

參數如下

  • -m或–machine 顯示主機的硬體(CPU)名 
  • -n或-nodename 顯示主機在網路節點上的名稱或主機名稱 
  • -r或–release 顯示linux操作系統內核版本號 
  • -s或–sysname 顯示linux內核名稱 
  • -v 顯示顯示操作系統是第幾個 version 版本 
  • -p 顯示處理器類型或unknown 
  • -i 顯示硬體平臺類型或unknown 
  • -o 顯示操作系統名 
  • –help 獲得幫助信息 
  • –version 顯示uname版本信息 

其他幾種出去啊看Linux版本信息的方法

[root@zlhpc /]# cat /proc/version
Linux version 3.10.0-327.el7.x86_64 ([email protected]) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015
[root@zlhpc /]# cat /etc/issue
\S
Kernel \r on an \m

[root@zlhpc /]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:    CentOS
Description:    CentOS Linux release 7.2.1511 (Core) 
Release:    7.2.1511
Codename:    Core

Linux系統查看cpu信息

[root@zlhpc /]# grep "model name" /proc/cpuinfo  #查看cpu信息
model name    : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
[root@zlhpc /]# more /proc/cpuinfo    #查看cpu信息
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 60
model name    : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
stepping    : 3
microcode    : 0x1e
cpu MHz        : 3591.678
cache size    : 8192 KB
physical id    : 0
siblings    : 1
core id        : 0
cpu cores    : 1
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 13
[root@zlhpc /]# getconf LONG_BIT   #查看cpu位數
64

Linux系統用戶與用戶組

用戶與組分類,根據帳號或組的位置都可以分為:本地帳號|組,遠程(域)帳號|組 ,LDAP,NIS

根據帳號|組的功能分類可以分為:超級用戶(root) uid:0 ,普通用戶。普通用戶又分為:系統帳號(uid範圍:1-499,1-99:由distributions自行創建的系統帳號,100-499:若用戶有系統帳號的需求時,可以使用的帳號uid)和可登錄帳號(uid範圍:500+)

關於系統用戶和組的相關配置文件放在系統的一下文件中:

用戶的帳號信息:/etc/passwd 用戶的密碼信息:/etc/shadow

用戶組信息:/etc/group  組的密碼信息:/etc/gshadow

那麼下麵我們一一打開這些文件來看看他們到底存放啦那些內容,格式是什麼樣的,我們又該怎麼解讀。

[root@zlhpc home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:998:996:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:997:995:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
libstoragemgmt:x:996:994:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
chrony:x:995:993::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
rabbitmq:x:994:992:RabbitMQ messaging server:/var/lib/rabbitmq:/bin/bash
nginx:x:993:991:Nginx web server:/var/lib/nginx:/sbin/nologin

每一行都代表一個用戶,每一行中的冒號(:)代表分割符,那我們拿第一行做一個解讀,如下:

root:x:0:0:root:/root:/bin/bash

  1. root:用戶名
  2. x:密碼占位符
  3. UID
  4. GID
  5. 用戶描述
  6. 用戶主文件夾
  7. 登錄後使用的shell./sbin/nologin此shell會讓該用戶無法登錄。

查看系統中支持那些shell:

[root@zlhpc home]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

接下來我們看下用戶關於密碼的配置文件:

[root@zlhpc home]# cat /etc/shadow
root:$6$zVDR2oO1Yg7alTbs$.70PPMYxg70k9BvLtjHdm94CDA1YWDRDI5NFzSfcmZF5WMESgIbLUdnqRjuVycg481Ny9rl//YzAFnXhurQi//::0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
adm:*:16659:0:99999:7:::
lp:*:16659:0:99999:7:::
sync:*:16659:0:99999:7:::
shutdown:*:16659:0:99999:7:::
halt:*:16659:0:99999:7:::
mail:*:16659:0:99999:7:::
operator:*:16659:0:99999:7:::
games:*:16659:0:99999:7:::
ftp:*:16659:0:99999:7:::
nobody:*:16659:0:99999:7:::
avahi-autoipd:!!:17203::::::
systemd-bus-proxy:!!:17203::::::
systemd-network:!!:17203::::::
dbus:!!:17203::::::
polkitd:!!:17203::::::
tss:!!:17203::::::
postfix:!!:17203::::::
sshd:!!:17203::::::
rpc:!!:17204:0:99999:7:::
abrt:!!:17204::::::
libstoragemgmt:!!:17204::::::
chrony:!!:17204::::::
ntp:!!:17204::::::
tcpdump:!!:17204::::::
rabbitmq:!!:17204::::::
nginx:!!:17204::::::

依然拿出第一行做一下解讀:

root:$6$zVDR2oO1Yg7alTbs$.70PPMYxg70k9BvLtjHdm94CDA1YWDRDI5NFzSfcmZF5WMESgIbLUdnqRjuVycg481Ny9rl//YzAFnXhurQi//::0:99999:7:::

  1. root:用戶名
  2. $6$zVDR2oO1Yg7alTbs$.70PPMYxg70k9BvLtjHdm94CDA1YWDRDI5NFzSfcmZF5WMESgIbLUdnqRjuVycg481Ny9rl//YzAFnXhurQi//:root用戶用sha512加密過的用戶密碼
  3. 最近更改密碼的日期,從19700101開始計算至修改密碼那天的累積天數。
  4. 0:密碼不能更改的天數,最近更改過後幾年之後才能被再次更改,0表示可以隨意隨時修改。
  5. 99999:密碼的過期時間,密碼在多少天後必須被修改。
  6. 7:系統需要在密碼過期的的前7天發出密碼即將過期的警告。
  7. 寬限天數,密碼過啦幾天後還能修改密碼。
  8. 帳號過期時間
  9. 保留欄位,目前沒有用到。

查看關於組的配置文件,如下:

[root@zlhpc home]# head -n 4 /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:

root:x:0:

  1. root:用戶組名稱
  2. x:用戶組密碼的占位符
  3. 0:用戶組的GID
  4. 此用戶組支持的帳號名稱。

接下來我們來看下帳號管理,關於帳號的增刪改查操作

1、添加用戶

[root@zlhpc home]# useradd zhanglonghao
[root@zlhpc home]# useradd zhanglonghao1

useradd (選項)(參數)

  • -c<備註>:加上備註文字。備註文字會保存在passwd的備註欄位中;
  • -d<登入目錄>:指定用戶登入時的啟始目錄;
  • -D:變更預設值;
  • -e<有效期限>:指定帳號的有效期限;
  • -f<緩衝天數>:指定在密碼過期後多少天即關閉該帳號;
  • -g<群組>:指定用戶所屬的群組;
  • -G<群組>:指定用戶所屬的附加群組;
  • -m:自動建立用戶的登入目錄;
  • -M:不要自動建立用戶的登入目錄;
  • -n:取消建立以用戶名稱為名的群組;
  • -r:建立系統帳號;
  • -s:指定用戶登入後所使用的shell;
  • -u:指定用戶id。

修改用戶信息,參數選項和添加一致。

[root@zlhpc home]# usermod zhanglonghao -u 1005
[root@zlhpc home]# id zhanglonghao
uid=1005(zhanglonghao) gid=1000(zhanglonghao) 組=1000(zhanglonghao)

刪除用戶

[root@zlhpc home]# userdel zhanglonghao2 -rf

userdel,參數如下:如果不加下麵的參數進行直接刪除,則用戶刪除,用戶的目錄與文件依舊保留。

  • -f:強制刪除用戶,即使用戶當前已登錄;
  • -r:刪除用戶的同時,刪除與用戶相關的所有文件。

把某個用戶添加到哪個組中:示例把用戶zhanglonghao添加到zhanglonghao1的組中,且也在原有的組中不被刪除,這是必須加 -a意思是附加的意思,如下:

[root@zlhpc home]# usermod zhanglonghao -a -G zhanglonghao1
[root@zlhpc home]# groups zhanglonghao
zhanglonghao : zhanglonghao zhanglonghao1

id查看用戶的id信息

[root@zlhpc home]# id zhanglonghao
uid=1005(zhanglonghao) gid=1000(zhanglonghao) 組=1000(zhanglonghao),1001(zhanglonghao1)

查看當前登錄系統的用戶信息

[root@zlhpc home]# who
root     pts/0        2017-02-12 15:01 (172.18.8.196)
[root@zlhpc home]# users
root
[root@zlhpc home]# id -un
root
[root@zlhpc home]# whoami
root
[root@zlhpc home]# who
root     pts/0        2017-02-12 15:01 (172.18.8.196)
[root@zlhpc home]# w
 16:51:15 up  1:50,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    172.18.8.196     15:01    3.00s  0.44s  0.01s w

我們針對w這個命令做個解釋

  1. user:用戶名
  2. tty:用戶的機器名或tty號
  3. from:遠程主機的地址
  4. login@:用戶登錄系統的時間
  5. idle:空閑時間
  6. jcpu:附加到tty(終端)的進程所用的時間(JCPU時間)
  7. pcpu:當前進程所用時間(PCPU時間)
  8. what:用戶當前正在使用的命令

參數為 -h :忽略頭文件信息, -u:顯示結果的載入時間 , -s :不顯示JCPU,PCPU,登陸時間。

Liunx網路的基本操作

打開網頁:curl

[root@zlhpc ~]# curl www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class="head_wrapper"> <div class="s_form"> <div class="s_form_wrapper"> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class="fm"> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class="s_ipt" value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class="mnav">新聞</a> <a href=http://www.hao123.com name=tj_trhao123 class="mnav">hao123</a> <a href=http://map.baidu.com name=tj_trmap class="mnav">地圖</a> <a href=http://v.baidu.com name=tj_trvideo class="mnav">視頻</a> <a href=http://tieba.baidu.com name=tj_trtieba class="mnav">貼吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class="lb">登錄</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登錄</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class="bri" style="display: block;">更多產品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>關於百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必讀</a>&nbsp; <a href=http://jianyi.baidu.com/ class="cp-feedback">意見反饋</a>&nbsp;京ICP證030173號&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>

下載文件:wget

[root@zlhpc ~]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz

linux下的文本瀏覽器:w3m與links

[root@zlhpc ~]# w3m www.baidu.com
[root@zlhpc ~]# links www.baidu.com

檢查你的網路與另外一臺機器是否互通:ping

[root@zlhpc ~]# ping www.baidu.com

做路由圖提供我們分析哪裡出現故障或者是否存在網路擁塞情況:mtr

[root@zlhpc ~]# mtr
[root@zlhpc ~]# mtr -r -c 30 www.baidu.com   #每秒發送數據包的數量是30  ,mtr -r -c 30 -s 1024 www.baidu.com #ping包的大小為1024個位元組
Start: Sun Feb 12 18:01:09 2017
HOST: zlhpc                       Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- ???                       100.0    30    0.0   0.0   0.0   0.0   0.0
  2.|-- 116.236.169.77             0.0%    30  4179. 9116. 4179. 11973 2051.2
  3.|-- 124.74.124.165             0.0%    30    1.9   3.6   1.7   5.4   1.0
  4.|-- 124.74.210.101             0.0%    30    4.1   4.5   2.4   6.1   1.0
  5.|-- 59.43.77.141               0.0%    30   20.1  18.1   7.4  54.5   8.2
  6.|-- 59.43.80.94                0.0%    30    4.3   6.0   2.7  24.3   3.6
  7.|-- 202.97.26.2               86.7%    30    5.1   5.2   5.0   5.4   0.0
  8.|-- 220.191.200.30             0.0%    30    5.9   5.5   5.1   7.0   0.3
  9.|-- ???                       100.0    30    0.0   0.0   0.0   0.0   0.0
 10.|-- 115.239.209.2              0.0%    30    6.8   7.1   6.6   8.0   0.0
 11.|-- ???                       100.0    30    0.0   0.0   0.0   0.0   0.0
 12.|-- 115.239.210.27             0.0%    30    6.1   6.5   5.6  11.7   1.4
  • 第一列:顯示的是IP地址和本機功能變數名稱,這點和tracert很像。
  • 第二列 Loss%:是顯示的每個對應IP的丟包率。
  • 第三列 snt:snt等於10,設置每秒發送數據包的數量,預設值是10 可以通過參數 -c來指定。
  • 第四列 Last:顯示的最近一次的返回時延。
  • 第五列 Avg:平均值,這個應該是發送ping包的平均時延。
  • 第六列 Best:最好或者說時延最短的時間。
  • 第七列 Wrst:最壞或者說時延最長的時間。
  • 第八列 StDev:標準偏差。

mtr參數如下:

  1. -h 提供幫助命令
  2. -v 顯示mtr的版本信息
  3. -r 已報告模式顯示
  4. -c 設置每秒發送數據包的數量
  5.  -s 用來指定ping數據包的大小
  6. -n no-dns不對IP地址做功能變數名稱解析
  7. -a 來設置發送數據包的IP地址 這個對一個主機由多個IP地址是有用的
  8. -i 使用這個參數來設置ICMP返回之間的要求預設是1秒
  9. -4 IPv4
  10. -6 IPv6

DNS查詢,如果是參數是功能變數名稱輸出關聯ip,如果參數是ip輸出關聯的功能變數名稱:host

[root@zlhpc ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 115.239.211.112
www.a.shifen.com has address 115.239.210.27

出網路介面配置、調優和debug的各種選項:ifconfig

[root@zlhpc ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.8.190  netmask 255.255.255.0  broadcast 172.18.8.255
        inet6 fe80::20c:29ff:feb5:d2d8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b5:d2:d8  txqueuelen 1000  (Ethernet)
        RX packets 10916  bytes 7044121 (6.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7267  bytes 774719 (756.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 318  bytes 32844 (32.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 318  bytes 32844 (32.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

關於ip的命令

[root@zlhpc ~]# ip link show  #查看所有網路介面屬性信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:b5:d2:d8 brd ff:ff:ff:ff:ff:ff
[root@zlhpc ~]# ip -s link show   #查看所有統計信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    32844      318      0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    32844      318      0       0       0       0       
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:b5:d2:d8 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    7050452    10988    0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    780097     7309     0       0       0       0       
[root@zlhpc ~]# ip addr show  #查看網路信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:b5:d2:d8 brd ff:ff:ff:ff:ff:ff
    inet 172.18.8.190/24 brd 172.18.8.255 scope global dynamic eno16777736
       valid_lft 83120sec preferred_lft 83120sec
    inet6 fe80::20c:29ff:feb5:d2d8/64 scope link 
       valid_lft forever preferred_lft forever

這裡簡單介紹下,以後會有深入介紹。

ifdown與ifup分別是禁用與啟用摸個網路介面

[root@zlhpc ~]# ifdown eno16777736
[root@zlhpc ~]# ifup eno16777736

netstat命令查看網路信息

netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連接以及每一個網路介面設備的,netstat命令的功能是顯示網路連接、路由表和網路介面信息,可以讓用戶得知目前都有哪些網路連接正在運作。

netstat [選項]

  • -a 顯示所有socket,包括正在監聽的。
  • -c 每隔1秒就重新顯示一遍,直到用戶中斷它。
  • -i 顯示所有網路介面的信息,格式同“ifconfig -e”。
  • -n 以網路IP地址代替名稱,顯示出網路連接情形
  • -r 顯示核心路由表,格式同“route -e”。
  • -t 顯示TCP協議的連接情況。
  • -u 顯示UDP協議的連接情況。
  • -v 顯示正在進行的工作。
  • -p 顯示建立相關鏈接的程式名

列出所有連接

[root@zlhpc ~]# netstat -a  --列出所有連接
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN  

只列出tcp或者udp協議的連接

[root@zlhpc ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN   
[root@zlhpc ~]# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:18604           0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                          
udp6       0      0 localhost:323           [::]:*                             
udp6       0      0 [::]:53744              [::]:*   

禁用反向功能變數名稱解析,加快查詢速度

[root@zlhpc ~]# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0     52 172.18.8.190:22         172.18.8.196:51171      ESTABLISHED
tcp        0      0 172.18.8.190:22         172.18.8.196:49639      ESTABLISHED

只列出監聽中的連接

[root@zlhpc ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN    

獲取進程名,進程號以及用戶id

[root@zlhpc ~]# netstat -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1538/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2094/master         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      1538/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2094/master      
[root@zlhpc ~]# netstat -ltpe
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN      root       16299      1/systemd           
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      root       21179      1538/sshd           
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN      root       22083      2094/master         
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN      root       16298      1/systemd           
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      root       21189      1538/sshd           
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN      root       22084      2094/master         

網路報統計情況

[root@zlhpc ~]# netstat -s
Ip:
    7872 total packets received
    0 forwarded
    0 incoming packets discarded
    6932 incoming packets delivered
    7284 requests sent out
    60 dropped because of missing route
Icmp:
    260 ICMP messages received
    1 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 1
        timeout in transit: 214
        echo requests: 1
        echo replies: 44
    409 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 33
        echo request: 12
        echo replies: 
... OUTPUT TRUNCATED ...

持續輸出 -c持續輸出tcp協議信息

[root@zlhpc ~]# netstat -ct
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0     52 zlhpc:ssh               localhost:51171         ESTABLISHED
tcp        0      0 zlhpc:ssh               localhost:49639         ESTABLISHED

iftop工具實時監控linux系統的網路流量信息

最後上一個簡單的實時流量監控工具:iftop ,它可以用來監控實時流量,反向解析ip,顯示埠等。使用需先安裝iftop,官網地址:http://www.ex-parrot.com/~pdw/iftop/

不過還有很多類似的軟體,我們放在以後討論。 

[root@zlhpc ~]# iftop
interface: eno16777736
IP address is: 172.18.8.190
MAC address is: 00:0c:29:b5:d2:d8

常用參數命令:

  • -i設定監測的網卡,如:# iftop -i eth1 
  • -B 以bytes為單位顯示流量(預設是bits),如:# iftop -B 
  • -n使host信息預設直接都顯示IP,如:# iftop -n 
  • -N使埠信息預設直接都顯示埠號,如: # iftop -N 
  • -F顯示特定網段的進出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0 
  • -h(display this message),幫助,顯示參數信息 
  • -p使用這個參數後,中間的列表顯示的本地主機信息,出現了本機以外的IP信息; 
  • -b使流量圖形條預設就顯示; 
  • -f這個暫時還不太會用,過濾計算包用的; 
  • -P使host信息及埠信息預設就都顯示; 
  • -m設置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M 

圖解:

  • 界面頭部:流量刻度尺,對應下邊每行的白色橫條。
  • 界面中部:左邊為伺服器;中間為外網IP,左箭頭流入,右箭頭流出;右邊為2s 10s 40s 的流量情況。
  • 界面下部:TX:發送流量 ,RX:接收流量 ,TOTAL:總流量 ,Cumm:運行iftop到目前時間的總流量 ,peak:流量峰值 ,rates:分別表示過去 2s 10s 40s 的平均流量

界面命令:

  • 按h切換是否顯示幫助;
  • 按n切換顯示本機的IP或主機名;
  • 按s切換是否顯示本機的host信息;
  • 按d切換是否顯示遠端目標主機的host信息;
  • 按t切換顯示格式為2行/1行/只顯示發送流量/只顯示接收流量;
  • 按N切換顯示埠號或埠服務名稱;
  • 按S切換是否顯示本機的埠信息;
  • 按D切換是否顯示遠端目標主機的埠信息;
  • 按p切換是否顯示埠信息;
  • 按P切換暫停/繼續顯示;
  • 按b切換是否顯示平均流量圖形條;
  • 按B切換計算2秒或10秒或40秒內的平均流量;
  • 按T切換是否顯示每個連接的總流量;
  • 按l打開屏幕過濾功能,輸入要過濾的字元,比如ip,按回車後,屏幕就只顯示這個IP相關的流量信息;
  • 按L切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;
  • 按j或按k可以向上或向下滾動屏幕顯示的連接記錄;
  • 按1或2或3可以根據右側顯示的三列流量數據進行排序;
  • 按<根據左邊的本機名或IP排序;
  • 按>根據遠端目標主機的主機名或IP排序;
  • 按o切換是否固定只顯示當前的連接;
  • 按f可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個!
  • 按!可以使用shell命令,這個沒用過!沒搞明白啥命令在這好用呢!
  • 按q退出監控。

Linux系統的硬碟存儲與tree工具

整個系統的存儲情況

[root@zlhpc ~]# df -h
文件系統                 容量  已用  可用 已用% 掛載點
/dev/mapper/centos-root   18G  2.1G   16G   12% /
devtmpfs                 479M     0  479M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.7M  483M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                497M  124M  374M   25% /boot
tmpfs                     98M     0   98M    0% /run/user/0

某個文件或文件夾大小

[root@zlhpc usr]# du --max-depth=1 -h
108M    ./bin
46M    ./sbin
390M    ./lib
417M    ./lib64
517M    ./share
0    ./etc
0    ./games
35M    ./include
78M    ./libexec
51M    ./local
55M    ./src
1.7G    .

du的相關參數如下:

  • -a 顯示所有文件及目錄大小,遞歸顯示
  • --apparent-size 顯示文件及目錄展現大小,而非磁碟占用量。
  • -B,--block-size='SIZE' 顯示塊的數量,引號中的size表示系統的塊尺寸。
  • -b 以byte的方式顯示查看對象大小,相當於--apparent-size --block-size=1
  • -c 計總並以total錶面總數
  • -D 計算不包含鏈接文件
  • -H 類似於--si 以1000為計算單位計算文件及目錄的磁碟占用量
  • -h 人類可讀的模式(K,M,G)
  • --si 以1000取代1024換算單位
  • -k 類似於--block-size=1k指定塊大小為1k,計算文件目錄大小。
  • -l, --count-links 多次計算如果包含硬鏈接
  • -m 類似於--block-size=1M指定塊大小為1M,計算文件目錄大小。
  • -L, --dereference 和-D參數不同,忽略所有鏈接對象(文件,目錄)
  • -P, --no-dereference 預設參數,不
  • -0 用0位元組替代換行符
  • -S, --separate-dirs 不包含子目錄的大小
  • -s, --summarize 僅顯示當前目錄級下每個對象的總大小
  • -x, --one-file-system 跳過那些在不同文件系統上的目錄。
  • -X FILE, --exclude-from=FILE 不包含匹配的對象,這裡的FILE是用戶指定的文件對象
  • --exclude=PATTERN
  • --max-depth= 顯示目錄級的深度--max-depth=0相當於--summarize
  • --time 顯示目錄中文件的或子目錄最後的改動時間
  • --time=WORD 以關鍵詞 WORD顯示時間,包含:atime,access,use,ctime,status
  • --time-style=STYLE 調整顯示時間格式,格式包含full-iso, long-iso, iso, +FORMAT(該格式來自於date命令)
  • --help 幫助
  • --version 版本信息

使用tree工具,查看樹形目錄結構,首先先安裝tree工具

[root@zlhpc usr]# tree -L 3 src   #列出src層數為3以內的所有文件
src
├── debug
└── kernels
    └── 3.10.0-514.6.1.el7.x86_64
        ├── arch
        ├── block
        ├── crypto
        ├── drivers
        ├── firmware

tree常用參數:

-d:僅顯示目錄

-a:顯示所有

-f:顯示完整路徑

-L n :n為數字,表示要現實幾層。

進程資源的實時占用狀況,Linux中的任務管理器:top

top預設3秒刷新一次,按空格立即刷新,q:退出,M:按記憶體排序,P:按cpu排序,<>:翻頁 。

top - 21:32:45 up  6:31,  2 users,  load average: 0.01, 0.02, 0.05
Tasks: 348 total,   2 running, 346 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1001332 total,   321616 free,   166176 used,   513540 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   596688 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND             
  3865 root      20   0  146296   2272   1452 R  0.7  0.2   0:00.62 top                 
     1 root      20   0  126416   7184   2608 S  0.0  0.7   0:02.43 systemd             
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.06 kthreadd            
     3 root      20   0       0      0      0 S  0.0  0.0   0:00.37 ksoftirqd/0         
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.98 kworker/u256:0      
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0         
     8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh              
     9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/0             
    10 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/1             
    11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/2             
    12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/3             
    13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/4  

統計講解:

第一行的統計信息與命令uptime命令執行結果一致,依次為:

  • 21:32:45 :當前時間
  • 6:31 :系統運行時間
  • 2 users:當前登錄用戶數
  • load average: 0.01, 0.02, 0.05  :系統負載,即任務隊列的平均長度:1分鐘,5分鐘,15分鐘前到現在的平均值。一般來說,每個cpu內核當前活動進程不大於3,則系統運行表現良好。當然這裡說的是每個cpu內核,也就是如果你的主機是8核的話,那麼uptime輸出的最後一串字元應小於8*3=24即表示系統負載不是很嚴重。

第二、三行為進程和cpu的信息,當有多個cpu時,這些內容可能會超過2行,內容如下:

  • Tasks: 348 total:進程總數
  • 2 running:正在運行的進程數
  • 346 sleeping:睡眠的進程數
  • 0 stopped:停止的進程數
  • 0 zombie :僵屍進程數 
  • %Cpu(s) 0.3 us:系統用戶進程使用cpu百分比,不包括調高優先順序的進程。cpu%是由每個核的cpu占用率之和計算出來的,如果是4核,核1使用率為100%,核2cpu使用率為100%,則會出現cpu高於100%的現象,最終為200%。
  • 0.3 sy :內核空間占用cpu百分比
  • 0.0 ni :用戶進程空間內改變過優先順序的進程占用cpu百分比
  • 99.3 id :空閑cpu百分比
  • 0.0 wa :等待輸入輸出的cpu時間百分比
  • 0.0 hi :硬體cpu中斷占用百分比
  • 0.0 si :軟中斷占用百分比
  • 0.0 st :虛擬機占用百分比

第四、五行為記憶體信息

  • KiB Mem : 1001332 total :物力記憶體總量
  • 321616 free :空閑記憶體總量
  • 166176 used :使用物理記憶體總量
  • 513540 buff/cache :用作內核緩存的記憶體量,和free -k 命令一個意思
  • KiB Swap: 2097148 total :交換區總量
  • 2097148 free :空閑交換區總量
  • 0 used :使用交換區總量
  • 596688 avail Mem :緩衝的交換區總量,記憶體中的內容被換出到交換區,而後又被換入到記憶體,但使用過的交換區尚未被覆蓋,該數值即為這些內容已存在於記憶體中的交換區的大小,相應的記憶體再次被換出時可不必再對交換區寫入。

第六列頭標題詳細

  • PID :進程id
  • PPID :父進程id
  • RUSER :Real user name
  • UID : 進程所有者的用戶id
  • USER : 進程所有者的用戶名
  • GROUP : 進程所有者的組名
  • TTY : 啟動進程的終端名。不是從終端啟動的進程則顯示為 ?
  • PR : 優先順序
  • NI : nice值。負值表示高優先順序,正值表示低優先順序
  • P : 最後使用的CPU,僅在多CPU環境下有意義
  • %CPU : 上次更新到現在的CPU時間占用百分比
  • TIME : 進程使用的CPU時間總計,單位秒
  • TIME+ : 進程使用的CPU時間總計,單位1/100秒
  • %MEM : 進程使用的物理記憶體百分比
  • VIRT : 進程使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
  • SWAP : 進程使用的虛擬記憶體中,被換出的大小,單位kb。
  • RES: 進程使用的、未被換出的物理記憶體大小,單位kb。RES=CODE+DATA
  • CODE: 可執行代碼占用的物理記憶體大小,單位kb
  • DATA : 可執行代碼以外的部分(數據段+棧)占用的物理記憶體大小,單位kb
  • SHR : 共用記憶體大小,單位kb
  • nFLT: 頁面錯誤次數
  • nDRT : 最後一次寫入到現在,被修改過的頁面數。
  • S : 進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/停止,Z=僵屍進程)
  • COMMAND :命令名/命令行
  • WCHAN : 若該進程在睡眠,則顯示睡眠中的系統函數名
  • Flags : 任務標誌,參考 sched.h

 top命令參數

  • d 指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交互命令來改變之。
  • p 通過指定監控進程ID來僅僅監控某個進程的狀態。
  • q 該選項將使top沒有任何延遲的進行刷新。如果調用程式有超級用戶許可權,那麼top將以儘可能高的優先順序運行。
  • S 指定累計模式
  • s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
  • i 使top不顯示任何閑置或者僵死進程。
  • c 顯示整個命令行而不只是顯示命令名

常用命令

top   //每隔5秒顯式所有進程的資源占用情況
top -d 2  //每隔2秒顯式所有進程的資源占用情況
top -c  //每隔5秒顯式進程的資源占用情況,並顯示進程的命令行參數(預設只有進程名)
top -p 12345 -p 6789//每隔5秒顯示pid是12345和pid是6789的兩個進程的資源占用情況
top -d 2 -c -p 123456 //每隔2秒顯示pid是12345的進程的資源使用情況,並顯式該進程啟動的命令行參數

Linux系統free命令查看系統記憶體情況

[root@zlhpc ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           977M        138M        693M        6.6M        145M        690M
Swap:          2.0G          0B        2.0G
  • Mem:系統物理記憶體
  • Swap:相當於windows中的虛擬記憶體,這裡叫做交換區,當系統的物理記憶體不夠用時,系統會將磁碟空間虛擬成記憶體使用。記憶體不夠的情況下,操作系統先把記憶體中暫時不用的數據,存到硬碟的交換空間,騰出記憶體來讓別的程式運行。
  • Buff:buff這裡我簡單說明下,與cache對比,他是在做寫操作的時候,把分散的寫操作集中進行,減少磁碟I/O,從而提高系統性能。文件是在寫操作之前先放入buff。
  • Cache:在做讀操作的時候,把數據放入緩存中,等下次來訪問此數據時候,不用讀磁碟,直接讀緩存即可。
  • total:去掉為硬體和操作系統保留的記憶體後剩餘的記憶體總量。許多人奇怪自己的電腦安裝了一共8G的記憶體,但是顯示總共只有七點幾G的,現在應該沒什麼疑惑了把,不管Linux還是Windows都會有部分記憶體是保留給硬體和操作系統的!
  • used:已分配的記憶體
  • free:未分配記憶體
  • shared:共用記憶體
  • available:可以使用的記憶體總量

Linux系統查看記憶體信息

[root@zlhpc /]# more /proc/meminfo   #查看記憶體信息
MemTotal:        1001332 kB 
MemFree:          322740 kB
MemAvailable:     597536 kB
Buffers:            1004 kB
Cached:           261816 kB
SwapCached:            0 kB
Active:           169740 kB
Inactive:         167476 kB
Active(anon):      74780 kB
Inactive(anon):     6452 kB
Active(file):      94960 kB
Inactive(file):   161024 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Dirty:                 0 kB
Writeback:             0 kB
[root@zlhpc /]# grep MemTotal /proc/meminfo   #查看記憶體信息
MemTotal:        1001332 kB

Linux系統進程相關

pstree:樹形結構顯示系統進程信息

-p顯示進程號

[root@zlhpc ~]# pstree -p
systemd(1)─┬─NetworkManager(978)─┬─dhclient(1320)
           │                     ├─{NetworkManager}(1051)
           │                     └─{NetworkManager}(1054)
           ├─abrt-watch-log(886)
           ├─abrtd(885)
           ├─agetty(906)
           ├─atd(900)
           ├─auditd(852)───{auditd}(871)

ps:用於展示當前系統的進程狀態。可以搭配kill指令隨時中斷、刪除不必要的程式。ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等,總之大部分信息都是可以通過執行該命令得到的。

複製代碼
[root@zlhpc ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.7 126420  7172 ?        Ss   09:12   0:01 /usr/lib/systemd/system
root          2  0.0  0.0      0     0 ?        S    09:12   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    09:12   0:00 [ksoftirqd/0]
root          6  0.0  0.0      0     0 ?        S    09:12   0:00 [kworker/u256:0]
root          7  0.0  0.0      0     0 ?        S    09:12   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    09:12   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    09:12   0:00 [rcuob/0]
複製代碼
  • user:運行次進程的用戶名
  • pid:該進程的進程號碼
  • %CPU:該進程使用掉的cpu資源百分比
  • %MEM:該進程所占用的物理記憶體百分比
  • VSZ:該進程使用掉的虛擬記憶體量(Kbytes)
  • RSS:該進程占用的固定記憶體量(Kbytes)
  • TTY:該進程是在哪個終端機上運作,若與終端機無關,則顯示?,另外,tty-tty6是本機上面的登入者程式,若為pts/0等等的,則表示為由網路連接進主機的程式。
  • STAT:該程式目前的狀態,Linux進程有6種基本狀態:R:正在運行或運行隊列中等待,S:可中斷的睡眠狀態,可被某些訊號(signal)喚醒。T:暫停狀態或跟蹤狀態,D:不可中斷的睡眠狀態,Z:退出狀態,進程成為僵屍進程,X:退出狀態,進程即將被銷毀。6種狀態下又有6種子狀態分別為:<:高優先順序的,N:低優先順序的,L:有記憶體分頁但是帶鎖,s:包含子進程,l:多線程,+:前臺程式(命令正在打開使用的程式,比如vim)
  • START:該進程被觸發的時間
  • Time:該進程實際使用cpu運作的時間
  • Command:該程式的實際指令

恐怖的參數多的如下:

  • -a:顯示所有終端機下執行的程式,除了階段作業領導者之外。
  • a:顯示現行終端機下的所有程式,包括其他用戶的程式。
  • -A:顯示所有程式。
  • -c:顯示CLS和PRI欄位。
  • c:列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,選項或常駐服務的標示。
  • -C<指令名稱>:指定執行指令的名稱,併列出該指令的程式的狀況。
  • -d:顯示所有程式,但不包括階段作業領導者的程式。
  • -e:此選項的效果和指定"A"選項相同。
  • e:列出程式時,顯示每個程式所使用的環境變數。
  • -f:顯示UID,PPIP,C與STIME欄位。
  • f:用ASCII字元顯示樹狀結構,表達程式間的相互關係。
  • -g<群組名稱>:此選項的效果和指定"-G"選項相同,當亦能使用階段作業領導者的名稱來指定。
  • g:顯示現行終端機下的所有程式,包括群組領導者的程式。
  • -G<群組識別碼>:列出屬於該群組的程式的狀況,也可使用群組名稱來指定。
  • h:不顯示標題列。
  • -H:顯示樹狀結構,表示程式間的相互關係。
  • -j或j:採用工作控制的格式顯示程式狀況。
  • -l或l:採用詳細的格式來顯示程式狀況。
  • L:列出欄位的相關信息。
  • -m或m:顯示所有的執行緒。
  • n:以數字來表示USER和WCHAN欄位。
  • -N:顯示所有的程式,除了執行ps指令終端機下的程式之外。
  • -p<程式識別碼>:指定程式識別碼,併列出該程式的狀況。
  • p<程式識別碼>:此選項的效果和指定"-p"選項相同,只在列表格式方面稍有差異。
  • r:只列出現行終端機正在執行中的程式。
  • -s<階段作業>:指定階段作業的程式識別碼,併列出隸屬該階段作業的程式的狀況。
  • s:採用程式信號的格式顯示程式狀況。
  • S:列出程式時,包括已中斷的子程式資料。
  • -t<終端機編號>:指定終端機編號,併列出屬於該終端機的程式的狀況。
  • t<終端機編號>:此選項的效果和指定"-t"選項相同,只在列表格式方面稍有差異。
  • -T:顯示現行終端機下的所有程式。
  • -u<用戶識別碼>:此選項的效果和指定"-U"選項相同。
  • u:以用戶為主的格式來顯示程式狀況。
  • -U<用戶識別碼>:列出屬於該用戶的程式的狀況,也可使用用戶名稱來指定。
  • U<用戶名稱>:列出屬於該用戶的程式的狀況。
  • v:採用虛擬記憶體的格式顯示程式狀況。
  • -V或V:顯示版本信息。 -w或w:採用寬闊的格式來顯示程式狀況。 
  • x:顯示所有程式,不以終端機來區分。
  • X:採用舊式的Linux i386登陸格式顯示程式狀況。
  • -y:配合選項"-l"使用時,不顯示F(flag)欄位,並以RSS欄位取代ADDR欄位 。
  • -<程式識別碼>:此選項的效果和指定"p"選項相同。
  • --cols<每列字元數>:設置每列的最大字元數。
  • --columns<每列字元數>:此選項的效果和指定"--cols"選項相同。
  • --cumulative:此選項的效果和指定"S"選項相同。
  • --deselect:此選項的效果和指定"-N"選項相同。
  • --forest:此選項的效果和指定"f"選項相同。
  • --headers:重覆顯示標題列。
  • --help:線上幫助。
  • --info:顯示排錯信息。
  • --lines<顯示列數>:設置顯示畫面的列數。
  • --no-headers:此選項的效果和指定"h"選項相同,只在列表格式方面稍有差異。
  • --group<群組名稱>:此選項的效果和指定"-G"選項相同。
  • --Group<群組識別碼>:此選項的效果和指定"-G"選項相同。
  • --pid<程式識別碼>:此選項的效果和指定"-p"選項相同。
  • --rows<顯示列數>:此選項的效果和指定"--lines"選項相同。
  • --sid<階段作業>:此選項的效果和指定"-s"選項相同。
  • --tty<終端機編號>:此選項的效果和指定"-t"選項相同。
  • --user<用戶名稱>:此選項的效果和指定"-U"選項相同。
  • --User<用戶識別碼>:此選項的效果和指定"-U"選項相同。
  • --version:此選項的效果和指定"-V"選項相同。
  • --widty<每列字元數>:此選項的效果和指定"-cols"選項相同。
[root@zlhpc ~]# ps -ef    --標準格式顯示進程
[root@zlhpc ~]# ps -aux --BSD格式顯示進程

總結

接下來是大家最喜歡的總結內容啦,內容有三,如下:

1、希望能關註我其他的文章。

2、博客裡面有沒有很清楚的說明白,或者你有更好的方式,那麼歡迎加入左上方的2個交流群,我們一起學習探討。

3、你可以忘記點贊加關註,但千萬不要忘記掃碼打賞哦。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一 、對數據的增刪改查。 1. 新增 2. 修改 3. 查看 4. 刪除 ...
  • Microsoft SQL Server(以下簡稱SQL Server)作為一種中小型資料庫管理系統,已經得到了廣泛的應用,該系統更強調由系統來管理鎖。在用戶有SQL請求時,系統分析請求,自動在滿足鎖定條件和系統性能之間為資料庫加上適當的鎖,同時系統在運行期間常常自動進行優化處理,實行動態加鎖。 對 ...
  • 最近搭建了一套SQLServer2016 AlwaysOn。 筆者是採用修改各節點的hosts文件,以及修改電腦名的dns尾碼,來避免需要另外一臺DNS伺服器。 上面128,129,130三個IP屬於AlwaysOn的三個節點伺服器 IP100屬於可用性組偵聽器IP IP150屬於群集 途中遇到的 ...
  • 轉自:http://www.0791quanquan.com/news_keji/topic_816453/ 探索一:正負數問題 拿tinyint欄位來舉例,unsigned後,欄位的取值範圍是0-255,而signed的範圍是-128 - 127。 那麼如果我們在明確不需要負值存在的情況下,通常是 ...
  • 1:在進行count()統計某列的記錄數的時候,如果採用的NULL值,會別系統自動忽略掉,但是空值是會進行統計到其中的。 2: 判斷NULL 用IS NULL 或者 is not null,SQL 語句函數中可以使用ifnull()函數來進行處理,判斷空字元用=''或者 <>''來進行處理 3: 對 ...
  • 問題1: 解決方法: (該解決方法是設置為NAT模式) 問題2: 解決方法: 問題3: 設置虛擬機與系統時間同步問題 在安裝完CentOS系統後發現時間與現在時間相差8小時,這是由於我們在安裝系統的時選擇的時區是上海, 而CentOS預設bios時間是utc時間,所以時間相差了8小時。這個時候的bi ...
  • sed做為linux下的三劍客,自然功能強大,但是如果使用不當,反而適得其反,今天就因為這個命令採了很深坑,分析一下原因,以諫後來者。 情景回顧: 項目中使用的一個python爬蟲採用的是多線程併發爬取,輸入為一個存放url的文件,因為程式隨時可能停止,所以每次重啟程式的時候需要將以爬取過的url去 ...
  • 作者信息 作者: 彭東林 郵箱: [email protected] QQ: 405728433 軟體平臺 主機: Ubuntu14.04 64位版本 模擬器:Qemu-2.8.0 Linux內核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具鏈: gc ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...