linux常用命令
#%@*p,xh `IpA.| Y 称:/etc/aliases
w@\vHH.;V 使用权限:系统管理者
s^OO^%b 使用方式: 请用 newaliases 更新资料库
yqXH:757~ 说明:
YNrp}KQ sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
%%ae^*[!n 'V+dBt3 /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。范例:
J~B
7PW # newaliases
bOp54WI-g >evS}O6 下面命令会做相同的事,
ZPN
roCK` # sendmail -bi
g$:Xuw1 { x0 t 相关命令:
ZI;<7tF_z mail, mailq, newaliases, sendmail
;8S/6FI 39F
Of ” mail [返回]
$eV$2p3H 名称:mail
Awv`) "RAR D'l5Zd 使用权限:所有使用者
w=h1pwY %n%xR%| 使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
SQ,?N
XZ S_T^G` [ 说明:
l JP1XzN_ mail 不仅只是一个指令, mail 还是一个电子邮件程式,不过利用 mail 来读信的人应该很少吧!对于系统管理者来说 mail 就很有用,因为管理者可以用 mail 写成 script ,定期寄一些备忘录提醒系统的使用者。
. #Z+Z H`8``#-|@S 参数:
$P7iRM] i 忽略 tty 的中断讯号。 (interrupt)
Mr--4D0Hk I 强迫设成互动模式。 (Interactive)
^ 5VK> v 列印出讯息,例如送信的地点、状态等等。 (verbose)
3($"q]Y n 不读入 mail.rc 设定档。
'Djm0 s 邮件标题。
{*ZY(6^ c cc 邮件地址。
n26Y]7N b bcc 邮件地址。
8By,#T". V]c;^ 范例:
GBFw+v/|4 *?+V65~dW 将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
bk<\ujH mail
user1@email.address
{u!)y?}I- mail
user1@email.address user2
&bqT/H18 Iq+>qX 将 mail.txt 的内容寄给 user2 同时 cc 给 user1 。如果将这一行指令设成 cronjob 就可以定时将备忘录寄给系统使用者。
6qe*@o O9'x-A% mail -s 标题 -c user1 user2 < mail.txt
o]{uc, ;U:
{/ 指令:mesg
@`-[;?> 使用权限 : 所有使用者
{ng"=3+n k+V6,V)my 使用方式 : mesg [y|n]
FVv8-- j`
E +qk 说明 : 决定是否允许其他人传讯息到自己的终端机介面
Pi%%z
H$ftGwS8 把计 ?
<]C$xp<2 '^%~JyU y : 允许讯息传到终端机介面上。
bW#@OrsS n : 不允许讯息传到终端机介面上 。
a</D_66 如果没有设定,则讯息传递与否则由终端机界面目前状态而定。
VN4yn| f/ C=uZ1xg*, 例子 :
krq/7| 改变目前讯息设定,改成不允许讯息传到终端机介面上 :
E^_wI> mesg n
Ae^X35 与 mesg 相关的指令有: talk,write,wall。
#X:
'aj98 名称:/etc/aliases
k^$+n_ 使用权限:系统管理者
nI*/Mhx 使用方式: newaliases
9/ SXs0 说明:
J" j.'. sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
RjJU4q Z') pf /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。
kE.x+2 BY\:dx)mK 参数:没有任何参数。 范例:
nqR?l4 DX # newaliases
lX:|iB TUL_TR 下面命令会做相同的事,
*KK+X07 # sendmail -bi
NT%W;)6m9 :H. 相关命令:
71#I5*8 mail, mailq, newaliases, sendmail
eZ a:o1y 名称 : talk
"Th$#3 使用权限 : 所有使用者
ogM%N GZ!|}$8 使用方式 :
R cY>k Xqp|VbDca talk person [ttyname]
Kzy/9 说明 : 与其他使用者对谈
wI M{pK C8@TZ[w 把计 :
(VyNvB person : 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入
person@machine.name "wH) mQnd ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
^Yr0@pE #LcrI 例子.1 :
?wMHS4 >,C4rC+:XN 与现在机器上的使用者Rollaend对谈,此时 Rollaend 只有一个连线 :
;S$Ll*f>D talk Rollaend
zHB_{(o7 >Sk[vI0Y 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk jzlee`即可开始对谈,结束请按 ctrl+c
mIZwAKo JL}\* 例子.2 :与linuxfab.cx上的使用者Rollaend对谈,使用pts/2来对谈 :
y-?>*fNo talk
Rollaend@linuxfab.cx pts/2
,Y_{L|:w @z6!a ~ <0Z>qr 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk
jzlee@jzlee.home`即可开始对谈,结束请按 ctrl+c
s}M= oe Rz%e>) 注意 : 若萤幕的字会出现不正常的字元,试着按 ctrl+l 更新萤幕画面。
n[xkSF^) BJjx|VA+ 名称 : wall
4YG/`P 使用权限 : 所有使用者
TDK@)mP jX=lAs~6 使用方式 :
V+MK'<#B wall [ message ]
e]+OO
g& 使用说明:
A Ayv wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D)?
4\X||5.c <~Qi67I 例子 :
";3*?/uM -Q
e~)7 传讯息"hi" 给每一个使用者 :
O0l^*nZ46t wall hi
W+>wu%[L 名称 : write
;Kxbg>U 使用权限 : 所有使用者
q?{}3 dPC Q ~|R Z7G 使用方式 :
ZwI
1* f y+mElG$F write user [ttyname]
d{+(Lpj^ 说明 : 传讯息给其他使用者
=6nD0i9+ H>7dND2; 把计 :
3*S[eqMJc Iq'O user : 预备传讯息的使用者帐号
X33v:9= ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
Z_z#QX>=D j\)H 例子.1 :
'8Wv.X0` \^532 FIw6 传讯息给 Rollaend,此时 Rollaend 只有一个连线 :
D!>
d0k,Y write Rollaend
QEJGnl676 kl7A^0Qrz 接下来就是将讯息打上去,结束请按 ctrl+c
J%v5d*$. ;_JH:}j 例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 :
s${_K* g6 write Rollaend pts/2
#!#z5DJu m@qqVRn#) 接下来就是将讯息打上去,结束请按 ctrl+c
/)#8)"`nT hb^!LtF#Y 注意 : 若对方设定 mesg n,则此时讯席将无法传给对方
q(]f]Vl|0 4,1oU|fz 名称:kill
a8uYs DS 使用权限:所有使用者
D[Iqn \2DE==M)P 使用方式:
&sOM>^SAD E&2tBrAq kill [ -s signal | -p ] [ -a ] pid ...
%`\]Y']R kill -l [ signal ]
ZlR!s!vv 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
w=J4zkWk 把计?
[8]m8=n C ?7X"~~ -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用 kill -l
jXIEp01 -p : 印出 pid , 并不送出信号
vA?_-. J -l (signal) : 列出所有可用的信号名称
9N
Le&o 范例:
U</+ .$b jxY-u+B 将 pid 为 323 的行程砍掉 (kill) :
P^IY:
-s kill -9 323
:,F=w0O MW@ DXbKVl 将 pid 为 456 的行程重跑 (restart) :
Dt'e<d Is kill -HUP 456
GZ[h`FJg/ )n[Mh!mn 名称:nice
N$a-i 使用权限:所有使用者
T:~W.3
2u H\8A+'f 使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command ][arg...]]
w8#>xV^~ WK)k -A^q 说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序, 内定的 adjustment 为 10, 范围为 -20 (最高优先序) 到 19 (最低优先序)
? /X6x1PN 4^}PnU7z iKH T 把计?
/2V',0 <).qe Z -n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
a}7KpKCD --help 显示求助讯息
x(N}^Hu --version 显示版本资讯
OL"5A18;M 范例:
g)6 k?Y 将 ls 的优先序加 1 并执行 :
]H'82a nice -n 1 ls
QD VA*6F cDyC&}:f 将 ls 的优先序加 10 并执行 :
YHAg4eb8 nice ls将 ls 的优先序加 10 并执行
J/2pS B6&Mtm1 注意 : 优先序 (priority) 为作业系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。
#+nv,?@ JwVv+9hh 名称:ps
1D]wW%us 使用权限:所有使用者
j` lK} 使用方式:ps [options] [--help]
#JM*QVzv 说明:显示瞬间行程 (process) 的动态
a a]v7d 参数:
8;rS"!qM ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
I]1fH -A 列出所有的行程
/Vc!N)
-w 显示加宽可以显示较多的资讯
/% 1lJD -au 显示较详细的资讯
F4Z0g*^x -aux 显示所有包含其他使用者的行程
Z^S!w;eu c?S402M} au(x) 输出格式 :
(^\i(cfu6Q %R>MSSjvr USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
RL9P:]
^ USER: 行程拥有者
Pp!W$C: PID: pid
[*v\X %+ %CPU: 占用的 CPU 使用率
)cXc"aj@s %MEM: 占用的记忆体使用率
K2Zy6lGOZ VSZ: 占用的虚拟记忆体大小
V"73^ RSS: 占用的记忆体大小
Jsl,r+'H TTY: 终端的次要装置号码 (minor device number of tty)
^bGi_YC STAT: 该行程的状态:
ln7.>.F D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
K.~U%v} R: 正在执行中
{]]I4a S: 静止状态
@hPbD?)M T: 暂停执行
_u;
UU$~
Z: 不存在但暂时无法消除
X)+N>8o?N W: 没有足够的记忆体分页可分配
0M p>X <: 高优先序的行程
~5b %~: N: 低优先序的行程
6G],t)<A'- L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
wwz<c5 START: 行程开始时间
^y,ip=<5\3 TIME: 执行的时间
sYzG_*) COMMAND:所执行的指令
iCHZ{<k 范例:
0+L5k!1D ps
l/`Z+]; PID TTY TIME CMD
J@$>d 2791 ttyp0 00:00:00 tcsh
t;*'p 3092 ttyp0 00:00:00 ps
Op|Be % ps -A
_WkK%RYV PID TTY TIME CMD
|[qI2-e l? 1 ? 00:00:03 init
1
4|S^UM$ 2 ? 00:00:00 kflushd
x&f?c=\F 3 ? 00:00:00 kpiod
Lt*H|9 4 ? 00:00:00 kswapd
o(a*Fk$ 5 ? 00:00:00 mdrecoveryd
> {:8c-\2} .......
H: U_k68 % ps -aux
MXhS\vF#m USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
UVUHLu|^ root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
3~
qgvAr root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
~r{Nc j root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
n"Ev25% root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
RpreW7B_Q* ........
]s u\[?l 名称:pstree
:gR`rc! 使用权限:所有使用者
6=zme6D 使用方式:
gU8'7H2 pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
J?u",a]|H" pstree -V
8qo{% 说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root) ,如果有指定使用者 id , 则树状图会只显示该使用者所拥有的行程
mI"`. 参数:
bvs0y7M=' -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
}8 fG+H. -c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
}G_ i+ 范例:
^o65sM pstree
5c`DkWne% j<4J_wE init-+-amd
d8/lEmv[ |-apmd
\snbU'lfP |-atd
9kWyO:a_( |-httpd---10*[httpd]
'l)@MXbGL %pstree -p
uXyNj2(d. init(1)-+-amd(447)
JaiYVx( |-apmd(105)
No!P? |-atd(339)
+7^{T:^ht %pstree -c
L*Xn!d% init-+-amd
C3G?dZKv2 |-apmd
XFG]%y=/6
|-atd
$O%lYQY] |-httpd-+-httpd
QEQ8gfN9> | |-httpd
P2 !~}{- | |-httpd
n"@3d.21 | |-httpd
R+]Fh4t ....
fR_)e: 名称:renice
"h2;65@ 使用权限:所有使用者
dK|MQ < r1}7Q7-z 使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
Hu1w/PLq L6r&