linux常用命令
f#nmr5F BYf"l8^, 称:/etc/aliases
E=QQZ\w 使用权限:系统管理者
(Vv]:Y] 使用方式: 请用 newaliases 更新资料库
Ei<:=6EX?8 说明:
qsRh ihPX sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
Sx"I]N u\wd<<I'] /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。范例:
qh 3f # newaliases
xL"%2nf F)w83[5_d 下面命令会做相同的事,
8IH gsW"; # sendmail -bi
I2T2'_I "U.=A7r 相关命令:
AF}"
mail, mailq, newaliases, sendmail
_@;N<$& YLo$n ” mail [返回]
M[{:o/]< 名称:mail
1aG}-:$t' ZM?r1Z4 使用权限:所有使用者
]l'ki8 {@%(0d{n} 使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
>cb
gL% WXU6J?tIm 说明:
6f!mk:\T. mail 不仅只是一个指令, mail 还是一个电子邮件程式,不过利用 mail 来读信的人应该很少吧!对于系统管理者来说 mail 就很有用,因为管理者可以用 mail 写成 script ,定期寄一些备忘录提醒系统的使用者。
"tARJW L /> GYx 参数:
POXn6R!mM1 i 忽略 tty 的中断讯号。 (interrupt)
MvmP["%J4_ I 强迫设成互动模式。 (Interactive)
"-?Y UY` v 列印出讯息,例如送信的地点、状态等等。 (verbose)
z-G (!]: n 不读入 mail.rc 设定档。
am3E7u/ s 邮件标题。
A~V\r<N
j c cc 邮件地址。
'[^2uQc b bcc 邮件地址。
Q^rW^d }C1wfZ~F~ 范例:
88j
;7 ?g4|EV-56 将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
>JOvg*a?" mail
user1@email.address
uyj*v]AE' mail
user1@email.address user2
}0RFo96)v rg}kxvu 将 mail.txt 的内容寄给 user2 同时 cc 给 user1 。如果将这一行指令设成 cronjob 就可以定时将备忘录寄给系统使用者。
'4sD1LD~} 1_C6KS mail -s 标题 -c user1 user2 < mail.txt
]:s|.C%q I NN'<-0~ 指令:mesg
auW]rwY 使用权限 : 所有使用者
O$/swwB! I+t38un% 使用方式 : mesg [y|n]
T}[vfIJD G{~p.?f: 说明 : 决定是否允许其他人传讯息到自己的终端机介面
ooSd6;' Dt.Wb&V_w 把计 ?
/nFw %
cdP* y : 允许讯息传到终端机介面上。
VH6|(=8 n : 不允许讯息传到终端机介面上 。
<1BK5%? 如果没有设定,则讯息传递与否则由终端机界面目前状态而定。
o7XRa]O #UD 例子 :
DG?\6Zh 改变目前讯息设定,改成不允许讯息传到终端机介面上 :
vP?S0>gh mesg n
YO0x68 与 mesg 相关的指令有: talk,write,wall。
Ue:T3jp3% 名称:/etc/aliases
)`7+o9& 使用权限:系统管理者
eb@Lh! 使用方式: newaliases
z{L;)U B^ 说明:
zEfD{I sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
m0\}Cc vPNZFi-( /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。
=Gz>ZWF ,{*fOpn 参数:没有任何参数。 范例:
@I6 A9do # newaliases
L0 2~FT 7=A9E]: 下面命令会做相同的事,
{Y%=/ba W # sendmail -bi
F|`B2Gr Ki6.'#%7 相关命令:
NV4W2thYo mail, mailq, newaliases, sendmail
>%dAqYi $ 名称 : talk
ibs"Iv34 使用权限 : 所有使用者
no6]{qn=6 F)kLlsp 使用方式 :
<9tG_ vXQmEIm talk person [ttyname]
<#
r.}T.l 说明 : 与其他使用者对谈
7h/Q;P5 0]W]#X4A 把计 :
+STzG/9# person : 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入
person@machine.name uN3J)@;_ ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
`1<3Hu_ ,ri--< 例子.1 :
-L?%
o_ 8z8SwWS? 与现在机器上的使用者Rollaend对谈,此时 Rollaend 只有一个连线 :
.OS?^\ talk Rollaend
)}\@BtcjA] /~cL L 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk jzlee`即可开始对谈,结束请按 ctrl+c
VhI IW"1 59BHGvaF 例子.2 :与linuxfab.cx上的使用者Rollaend对谈,使用pts/2来对谈 :
6FIoWG"x talk
Rollaend@linuxfab.cx pts/2
Rbc2g"] FXEfD" DK_v{R 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk
jzlee@jzlee.home`即可开始对谈,结束请按 ctrl+c
u!Nfoq&'u V?dK *8s 注意 : 若萤幕的字会出现不正常的字元,试着按 ctrl+l 更新萤幕画面。
g]
C3lf- &\`a5[ 名称 : wall
y"L`bl A9} 使用权限 : 所有使用者
O[p^lr(B7 0+y~RTAVB 使用方式 :
D)7$M]d% wall [ message ]
0QH3,Ps1C 使用说明:
(DP9& b wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D)?
xYVjUb(,X D4 ]B> 例子 :
4U;XqUY
/ [pFu
]^X 传讯息"hi" 给每一个使用者 :
xp8f wall hi
seU^IC< 名称 : write
$SGA60q 使用权限 : 所有使用者
o/9LK 53*, f 使用方式 :
z "$d5XR !Fg4Au write user [ttyname]
f3>6:( 说明 : 传讯息给其他使用者
v:Z4z6M- g74z]Uj.B 把计 :
}%FuL5Tx |-Esc|J( user : 预备传讯息的使用者帐号
LI;Efy L ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
!"x7re #iU8hUbo 例子.1 :
4'hcHdL9 ig_<kj;Vd 传讯息给 Rollaend,此时 Rollaend 只有一个连线 :
OPt;G,$ta write Rollaend
<eFAI}=s J[Yg]6 接下来就是将讯息打上去,结束请按 ctrl+c
^C)T M@+
-YjgS/g 例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 :
[gns8F#H\ write Rollaend pts/2
Y0fO.k#C^ $gl<{{ 接下来就是将讯息打上去,结束请按 ctrl+c
$#ju?B~ QUZQY`'@ 注意 : 若对方设定 mesg n,则此时讯席将无法传给对方
N|O]z ZIL|
.<8I 名称:kill
n$|c{2]= 使用权限:所有使用者
z vb}p 9}jq`xSL 使用方式:
!+DJhw&c, SM#S/|.] kill [ -s signal | -p ] [ -a ] pid ...
]\ 2RVDC kill -l [ signal ]
(p.3'j( 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
;!JX-J q 把计?
fw|+7 O Q$h:[_v -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用 kill -l
"3i80R\w`F -p : 印出 pid , 并不送出信号
_X2EBpZp -l (signal) : 列出所有可用的信号名称
fxoi<!|iGY 范例:
Ag4Ga?&8ec YyJ{ 将 pid 为 323 的行程砍掉 (kill) :
Z'*Z@u3 kill -9 323
87pXv6'FQ !MJe+. 将 pid 为 456 的行程重跑 (restart) :
,Lun-aMd kill -HUP 456
;y~{+{{Ow 7}cDGdr 名称:nice
D@\;@(
| 使用权限:所有使用者
H9san5{ c6Aut`dK 使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command ][arg...]]
"ryk\}*< @6
;oN 说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序, 内定的 adjustment 为 10, 范围为 -20 (最高优先序) 到 19 (最低优先序)
r2GK_$vd \aVY>1` z'oiyXEE3 把计?
b~r{J5x@ W\qLZuQ -n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
ig2+XR#% --help 显示求助讯息
ImV]}M~_ --version 显示版本资讯
'LbeL1ca 范例:
8hK P 将 ls 的优先序加 1 并执行 :
6snOMa GRu nice -n 1 ls
8 ih;#I=q pPyvR;NJ 将 ls 的优先序加 10 并执行 :
bH\C5zt6( nice ls将 ls 的优先序加 10 并执行
mYh5#E41J w &|R5Q 注意 : 优先序 (priority) 为作业系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。
(\T0n[ "7yNKO;W 名称:ps
![@T iM 使用权限:所有使用者
45+%K@@x 使用方式:ps [options] [--help]
2\nN4WL
5. 说明:显示瞬间行程 (process) 的动态
)jlP
cO- 参数:
x9)aBB ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
O b8B -A 列出所有的行程
sCF40AoY& -w 显示加宽可以显示较多的资讯
%h" qMs S -au 显示较详细的资讯
{+"g':>< -aux 显示所有包含其他使用者的行程
Ki/'Ic1 2sqm7th au(x) 输出格式 :
bbNU\r5% ] dHB} USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
&v$,pg%-: USER: 行程拥有者
Lvi[*une| PID: pid
^IVe[P' %CPU: 占用的 CPU 使用率
&@%
b?~ %MEM: 占用的记忆体使用率
ZMoJ#p( VSZ: 占用的虚拟记忆体大小
^KkRF": RSS: 占用的记忆体大小
@q&|MMLt TTY: 终端的次要装置号码 (minor device number of tty)
?L@@;tt STAT: 该行程的状态:
WDEe$k4. D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
!.3R~0b R: 正在执行中
79SqYe=&uy S: 静止状态
@n7t?9Bx T: 暂停执行
L\ }Pzxn Z: 不存在但暂时无法消除
]am~aJ|L
W: 没有足够的记忆体分页可分配
zb5N,!%r <: 高优先序的行程
Xb]=:x( N: 低优先序的行程
I( ]BMMj L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
T~%H%O(F START: 行程开始时间
sn-)(XU! TIME: 执行的时间
~^I\crx,U% COMMAND:所执行的指令
jow7t\wk 范例:
OGJ=VQA ps
Y5ogi) PID TTY TIME CMD
iW|s|1mh3 2791 ttyp0 00:00:00 tcsh
ge0's+E+1 3092 ttyp0 00:00:00 ps
E
&7@#'l % ps -A
c6Lif)4 PID TTY TIME CMD
*O@sh 1 ? 00:00:03 init
4E=0qbt8 2 ? 00:00:00 kflushd
\Z)#lF|^ 3 ? 00:00:00 kpiod
a`H\-G 4 ? 00:00:00 kswapd
FUaI2 5 ? 00:00:00 mdrecoveryd
8F zHNG .......
~->Hlxze'K % ps -aux
|JUe>E* USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
tu\mFHvlg root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
Ag0]U root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
~ww?Emrw root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
lDW!Fg root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
[kbC'Eh* ........
-IBO5;2_ 名称:pstree
gbm0H-A:* 使用权限:所有使用者
}B y)y;~ 使用方式:
3{N\A5~ pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
[E>R.Oe pstree -V
fO].e"} 说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root) ,如果有指定使用者 id , 则树状图会只显示该使用者所拥有的行程
]7a;jNQu 参数:
Fr-[UZ~V -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
:GQUM 6 -c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
M
h`CP 范例:
k$C"xg2 pstree
- $U@By<SJ u]HS(B,ht init-+-amd
mZwi7s&u |-apmd
tbq|," |-atd
Ko#4z%Yq |-httpd---10*[httpd]
Lf
>YdD %pstree -p
<