linux常用命令
N~d ?WD\^ (Hz^)5(~ 称:/etc/aliases
_jI,)sr4ic 使用权限:系统管理者
XQs1eP'{ 使用方式: 请用 newaliases 更新资料库
zRl3KjET 说明:
:W:K:lk sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
j4qR(p(vC }=UHbU.n~! /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。范例:
E$:*NSXj # newaliases
W*4-.*U8a ogtEAv~e7N 下面命令会做相同的事,
rEnQYz # sendmail -bi
U;V7 u/{ lL3khJ:% 相关命令:
uK#4(eY=W mail, mailq, newaliases, sendmail
gA5/,wDO ] =xE ” mail [返回]
7he,?T)vD 名称:mail
V!ZC( $L>@Ed< 使用权限:所有使用者
}Qc@m9;bH BNl5!X^{ 使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
c74.< @w 6C^
D#.S 说明:
YTX,cj#D^& mail 不仅只是一个指令, mail 还是一个电子邮件程式,不过利用 mail 来读信的人应该很少吧!对于系统管理者来说 mail 就很有用,因为管理者可以用 mail 写成 script ,定期寄一些备忘录提醒系统的使用者。
kg~mgMR+w L9\1+rq 参数:
FLCexlv^ i 忽略 tty 的中断讯号。 (interrupt)
,j}6?
Q I 强迫设成互动模式。 (Interactive)
5C*Pd
Wpl v 列印出讯息,例如送信的地点、状态等等。 (verbose)
*vN-Vb^2i) n 不读入 mail.rc 设定档。
a
%'the s 邮件标题。
_AYK435>N c cc 邮件地址。
TJpD{p} b bcc 邮件地址。
Xy&A~F %~JJ. & 范例:
2c,9e` vNY{j7l/W 将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
ooL!TSGD mail
user1@email.address
bv9]\qC]T< mail
user1@email.address user2
p2[n$61 _476pZ_ 将 mail.txt 的内容寄给 user2 同时 cc 给 user1 。如果将这一行指令设成 cronjob 就可以定时将备忘录寄给系统使用者。
N/'b$m5=
S >~sI8czR* mail -s 标题 -c user1 user2 < mail.txt
-M~:lK]n %lx!.G 指令:mesg
@* jz
o 使用权限 : 所有使用者
e&F8m%t vnt%XU,,Y 使用方式 : mesg [y|n]
5 +YH.4R };bEU wGWf 说明 : 决定是否允许其他人传讯息到自己的终端机介面
nQtWvT uR4z&y 把计 ?
PbgP\JeX "f2$w y : 允许讯息传到终端机介面上。
}J`w4P n : 不允许讯息传到终端机介面上 。
Nk
8 B_{ 如果没有设定,则讯息传递与否则由终端机界面目前状态而定。
O67W&nz mPK:R^RjG& 例子 :
o>i4CCU+ 改变目前讯息设定,改成不允许讯息传到终端机介面上 :
B6As,)RjD: mesg n
]G=L=D^cK 与 mesg 相关的指令有: talk,write,wall。
W$;,CU.v 名称:/etc/aliases
J+DDh=% 使用权限:系统管理者
V`d,qn)i 使用方式: newaliases
Bz-c$me1 说明:
S_4?K)n # sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
=^f<v_L FZ<gpIv!NS /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。
UiP"Ixg6 o.g V4% 参数:没有任何参数。 范例:
f#"J]p # newaliases
{
Fb*&|-n n)e
6>R; 下面命令会做相同的事,
vHc%z$-d # sendmail -bi
!r8`Yr n YQ)kRhFA 相关命令:
c(m<h+2VL mail, mailq, newaliases, sendmail
1 ~*7f> 名称 : talk
]BZA:dd.G 使用权限 : 所有使用者
q[ZT Hd.- =tn)}Y.<e 使用方式 :
6qpJUkd 9C9oUtS talk person [ttyname]
,vawzq[oSy 说明 : 与其他使用者对谈
1..+F0U a=1@*ID 把计 :
8.=BaNU person : 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入
person@machine.name =.U[$~3q% ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
q=m'^
,gPS <C iSK! 例子.1 :
]t,BMu=% O`\;e>!t 与现在机器上的使用者Rollaend对谈,此时 Rollaend 只有一个连线 :
@6sqMw} talk Rollaend
|\t-g"~sN (vnAbR#e 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk jzlee`即可开始对谈,结束请按 ctrl+c
{.|CdqwY XS{Qnx_# 例子.2 :与linuxfab.cx上的使用者Rollaend对谈,使用pts/2来对谈 :
Beo@K|3GN talk
Rollaend@linuxfab.cx pts/2
Tc:)-
z[o
@4#c&h3 ({)+3]x 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk
jzlee@jzlee.home`即可开始对谈,结束请按 ctrl+c
e4_rC'= c )g\/ 注意 : 若萤幕的字会出现不正常的字元,试着按 ctrl+l 更新萤幕画面。
RnE4<Cy w<3#1/g!2B 名称 : wall
>J?fl8 使用权限 : 所有使用者
o4,6.1} SmH=e@y~Lx 使用方式 :
/NFj(+&g+ wall [ message ]
Fb>?1i`RN 使用说明:
FUb\e-Q= wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D)?
Y%^w:|f^ 5yo%$i8I 例子 :
k FD;i )[IC?U:5I 传讯息"hi" 给每一个使用者 :
<w9JRpFY wall hi
]
vsz,
0 名称 : write
&64h ;P< 使用权限 : 所有使用者
(OL4Ex' ] NB#OCH1/9 使用方式 :
iByf{ I>+ %E>Aw>]v write user [ttyname]
wo/\]5 说明 : 传讯息给其他使用者
KC6.Fr{ [kB7@o 把计 :
UHkMn N!=v4f user : 预备传讯息的使用者帐号
Lv7(st%` ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
3M7/?TMw{6 Tv=mgH=b 例子.1 :
uyWunpT W,n!3:7s 传讯息给 Rollaend,此时 Rollaend 只有一个连线 :
lNh70G8^p write Rollaend
v$v-2y'% @n /nH?L 接下来就是将讯息打上去,结束请按 ctrl+c
LL |r
A: ]:- mbgW 例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 :
&h)yro write Rollaend pts/2
O
_ gGf ZvX*t)VjTz 接下来就是将讯息打上去,结束请按 ctrl+c
2MIi=c:oqK i9|Sa6vuI 注意 : 若对方设定 mesg n,则此时讯席将无法传给对方
3(N$nsi .!3|&V'< 名称:kill
P3=G1=47U 使用权限:所有使用者
RSRS wkC 3jU&zw9 使用方式:
-d/
=5yxL d&Zpkbh" kill [ -s signal | -p ] [ -a ] pid ...
yx[/|nZDC4 kill -l [ signal ]
7xlkZF 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
X`K<>0.N 把计?
lrE5^;/s1 8/#A!Ww] -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用 kill -l
Pmx-8w -p : 印出 pid , 并不送出信号
I$G['`XX/ -l (signal) : 列出所有可用的信号名称
gz9j&W.
范例:
JPHL#sKyz z&\a:fJ& 将 pid 为 323 的行程砍掉 (kill) :
iWkWR"ysy kill -9 323
|YWD8 + adcE'fA<_ 将 pid 为 456 的行程重跑 (restart) :
EME|k{W kill -HUP 456
;JT-kw6l5K `$9x 1dx 名称:nice
a58H9w"u) 使用权限:所有使用者
fTec 9W5lSX#^; 使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command ][arg...]]
;H*T^0 eo?bL$A[s 说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序, 内定的 adjustment 为 10, 范围为 -20 (最高优先序) 到 19 (最低优先序)
;igIZ$& c)85=T6*aA ^{`exCwMx 把计?
q.bSIV| ="H`V V_ -n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
:3Ox~o --help 显示求助讯息
4pF*"B --version 显示版本资讯
!;A\.~-!G 范例:
.p[ux vp
将 ls 的优先序加 1 并执行 :
"&u@d~`-n nice -n 1 ls
H*R"ntI?w Bsvr?|L\ 将 ls 的优先序加 10 并执行 :
IEi^kJflU nice ls将 ls 的优先序加 10 并执行
uGG t\.$]s C}Cs8eUn 注意 : 优先序 (priority) 为作业系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。
=UQ3HQD Btn?N 名称:ps
7n<{tM 使用权限:所有使用者
!Ai@$tl[S 使用方式:ps [options] [--help]
j,eo2HaL 说明:显示瞬间行程 (process) 的动态
Zu[su>\ 参数:
_V6ukd"B~ ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
b8UO,fY q -A 列出所有的行程
wn%A4-%{ -w 显示加宽可以显示较多的资讯
p6V0`5@t -au 显示较详细的资讯
$6 f3F?y7 -aux 显示所有包含其他使用者的行程
^ZcGY+/~ {!L~@r au(x) 输出格式 :
/([kh~a Lqa4Vi USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
#;yZ USER: 行程拥有者
=;
Ff4aF PID: pid
N4!O.POP %CPU: 占用的 CPU 使用率
x 9fip- %MEM: 占用的记忆体使用率
P=
NDS2 VSZ: 占用的虚拟记忆体大小
-Q*gW2KmV RSS: 占用的记忆体大小
5t]H?b8 TTY: 终端的次要装置号码 (minor device number of tty)
a1lh-2xX STAT: 该行程的状态:
q0vQa D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
kDxFloK R: 正在执行中
u6JM]kR S: 静止状态
rEWb" T: 暂停执行
Svmy(w~m Z: 不存在但暂时无法消除
Y$_B1_ W: 没有足够的记忆体分页可分配
wc4=VC"y <: 高优先序的行程
0GeTSFj N: 低优先序的行程
usF.bkTp L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
8l`*]1.W< START: 行程开始时间
f+!(k)GWd TIME: 执行的时间
qX{+oy5 COMMAND:所执行的指令
F JyT+ 范例:
m{HS0l' ps
UCj ld PID TTY TIME CMD
n:!_ 2791 ttyp0 00:00:00 tcsh
Iefn$ 3092 ttyp0 00:00:00 ps
e\L8oOk#r % ps -A
YOO+R{4( PID TTY TIME CMD
?e 4/p 1 ? 00:00:03 init
F )eelPZ+, 2 ? 00:00:00 kflushd
\4fQMG 3 ? 00:00:00 kpiod
c^W)07-X5y 4 ? 00:00:00 kswapd
a:w#s}bL 5 ? 00:00:00 mdrecoveryd
=aW9L)8D .......
%.|@]!C % ps -aux
Km$\:Xo USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
9%9#_?RW root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
bk[!8-b/a root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
NzvXN1_% root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
k<?b(&`J root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
dy[X3jQB ........
(sZ"iGn% 名称:pstree
6'f;-2 使用权限:所有使用者
ckCE1e>s 使用方式:
D0f] $ pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
J|7 3.&B pstree -V
`ERz\`d~Y; 说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root) ,如果有指定使用者 id , 则树状图会只显示该使用者所拥有的行程
&};zvo~P. 参数:
+NUG -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
abVmkdP_s -c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
eHUOU>&P] 范例:
kAUymds;O pstree
f!X[c?Xy" !4+<<(B=E init-+-amd
1'Dai ` |-apmd
p!%pP}I |-atd
G3T]`Atf |-httpd---10*[httpd]
|[8Th4*n %pstree -p
9\(|
D# init(1)-+-amd(447)
Q3?F(ER@ |-apmd(105)
z
F;K |-atd(339)
Q"#J6@ %pstree -c
fk-RV>yr init-+-amd
4*;MJ[| |-apmd
A04U /; |-atd
q)
KKvO |-httpd-+-httpd
!&E-}}< | |-httpd
vl)l' | |-httpd
jPkn[W#
6 | |-httpd
8z\xrY ....
e\/w' 名称:renice
J'r^/ 使用权限:所有使用者
+=)+'q]S jebx40TA3 使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
qH_Dc=~la 1$ {SRU7l 说明:重新指定一个或多个行程(Process)的优先序(一个或多个将根据所下的参数而定)
u*9V&>o rytyw77t( 把计?
1o>xEWt:0K veECfR; -p pid 重新指定行程的 id 为 pid 的行程的优先序
47/iF97 -g pgrp 重新指定行程群组(process group)的 id 为 pgrp 的行程 (一个或多个) 的优先序
tZo} ;|~' -u user 重新指定行程拥有者为 user 的行程的优先序
u ^RxD^=L 范例:
LDa1X2N 将行程 id 为 987 及 32 的行程与行程拥有者为 daemon 及 root 的优先序号码加 1 :
GC'O[q+ renice +1 987 -u daemon root -p 32
j'K/22 TA~{1_l 注意 : 每一个行程(Process)都有一个唯一的 (unique) id?
`Q,H|hp;k; X}0cCdW 名称:top
a8Wwq?@ 使用权限:所有使用者
aw> #P }Y4qS 使用方式:top [-] [d delay] [q] [c] [S] [s]
[n] 8q7b_Pq1U
3G4-^hY<
说明:即时显示 process 的动态 c:.eGH_f
?Mfw]z"\C)
把计? ,R|BG
93hxSRw
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s 0{SL&<&