05.23 運維工程師必會的109個Linux命令(6)

1 系統管理

1.1 cal

1.1.1 功能說明

日曆命令,可以顯示當月日曆、當年日曆、指定月份年份的日曆等。

1.1.2 語法

cal [options] [[month] year]

1.1.3 參數

-j

以一月一日起的天數顯示本月的月曆。

-m

以星期一為每週的第一天方式,顯示本月的月曆。

-y

顯示全年日曆

-jy

以一月一日起的天數顯示全年日曆。

1.2 cat

使用方式:cat [-AbeEnstTuv] [--help] [--version] filename

說明:把檔案串連接後傳到基本輸出(屏幕或加 > filename 到另一個檔案)

參數:

-n 或 --number 由 1 開始對所有輸出的行數編號

-b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號

-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行

-v 或 --show-nonprinting

範例:

cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裡

cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裡。

1.3 chsh

1.3.1 功能說明

更換登入系統時使用的shell。

1.3.2 語法

chsh [-luv][-s <shell>][用戶名稱]/<shell>

1.3.3 補充說明

每位用戶在登入系統時,都會擁有預設的shell環境,這個指令可更改其預設值。若不指定

任何參數與用戶名稱,則chsh會以應答的方式進行設置。

1.3.4 參數

 -s<shell>或--shell<shell> 更改系統預設的shell環境。 /<shell>/<shell>

 -l或--list-shells 列出目前系統可用的shell清單。

 -u或--help 在線幫助。

 -v或-version 顯示版本信息。

1.4 clear

清除終端顯示,與按Ctrl-L效果相同。

1.5 date

1.5.1 功能說明

顯示或設置系統時間與日期。

1.5.2 語法

date [-d ][-u][+%H%I%K%l%M%P%r%s%S%T%X%Z%a%A%b%B%c%d%D%j%m%U%w%x%y%Y%n%t]

或date [-s ][-u][MMDDhhmmCCYYss] 或 date [--help][--version]

1.5.3 補充說明

第一種語法可用來顯示系統日期或時間,以%為開頭的參數為格式參數,可指定日期或時間的顯示格式。

第二種語法可用來設置系統日期與時間。只有管理員才有設置日期與時間的權限。若不加任何參數,data會顯示目前的日期與時間。

1.5.4 參數

 %H 小時(以00-23來表示)。

 %I 小時(以01-12來表示)。

 %K 小時(以0-23來表示)。

 %l 小時(以0-12來表示)。

 %M 分鐘(以00-59來表示)。

 %P AM或PM。

 %r 時間(含時分秒,小時以12小時AM/PM來表示)。

 %s 總秒數。起算時間為1970-01-01 00:00:00 UTC。

 %S 秒(以本地的慣用法來表示)。

 %T 時間(含時分秒,小時以24小時制來表示)。

 %X 時間(以本地的慣用法來表示)。

 %Z 市區。

 %a 星期的縮寫。

 %A 星期的完整名稱。

 %b 月份英文名的縮寫。

 %B 月份的完整英文名稱。

 %c 日期與時間。只輸入date指令也會顯示同樣的結果。

 %d 日期(以01-31來表示)。

 %D 日期(含年月日)。

 %j 該年中的第幾天。

 %m 月份(以01-12來表示)。

 %U 該年中的週數。

 %w 該周的天數,0代表週日,1代表週一,異詞類推。

 %x 日期(以本地的慣用法來表示)。

 %y 年份(以00-99來表示)。

 %Y 年份(以四位數來表示)。

 %n 在顯示時,插入新的一行。

 %t 在顯示時,插入tab。

 MM 月份(必要)。

 DD 日期(必要)。

 hh 小時(必要)。

 mm 分鐘(必要)。

 CC 年份的前兩位數(選擇性)。

 YY 年份的後兩位數(選擇性)。

 ss 秒(選擇性)。

 -d 顯示字符串所指的日期與時間。字符串前後必須加上雙引號。

 -s 根據字符串來設置日期與時間。字符串前後必須加上雙引號。

 -u 顯示GMT。

 --help 在線幫助。

 --version 顯示版本信息。

1.6 echo

1.6.1 功能說明

顯示文字。

1.6.2 語法

echo [-ne][字符串]或 echo [--help][--version]

1.6.3 補充說明

echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 並在最後加上換行號。

1.6.4 參數

-n 不要在最後自動換行

-e 若字符串中出現以下字符,則特別加以處理,而不會將它當成一般

文字輸出:

\\a 發出警告聲;

\\b 刪除前一個字符;

\\c 最後不加上換行符號;

\\f 換行但光標仍舊停留在原來的位置;

\\n 換行且光標移至行首;

\\r 光標移至行首,但不換行;

\\t 插入tab;

\\v 與\\f相同;

\\\\ 插入\\字符;

\\nnn 插入nnn(八進制)所代表的ASCII字符;

–help 顯示幫助

–version 顯示版本信息

1.7 ethtool

1.7.1 功能說明

ethtool是用於查詢及設置網卡參數的命令。

1.7.2 概要

ethtool ethX //查詢ethX網口基本設置

ethtool –h //顯示ethtool的命令幫助(help)

ethtool –i ethX //查詢ethX網口的相關信息

ethtool –d ethX //查詢ethX網口註冊性信息

ethtool –r ethX //重置ethX網口到自適應模式

ethtool –S ethX //查詢ethX網口收發包統計

ethtool –s ethX [speed 10|100|1000]\\ //設置網口速率10/100/1000M

[duplex half|full]\\ //設置網口半/全雙工

[autoneg on|off]\\ //設置網口是否自協商

[port tp|aui|bnc|mii]\\ //設置網口類型

[phyad N]\\

[xcvr internal|exteral]\\

[wol p|u|m|b|a|g|s|d...]\\

[sopass xx:yy:zz:aa:bb:cc]\\

[msglvl N]

1.7.3 舉例

1)[root@linux /]# ethtool eth1

Settings for eth1:

Supported ports: [ TP ]

Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Supports auto-negotiation: Yes

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Advertised auto-negotiation: Yes

Speed: 1000Mb/s

Duplex: Full

Port: Twisted Pair

PHYAD: 0

Transceiver: internal

Auto-negotiation: on

Supports Wake-on: umbg

Wake-on: d

Link detected: yes

2)[root@linux /]# ethtool -i eth1

driver: e1000

version: 5.0.43-k1

firmware-version: N/A

bus-info: 06:08.1

3)[root@linux /]# ethtool -S eth1

NIC statistics:

rx_packets: 58068300

tx_packets: 87124083

rx_bytes: 1589713008

tx_bytes: 2165825901

rx_errors: 0

tx_errors: 0

rx_dropped: 0

tx_dropped: 0

multicast: 0

collisions: 0

rx_length_errors: 0

rx_over_errors: 0

rx_crc_errors: 0

rx_frame_errors: 0

rx_fifo_errors: 0

rx_missed_errors: 0

tx_aborted_errors: 0

tx_carrier_errors: 0

tx_fifo_errors: 0

tx_heartbeat_errors: 0

tx_window_errors: 0

4)[root@linux /]# ethtool -s eth1 autoneg off speed 100 duplex full

1.7.4 相關

1)[root@linux /]# which ethtool

/sbin/ethtool

2)[root@linux /]# rpm -qf /sbin/ethtool

ethtool-1.6-5

3)怎樣使ethtool設置永久保存在網絡設備中?

解決方法一:

ethtool設置可通過/etc/sysconfig/network-scripts/ifcfg-ethX文件保存,從而在設備下次啟動時激活選項。

例如:ethtool -s eth0 speed 100 duplex full autoneg off

此指令將eth0設備設置為全雙工自適應,速度為100Mbs。若要eth0啟動時設置這些參數, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

解決方法二:

將ethtool設置寫入/etc/rc.d/rc.local之中。

1.8 free

1.8.1 功能說明

顯示內存狀態。

1.8.2 語法

free [-bkmotV][-s ]

1.8.3 補充說明

free指令會顯示內存的使用情況,包括實體內存,虛擬的交換文件內存,共享內存區段,以及系統核心使用的緩衝區等。

1.8.4 參數

 -b  以Byte為單位顯示內存使用情況。

 -k  以KB為單位顯示內存使用情況。

 -m  以MB為單位顯示內存使用情況。

 -o  不顯示緩衝區調節列。

 -s  持續觀察內存使用狀況。

 -t  顯示內存總和列。

 -V  顯示版本信息。

1.9 getconf

1.9.1 功能說明

將系統配置變量值寫入標準輸出。

1.9.2 語法

getconf [ -v specification ] [ SystemwideConfiguration | PathConfiguration Pathname] [ DeviceVariable Devicename ]

或getconf -a

1.9.3 描述

用 SystemwideConfiguration 參數調用 getconf 命令,將 SystemwideConfiguration 參數所指定的變量值寫到標準輸出。

用 PathConfiguration 和 Pathname 參數調用 getconf 命令,寫入 PathConfiguration 參數為 Pathname 參數指定路徑指定的變量值,到標準輸出。

getconf 命令,用 -a 標誌調用,並寫入全部系統配置變量值到標準輸出。

getconf 命令,用 DeviceVariable 和 Devicename 參數調用,寫磁盤設備名或位置的值到標準輸出,設備路徑由 Devicename 參數指定。

如果在系統中定義指定的變量且其值描述為可從 confstr 子例程得到,則指定變量的值按以下格式寫入:

“%s\\n”,< 值 >

否則,如果在系統中定義指定變量,其值按以下格式寫入:

“%d\\n”, < 值 >

如果指定變量是有效的但在系統中未定義,則將以下內容寫入標準輸出:

“undefined\\n”

如果變量名無效或出現錯誤,就會有一個診斷消息寫入標準錯誤。

標記 -a specification顯示了指定規格及版本,其配置變量等待確定。如果該標誌未被指定,返回值將響應一個實現缺省值 XBS5 的相應的編輯環境。

-v 將全部系統配置變量值寫入標準輸出。

1.9.4 參數

Pathname 為 PathConfiguration 參數指定路徑名。

SystemwideConfiguration指定一個系統配置變量。

PathConfiguration指定一個系統路徑配置變量。

Devicename指定一個設備路徑名。

DeviceVariable指定一個設備變量。

當列入以下的表格中的第一列符號被用作 system_var 操作數時,getconf 將產生與用第二列的值調用 confstr 時相同的值。

1.10 groupadd

1.10.1 功能說明

添加群組。

1.10.2 語法

groupadd [群組名稱]

1.11 groupdel

1.11.1 功能說明

刪除群組。

1.11.2 語法

groupdel [群組名稱]

1.11.3 補充說明

需要從系統上刪除群組時,可用groupdel指令來完成這項工作。倘若該群組中仍包括某些用戶,則必須先刪除這些用戶後,方能刪除群組。

1.12 groupmod

1.12.1 功能說明

更改群組識別碼或名稱。

1.12.2 語法

groupmod [-g ][-n ][群組名稱]

1.12.3 補充說明

需要更改群組的識別碼或名稱時,可用groupmod指令來完成這項工作。

1.12.4 參數

 -g  設置欲使用的群組識別碼。

 -o  重複使用群組識別碼。

 -n  設置欲使用的群組名稱。

1.13 id

1.13.1 功能說明

顯示用戶的ID,以及所屬群組的ID。

1.13.2 語法

id [-gGnru][--help][--version][用戶名稱]

1.13.3 補充說明

id會顯示用戶以及所屬群組的實際與有效ID。若兩個ID相同,則僅顯示實際ID。若僅指定用戶名稱,則顯示目前用戶的ID。

1.13.4 參數

 -g或--group 顯示用戶所屬群組的ID。

 -G或--groups 顯示用戶所屬附加群組的ID。

 -n或--name 顯示用戶,所屬群組或附加群組的名稱。

 -r或--real 顯示實際ID。

 -u或--user 顯示用戶ID。

 -help 顯示幫助。

 -version 顯示版本信息。

1.14 init

1.14.1 功能說明

init是Linux系統操作中不可缺少的程序之一。

所謂的init進程,它是一個由內核啟動的用戶級進程。

內核自行啟動(已經被載入內存,開始運行,並已初始化所有的設備驅動程序和數據結構等)之後,就通過啟動一個用戶級程序init的方式,完成引導進程。所以,init始終是第一個進程(其進程編號始終為1)。

內核會在過去曾使用過init的幾個地方查找它,它的正確位置(對Linux系統來說)是/sbin/init。如果內核找不到init,它就會試著運行/bin/sh,如果運行失敗,系統的啟動也會失敗。

1.14.2 語法

init [bootflags] [runlevel]

1.14.3 參數

1.14.3.1 Boot flags

- s 切換到單用戶模式

q 重新加載 inittab 文件

a b c 只載入在 runlevel 中有 a b c 的程序。

u 重建自身,並保留狀態

1.14.3.2 Runlevels

(可以參考Red Hat Linux 裡面的/etc/inittab)

# 0 - 停機(千萬不能把initdefault 設置為0 )

# 1 - 單用戶模式

# 2 - 多用戶,沒有 NFS

# 3 - 完全多用戶模式(標準的運行級)

# 4 - 沒有用到

# 5 - X11 (xwindow)

# 6 - 重新啟動 (千萬不要把initdefault 設置為6 )

1.15 ipcs

1.15.1 功能說明

顯示進程間通信信息。

1.15.2 語法

ipcs [ -asmq ] [ -tclup ]

ipcs [ -smq ] -i id

ipcs –h

1.15.3 參數

-m 顯示共享內存

-q 顯示消息隊列

-s 顯示信號燈

-a 顯示所有信息,默認為該選項

1.15.4 例子

$ipcs #顯示所有信息,包括消息隊列、共享內存、信號燈,與命令ipcs –a等價

$ ipcs

------ Shared Memory Segments --------

key shmid owner perms bytes nattch status

------ Semaphore Arrays --------

key semid owner perms nsems

------ Message Queues --------

key msqid owner perms used-bytes messages

$ipcs -m #顯示共享內存信息

$ ipcs -m

------ Shared Memory Segments --------

key shmid owner perms bytes nattch status

$ipcs -s #顯示信號燈信息

$ ipcs -s

------ Semaphore Arrays --------

key semid owner perms nsems

$ipcs -q #顯示消息隊列信息

$ ipcs -q

------ Message Queues --------

key msqid owner perms used-bytes messages

1.16 mesg

1.16.1 功能說明

設置終端機的寫入權限。

1.16.2 語法

mesg [ny]

1.16.3 補充說明

將mesg設置y時,其他用戶可利用write指令將信息直接顯示在您的屏幕上。

1.16.4 參數

n 不允許將信息直接顯示在你的屏幕上。

y 允許將信息直接顯示在你的屏幕上。

1.17 passwd

1.17.1 功能說明

設置密碼。

1.17.2 語法

passwd [-dklS][-u ][用戶名稱]

1.17.3 補充說明

passwd指令讓用戶可以更改自己的密碼,而系統管理者則能用它管理系統用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。

1.17.4 參數

-d 刪除密碼。本參數僅有系統管理者才能使用。

-f 強制執行。

-k 設置只有在密碼過期失效後,方能更新。

-l 鎖住密碼。

-s 列出密碼的相關信息。本參數僅有系統管理者才能使用。

-u 解開已上鎖的帳號。

1.18 rpm

1.18.1 功能說明

管理套件。

1.18.2 語法

rpm [-acdhilqRsv][-b+][-e][-f+][-i][-p+]

[-U][-vv][--addsign+][--allfiles][--allmatches][--badreloc][--buildroot]

[--changelog][--checksig+][--clean][--dbpath][--dump][--excludedocs]

[--excludepath][--force][--ftpproxy][--ftpport]

[--help][--httpproxy][--httpport][--ignorearch][--ignoreos]

[--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp]

[--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe][--prefix]

[--provides][--queryformat][--querytags][--rcfile][--rebulid][--rebuliddb]

[--recompile][--relocate=][--replacefiles][--replacepkgs][--requires]

[--resign+][--rmsource][--rmsource][--root][--scripts][--setperms][--setugids]

[--short-circuit][--sign][--target=+][--test][--timecheck][--triggeredby]

[--triggers][--verify][--version][--whatprovides][--whatrequires]

1.18.3 補充說明

rmp原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由於它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。RPM套件管理方式的出現,讓Linux易於安裝,升級,間接提升了Linux的適用度。

1.18.4 參數

-a  查詢所有套件。

-b+或-t +  設置包裝套件的完成階段,並指定套件檔的文件名稱。

-c  只列出組態配置文件,本參數需配合"-l"參數使用。

-d  只列出文本文件,本參數需配合"-l"參數使用。 

-e或--erase  刪除指定的套件。

-f+  查詢擁有指定文件的套件。

-h或--hash  套件安裝時列出標記。

-i  顯示套件的相關信息。

-i或--install  安裝指定的套件檔。

-l  顯示套件的文件列表。

-p+  查詢指定的RPM套件檔。

-q  使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶。

-R  顯示套件的關聯性信息。

-s  顯示文件狀態,本參數需配合"-l"參數使用。

-U或--upgrade 升級指定的套件檔。

-v  顯示指令執行過程。

-vv  詳細顯示指令執行過程,便於排錯。

-addsign+  在指定的套件里加上新的簽名認證。

--allfiles  安裝所有文件。

--allmatches  刪除符合指定的套件所包含的文件。

--badreloc  發生錯誤時,重新配置文件。

--buildroot  設置產生套件時,欲當作根目錄的目錄。

--changelog  顯示套件的更改記錄。

--checksig+  檢驗該套件的簽名認證。

--clean  完成套件的包裝後,刪除包裝過程中所建立的目錄。

--dbpath  設置欲存放RPM數據庫的目錄。

--dump  顯示每個文件的驗證信息。本參數需配合"-l"參數使用。

--excludedocs  安裝套件時,不要安裝文件。

--excludepath  忽略在指定目錄裡的所有文件。

--force  強行置換套件或文件。

--ftpproxy  指定FTP代理服務器。

--ftpport  設置FTP服務器或代理服務器使用的通信端口。

--help  在線幫助。

--httpproxy  指定HTTP代理服務器。

--httpport  設置HTTP服務器或代理服務器使用的通信端口。

--ignorearch  不驗證套件檔的結構正確性。

--ignoreos  不驗證套件檔的結構正確性。

--ignoresize  安裝前不檢查磁盤空間是否足夠。

--includedocs  安裝套件時,一併安裝文件。

--initdb  確認有正確的數據庫可以使用。

--justdb  更新數據庫,當不變動任何文件。

--nobulid  不執行任何完成階段。

--nodeps  不驗證套件檔的相互關聯性。

--nofiles  不驗證文件的屬性。

--nogpg  略過所有GPG的簽名認證。

--nomd5  不使用MD5編碼演算確認文件的大小與正確性。

--nopgp  略過所有PGP的簽名認證。

--noorder  不重新編排套件的安裝順序,以便滿足其彼此間的關聯性。

--noscripts  不執行任何安裝Script文件。

--notriggers  不執行該套件包裝內的任何Script文件。

--oldpackage  升級成舊版本的套件。

--percent  安裝套件時顯示完成度百分比。

--pipe  建立管道,把輸出結果轉為該執行指令的輸入數據。

--prefix  若重新配置文件,就把文件放到指定的目錄下。

--provides  查詢該套件所提供的兼容度。

--queryformat  設置檔頭的表示方式。

--querytags  列出可用於檔頭格式的標籤。

--rcfile  使用指定的配置文件。

--rebulid  安裝原始代碼套件,重新產生二進制文件的套件。

--rebuliddb  以現有的數據庫為主,重建一份數據庫。

--recompile  此參數的效果和指定"--rebulid"參數類似,當不產生套件檔。

--relocate=  把本來會放到原目錄下的文件改放到新目錄。

--replacefiles  強行置換文件。

--replacepkgs  強行置換套件。

--requires  查詢該套件所需要的兼容度。

--resing+  刪除現有認證,重新產生簽名認證。

--rmsource  完成套件的包裝後,刪除原始代碼。

--rmsource  刪除原始代碼和指定的文件。

--root  設置欲當作根目錄的目錄。

--scripts  列出安裝套件的Script的變量。

--setperms  設置文件的權限。

--setugids  設置文件的擁有者和所屬群組。

--short-circuit  直接略過指定完成階段的步驟。

--sign  產生PGP或GPG的簽名認證。

--target=+  設置產生的套件的安裝平臺。

--test  僅作測試,並不真的安裝套件。

--timecheck  設置檢查時間的計時秒數。

--triggeredby  查詢該套件的包裝者。

--triggers  展示套件檔內的包裝Script。

--verify  此參數的效果和指定"-q"參數相同。

--version  顯示版本信息。

--whatprovides  查詢該套件對指定的功能特性所提供的兼容度。

--whatrequires  查詢該套件對指定的功能特性所需要的兼容度。

1.19 service

1.19.1 功能說明

啟動、停止、重啟服務

1.19.2 語法

service [service name] [start|stop|restart]

1.19.3 參數說明

service name:這個服務名稱必須要實際存在 /etc/rc.d/init.d 這個目錄下才行

start|stop|restart:基本上,這個與 /etc/rc.d/init.d/service_name 所允許的啟動形式有關.

1.20 setup

1.20.1 功能說明

setup是一個設置公用程序,提供圖形界面的操作方式。在setup中可設置7類的選項:

 1.登陸認證方式

 2.鍵盤組態設置

 3.鼠標組態設置

 4.開機時所要啟動的系統服務

 5.聲卡組態設置

 6.時區設置

 7.X Windows組態設置

1.20.2 語法

setup

1.21 shutdown

1.21.1 功能說明

shutdown 可以用來進行關機程序,並且在關機以前傳送訊息給所有使用者正在執行的程序,shutdown 也可以用來重開機。

1.21.2 語法

shutdown [-t seconds] [-rkhncfF] time [message]

1.21.3 參數

-t seconds : 設定在幾秒鐘之後進行關機程序

-k : 並不會真的關機,只是將警告訊息傳送給所有隻用者

-r : 關機後重新開機

-h : 關機後停機

-n : 不採用正常程序來關機,用強迫的方式殺掉所有執行中的程序後自行關機

-c : 取消目前已經進行中的關機動作

-f : 關機時,不做 fcsk 動作(檢查 Linux 檔系統)

-F : 關機時,強迫進行 fsck 動作

time : 設定關機的時間

message : 傳送給所有使用者的警告訊息

1.22 su

1.22.1 功能說明

變更用戶身份。

1.22.2 語法

su [-flmp][--help][--version][-][-c ][-s <shell>][用戶帳號]/<shell>

1.22.3 補充說明

su可讓用戶暫時變更登入的身份。變更時須輸入所要變更的用戶帳號與密碼。

1.22.4 參數

 -c或--command=  執行完指定的指令後,即恢復原來的身份。

 -f或--fast  適用於csh與tsch,使shell不用去讀取啟動文件。

 -.-l或--login  改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGname。此外,也會變更PATH變量。

 -m,-p或--preserve-environment  變更身份時,不要變更環境變量。

 -s<shell>或--shell=<shell>  指定要執行的shell。 /<shell>/<shell>

 --help  顯示幫助。

 --version  顯示版本信息。

 [用戶帳號]  指定要變更的用戶。若不指定此參數,則預設變更為root。

1.23 sync

1.23.1 功能說明

將內存緩衝區內的數據寫入磁盤。

1.23.2 語法

sync [--help][--version]

1.23.3 補充說明

在Linux系統中,當數據需要存入磁盤時,通常會先放到緩衝區內,等到適當的時刻再寫入磁盤,如此可提高系統的執行效率。

1.23.4 參數

--help 顯示幫助。

--version 顯示版本信息。

1.24 uname

1.24.1 功能說明

顯示系統信息。

1.24.2 語法

uname [-amnrsv][--help][--version]

1.24.3 補充說明

uname可顯示電腦以及操作系統的相關信息。

1.24.4 參數

 -a或--all 顯示全部的信息。

 -m或--machine 顯示電腦類型。

 -n或-nodename 顯示在網絡上的主機名稱。

 -r或--release 顯示操作系統的發行編號。

 -s或--sysname 顯示操作系統名稱。

 -v 顯示操作系統的版本。

 --help 顯示幫助。

 --version 顯示版本信息。

1.25 uptime

1.25.1 功能說明

uptime命令是用來查詢linux系統負載的,可以顯示

1 當前時間

2 系統已運行時間。

3 在線用戶數

4最近1分鐘、5分鐘、15分鐘系統的平均負載。

1.25.2 語法

uptime [option]

1.25.3 Option

-V

顯示版本信息。

1.26 useradd

1.26.1 功能說明

建立用戶帳號。

1.26.2 語法

useradd [-mMnr][-c ][-d ][-e ][-f ][-g ][-G ][-s <shell>][-u ][用戶帳號] 或 useradd -D [-b][-e ][-f ][-g ][-G ][-s <shell>]/<shell>/<shell>

1.26.3 補充說明

useradd可用來建立用戶帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中。

1.26.4 參數

 -c 加上備註文字。備註文字會保存在passwd的備註欄位中。

 -d 指定用戶登入時的啟始目錄。

 -D 變更預設值.

 -e 指定帳號的有效期限。

 -f 指定在密碼過期後多少天即關閉該帳號。

 -g 指定用戶所屬的群組。

 -G 指定用戶所屬的附加群組。

 -m 自動建立用戶的登入目錄。

 -M 不要自動建立用戶的登入目錄。

 -n 取消建立以用戶名稱為名的群組.

 -r 建立系統帳號。

 -s<shell> 指定用戶登入後所使用的shell。 /<shell>

 -u 指定用戶ID。

1.27 userdel

1.27.1 功能說明

刪除用戶帳號。

1.27.2 語法

userdel [-r][用戶帳號]

1.27.3 補充說明

userdel可刪除用戶帳號與相關的文件。若不加參數,則僅刪除用戶帳號,而不刪除相關文件。

1.27.4 參數

-f  刪除用戶登入目錄以及目錄中所有文件。

1.28 usermod

1.28.1 功能說明

修改用戶帳號。

1.28.2 語法

usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G ][-l ][-s <shell>][-u ][用戶帳號]/<shell>

1.28.3 補充說明

usermod可用來修改用戶帳號的各項設定。

1.28.4 參數

 -c  修改用戶帳號的備註文字。

 -d登入目錄>  修改用戶登入時的目錄。

 -e  修改帳號的有效期限。

 -f  修改在密碼過期後多少天即關閉該帳號。

 -g  修改用戶所屬的群組。

 -G  修改用戶所屬的附加群組。

 -l  修改用戶帳號名稱。

 -L  鎖定用戶密碼,使密碼無效。

 -s<shell>  修改用戶登入後所使用的shell。 /<shell>

 -u  修改用戶ID。

 -U  解除密碼鎖定。

1.29 vmstat

1.29.1 功能說明

vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監視。它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。

1.29.2 語法

vmstat [-V] [-n] [delay [count]]

1.29.3 參數

-V表示打印出版本信息;

-n表示在週期性循環輸出時,輸出的頭部信息僅顯示一次;

delay是兩次輸出之間的延遲時間;

count是指按照這個時間間隔統計的次數。

1.29.4 輸出信息

類別

項目

含義

說明

Procs

r

等待執行的任務數

展示了正在執行和等待CPU資源的任務個數。當這個值超過了CPU數目,就會出現CPU瓶頸了

b

Memory

swpd

正在使用的swap大小單位K

free

空閒的內存空間

buff

已使用的buff大小,對塊設備的讀寫進行緩衝

cache

已使用的cache大小,文件系統的cache

inact

active

Swap

si

交換內存使用,由磁盤調入內存

so

交換內存使用,由內存調入磁盤

IO

bi

從塊設備讀入的數據總量(讀磁盤) (KB/s),

bo

寫入到塊設備的數據總理(寫磁盤) (KB/s)

System

in

每秒產生的中斷次數

cs

每秒產生的上下文切換次數

上面這2個值越大,會看到由內核消耗的CPU時間會越多

CPU

us

用戶進程消耗的CPU時間百分比

us 的值比較高時,說明用戶進程消耗的CPU時間多,但是如果長期超過50% 的使用,那麼我們就該考慮優化程序算法或者進行加速了

sy

內核進程消耗的CPU時間百分比

sy 的值高時,說明系統內核消耗的CPU資源多,這並不是良性的表現,我們應該檢查原因。

id

空閒

wa

IO等待消耗的CPU時間百分比

wa 的值高時,說明IO等待比較嚴重,這可能是由於磁盤大量作隨機訪問造成,也有可能是磁盤的帶寬出現瓶頸(塊操作)。

1.30 wall

1.30.1 功能說明

傳送信息。

1.30.2 語法

wall [公告信息]

1.30.3 補充說明

通過wall指令可將信息發送給每位同意接收公眾信息的終端機用戶,若不給予其信息內容,則wall指令會從標準輸入設備讀取數據,然後再把所得到的數據傳送給所有終端機用戶。

1.31 write

1.31.1 功能說明

傳送信息。

1.31.2 語法

write [用戶名稱][終端機編號]

1.31.3 補充說明

通過write指令可傳遞信息給另一位登入系統的用戶,當輸入完畢後,鍵入EOF表示信息結束,write指令就會將信息傳給對方。如果接收信息的用戶不只登入本地主機一次,你可以指定接收信息的終端機編號。


分享到:


相關文章: