linux常用命令
apfr>L3 $p$p C/:% 称:/etc/aliases
>V]9<*c 使用权限:系统管理者
_jgtZ 使用方式: 请用 newaliases 更新资料库
dB0
UZirb 说明:
MHye!T6fO\ sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
Vry_X2 LGX+_" /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。范例:
K(d+t\ca # newaliases
x',6VTz^ d~{$,"!-f 下面命令会做相同的事,
v7`{6Pf_$ # sendmail -bi
B<,7!:.II lmL$0{Yr 相关命令:
qc\D=3#Yp mail, mailq, newaliases, sendmail
Qh-:P`CN ?#z<<FR ” mail [返回]
K4YD}[ 名称:mail
K{"hf:k g%!U7CM6h 使用权限:所有使用者
$&KkZ N3@[95 使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
& 0WQF -V[x
q 说明:
}<l:~-y| mail 不仅只是一个指令, mail 还是一个电子邮件程式,不过利用 mail 来读信的人应该很少吧!对于系统管理者来说 mail 就很有用,因为管理者可以用 mail 写成 script ,定期寄一些备忘录提醒系统的使用者。
)c'E9ZuZ>d vZ.<OD4 参数:
cY kb3( i 忽略 tty 的中断讯号。 (interrupt)
~a&VsC# I 强迫设成互动模式。 (Interactive)
a_?b< v 列印出讯息,例如送信的地点、状态等等。 (verbose)
N@}h n 不读入 mail.rc 设定档。
fmc\Li s 邮件标题。
JPng !tvR c cc 邮件地址。
@h!Z0}dX( b bcc 邮件地址。
;e/F( J N
fG9a~ 范例:
GdVF; U"+W)rUd 将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件伺服器的 user2 使用者。
U,;796h mail
user1@email.address
}f?[m&< mail
user1@email.address user2
nw%`CnzT f% )9!qeW 将 mail.txt 的内容寄给 user2 同时 cc 给 user1 。如果将这一行指令设成 cronjob 就可以定时将备忘录寄给系统使用者。
+{V`{' 0`-b57lF& mail -s 标题 -c user1 user2 < mail.txt
ci$J?a Y|Gp\
指令:mesg
jnTTj l 使用权限 : 所有使用者
LbRQjwc]W ::$W
.!Uv 使用方式 : mesg [y|n]
q`IY;"~ /WE\0bf 说明 : 决定是否允许其他人传讯息到自己的终端机介面
Z${eDl6i 1PUZB`"3 把计 ?
qxu3y+po] -`* 'p i y : 允许讯息传到终端机介面上。
"NGfT:HV n : 不允许讯息传到终端机介面上 。
:-JryiI 如果没有设定,则讯息传递与否则由终端机界面目前状态而定。
Y<irNp9 >Bf3X&uS 例子 :
yV\%K6d|3& 改变目前讯息设定,改成不允许讯息传到终端机介面上 :
/o 'lGvw mesg n
'xxM0Kn` 与 mesg 相关的指令有: talk,write,wall。
H${L F.8 名称:/etc/aliases
m:[I$b6AY 使用权限:系统管理者
s_VcC_A 使用方式: newaliases
p$'S\W| 说明:
2tpu v(H; sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫
redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作。
EGQgrwY5 ob;|%_ /etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的资料库。
>L2_k'uE+; K3[+L`pz 参数:没有任何参数。 范例:
Ue
>]uZ| # newaliases
n{sk 72Y6gcg 下面命令会做相同的事,
uMZ~[Sz # sendmail -bi
{> msE }L j_N<aX 相关命令:
|y eQz mail, mailq, newaliases, sendmail
Z6i~Dy3 名称 : talk
ckA\{v 使用权限 : 所有使用者
QDQ"Sc06 *0!p_Hco 使用方式 :
[=q/f2_1. 8$\j| mN talk person [ttyname]
lsOv#X-bE 说明 : 与其他使用者对谈
'!7>*< iiIns.V 把计 :
~. vridH person : 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入
person@machine.name kP&I}RY ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
&3Zb? ^WO3, 例子.1 :
m.Zy$SDj( .c+U=bV- 与现在机器上的使用者Rollaend对谈,此时 Rollaend 只有一个连线 :
NknS:r&2 talk Rollaend
lTMY|{9 CE`]X;#y 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk jzlee`即可开始对谈,结束请按 ctrl+c
qsep9z. 0@-4.IHl 例子.2 :与linuxfab.cx上的使用者Rollaend对谈,使用pts/2来对谈 :
fe/;U=te talk
Rollaend@linuxfab.cx pts/2
rAu%bF 1 #,4P1" : x&R'wX- 接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk
jzlee@jzlee.home`即可开始对谈,结束请按 ctrl+c
CsA (oX =eU=\td^ 注意 : 若萤幕的字会出现不正常的字元,试着按 ctrl+l 更新萤幕画面。
H}F
UgA; ,Zn6T"[$ 名称 : wall
t[`LG) 使用权限 : 所有使用者
cj>UxU][eS O>]i? 使用方式 :
.Q!d[vL wall [ message ]
wBXa;. 使用说明:
A
r]*?:4y[ wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D)?
9AVj/?kmU ,6;n[p"h|r 例子 :
&Uam4'B6- &>Ve4!i
q 传讯息"hi" 给每一个使用者 :
Xs052c|s wall hi
g D6S%O 名称 : write
2~$S @c 使用权限 : 所有使用者
e^O:I ih0a#PB8 使用方式 :
]H !ru $M)i]ekm write user [ttyname]
%Z_O\zRqy) 说明 : 传讯息给其他使用者
9Y.(xp &vw 'M~`IN` 把计 :
(& SU)Uvu e' l9 user : 预备传讯息的使用者帐号
%jjPs. ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
ev;&n@k_I OK80-/8HI 例子.1 :
=6dAF"b) ]%A> swCpn 传讯息给 Rollaend,此时 Rollaend 只有一个连线 :
%JE>Z] write Rollaend
t<` As6} (SRY(q 接下来就是将讯息打上去,结束请按 ctrl+c
_s5^\~ao (BLxK)0<" 例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 :
^_ch%3}Im write Rollaend pts/2
dB_0B. $.Tn\4z& 接下来就是将讯息打上去,结束请按 ctrl+c
L=#NUNiXr (Y)2[j 注意 : 若对方设定 mesg n,则此时讯席将无法传给对方
T<0 r, e El)wZ,A 名称:kill
F
`o9GLxM} 使用权限:所有使用者
wvq4 P i6KfH\{N 使用方式:
.3C::~: q|<B9Jk kill [ -s signal | -p ] [ -a ] pid ...
a|z-EKV kill -l [ signal ]
_dm0*T ? 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
v%qOW)]. 把计?
E_=F'sP? ~".@mubt1$ -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用 kill -l
"M5 -p : 印出 pid , 并不送出信号
S&}7XjY -l (signal) : 列出所有可用的信号名称
~Tt@v`} 范例:
d/9YtG%q R0INpF'; 将 pid 为 323 的行程砍掉 (kill) :
T]wI) kill -9 323
,7j8+p|}, j_2g*lQ7a 将 pid 为 456 的行程重跑 (restart) :
`*vO8v kill -HUP 456
jM$bWtq2 44*#qLN 名称:nice
] x)>q 使用权限:所有使用者
{C5:as xJ$uoy3+ 使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command ][arg...]]
,A{Bx`o? u*@R`,Y
说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序, 内定的 adjustment 为 10, 范围为 -20 (最高优先序) 到 19 (最低优先序)
our
^J8 Cw(e7K7& 8s6[-F5 把计?
B9NUafK= eV*QUjS~ -n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
>;4q --help 显示求助讯息
~k&b --version 显示版本资讯
}3: mn 范例:
5&s6(?,Eu 将 ls 的优先序加 1 并执行 :
DD=X{{;D\" nice -n 1 ls
`$f`55e 5Hu[* 将 ls 的优先序加 10 并执行 :
:o^ioX.J nice ls将 ls 的优先序加 10 并执行
29J|eBvxx :<P4=P P 注意 : 优先序 (priority) 为作业系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。
<}WSYK,zUY +1T>Ob;hk 名称:ps
t}R!i-D|HB 使用权限:所有使用者
_\d|`3RM 使用方式:ps [options] [--help]
^)9/Wz _x 说明:显示瞬间行程 (process) 的动态
[ojL9.6 参数:
aaU4Jl?L ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
VvW4!1Dl -A 列出所有的行程
6ZIPe~` -w 显示加宽可以显示较多的资讯
I+
|uyc -au 显示较详细的资讯
7Y@]o=DIc -aux 显示所有包含其他使用者的行程
y0p=E^QM W\Pd:t au(x) 输出格式 :
-E\G3/*51 7=N%$]DKZ USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
fh`Y2s|:7R USER: 行程拥有者
/UunWZ u% PID: pid
$Zyuhji^ %CPU: 占用的 CPU 使用率
6kp)'wz` %MEM: 占用的记忆体使用率
OF<:BaRs/ VSZ: 占用的虚拟记忆体大小
RCTqV.L RSS: 占用的记忆体大小
Jy:*GW6 TTY: 终端的次要装置号码 (minor device number of tty)
nq?+b >// STAT: 该行程的状态:
kI`HD D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
LIG@` R: 正在执行中
EC$F|T0f S: 静止状态
^
q ba<#e T: 暂停执行
Gs"lmX-{$j Z: 不存在但暂时无法消除
vfqXHc
unj W: 没有足够的记忆体分页可分配
UZt3Ua&J <: 高优先序的行程
@XG1d)sE N: 低优先序的行程
<9>L^GgXA L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
`Zuo`GP*1 START: 行程开始时间
1^o})9 TIME: 执行的时间
9HR1m3 COMMAND:所执行的指令
e6'0g=Y# 范例:
EUt2S_2P ps
G$YF0Nc PID TTY TIME CMD
_K?v^oM# 2791 ttyp0 00:00:00 tcsh
pqs!kSJV 3092 ttyp0 00:00:00 ps
:@&e~QP( % ps -A
+xIVlH9`Q PID TTY TIME CMD
"n3n-Y#' 1 ? 00:00:03 init
"d/54PKWx 2 ? 00:00:00 kflushd
SLP$|E; 3 ? 00:00:00 kpiod
N@0/=B[n 4 ? 00:00:00 kswapd
]gHrqi% 5 ? 00:00:00 mdrecoveryd
|7|'JTy .......
&56\@t^ % ps -aux
*RJD^hu USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
xM)P=y_!M+ root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
Y_$!XIJ4 root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
H '5zl^8I root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
{>9<H]cSP root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
eYRd#w ........
1 h(n}u 名称:pstree
De$Ic"Z9L 使用权限:所有使用者
}c9RDpjh~ 使用方式:
*@lVesC2 pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
rr1,Ijh{D pstree -V
/3L4K 说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root) ,如果有指定使用者 id , 则树状图会只显示该使用者所拥有的行程
_JpTHpqu 参数:
mtFC H -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
'yOx&~H] -c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
I7XM2xM 范例:
l}S96B pstree
U>b.MIBX p*$=EomY init-+-amd
]$)};8;7W |-apmd
G?s;L NR |-atd
N^`S'FVA |-httpd---10*[httpd]
F+zHgE %pstree -p
+A
6kw%" init(1)-+-amd(447)
s*CBYzOm |-apmd(105)
t P'._0n0 |-atd(339)
5 a&a-( %pstree -c
g$=']A?W_ init-+-amd
NCkrf]*F- |-apmd
vKbGG |-atd
5?#AS#TD' |-httpd-+-httpd
{R~L7uR@O | |-httpd
_}H`(d%N | |-httpd
QSYKYgxC | |-httpd
I*+*Wf ....
c@O7,y:`I 名称:renice
&fxyY( 使用权限:所有使用者
KmF+3g~#s BYI13jMH+Y 使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
5zJ#d}%}S" 65c#he[_Y 说明:重新指定一个或多个行程(Process)的优先序(一个或多个将根据所下的参数而定)
ui*CA^ Y Gnqun% 把计?
y9GaxW*&