Linux系統管理命令大全

1.adduser命令


Linux adduser命令用於新增使用者帳號或更新預設的使用者資料。


adduser 與 useradd 指令爲同一指令(經由符號連結 symbolic link)。


使用權限:系統管理員。


adduser是增加使用者。相對的,也有刪除使用者的指令,userdel。語法:userdel [login ID]


語法
adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] loginid



adduser -D [-g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell]


參數說明:
-c comment 新使用者位於密碼檔(通常是 /etc/passwd)的註解資料
-d home_dir 設定使用者的家目錄爲 home_dir ,預設值爲預設的 home 後面加上使用者帳號 loginid
-e expire_date 設定此帳號的使用期限(格式爲 YYYY-MM-DD),預設值爲永久有效
-f inactive_time 範例:


實例


添加一個一般用戶
# useradd kk //添加用戶kk


爲添加的用戶指定相應的用戶組
# useradd ?g root kk //添加用戶kk,並指定用戶所在的組爲root用戶組


創建一個系統用戶
# useradd ?r kk //創建一個系統用戶kk


爲新添加的用戶指定/home目錄
# useradd-d /home/myf kk //新添加用戶kk,其home目錄爲/home/myf
//當用戶名kk登錄主機時,系統進入的默認目錄爲/home/myf


2.chfn命令


Linux chfn命令提供使用者更改個人資訊,用於 finger and mail username


使用權限:所有使用者。


語法
shell>> chfn


實例


改變finger信息
# chfn
Changing finger information for root.
Name [root]: hnlinux
Office []: hn
Office Phone []: 888888
Home Phone []: 9999999


Finger information changed.




改變賬號真實姓名
# chfn -f hnunix
Changing finger information for root.
Finger information changed.


3.useradd命令


Linux useradd命令用於建立用戶帳號。


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


語法
useradd [-mMnr][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-s <shell>][-u <uid>][用戶帳號]



useradd -D [-b][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-s <shell>]


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


實例


添加一般用戶
# useradd tt


爲添加的用戶指定相應的用戶組
# useradd -g root tt


創建一個系統用戶
# useradd -r tt


爲新添加的用戶指定home目錄
# useradd -d /home/myd tt


建立用戶且制定ID
# useradd caojh -u 544


4.date命令


Linux date命令可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式,格式設定爲一個加號後接數個標記,其中可用的標記列表如下:


時間方面:
% : 印出 %
%n : 下一行
%t : 跳格
%H : 小時(00..23)
%I : 小時(01..12)
%k : 小時(0..23)
%l : 小時(1..12)
%M : 分鐘(00..59)
%p : 顯示本地 AM 或 PM
%r : 直接顯示時間 (12 小時制,格式爲 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前爲止的秒數
%S : 秒(00..61)
%T : 直接顯示時間 (24 小時制)
%X : 相當於 %H:%M:%S
%Z : 顯示時區


日期方面:
%a : 星期幾 (Sun..Sat)
%A : 星期幾 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接顯示日期與時間
%d : 日 (01..31)
%D : 直接顯示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第幾周 (00..53) (以 Sunday 爲一週的第一天的情形)
%w : 一週中的第幾天 (0..6)
%W : 一年中的第幾周 (00..53) (以 Monday 爲一週的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00.99)
%Y : 完整年份 (0000..9999)


若是不以加號作爲開頭,則表示要設定時間,而時間格式爲 MMDDhhmm[[CC]YY][.ss],其中 MM 爲月份,DD 爲日,hh 爲小時,mm 爲分鐘,CC 爲年份前兩位數字,YY 爲年份後兩位數字,ss 爲秒數。


使用權限:所有使用者。


當您不希望出現無意義的 0 時(比如說 1999/03/07),則可以在標記中插入 - 符號,比如說 date '+%-H:%-M:%-S' 會把時分秒中無意義的 0 給去掉,像是原本的 08:09:04 會變爲 8:9:4。另外,只有取得權限者(比如說 root)才能設定系統時間。


當您以 root 身分更改了系統時間之後,請記得以 clock -w 來將系統時間寫入 CMOS 中,這樣下次重新開機時系統時間纔會持續抱持最新的正確值。


語法
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]


參數說明:
-d datestr : 顯示 datestr 中所設定的時間 (非系統時間)
--help : 顯示輔助訊息
-s datestr : 將系統時間設爲 datestr 中所設定的時間
-u : 顯示目前的格林威治時間
--version : 顯示版本編號


實例


顯示當前時間
# date
三 5月 12 14:08:12 CST 2010
# date '+%c' 
2010年05月12日 星期三 14時09分02秒
# date '+%D' //顯示完整的時間
05/12/10
# date '+%x' //顯示數字日期,年份兩位數表示
2010年05月12日
# date '+%T' //顯示日期,年份用四位數表示
14:09:31
# date '+%X' //顯示24小時的格式
14時09分39秒


按自己的格式輸出
# date '+usr_time: $1:%M %P -hey'
usr_time: $1:16 下午 -hey


顯示時間後跳行,再顯示目前日期
date '+%T%n%D'


顯示月份與日數
date '+%B %d'


顯示日期與設定時間(12:34:56)
date --date '12:34:56'


5.exit命令


Linux exit命令用於退出目前的shell。


執行exit可使shell以指定的狀態值退出。若不設置狀態值參數,則shell以預設值退出。狀態值0代表執行成功,其他值代表執行失敗。exit也可用在script,離開正在執行的script,回到shell。


語法
exit [狀態值]


實例


退出終端
# exit


6.finger命令


Linux finger命令可以讓使用者查詢一些其他使用者的資料。會列出來的資料有:
Login Name
User Name
Home directory
Shell
Login status
mail status
.plan
.project
.forward


其中 .plan、.project 和 .forward 就是使用者在他的 Home Directory 裏的 .plan , .project 和 .forward 等檔案裏的資料。如果沒有就沒有。finger 指令並不限定於在同一服務器上查詢,也可以尋找某一個遠端服務器上的使用者。只要給一個像是 E-mail address 一般的地址即可。


使用權限:所有使用者。


語法
finger [options] user[@address]


參數說明:
-l  多行顯示。
-s  單行顯示。這個選項只顯示登入名稱、真實姓名、終端機名稱、閒置時間、登入時間、辦公室號碼及電話號碼。如果所查詢的使用者是遠端服務器的使用者,這個選項無效。


實例


列出當前登錄用戶的相關信息
# finger -l //顯示用戶信息
Login: root Name: root
Directory: /root Shell: /bin/bash
On since Fri Apr 9 20:17 (CST) on :0 (messages off)
On since Fri Apr 9 20:17 (CST) on pts/1 32 days 22 hours idle
On since Fri Apr 9 20:17 (CST) on pts/3 4 hours 5 minutes idle
(messages off)
On since Wed May 12 18:08 (CST) on pts/4 from 192.168.1.10
On since Wed May 12 18:35 (CST) on pts/5 from 192.168.1.10
7 minutes 54 seconds idle
On since Wed May 12 14:37 (CST) on pts/2 from 192.168.1.10
3 hours 14 minutes idle
On since Wed May 12 14:53 (CST) on pts/7 34 minutes 25 seconds idle
(messages off)
On since Wed May 12 16:53 (CST) on pts/8 from 192.168.1.10
30 minutes 18 seconds idle
Mail last read Mon Mar 31 04:02 2008 (CST)
No Plan.


顯示指定用戶信息
# finger -m hnlinux


顯示遠程用戶信息
# finger -m [email protected]


下列指令可以查詢本機管理員的資料:
finger root


其結果如下:
Login: root Name: root
Directory: /root Shell: /bin/bash
Never logged in.
No mail.
No Plan.


7.fwhios命令


Linux fwhios命令用於查找並顯示用戶信息。


本指令的功能有點類似finger指令,它會去查找並顯示指定帳號的用戶相關信息。不同之處在於fwhois指令是到Network Solutions的WHOIS數據庫去查找,該帳號名稱必須有在上面註冊才能尋獲,且名稱沒有大小寫的差別。


語法
fwhios [帳號名稱]


8.sleep命令


Linux sleep命令可以用來將目前動作延遲一段時間。


使用權限:所有使用者。


語法
sleep [--help] [--version] number[smhd]


參數說明:
--help : 顯示輔助訊息
--version : 顯示版本編號
number : 時間長度,後面可接 s、m、h 或 d
其中 s 爲秒,m 爲 分鐘,h 爲小時,d 爲日數


實例


休眠5分鐘
# sleep 5m


顯示目前時間後延遲 1 分鐘,之後再次顯示時間
date;sleep 1m;date


9.suspend命令


Linux suspend命令用於暫停執行shell。


suspend爲shell內建指令,可暫停目前正在執行的shell。若要恢復,則必須使用SIGCONT信息。


語法
suspend [-f]


參數說明:
-f  若目前執行的shell爲登入的shell,則suspend預設無法暫停此shell。若要強迫暫停登入的shell,則必須使用-f參數。


實例


暫停shell
# suspend 
-bash: suspend: 無法掛起一個登錄 shell
# suspend -f


10.groupdel命


Linux groupdel命令用於刪除羣組。


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


語法
groupdel [羣組名稱]


實例


刪除一個羣組
# groupdel hnuser


11.groupmod命令


Linux groupmod命令用於更改羣組識別碼或名稱。


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


語法
groupmod [-g <羣組識別碼> <-o>][-n <新羣組名稱>][羣組名稱]


參數:
-g <羣組識別碼>  設置欲使用的羣組識別碼。
-o  重複使用羣組識別碼。
-n <新羣組名稱>  設置欲使用的羣組名稱。


實例


修改組名 
[[email protected] ~]# groupadd linuxso 
[[email protected] ~]# tail -1 /etc/group 
linuxso:x:500: 
[[email protected] ~]# tail -1 /etc/group 
linuxso:x:500: 
[[email protected] ~]# groupmod -n linux linuxso 
[[email protected] ~]# tail -1 /etc/group 
linux:x:500:


12.halt命令


若系統的 runlevel 爲 0 或 6 ,則Linux halt命令關閉系統,否則以 shutdown 指令(加上 -h 參數)來取代。


使用權限:系統管理者。


語法
halt [-n] [-w] [-d] [-f] [-i] [-p]


參數說明:
-n : 在關機前不做將記憶體資料寫回硬盤的動作
-w : 並不會真的關機,只是把記錄寫到 /var/log/wtmp 檔案裏
-d : 不把記錄寫到 /var/log/wtmp 檔案裏(-n 這個參數包含了 -d) -f : 強迫關機,不呼叫 shutdown 這個指令
-i : 在關機之前先把所有網絡相關的裝置先停止
-p : 當關機的時候,順便做關閉電源(poweroff)的動作


實例


關閉系統
# halt


關閉系統並關閉電源
# halt -p


關閉系統,但不留下紀錄
# halt -d


13.kill命令


Linux kill命令用於刪除執行中的程序或工作。


kill可將指定的信息送至程序。預設的信息爲SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強制刪除程序。程序或工作的編號可利用ps指令或jobs指令查看。


語法
kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]


參數說明:
-l <信息編號>  若不加<信息編號>選項,則-l參數會列出全部的信息名稱。
-s <信息名稱或編號>  指定要送出的信息。
[程序]  [程序]可以是程序的PID或是PGID,也可以是工作編號。


實例


殺死進程
# kill 12345


強制殺死進程
# kill -KILL 123456


發送SIGHUP信號,可以使用一下信號
# kill -HUP pid


徹底殺死進程
# kill -9 123456


顯示信號
# kill -l
1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
63) SIGRTMAX-1    64) SIGRTMAX




殺死指定用戶所有進程
#kill -9 $(ps -ef | grep hnlinux) //方法一 過濾出hnlinux用戶進程 
#kill -u hnlinux //方法二


14.last命令


Linux last命令用於顯示系統開機以來獲是從每月初登入者的訊息。


使用權限:所有使用者。


語法
shell>> last [options]


參數說明:
-R 省略 hostname 的欄位
-num 展示前 num 個
username 展示 username 的登入訊息
tty 限制登入訊息包含終端機代號


實例
shell>> last -R -2
johnney pts/1 Mon Aug 14 20:42 still logged in
johnney pts/0 Mon Aug 14 19:59 still logged in
wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp
shell>> last -2 minery
minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)
minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)
wtmp begins Tue Aug 1 09:01:10 2000




一般顯示方法
# last


簡略顯示,並指定顯示的個數
# last -n 5 -R
root   pts/4    Thu May 13 17:25  still logged in  
root   pts/2    Thu May 13 17:23 - 17:25 (00:02)  
root   pts/1    Thu May 13 16:46  still logged in  
root   pts/7    Thu May 13 15:36  still logged in  
root   pts/9    Thu May 13 15:35  still logged in  


wtmp begins Thu May 13 18:55:40 2014




顯示最後一列顯示主機IP地址
# last -n 5 -a -i
root   pts/4    Thu May 13 17:25  still logged in  192.168.1.10
root   pts/2    Thu May 13 17:23 - 17:25 (00:02)   192.168.1.10
root   pts/1    Thu May 13 16:46  still logged in  192.168.1.10
root   pts/7    Thu May 13 15:36  still logged in  192.168.1.10
root   pts/9    Thu May 13 15:35  still logged in  192.168.1.10


wtmp begins Thu May 13 18:55:40 2014


15.lastb命令


Linux lastb命令用於列出登入系統失敗的用戶相關信息。


單獨執行lastb指令,它會讀取位於/var/log目錄下,名稱爲btmp的文件,並把該文件內容


記錄的登入失敗的用戶名單,全部顯示出來。


語法
lastb [-adRx][-f <記錄文件>][-n <顯示列數>][帳號名稱...][終端機編號...]


參數說明:
-a  把從何處登入系統的主機名稱或IP地址顯示在最後一行。
-d  將IP地址轉換成主機名稱。
-f<記錄文件>  指定記錄文件。
-n<顯示列數>或-<顯示列數>  設置列出名單的顯示列數。
-R  不顯示登入系統的主機名稱或IP地址。
-x  顯示系統關機,重新開機,以及執行等級的改變等信息。


實例


顯示登錄失敗的用戶
# lastb 
root   tty7     :1        Thu May 13 11:26 - 11:26 (00:00)  


btmp begins Thu May 13 11:26:39 2014


16.login命令


Linux login命令用於登入系統。


login指令讓用戶登入系統,您亦可通過它的功能隨時更換登入身份。在Slackware發行版中 ,您可在指令後面附加欲登入的用戶名稱,它會直接詢問密碼,等待用戶輸入。當/etc目錄裏含名稱爲nologin的文件時,系統只root帳號登入系統,其他用戶一律不準登入。


語法
login


實例


使用新的身份登錄系統
# login


17.logname命令


Linux logname命令用於顯示用戶名稱。


執行logname指令,它會顯示目前用戶的名稱。


語法
logname [--help][--version]


參數:
--help  在線幫助。
--vesion  顯示版本信息。


實例


顯示登錄賬號的信息:
# logname 
root


18.logout命令


Linux logout命令用於退出系統。


logout指令讓用戶退出系統,其功能和login指令相互對應。


語法
logout


實例


退出系統:
[[email protected] ~]# logout


19.ps命令


Linux ps命令用於顯示當前進程 (process) 的狀態。


語法
ps [options] [--help]


參數:
ps 的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義
-A 列出所有的行程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程擁有者
PID: pid
%CPU: 佔用的 CPU 使用率
%MEM: 佔用的記憶體使用率
VSZ: 佔用的虛擬記憶體大小
RSS: 佔用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態:
D: 不可中斷的靜止 (通悸□□縝b進行 I/O 動作)
R: 正在執行中
S: 靜止狀態
T: 暫停執行
Z: 不存在但暫時無法消除
W: 沒有足夠的記憶體分頁可分配
<: 高優先序的行程
N: 低優先序的行程
L: 有記憶體分頁分配並鎖在記憶體內 (實時系統或捱A I/O)
START: 行程開始時間
TIME: 執行的時間
COMMAND:所執行的指令


實例
# ps -A 顯示進程信息
PID TTY     TIME CMD
  1 ?    00:00:02 init
  2 ?    00:00:00 kthreadd
  3 ?    00:00:00 migration/0
  4 ?    00:00:00 ksoftirqd/0
  5 ?    00:00:00 watchdog/0
  6 ?    00:00:00 events/0
  7 ?    00:00:00 cpuset
  8 ?    00:00:00 khelper
  9 ?    00:00:00 netns
  10 ?    00:00:00 async/mgr
  11 ?    00:00:00 pm
  12 ?    00:00:00 sync_supers
  13 ?    00:00:00 bdi-default
  14 ?    00:00:00 kintegrityd/0
  15 ?    00:00:02 kblockd/0
  16 ?    00:00:00 kacpid
  17 ?    00:00:00 kacpi_notify
  18 ?    00:00:00 kacpi_hotplug
  19 ?    00:00:27 ata/0
……省略部分結果
30749 pts/0  00:00:15 gedit
30886 ?    00:01:10 qtcreator.bin
30894 ?    00:00:00 qtcreator.bin 
31160 ?    00:00:00 dhclient
31211 ?    00:00:00 aptd
31302 ?    00:00:00 sshd
31374 pts/2  00:00:00 bash
31396 pts/2  00:00:00 ps


顯示指定用戶信息
# ps -u root //顯示root進程用戶信息
 PID TTY     TIME CMD
  1 ?    00:00:02 init
  2 ?    00:00:00 kthreadd
  3 ?    00:00:00 migration/0
  4 ?    00:00:00 ksoftirqd/0
  5 ?    00:00:00 watchdog/0
  6 ?    00:00:00 events/0
  7 ?    00:00:00 cpuset
  8 ?    00:00:00 khelper
  9 ?    00:00:00 netns
  10 ?    00:00:00 async/mgr
  11 ?    00:00:00 pm
  12 ?    00:00:00 sync_supers
  13 ?    00:00:00 bdi-default
  14 ?    00:00:00 kintegrityd/0
  15 ?    00:00:02 kblockd/0
  16 ?    00:00:00 kacpid
……省略部分結果
30487 ?    00:00:06 gnome-terminal
30488 ?    00:00:00 gnome-pty-helpe
30489 pts/0  00:00:00 bash
30670 ?    00:00:00 debconf-communi 
30749 pts/0  00:00:15 gedit
30886 ?    00:01:10 qtcreator.bin
30894 ?    00:00:00 qtcreator.bin 
31160 ?    00:00:00 dhclient
31211 ?    00:00:00 aptd
31302 ?    00:00:00 sshd
31374 pts/2  00:00:00 bash
31397 pts/2  00:00:00 ps


顯示所有進程信息,連同命令行
# ps -ef //顯示所有命令,連帶命令行
UID    PID PPID C STIME TTY     TIME CMD
root     1   0 0 10:22 ?    00:00:02 /sbin/init
root     2   0 0 10:22 ?    00:00:00 [kthreadd]
root     3   2 0 10:22 ?    00:00:00 [migration/0]
root     4   2 0 10:22 ?    00:00:00 [ksoftirqd/0]
root     5   2 0 10:22 ?    00:00:00 [watchdog/0]
root     6   2 0 10:22 ?    /usr/lib/NetworkManager
……省略部分結果
root   31302 2095 0 17:42 ?    00:00:00 sshd: root@pts/2 
root   31374 31302 0 17:42 pts/2  00:00:00 -bash
root   31400   1 0 17:46 ?    00:00:00 /usr/bin/python /usr/sbin/aptd
root   31407 31374 0 17:48 pts/2  00:00:00 ps -ef


20.nice命令


Linux nice命令以更改過的優先序來執行程序,如果未指定程序,則會印出目前的排程優先序,內定的 adjustment 爲 10,範圍爲 -20(最高優先序)到 19(最低優先序)。


使用權限:所有使用者。


語法
nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]


參數說明:
-n adjustment, -adjustment, --adjustment=adjustment 皆爲將該原有優先序的增加 adjustment
--help 顯示求助訊息
--version 顯示版本資訊


實例


設置程序運行時的優先級
# vi & //後臺運行
[1] 15297
# nice vi & //設置默認優先級
[2] 15298


[1]+ Stopped         vi
# nice -n 19 vi & //設置優先級爲19
[3] 15299


[2]+ Stopped         nice vi
# nice -n -20 vi & //設置優先級爲 -20
[4] 15300


[3]+ Stopped         nice -n 19 vi
# ps -l //顯示進程
F S  UID  PID PPID C PRI NI ADDR SZ WCHAN TTY     TIME CMD
4 S   0 15278 15212 0 80  0 - 1208 wait  pts/2  00:00:00 bash
0 T   0 15297 15278 0 80  0 - 2687 signal pts/2  00:00:00 vi
0 T   0 15298 15278 0 90 10 - 2687 signal pts/2  00:00:00 vi
0 T   0 15299 15278 1 99 19 - 2687 signal pts/2  00:00:00 vi
4 T   0 15300 15278 3 60 -20 - 2687 signal pts/2  00:00:00 vi
4 R   0 15301 15278 0 80  0 -  625 -   pts/2  00:00:00 ps


[4]+ Stopped         nice -n -20 vi


將 ls 的優先序加 1 並執行
nice -n 1 ls


將 ls 的優先序加 10 並執行
nice ls


注意:優先序 (priority) 爲操作系統用來決定 CPU 分配的參數,Linux 使用『回合制(round-robin)』的演算法來做 CPU 排程,優先序越高,所可能獲得的 CPU時間就越多。


21.procinfo命令


Linux procinfo命令用於顯示系統狀態。


procinfo(process information)指令從/proc目錄裏讀取相關數據,將數據妥善整理過後輸出到標準輸出設備。


語法
procinfo [-abdDfhimsSv][-F <輸出文件>][-n <間隔秒數>]


參數說明:
-a  顯示所有信息。
-b  顯示磁盤設備的區塊數目,而非存取數目。
-d  顯示系統信息每秒間的變化差額,而非總和的數值。本參數必須配合"-f"參數使用
-D  此參數效果和指定"-d"參數類似,但內存和交換文件的信息爲總和數值。
-f  進入全畫面的互動式操作界面。
-F<輸出文件>  把信息狀態輸出到文件保存起來,而非預設的標準輸出設備。
-h  在線幫助。
-i  顯示完整的IRP列表。
-m  顯示系統模塊和外圍設備等相關信息。
-n<間隔秒數>  設置全畫面互動模式的信息更新速度,單位以秒計算。
-s  顯示系統的內存,磁盤空間,IRP和DMA等信息,此爲預設值。
-S  搭配參數"-d"或"-D"使用時,每秒都會更新信息,不論是否有使用參數"-n"。
-v  顯示版本信息。


實例


顯示系統狀態
# procinfo


22.top命令


Linux top命令用於實時顯示 process 的動態。


使用權限:所有使用者。


語法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]


參數說明:
d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s
q : 沒有任何延遲的顯示速度,如果使用者是有 superuser 的權限,則 top 將會以最高的優先序執行
c : 切換顯示模式,共有兩種模式,一是隻顯示執行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來
s : 安全模式,將交談式指令取消, 避免潛在的危機
i : 不顯示任何閒置 (idle) 或無用 (zombie) 的行程
n : 更新的次數,完成後將會退出 top
b : 批次檔模式,搭配 "n" 參數一起使用,可以用來將 top 的結果輸出到檔案內


實例


顯示進程信息
# top


顯示完整命令
# top -c


以批處理模式顯示程序信息
# top -b


以累積模式顯示程序信息
# top -S


設置信息更新次數
top -n 2


//表示更新兩次後終止更新顯示


設置信息更新時間
# top -d 3


//表示更新週期爲3秒


顯示指定的進程信息
# top -p 139


//顯示進程號爲139的進程信息,CPU、內存佔用率等


顯示更新十次後退出
top -n 10


使用者將不能利用交談式指令來對行程下命令
top -s


將更新顯示二次的結果輸入到名稱爲 top.log 的檔案裏
top -n 2 -b < top.log


23.pstree命令


Linux pstree命令將所有行程以樹狀圖顯示,樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本行程爲根 (root),如果有指定使用者 id,則樹狀圖會只顯示該使用者所擁有的行程。


使用權限:所有使用者。


語法
pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]



pstree -V


參數說明:
-a 顯示該行程的完整指令及參數, 如果是被記憶體置換出去的行程則會加上括號
-c 如果有重覆的行程名, 則分開列出(預設值是會在前面加上 *)


實例


顯示進程的關係
pstree
init-+-amd
|-apmd
|-atd
|-httpd---10*[httpd]
%pstree -p
init(1)-+-amd(447)
|-apmd(105)
|-atd(339)
%pstree -c
init-+-amd
|-apmd
|-atd
|-httpd-+-httpd
| |-httpd
| |-httpd
| |-httpd
....


特別表明在運行的進程
# pstree -apnh //顯示進程間的關係


同時顯示用戶名稱
# pstree -u //顯示用戶名稱


24.reboot命令


Linux reboot命令用於用來重新啓動計算機。


若系統的 runlevel 爲 0 或 6 ,則重新開機,否則以 shutdown 指令(加上 -r 參數)來取代


語法
reboot [-n] [-w] [-d] [-f] [-i]


參數:
-n : 在重開機前不做將記憶體資料寫回硬盤的動作
-w : 並不會真的重開機,只是把記錄寫到 /var/log/wtmp 檔案裏
-d : 不把記錄寫到 /var/log/wtmp 檔案裏(-n 這個參數包含了 -d) 
-f : 強迫重開機,不呼叫 shutdown 這個指令
-i : 在重開機之前先把所有網絡相關的裝置先停止


實例


重新啓動
# reboot


25.rlogin命令


Linux rlogin命令用於遠端登入。


執行rlogin指令開啓終端機階段操作,並登入遠端主機。


語法
rlogin [-8EL][-e <脫離字符>][-l <用戶名稱>][主機名稱或IP地址]


必要參數:
-E 忽略escape字符
-8 只識別8位字的字符
-L 允許rlogin會話運行在litout模式
-ec 設置escape字符爲c
-c 斷開連接前要求確認
-a 強制要求遠程主機在發送完一個空的本地用戶名之後請求一個密碼
-f 向遠端主機發送一個本地認證
-F 向遠程主機發送一個可轉寄的本地認證
-7 強制執行7爲的傳輸
-d 打開用於遠端主機通信的TCP套接口的調試
-k 要求包含遠端主機的tisckets
-x 啓動數據傳輸的DES加密
-4 只使用 kerkberos的版本4的認證


選擇參數:
• -e<字符> 設置退出字符
• -l<用戶> 指定登陸的用戶
• -t<終端類型> 設置終端類型 


實例


顯示rlogin服務是否開啓 
# chkconfig --list //檢測rlogin服務是否開啓


開啓rlogin服務
# chkconfig rlogin on //開啓rlogin服務


登陸遠程主機
# rlogin 192.168.1.88
Password:
Password:
Login incorrect
Login:root
Passwd:
Login incorrect
Login:kk
Passwd:


指定用戶名登陸遠程主機 
# rlogin 192.168.1.88 -l hnlinux


Passord:
Last login:Mon May 28 15:30:25 from 192.168.1.88





26.rsh命令


Linux rsh命令用於遠端登入的Shell。


rsh(remote shell)提供用戶環境,也就是Shell,以便指令能夠在指定的遠端主機上執行。


語法
rsh [-dn][-l <用戶名稱>][主機名稱或IP地址][執行指令]


參數說明:
-d  使用Socket層級的排錯功能。
-l<用戶名稱>  指定要登入遠端主機的用戶名稱。
-n  把輸入的指令號向代號爲/dev/null的特殊外圍設備。


實例


開啓rsh服務
# chkconfig --list //檢測rlogin服務是否開啓


# chkconfig rsh on //開啓rsh服務


# chkconfig -list //檢測開啓的服務


遠程命令執行
# rsh -l hnlinux 192.168.1.88 /bin/ls //遠程執行ls命令


27.sliplogin命令


Linux sliplogin命令用於將SLIP接口加入標準輸入。


sliplogin可將SLIP接口加入標準輸入,把一般終端機的連線變成SLIP連線。通常可用來建立SLIP服務器,讓遠端電腦以SLIP連線到服務器。sliplogin活去檢查/etc/slip/slip.hosts文件中是否有相同的用戶名稱。通過檢查後,sliplogin會調用執行shell script來設置IP地址,子網掩碼等網絡界面環境。此shell script通常是/etc/slip/slip.login。


語法
sliplogin [用戶名稱]


實例


改變用戶的連接方式
# sliplogin kk // 改變用戶的連接方式


28.screen命令


Linux screen命令用於多重視窗管理程序。


screen爲多重視窗管理程序。此處所謂的視窗,是指一個全屏幕的文字模式畫面。通常只有在使用telnet登入主機或是使用老式的終端機時,纔有可能用到screen程序。


語法
screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>][-r <作業名稱>][-s <shell>][-S <作業名稱>]


參數說明:
-A  將所有的視窗都調整爲目前終端機的大小。
-d<作業名稱>  將指定的screen作業離線。
-h<行數>  指定視窗的緩衝區行數。
-m  即使目前已在作業中的screen作業,仍強制建立新的screen作業。
-r<作業名稱>  恢復離線的screen作業。
-R  先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。
-s<shell>  指定建立新視窗時,所要執行的shell。
-S<作業名稱>  指定screen作業的名稱。
-v  顯示版本信息。
-x  恢復之前離線的screen作業。
-ls或--list  顯示目前所有的screen作業。
-wipe  檢查目前所有的screen作業,並刪除已經無法使用的screen作業。


實例


創建 screen 終端
# screen //創建 screen 終端


創建 screen 終端 並執行任務
# screen vi ~/main.c //創建 screen 終端 ,並執行 vi命令


離開 screen 終端
# screen vi ~/main.c //創建 screen 終端 ,並執行 vi命令


#include 


main ()
{


}


"~/mail.c"       0,0-1    


在 screen 終端 下 按下 Ctrl+a d鍵




重新連接離開的 screen 終端
# screen -ls  //顯示已創建的screen終端 
There are screens on:
2433.pts-3.linux    (2013年10月20日 16時48分59秒)    (Detached)
2428.pts-3.linux    (2013年10月20日 16時48分05秒)    (Detached)
2284.pts-3.linux    (2013年10月20日 16時14分55秒)    (Detached)
2276.pts-3.linux    (2013年10月20日 16時13分18秒)    (Detached)
4 Sockets in /var/run/screen/S-root.


# screen -r 2276 //連接 screen_id 爲 2276 的 screen終端


29.shutdown命令


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


使用權限:系統管理者。


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


參數說明:
-t seconds : 設定在幾秒鐘之後進行關機程序
-k : 並不會真的關機,只是將警告訊息傳送給所有隻用者
-r : 關機後重新開機
-h : 關機後停機
-n : 不採用正常程序來關機,用強迫的方式殺掉所有執行中的程序後自行關機
-c : 取消目前已經進行中的關機動作
-f : 關機時,不做 fcsk 動作(檢查 Linux 檔系統)
-F : 關機時,強迫進行 fsck 動作
time : 設定關機的時間
message : 傳送給所有使用者的警告訊息


實例


立即關機
# shutdown -h now


指定5分鐘後關機
# shutdown +5 “System will shutdown after 5 minutes” //5分鐘夠關機並顯示警告信息


30.rwho命令


Linux rwho命令用於查看系統用戶。


rwho指令的效果類似who指令,但它會顯示局域網裏所有主機的用戶。主機必須提供rwhod常駐服務的功能,方可使用rwho指令。


語法
rwho [-a]


參數說明:
-a  列出所有的用戶,包括閒置時間超過1個小時以上的用戶。


實例


顯示本地局域網內的所有用戶
# rwho
root   snail-hnlinux:pts/2 May 14 17:42


31.sudo命令


Linux sudo命令以系統管理者的身份執行指令,也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。


使用權限:在 /etc/sudoers 中有出現的使用者。


語法
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command


參數說明:
-V 顯示版本編號
-h 會顯示版本編號及指令的使用方式說明
-l 顯示出自己(執行 sudo 的使用者)的權限
-v 因爲 sudo 在第一次執行時或是在 N 分鐘內沒有執行(N 預設爲五)會問密碼,這個參數是重新做一次確認,如果超過 N 分鐘,也會問密碼
-k 將會強迫使用者在下一次執行 sudo 時問密碼(不論有沒有超過 N 分鐘)
-b 將要執行的指令放在背景執行
-p prompt 可以更改問密碼的提示語,其中 %u 會代換爲使用者的帳號名稱, %h 會顯示主機名稱
-u username/#uid 不加此參數,代表要以 root 的身份執行指令,而加了此參數,可以以 username 的身份執行指令(#uid 爲該 username 的使用者號碼)
-s 執行環境變數中的 SHELL 所指定的 shell ,或是 /etc/passwd 裏所指定的 shell
-H 將環境變數中的 HOME (家目錄)指定爲要變更身份的使用者家目錄(如不加 -u 參數就是系統管理者 root )
command 要以系統管理者身份(或以 -u 更改爲其他人)執行的指令


實例


sudo命令使用
$ sudo ls
[sudo] password for hnlinux: 
hnlinux is not in the sudoers file. This incident will be reported.


指定用戶執行命令
# sudo -u userb ls -l


顯示sudo設置
$ sudo -L //顯示sudo設置
Available options in a sudoers ``Defaults'' line:


syslog: Syslog facility if syslog is being used for logging
syslog_goodpri: Syslog priority to use when user authenticates successfully
syslog_badpri: Syslog priority to use when user authenticates unsuccessfully
long_otp_prompt: Put OTP prompt on its own line
ignore_dot: Ignore '.' in $PATH
mail_always: Always send mail when sudo is run
mail_badpass: Send mail if user authentication fails
mail_no_user: Send mail if the user is not in sudoers
mail_no_host: Send mail if the user is not in sudoers for this host
mail_no_perms: Send mail if the user is not allowed to run a command
tty_tickets: Use a separate timestamp for each user/tty combo
lecture: Lecture user the first time they run sudo
lecture_file: File containing the sudo lecture
authenticate: Require users to authenticate by default
root_sudo: Root may run sudo
log_host: Log the hostname in the (non-syslog) log file
log_year: Log the year in the (non-syslog) log file
shell_noargs: If sudo is invoked with no arguments, start a shell
set_home: Set $HOME to the target user when starting a shell with -s
always_set_home: Always set $HOME to the target user's home directory
path_info: Allow some information gathering to give useful error messages
fqdn: Require fully-qualified hostnames in the sudoers file
insults: Insult the user when they enter an incorrect password
requiretty: Only allow the user to run sudo if they have a tty
env_editor: Visudo will honor the EDITOR environment variable
rootpw: Prompt for root's password, not the users's
runaspw: Prompt for the runas_default user's password, not the users's
targetpw: Prompt for the target user's password, not the users's
use_loginclass: Apply defaults in the target user's login class if there is one
set_logname: Set the LOGNAME and USER environment variables
stay_setuid: Only set the effective uid to the target user, not the real uid
preserve_groups: Don't initialize the group vector to that of the target user
loglinelen: Length at which to wrap log file lines (0 for no wrap)
timestamp_timeout: Authentication timestamp timeout
passwd_timeout: Password prompt timeout
passwd_tries: Number of tries to enter a password
umask: Umask to use or 0777 to use user's
logfile: Path to log file
mailerpath: Path to mail program
mailerflags: Flags for mail program
mailto: Address to send mail to
mailfrom: Address to send mail from
mailsub: Subject line for mail messages
badpass_message: Incorrect password message
timestampdir: Path to authentication timestamp dir
timestampowner: Owner of the authentication timestamp dir
exempt_group: Users in this group are exempt from password and PATH requirements
passprompt: Default password prompt
passprompt_override: If set, passprompt will override system prompt in all cases.
runas_default: Default user to run commands as
secure_path: Value to override user's $PATH with
editor: Path to the editor for use by visudo
listpw: When to require a password for 'list' pseudocommand
verifypw: When to require a password for 'verify' pseudocommand
noexec: Preload the dummy exec functions contained in 'noexec_file'
noexec_file: File containing dummy exec functions
ignore_local_sudoers: If LDAP directory is up, do we ignore local sudoers file
closefrom: File descriptors >= %d will be closed before executing a command
closefrom_override: If set, users may override the value of `closefrom' with the -C option
setenv: Allow users to set arbitrary environment variables
env_reset: Reset the environment to a default set of variables
env_check: Environment variables to check for sanity
env_delete: Environment variables to remove
env_keep: Environment variables to preserve
role: SELinux role to use in the new security context
type: SELinux type to use in the new security context
askpass: Path to the askpass helper program
env_file: Path to the sudo-specific environment file
sudoers_locale: Locale to use while parsing sudoers
visiblepw: Allow sudo to prompt for a password even if it would be visisble
pwfeedback: Provide visual feedback at the password prompt when there is user input
fast_glob: Use faster globbing that is less accurate but does not access the filesystem
umask_override: The umask specified in sudoers will override the user's, even if it is more permissive


以root權限執行上一條命令
$ sudo !!


以特定用戶身份進行編輯文本
$ sudo -u uggc vi ~www/index.html
//以 uggc 用戶身份編輯  home 目錄下www目錄中的 index.html 文件


列出目前的權限
sudo -l


列出 sudo 的版本資訊
sudo -V


32.gitps命令


Linux gitps命令用於報告程序狀況。


gitps(gnu interactive tools process status)是用來報告並管理程序執行的指令,基本上它就是通過ps指令來報告,管理程序,也能通過gitps指令隨時中斷,刪除不必要的程序。因爲gitps指令會去執行ps指令,所以其參數和ps指令相當類似。


語法
gitps [acefgjlnrsSTuvwxX][p <程序識別碼>][t <終端機編號>][U <帳號名稱>]


參數說明:
a  顯示 現行終端機下的所有程序,包括其他用戶的程序。
c  列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或是常駐服務的標示.
e  列出程序時,顯示每個程序所使用的環境變量。
f  用ASCII字符顯示樹狀結構,表達程序間的相互關係。
g  顯示現行終端機下的所有程序,包括羣組領導者的程序。
j  採用工作控制的格式來顯示程序狀況。
l  採用纖細的格式來顯示程序狀況。
n  以數字來表示USER和WCHAN欄位。
p<程序識別碼>  指定程序識別碼,並列出該程序的狀況。
r  只列出現行終端機正在執行中的程序。
s  採用程序信號的格式顯示程序狀況。
S  列出程序時,包括已中斷的子程序信息。
t<終端機機標號>  指定終端機編號,並列出屬於該終端機的程序的狀況。
T  顯示現行終端機下的所有程序。
u  以用戶爲主的格式來顯示程序狀況。
U<帳號名稱>  列出屬於該用戶的程序的狀況。
v  採用虛擬內存的格式顯示程序狀況。
w  採用寬闊的格式來顯示程序狀況。
x  顯示所有程序,不以終端機來區分。
X  採用舊試的Linux i386登陸格式顯示程序狀況。


實例


顯示指定用戶信息
# gitps hnlinux


33.swatch命令


Linux swatch命令用於系統監控程序。


swatch可用來監控系統記錄文件,並在發現特定的事件時,執行指定的動作。swatch所監控的事件以及對應事件的動作都存放在swatch的配置文件中。預設的配置文件爲擁護根目錄下的.swatchrc。然而在Red Hat Linux的預設用戶根目錄下並沒有.swatchrc配置文件,您可將/usr/doc/swatch-2.2/config_files/swatchrc.personal文件複製到用戶根目錄下的.swatchrc,然後修改.swatchrc所要監控的事件及執行的動作。


語法
swatch [-A <分隔字符>][-c <設置文件>][-f <記錄文件>][-I <分隔字符>][-P <分隔字符>][-r <時間>][-t <記錄文件>]


參數說明:
-A<分隔字符>  預設配置文件中,動作的分隔字符,預設爲逗號。
-c<設置文件>  指定配置文件,而不使用預設的配置文件。
-f<記錄文件>  檢查指定的記錄文件,檢查完畢後不會繼續監控該記錄文件。
-I<分隔字符>  指定輸入記錄的分隔字符,預設爲換行字符。
-P<分隔字符>  指定配置文件中,事件的分隔字符,預設爲逗號。
-r<時間>  在指定的時間重新啓動。
-t<記錄文件>  檢查指定的記錄文件,並且會監控加入記錄文件中的後繼記錄。


實例


開啓系統監視
# swatch


34.tload命令


Linux tload命令用於顯示系統負載狀況。


tload指令使用ASCII字符簡單地以文字模式顯示系統負載狀態。假設不給予終端機編號,則會在執行tload指令的終端機顯示負載情形。


語法
tload [-V][-d <間隔秒數>][-s <刻度大小>][終端機編號]


參數說明:
-d<間隔秒數>  設置tload檢測系統負載的間隔時間,單位以秒計算。
-s<刻度大小>  設置圖表的垂直刻度大小,單位以列計算。
-V  顯示版本信息。


實例


顯示系統負載
# tload


35.logrotate命令


Linux logrotate命令用於管理記錄文件。


使用logrotate指令,可讓你輕鬆管理系統所產生的記錄文件。它提供自動替換,壓縮,刪除和郵寄記錄文件,每個記錄文件都可被設置成每日,每週或每月處理,也能在文件太大時立即處理。您必須自行編輯,指定配置文件,預設的配置文件存放在/etc目錄下,文件名稱爲logrotate.conf。


語法
logrotate [-?dfv][-s <狀態文件>][--usage][配置文件]


參數說明:
-?或--help  在線幫助。
-d或--debug  詳細顯示指令執行過程,便於排錯或瞭解程序執行的情況。
-f或--force  強行啓動記錄文件維護操作,縱使logrotate指令認爲沒有需要亦然。
-s<狀態文件>或--state=<狀態文件>  使用指定的狀態文件。
-v或--version  顯示指令執行過程。
-usage  顯示指令基本用法。


實例


指定記錄文件
# logrotate /root/log.config


36.uname命令


Linux uname命令用於顯示系統信息。


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


語法
uname [-amnrsv][--help][--version]


參數說明:
-a或--all  顯示全部的信息。
-m或--machine  顯示電腦類型。
-n或-nodename  顯示在網絡上的主機名稱。
-r或--release  顯示操作系統的發行編號。
-s或--sysname  顯示操作系統名稱。
-v  顯示操作系統的版本。
--help  顯示幫助。
--version  顯示版本信息。


實例


顯示系統信息
# uname -a
Linux snail-hnlinux 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux


顯示計算機類型
# uname -m
i686


顯示計算機名
# uname -n
snail-hnlinux


顯示操作系統發行編號
# uname -r
2.6.32-21-generic


顯示操作系統名稱
# uname -s
Linux


顯示系統時間
# uname -v
#32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2014


37.chsh命令


Linux chsh命令用於更改使用者 shell 設定。


使用權限:所有使用者。


語法
shell>> chsh


實例
shell>> chsh
Changing fihanging shell for user1
Password: [del]
New shell [/bin/tcsh]: ### [是目前使用的 shell]
[del]
shell>> chsh -l ### 展示 /etc/shells 檔案內容
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh


改變當前的shell。當前的shell 設置爲//bin/bash,通過chsh命令,改變shell的設置/bin/csh。
# chsh
Changing shell for root.
New shell [/bin/bash]: /bin/csh //輸入新的shell地址
Shell changed.


通過 -s 參數改變當前的shell設置
# chsh -s /bin/csh //改變當前設置爲 /bin/csh
Changing shell for root.
Shell not changed.


38.userconf命令


Linux userconf命令用於用戶帳號設置程序。


userconf實際上爲linuxconf的符號連接,提供圖形界面的操作方式,供管理員建立與管理各類帳號。若不加任何參數,即進入圖形界面。


語法
userconf [--addgroup <羣組>][--adduser <用戶ID><羣組><用戶名稱><shell>][--delgroup <羣組>][--deluser <用戶ID>][--help]


參數說明:
--addgroup<羣組>  新增羣組。
--adduser<用戶ID><羣組><用戶名稱><shell>  新增用戶帳號。
--delgroup<羣組>  刪除羣組。
--deluser<用戶ID>  刪除用戶帳號。
--help  顯示幫助。


實例


新增用戶
# userconf --adduser 666 tt lord /bin/bash //新增用戶賬號


39.userdel命令


Linux userdel命令用於刪除用戶帳號。


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


語法
userdel [-r][用戶帳號]


參數說明:
-r  刪除用戶登入目錄以及目錄中所有文件。


實例


刪除用戶賬號
# userdel hnlinux


40.usermod命令


Linux usermod命令用於修改用戶帳號。


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


語法
usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-l <帳號名稱>][-s <shell>][-u <uid>][用戶帳號]


參數說明:
-c<備註>  修改用戶帳號的備註文字。
-d登入目錄>  修改用戶登入時的目錄。
-e<有效期限>  修改帳號的有效期限。
-f<緩衝天數>  修改在密碼過期後多少天即關閉該帳號。
-g<羣組>  修改用戶所屬的羣組。
-G<羣組>  修改用戶所屬的附加羣組。
-l<帳號名稱>  修改用戶帳號名稱。
-L  鎖定用戶密碼,使密碼無效。
-s<shell>  修改用戶登入後所使用的shell。
-u<uid>  修改用戶ID。
-U  解除密碼鎖定。


實例


更改登錄目錄
# usermod -d /home/hnlinux root


改變用戶的uid
# usermod -u 777 root


41.vlock命令


Linux vlock命令用於鎖住虛擬終端。


執行vlock(virtual console lock)指令可鎖住虛擬終端,避免他人使用。


語法
vlock [-achv]


參數說明:
-a或--all  鎖住所有的終端階段作業,如果您在全屏幕的終端中使用本參數,則會將用鍵盤
切換終端機的功能一併關閉。
-c或--current  鎖住目前的終端階段作業,此爲預設值。
-h或--help  在線幫助。
-v或--version  顯示版本信息。


實例


鎖定虛擬終端
# vlock


42.who命令


Linux who命令用於顯示系統中有哪些使用者正在上面,顯示的資料包含了使用者 ID、使用的終端機、從哪邊連上來的、上線時間、呆滯時間、CPU 使用量、動作等等。


使用權限:所有使用者都可使用。


語法
who - [husfV] [user]


參數說明:
-H 或 --heading:顯示各欄位的標題信息列;
-i 或 -u 或 --idle:顯示閒置時間,若該用戶在前一分鐘之內有進行任何動作,將標示成"."號,如果該用戶已超過24小時沒有任何動作,則標示出"old"字符串;
-m:此參數的效果和指定"am i"字符串相同;
-q 或--count:只顯示登入系統的帳號名稱和總人數;
-s:此參數將忽略不予處理,僅負責解決who指令其他版本的兼容性問題;
-w 或-T或--mesg或--message或--writable:顯示用戶的信息狀態欄;
--help:在線幫助;
--version:顯示版本信息。


實例


顯示當前登錄系統的用戶
# who  //顯示當前登錄系統的用戶
root   tty7     2014-05-13 12:12 (:0)
root   pts/0    2014-05-14 17:09 (:0.0)
root   pts/1    2014-05-14 18:51 (192.168.1.17)
root   pts/2    2014-05-14 19:48 (192.168.1.17)




顯示標題欄
# who -H
NAME   LINE     TIME       COMMENT
root   tty7     2014-05-13 12:12 (:0)
root   pts/0    2014-05-14 17:09 (:0.0)
root   pts/1    2014-05-14 18:51 (192.168.1.17)
root   pts/2    2014-05-14 19:48 (192.168.1.17)




顯示用戶登錄來源
# who -l -H
NAME   LINE     TIME       IDLE     PID COMMENT
LOGIN  tty4     2014-05-13 12:11        852 id=4
LOGIN  tty5     2014-05-13 12:11        855 id=5
LOGIN  tty2     2014-05-13 12:11        862 id=2
LOGIN  tty3     2014-05-13 12:11        864 id=3
LOGIN  tty6     2014-05-13 12:11        867 id=6
LOGIN  tty1     2014-05-13 12:11       1021 id=1




顯示終端屬性
# who -T -H
NAME    LINE     TIME       COMMENT
root   + tty7     2014-05-13 12:12 (:0)
root   + pts/0    2014-05-14 17:09 (:0.0)
root   - pts/1    2014-05-14 18:51 (192.168.1.17)
root   - pts/2    2014-05-14 19:48 (192.168.1.17)




只顯示當前用戶
# who -m -H
NAME   LINE     TIME       COMMENT
root   pts/1    2014-05-14 18:51 (192.168.1.17)




精簡模式顯示
# who -q
root root root root
# users=4


43.whoami命令


Linux whoami命令用於顯示自身用戶名稱。


顯示自身的用戶名稱,本指令相當於執行"id -un"指令。


語法
whoami [--help][--version]


參數說明:
--help  在線幫助。
--version  顯示版本信息。


實例


顯示用戶名
# whoami 
root


44.whois命令


Linux whois命令用於查找並顯示用戶信息。


whois指令會去查找並顯示指定帳號的用戶相關信息,因爲它是到Network Solutions的WHOIS數據庫去查找,所以該帳號名稱必須在上面註冊方能尋獲,且名稱沒有大小寫的差別。


語法
whois [帳號名稱]


實例


顯示指定用戶信息
# whois root


//查找root用戶信息


查詢域名描述信息
# whois .Lx138.COm


Whois Server Version 2.0


Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.


...省略部分內容


查詢域名信息
# whois Lx138.COm


The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.
Domain Name ..................... Lx138.COm
Name Server ..................... dns15.hichina.com
                 dns16.hichina.com
Registrant ID ................... hc937242545-cn


...省略部分內容


查詢域名信息省略法律聲明
# whois -H Lx138.COm


...省略內容


指定端口查詢
# whois -p 80 Lx138.COm


...省略內容


45.newgrp命令


Linux newgrp命令用於登入另一個羣組。


newgrp指令類似login指令,當它是以相同的帳號,另一個羣組名稱,再次登入系統。欲使用newgrp指令切換羣組,您必須是該羣組的用戶,否則將無法登入指定的羣組。單一用戶要同時隸屬多個羣組,需利用交替用戶的設置。若不指定羣組名稱,則newgrp指令會登入該用戶名稱的預設羣組。


語法
newgrp [羣組名稱]


實例


改變羣組
# newgrp root


46.renice命令


Linux renice命令用於重新指定一個或多個行程(Process)的優先序(一個或多個將根據參數而定)。


注意:每一個行程(Process)都有一個唯一的(unique)id。


使用權限:所有使用者。


語法
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]


參數說明:
-p pid 重新指定行程的 id 爲 pid 的行程的優先序
-g pgrp 重新指定行程羣組(process group)的 id 爲 pgrp 的行程 (一個或多個) 的優先序
-u user 重新指定行程擁有者爲 user 的行程的優先序


實例


將行程 id 爲 987 及 32 的行程與行程擁有者爲 daemon 及 root 的優先序號碼加 1
renice +1 987 -u daemon root -p 32


47.su命令


Linux su命令用於變更爲其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。


使用權限:所有使用者。


語法
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]


參數說明:
-f 或 --fast 不必讀啓動檔(如 csh.cshrc 等),僅用於 csh 或 tcsh
-m -p 或 --preserve-environment 執行 su 時不改變環境變數
-c command 或 --command=command 變更爲帳號爲 USER 的使用者並執行指令(command)後再變回原來使用者
-s shell 或 --shell=shell 指定要執行的 shell (bash csh tcsh 等),預設值爲 /etc/passwd 內的該使用者(USER) shell
--help 顯示說明文件
--version 顯示版本資訊
- -l 或 --login 這個參數加了之後,就好像是重新 login 爲該使用者一樣,大部份環境變數(HOME SHELL USER等等)都是以該使用者(USER)爲主,並且工作目錄也會改變,如果沒有指定 USER ,內定是 root
USER 欲變更的使用者帳號
ARG 傳入新的 shell 參數


實例


變更帳號爲 root 並在執行 ls 指令後退出變回原使用者
su -c ls root


變更帳號爲 root 並傳入 -f 參數給新執行的 shell
su root -f


變更帳號爲 clsung 並改變工作目錄至 clsung 的家目錄(home dir)
su - clsung


切換用戶
[email protected]:~$ whoami //顯示當前用戶
hnlinux
[email protected]:~$ pwd //顯示當前目錄
/home/hnlinux
[email protected]:~$ su root //切換到root用戶
密碼: 
[email protected]:/home/hnlinux# whoami 
root
[email protected]:/home/hnlinux# pwd
/home/hnlinux


切換用戶,改變環境變量
[email protected]:~$ whoami //顯示當前用戶
hnlinux
[email protected]:~$ pwd //顯示當前目錄
/home/hnlinux
[email protected]:~$ su - root //切換到root用戶
密碼: 
[email protected]:/home/hnlinux# whoami 
root
[email protected]:/home/hnlinux# pwd //顯示當前目錄
/root


48.skill命令


Linux skill命令送個訊號給正在執行的程序,預設的訊息爲 TERM (中斷),較常使用的訊息爲 HUP、INT、KILL、STOP、CONT 和 0。


訊息有三種寫法:分別爲 -9、-SIGKILL、-KILL,可以使用 -l 或 -L 已列出可使用的訊息。


使用權限:所有使用者。


其他相關的命令:kill


語法
skill [signal to send] [options] 選擇程序的規則


一般參數:
-f 快速模式/尚未完成
-i 互動模式/ 每個動作將要被確認
-v 詳細輸出/ 列出所選擇程序的資訊
-w 智能警告訊息/ 尚未完成
-n 沒有動作/ 顯示程序代號


參數:選擇程序的規則可以是:終端機代號、使用者名稱、程序代號、命令名稱。
-t 終端機代號 ( tty 或 pty )
-u 使用者名稱
-p 程序代號 ( pid )
-c 命令名稱可使用的訊號


以下列出已知的訊號名稱、訊號代號、功能。




名稱(代號)


功能/描述


ALRM 14 離開 
HUP 1 離開 
INT 2 離開 
KILL 9 離開/強迫關閉 
PIPE 13 離開 
POLL 離開 
PROF 離開 
TERM 15 離開 
USR1 離開 
USR2 離開 
VTALRM 離開 
STKFLT 離開/只適用於i386、m68k、arm 和 ppc 硬件 
UNUSED 離開/只適用於i386、m68k、arm 和 ppc 硬件 
TSTP 停止/產生與內容相關的行爲 
TTIN 停止/產生與內容相關的行爲 
TTOU 停止/產生與內容相關的行爲 
STOP 停止/強迫關閉 
CONT 重新啓動/如果在停止狀態則重新啓動,否則忽略 
PWR 忽略/在某些系統中會離開 
WINCH 忽略 
CHLD 忽略 
ABRT 6 核心 
FPE 8 核心 
ILL 4 核心 
QUIT 3 核心 
SEGV 11 核心 
TRAP 5 核心 
SYS 核心/或許尚未實作 
EMT 核心/或許尚未實作 
BUS 核心/核心失敗 
XCPU 核心/核心失敗 
XFSZ 核心/核心失敗 


實例


停止所有在 PTY 裝置上的程序
skill -KILL -v pts/*


停止三個使用者 user1、user2、user3
skill -STOP user1 user2 user3


49.w命令


Linux w命令用於顯示目前登入系統的用戶信息。


執行這項指令可得知目前登入系統的用戶有哪些人,以及他們正在執行的程序。


單獨執行 w 指令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。


語法
w [-fhlsuV][用戶名稱]


參數說明:
-f  開啓或關閉顯示用戶從何處登入系統。
-h  不顯示各欄位的標題信息列。
-l  使用詳細格式列表,此爲預設值。
-s  使用簡潔格式列表,不顯示用戶登入時間,終端機階段作業和程序所耗費的CPU時間。
-u  忽略執行程序的名稱,以及該程序耗費CPU時間的信息。
-V  顯示版本信息。


實例


顯示當前用戶
w  //顯示當前用戶,不顯示登錄位置
19:50:14 up 9:27, 4 users, load average: 0.31, 0.26, 0.18
USER   TTY   FROM       LOGIN@  IDLE  JCPU  PCPU WHAT
root   tty7   :0        Thu12  31:39m 10:10  0.60s gnome-session
root   pts/0  :0.0       17:09  2:18m 15.26s 0.15s bash
root   pts/1  192.168.1.17   18:51  1.00s 1.24s 0.14s -bash
root   pts/2  192.168.1.17   19:48  60.00s 0.05s 0.05s -bash


不顯示登錄位置
w -f
19:53:59 up 9:31, 4 users, load average: 0.05, 0.16, 0.15
USER   TTY    LOGIN@  IDLE  JCPU  PCPU WHAT
root   tty7   Thu12  31:43m 10:10  0.60s gnome-session
root   pts/0   17:09  2:21m 15.26s 0.15s bash
root   pts/1   18:51  0.00s 1.04s 0.14s -bash
root   pts/2   19:48  4:45  0.05s 0.05s -bash


以精簡模式顯示
w -s
19:54:37 up 9:31, 4 users, load average: 0.24, 0.19, 0.16
USER   TTY   FROM        IDLE WHAT
root   tty7   :0        31:43m gnome-session
root   pts/0  :0.0       2:22m bash
root   pts/1  192.168.1.17   0.00s -bash
root   pts/2  192.168.1.17   5:23 -bash


不顯示標題
w -h
root   tty7   :0        Thu12  31:44m 10:10  0.60s gnome-session
root   pts/0  :0.0       17:09  2:23m 15.26s 0.15s bash
root   pts/1  192.168.1.17   18:51  0.00s 1.05s 0.14s -bash
root   pts/2  192.168.1.17   19:48  5:54  0.05s 0.05s -bash


50.id命令


Linux id命令用於顯示用戶的ID,以及所屬羣組的ID。


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


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


參數說明:
-g或--group  顯示用戶所屬羣組的ID。
-G或--groups  顯示用戶所屬附加羣組的ID。
-n或--name  顯示用戶,所屬羣組或附加羣組的名稱。
-r或--real  顯示實際ID。
-u或--user  顯示用戶ID。
-help  顯示幫助。
-version  顯示版本信息。


實例


顯示當前用戶信息
# id //顯示當前用戶ID
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t


顯示用戶羣組的ID
# id -g
0


顯示所有羣組的ID
# id -g
0 1 2 3 4 5 6 10


顯示指定用戶信息
# id hnlinux


51.free命令


Linux free命令用於顯示內存狀態。


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


語法
free [-bkmotV][-s <間隔秒數>]


參數說明:
-b  以Byte爲單位顯示內存使用情況。
-k  以KB爲單位顯示內存使用情況。
-m  以MB爲單位顯示內存使用情況。
-o  不顯示緩衝區調節列。
-s<間隔秒數>  持續觀察內存使用狀況。
-t  顯示內存總和列。
-V  顯示版本信息。


實例


顯示內存使用情況
# free //顯示內存使用信息
total used free shared buffers cached
Mem: 254772 184568 70204 0 5692 89892
-/+ buffers/cache: 88984 165788
Swap: 524280 65116 459164


以總和的形式顯示內存的使用信息
# free -t //以總和的形式查詢內存的使用信息
total used free shared buffers cached
Mem: 254772 184868 69904 0 5936 89908
-/+ buffers/cache: 89024 165748
Swap: 524280 65116 459164
Total: 779052 249984 529068


週期性的查詢內存使用信息
# free -s 10 //每10s 執行一次命令
total used free shared buffers cached
Mem: 254772 187628 67144 0 6140 89964
-/+ buffers/cache: 91524 163248
Swap: 524280 65116 459164


total used free shared buffers cached
Mem: 254772 187748 67024 0 6164 89940
-/+ buffers/cache: 91644 163128
Swap: 524280 65116 459164

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章