名稱:free
功能說明:顯示記憶體狀態
語 法: free [-bkmotV][-s <間隔秒數>
補充說明:free指令會顯示記憶體的使用方式,包括實體記憶體,虛擬分頁檔記憶體,共用記憶體區段,以及系統核心使用的緩衝區等。
參 數:
-b 以Byte為單位顯示記憶體使用量情況。
-k 以KB為單位顯示記憶體使用量情況。
-m 以MB為單位顯示記憶體使用量情況。
-o 不顯示緩衝區調節列。
-s<間隔秒數> 持續觀察記憶體使用量狀況。
-t 顯示記憶體總和列。
-V 顯示版本資訊。
名稱:su
使用許可權:所有使用者
使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
說明:變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼
參數:
-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 參數
範例:
su -c ls root 變更帳號為 root 並在執行 ls 指令後退出變回原使用者。
su root -f 變更帳號為 root 並傳入 -f 參數給新執行的 shell。
su - clsung 變更帳號為 clsung 並改變工作目錄至 clsung 的家目錄(home dir)。
名稱:reboot
使用許可權:系統管理者
使用方式:reboot [-n] [-w] [-d] [-f] [-i]
說明:若系統的 runlevel 為 0 或 6 ,則重新開機,否則以 shutdown 指令(加上 -r 參數)來取代
參數:
-n : 在重開機前不做將記憶體資料寫回硬碟的動作
-w : 並不會真的重開機,只是把記錄寫到 /var/log/wtmp 檔案裡
-d : 不把記錄寫到 /var/log/wtmp 檔案裡(-n 這個參數包含了 -d) -f : 強迫重開機,不呼叫 shutdown 這個指令
-i : 在重開機之前先把所有網路相關的裝置先停止
範例:
reboot 重開機。
reboot -w 做個重開機的類比(只有紀錄並不會真的重開機)。
名稱:adduser
使用許可權:系統管理員
使用方式: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]
附註:adduser 與 useradd 指令為同一指令(經由符號連結 symbolic link)
說明:新增使用者帳號或更新預設的使用者資料
參數:
-c comment 新使用者位於密碼檔(通常是 /etc/passwd)的註解資料
-d home_dir 設定使用者的家目錄為 home_dir ,預設值為預設的 home 後面加上使用者帳號 loginid
-e expire_date 設定此帳號的使用到期日(格式為 YYYY-MM-DD),預設值為永久有效
-f inactive_time 範例:
adduser是增加使用者.
相對的,也有刪除使用者的指令,userdel.
文法:userdel [login ID]
名稱:kill
使用許可權:所有使用者
使用方式:
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
說明:kill 送出一個特定的訊號 (signal) 給行程 id 為 pid 的行程根據該訊號而做特定的動作, 若沒有指定, 預設是送出終止 (TERM) 的訊號
參數:
-s (signal) : 其中可用的訊號有 HUP (1), KILL (9), TERM (15), 分別代表著重跑, 砍掉, 結束; 詳細的訊號可以用 kill -l
-p : 印出 pid , 並不送出訊號
-l (signal) : 列出所有可用的訊號名稱
範例:
將 pid 為 323 的行程砍掉 (kill) :
kill -9 323
將 pid 為 456 的行程重跑 (restart) :
kill -HUP 456
名稱 : shutdown
使用許可權 : 系統管理者
使用方式 : shutdown [-t seconds] [-rkhncfF] time [message]
說明 : shutdown 可以用來進行關機程式,並且在關機以前傳送訊息給所有使用者正在執行的程式,shutdown 也可以用來重開機。
參數 :
-t seconds : 設定在幾秒鐘之後進行關機程式
-k : 並不會真的關機,只是將警告訊息傳送給所有只用者
-r : 關機後重新開機
-h : 關機後停機
-n : 不採用正常程式來關機,用強迫的方式殺掉所有執行中的程式後自行關機
-c : 取消目前已經進行中的關機動作
-f : 關機時,不做 fcsk 動作(檢查 Linux 檔系統)
-F : 關機時,強迫進行 fsck 動作
time : 設定關機的時間
message : 傳送給所有使用者的警告訊息
名稱:ps
使用許可權:所有使用者
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動態
參數:
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
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00:00:00 mdrecoveryd
.......
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]