linux常用命令
F;b|A`M qnA:[H;F 称:/etc/aliases
B"qG-ci 使用权限:系统管理者
{'b8;x8h 使用方式: 请用 newaliases 更新资料库
O Z#? 说明:
`3+U6>U [ sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
^M80 F 7 t%TZu>(1O /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。范例:
^#=L?e # newaliases
H!Od.$ZIX 8odVdivh 下面命令会做相同的事,
HhpP}9P; # sendmail -bi
@i`gR% w+MdQ@'5 相关命令:
}`MO}Pz mail, mailq, newaliases, sendmail
o?b%L ;T_9;RU<'b ” mail [返回]
AH7k|6ku<* 名称:mail
fg1y@Dj/& p/:5bvA 使用权限:所有使用者
S1+#qs{5a .Gv~e!a8 使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
Ym6ec|9; `j(+Y 说明:
O[`Ob6Q{F mail 不仅只是一个指令, mail 还是一个电子邮件程式,不过利用 mail 来读信的人应该很少吧!对于系统管理者来说 mail 就很有用,因为管理者可以用 mail 写成 script ,定期寄一些备忘录提醒系统的使用者。
va<+)b\ Q0--.Q=:Y 参数:
k N^)6 i 忽略 tty 的中断讯号。 (interrupt)
x)?\g{JH I 强迫设成互动模式。 (Interactive)
|`okIqp v 列印出讯息,例如送信的地点、状态等等。 (verbose)
5{5ABV n 不读入 mail.rc 设定档。
]S:@=9JB' s 邮件标题。
((5zwD c cc 邮件地址。
Ya_6Zd4O b bcc 邮件地址。
RasoOj$ KF'M4P 范例:
x3P@AC$\ N\fT6#5B 将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
_qg6(
X mail
user1@email.address
C:K\-P9 mail
user1@email.address user2
N:<O Y]lqtre*Y 将 mail.txt 的内容寄给 user2 同时 cc 给 user1 。如果将这一行指令设成 cronjob 就可以定时将备忘录寄给系统使用者。
D=\|teA& 6a@~;!GlI mail -s 标题 -c user1 user2 < mail.txt
BNy"YK$ 4W?<hv+k7* 指令:mesg
'-vyQ^ 使用权限 : 所有使用者
3dbf! VZ,T`8" 使用方式 : mesg [y|n]
&8pXkD#A 9,W-KM 说明 : 决定是否允许其他人传讯息到自己的终端机介面
.$k"+E ZFON]$Zk 把计 ?
!lF^~x :qbG%_PJ y : 允许讯息传到终端机介面上。
VMWg:=~$ n : 不允许讯息传到终端机介面上 。
}"-r;i 如果没有设定,则讯息传递与否则由终端机界面目前状态而定。
| rvr Sab) c|R/,/ 例子 :
jQb D2x6( 改变目前讯息设定,改成不允许讯息传到终端机介面上 :
9PJDT] mesg n
Z C93C7lJ 与 mesg 相关的指令有: talk,write,wall。
Kzb@JBIF 名称:/etc/aliases
9X%Klm 5w 使用权限:系统管理者
@5wg' mM 使用方式: newaliases
W~tOH=9> 说明:
OeYLL4H sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
5\S7Va;W sV<4^n7 /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。
/RM-+D:Y W,~1KUTc 参数:没有任何参数。 范例:
78)^vvn5~ # newaliases
k~#|8eLv Q8x{V_Pot 下面命令会做相同的事,
a%!XLyq # sendmail -bi
^{s0d+@{ ~Z2eQx
jtM 相关命令:
PR?clg=z mail, mailq, newaliases, sendmail
:#}`uR,D/ 名称 : talk
f
99PwE(= 使用权限 : 所有使用者
<<6w9wNon cnthtv+(~ 使用方式 :
?nW#qy!R As|/
O7% talk person [ttyname]
dmz3O(]$ 说明 : 与其他使用者对谈
YZl%JX %?hLo8 把计 :
!P$xh person : 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入
person@machine.name \2pFFVT
ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
A232"p_ E5 oD|'=WA 例子.1 :
jyhzLu / yi :Q0 与现在机器上的使用者Rollaend对谈,此时 Rollaend 只有一个连线 :
a1SOC=.M; talk Rollaend
BUinzW z{a mj=|oIMwT 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk jzlee`即可开始对谈,结束请按 ctrl+c
BA-nxR 14!J\`rI 例子.2 :与linuxfab.cx上的使用者Rollaend对谈,使用pts/2来对谈 :
=on!&M talk
Rollaend@linuxfab.cx pts/2
GiXd e}bm fZ}Y(TG/ %>2t=)T 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk
jzlee@jzlee.home`即可开始对谈,结束请按 ctrl+c
?MM3LA! < V^I/nuy 注意 : 若萤幕的字会出现不正常的字元,试着按 ctrl+l 更新萤幕画面。
]?(F'& C-u/{CP 名称 : wall
HY;?z`= 使用权限 : 所有使用者
k_<{j0z. X3{1DY3@u 使用方式 :
i8_x1=A wall [ message ]
U!:!]DX( 使用说明:
oxQID wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D)?
%:KV2GP vQmackY 例子 :
!`[I>:Ex DXW?;|8)O 传讯息"hi" 给每一个使用者 :
8$ZSF92C wall hi
1lyOp 名称 : write
I<./(X[H:# 使用权限 : 所有使用者
^r*%BUU9]% Gr$*t,ZW 使用方式 :
nFnF_ `l2< write user [ttyname]
otf%kG w 说明 : 传讯息给其他使用者
=veOVv[Q&/ noNF;zT 把计 :
AH'4H."o/9 A}bHfn| user : 预备传讯息的使用者帐号
eD{ @0& ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
8='21@wrN <nTmZ-; 例子.1 :
ef}E.Bl <hZ}34?]i2 传讯息给 Rollaend,此时 Rollaend 只有一个连线 :
hYc{9$ write Rollaend
'0')6zW5s }u_EXP8M 接下来就是将讯息打上去,结束请按 ctrl+c
Pgw%SMEp RyOT[J 例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 :
b2X'AHK S write Rollaend pts/2
P^3m:bE] \1mM5r~ 接下来就是将讯息打上去,结束请按 ctrl+c
~Oq,[,W &U$8zn~[k 注意 : 若对方设定 mesg n,则此时讯席将无法传给对方
0IgnpeA] r@[VY g~ 名称:kill
xSDE6] 使用权限:所有使用者
x*&&?nV Iz #VdI{IbW 使用方式:
M=[q+A S2ppKlVv kill [ -s signal | -p ] [ -a ] pid ...
(Ef2
w[' kill -l [ signal ]
R g0
XW6 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
i\Pr3
7
" 把计?
^UvK~5tBV 9MB\z"b?A -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用 kill -l
6+$d -p : 印出 pid , 并不送出信号
KtUGI.X -l (signal) : 列出所有可用的信号名称
vN,}aV2nq 范例:
OKZam ik~ 5<O61Lgx 将 pid 为 323 的行程砍掉 (kill) :
nK jeH@ kill -9 323
\gp,Txueb ?Tc)f_a 将 pid 为 456 的行程重跑 (restart) :
o%+A<Ri kill -HUP 456
A_jB|<bjTP
sO6g IPU^ 名称:nice
-[=AlqL 使用权限:所有使用者
AZy~Q9Kc -':"6\W 使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command ][arg...]]
noaN@K[GO Xh0wWU* 说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序, 内定的 adjustment 为 10, 范围为 -20 (最高优先序) 到 19 (最低优先序)
c[h'`KXJf- g/l0}% &=z1$ih>2\ 把计?
O~#uQm >2lAy:B5 -n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
~w1{zxs --help 显示求助讯息
fsrg2:kQ --version 显示版本资讯
+(<n |~ 范例:
<RoX| zJw 将 ls 的优先序加 1 并执行 :
20/P M9 nice -n 1 ls
i|c`M/) h: DO1 JPeIi 将 ls 的优先序加 10 并执行 :
!#c[~erNZ nice ls将 ls 的优先序加 10 并执行
lbKv Tw`c6^%^y 注意 : 优先序 (priority) 为作业系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。
iM/*&O} ;WvYzd9 名称:ps
ti{H(;;@ 使用权限:所有使用者
I|F~HUzA" 使用方式:ps [options] [--help]
]{AOh2Z.hv 说明:显示瞬间行程 (process) 的动态
''(fH$pY 参数:
D%jD8 p ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
eg$5z
Z -A 列出所有的行程
kMl @v` -w 显示加宽可以显示较多的资讯
6+Wr6'kuH -au 显示较详细的资讯
.*EOVo9S -aux 显示所有包含其他使用者的行程
R0Ax$Cv{ ,5eH2W au(x) 输出格式 :
;&+[W(7Sy x2j/8]'o USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
28T\@zi USER: 行程拥有者
NVO9XK PID: pid
Jt-XmGULB %CPU: 占用的 CPU 使用率
oh7#cFZZ0 %MEM: 占用的记忆体使用率
nr<WO~Xw~ VSZ: 占用的虚拟记忆体大小
hl6,#2$ RSS: 占用的记忆体大小
Y7*(_P3/ TTY: 终端的次要装置号码 (minor device number of tty)
6(N.T+;] STAT: 该行程的状态:
Gd30Be2gd D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
#1QX!dK+ R: 正在执行中
sR"zRn S: 静止状态
`ICcaRIN8I T: 暂停执行
gx!*O<|e4 Z: 不存在但暂时无法消除
f
MY; W: 没有足够的记忆体分页可分配
).0V%}> <: 高优先序的行程
* ?
K4!q' N: 低优先序的行程
/S7+B] L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
1<LC8?wt START: 行程开始时间
%_B:EMPd TIME: 执行的时间
, @%C8Z COMMAND:所执行的指令
-H1"OJ2aF
范例:
&YT_#M ps
?ID* /u|X PID TTY TIME CMD
v!<PDw2' 2791 ttyp0 00:00:00 tcsh
T!u'V'Ei2 3092 ttyp0 00:00:00 ps
zW"~YaO%C % ps -A
@9OeC
O PID TTY TIME CMD
G 2% 1 ? 00:00:03 init
[;(]Jy 2 ? 00:00:00 kflushd
tA`mD >[ 3 ? 00:00:00 kpiod
*.kj]BoO 4 ? 00:00:00 kswapd
>DDQ'W ! 5 ? 00:00:00 mdrecoveryd
O"
%Hprx .......
E$]a?uA: % ps -aux
m>]>$=% USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
eaV3)uP root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
cT/3yf root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
gB(9vhj$ root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
Ey r5jXt%; root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
-Bo86t)F ........
*'Z-OY<V 名称:pstree
wrH7 pd 使用权限:所有使用者
lZ}izl 使用方式:
LQh^;
]^( pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
wqJ*% pstree -V
reJ"r<2
说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root) ,如果有指定使用者 id , 则树状图会只显示该使用者所拥有的行程
~?FK ; ( 参数:
)-0[ra] -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
eQ$N:] -c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
' 2>l 范例:
84iJ[Fq{ pstree
Z:I*y7V- }Q/G
&F init-+-amd
B }6Kd |-apmd
~_ *H)| |-atd
9aT L22U? |-httpd---10*[httpd]
%lXbCE:[ %pstree -p
F|ETug
n init(1)-+-amd(447)
Jzk!K@ |-apmd(105)
Y{,2X~ 7 |-atd(339)
?V#Gx>\ %pstree -c
'eqiYY| init-+-amd
i4 hJE |-apmd
n4^*h4J7 |-atd
/wr6\53J |-httpd-+-httpd
QZ?d2PC=>? | |-httpd
`koOp | |-httpd
|}Q( F+cL | |-httpd
Af`z/:0< ....
W&<g} N+ 名称:renice
$v FrU v 使用权限:所有使用者
{5SfE$r hO#HvW 使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
Q`N18I3 F#6cF=};@ 说明:重新指定一个或多个行程(Process)的优先序(一个或多个将根据所下的参数而定)
[u[ U_g* (G#}* 把计?
/4yOs@# 0[.3Es:_ -p pid 重新指定行程的 id 为 pid 的行程的优先序
8GY.){d!l -g pgrp 重新指定行程群组(process group)的 id 为 pgrp 的行程 (一个或多个) 的优先序
e{5,'(1] -u user 重新指定行程拥有者为 user 的行程的优先序
xFOBF") 范例:
A
6 :Q< 将行程 id 为 987 及 32 的行程与行程拥有者为 daemon 及 root 的优先序号码加 1 :
QO@6VY@ renice +1 987 -u daemon root -p 32
for{ j5zFDh1( 注意 : 每一个行程(Process)都有一个唯一的 (unique) id?
Z)NrhJC +i+tp8T+7 名称:top
k,T_e6( 使用权限:所有使用者
|H:<:*=6c s,w YlVYf! 使用方式:top [-] [d delay] [q] [c] [S] [s]
[n] 9GThyY
0Su_#".-*
说明:即时显示 process 的动态 9X3yp:>V
\4aKLr
把计? Y:wF5pp;
!#. \QU|
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s h77IWo6%
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行 9[kX/#~W*
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来 .?f:Nb.O
s : 安全模式,将交谈式指令取消, 避免潜在的危机 Ee8--
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程 }S,-uggz
n : 更新的次数,完成后将会退出 top #'C/Gya
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内 Hr6wgYPi
IdF$Ml#[h
范例: Bq *[c=(2
显示更新十次后退出 ; ^PC\E}
top -n 10 xo(k?+P>.
l2(.>-#
使用者将不能利用交谈式指令来对行程下命令 : dN<5JQql
top -s wk@yTTnb
b{BaQ>.(`
将更新显示二次的结果输入到名称为 top.log 的档案里 : K}Na3}m
top -n 2 -b < top.log q@%h^9.
QhCY}Q?X
名称:skill _-/x;C
r
sLc&2F
使用权限:所有使用者 W<Z$YWr
FZpsL-yx^N
使用方式: skill [signal to send] [options] 选择程序的规则 d5:tSO
K@6`-|I
说明: dnwdFsf
O4E(R?wd
送个讯号给正在执行的程序,预设的讯息为 TERM (中断) , 较常使用的讯息为 HUP , INT , KILL , STOP , CONT ,和 0 l~['[Ub0)
~5ubh2{
讯息有三种写法:分别为 -9 , -SIGKILL , -KILL , 可以使用 -l 或 -L 已列出可使用的讯息。 ?gN9kd)
R4SxFp
一般参数: _jmkl
B
"7d.i(vw
-f 快速模式/尚未完成 S*g`d;8gV
UQ~4c,
-i 互动模式/ 每个动作将要被确认 SW#BZ3L
\6:>{0\
-v 详细输出/ 列出所选择程序的资讯 2 h<U
y@`~ 9$
-w 智能警告讯息/ 尚未完成 b_l3+'#ofM
ESIzGaM
-n 没有动作/ 显示程序代号 U{}!y3[wK
Af9+HI
O
参数:选择程序的规则可以是, 终端机代号,使用者名称,程序代号,命令名称。 "J!}3)n
yb?{LL-uy
-t 终端机代号 ( tty 或 pty ) ]\BUoQ7I/
a.DX%C/5
-u 使用者名称 69/?7r
(zC
-p 程序代号 ( pid ) /l6\^Xf{
H|`R4hAk
-c 命令名称 可使用的讯号: Yx),6C3
?q!FG(
以下列出已知的讯号名称,讯号代号,功能。 ~.6|dw\p!
7]s%rya
名称 (代号) 功能/ 描述 FsY(02
qg4fR' i
ALRM 14 离开 7 2,"Cj
+T2HE\
HUP 1 离开 4V$fGjJ3
sAYV)w3u"
INT 2 离开 g4wZvra6%)
HIGNRm
KILL 9 离开/ 强迫关闭 'gDe3@ci!
4LsHs
PIPE 13 离开 s}ADk-7
JKy#j g:#
POLL 离开 ue6d~8&
VNj@5s
PROF 离开 ]'k[u
?'sXgo.}
TERM 15 离开 ru{f]|
mM5|K@0|
USR1 离开 nJT4w|Yx
^i'y6J
USR2 离开 K%gP5>y*9>
rY,PSK/j
VTALRM 离开 7Ms90oE/c
2]2H++
STKFLT 离开/ 只适用于i386, m68k, arm 和 ppc 硬体 8a>SC$8"
%hINpZMr
UNUSED 离开/ 只适用于i386, m68k, arm 和 ppc 硬体 M4?8xuC
gvyT-XI
TSTP 停止 /产生与内容相关的行为 kXwi{P3D$
%LQ/q3?_
TTIN 停止 /产生与内容相关的行为 n+;vjVS%
P+Z\3re
TTOU 停止 /产生与内容相关的行为 "-
eZZEl(
w!`Umll2
STOP 停止 /强迫关闭 iYKU[UP?
//.>>-~1m
CONT 从新启动 /如果在停止状态则从新启动,否则忽略 #mLuU
ia4k :\
PWR 忽略 /在某些系统中会离开 TvQ^DZbe
!;dSC<
WINCH 忽略 FP@qh
\84v-VK
CHLD 忽略 ^u)rB<#BR
i2PZ'.sL
ABRT 6 核心 5/MED}9C(
t3b@P4c\
FPE 8 核心 [U.v:tR
Rri`dmH
ILL 4 核心 Hm9<