Linux指令大全(3)
! q+ Q2 F ~$ u* p0 n2006-06-01
& l' l% w) H5 ]0 r+ i' f7 d
0 |* D" U$ [; M A* r! d. V' g$ q5 [ A& L
Linux指令大全(3)
% \, Z6 I6 d" W5 ^; |- F" T5 I s, C; l5 {( U; b
名称:/etc/aliases
" V/ V( ^- A1 d4 @- v
使用权限:
系统管理者
# M4 t" P( u9 n! J7 i% r使用方式:请用newaliases更新资料库
5 M( \) \0 E: e* i
说明:
: N9 N+ K) [: B* d
sendmail会使用一个在/etc/aliases中的档案做使用者名称转换的
动作。当sendmail收到一个要送给xxx的信时,它会依据aliases档的内容送给另一个使用者。这个
功能可以创造一个只有在信件系统内才有效的使用者。例如mailinglist就会用到这个
功能,在mailinglist中,我们可能会创造一个叫inux@link.ece.uci.edu">Linux@link.ece.uci.edu"%26gt;redlinux@link.ece.uci.edu的mailinglist,但实际上并没有一个叫redlinux的使用者。实际aliases档的内容是将送给这个使用者的信都收给mailinglist处理程式负责分送的工作。
. s8 X5 h# R: O) e' c8 s
& g8 _0 {. E0 S) J: s
/etc/aliases是一个文字模式的档案,sendmail需要一个二进位格式的/etc/aliases.db。newaliases的功能传是将/etc/aliases转换成一个sendmail所能了解的资料库。范例:
" v6 y {; o N$ X: \+ [' n1 Q
#newaliases
- O+ \& S% j# d+ B* P H) Z- n2 [1 X ~$ l) t2 ~
下面命令会做相同的事,
# F! g7 C @0 P/ B
#sendmail-bi
- ]. f3 c, J( ?9 |
" ]' k3 S5 T: R f7 x0 U# u相关命令:
F& J% `6 S/ D7 Y
mail,mailq,newaliases,sendmail
- B! Y- _9 C. v( N1 x% s7 [# e( s" a2 A2 l5 o, t
”mail[返回]
8 J# j0 I- }& d, Y* h8 h3 @! x名称:mail
) v3 P' U, A# W& _& }" l
) E8 U( H; i2 z7 k* I, @- r+ s) N- h
使用权限:所有使用者
q7 p- k6 d: J2 q6 b" s( }
% f4 R+ A3 u3 e- h/ {' h* Q8 [
9 Z3 t% p- ]. V( O9 J" |使用方式:mail[-iInv][-ssubject][-ccc-addr][-bbcc-addr]user1[user2...]
" q& t; ^7 p6 p% N/ \
9 D8 `& Z9 @! U* ^
# q: B0 n2 l( H# V, P2 L6 v0 W说明:
" }0 R! w/ |* X- n: u' h
mail不仅只是一个指令,mail还是一个电子邮件程式,不过利用mail来读信的人应该很少吧!对于系统管理者来说mail就很有用,因为管理者可以用mail写成script,定期寄一些备忘录提醒系统的使用者。
% \6 b3 ~" x5 ]6 p+ V( K. h
8 j; Q, o; A9 B. b; \2 K2 V$ S
参数:
8 s0 R5 W) A1 B/ G. E! M( I* ~
i忽略tty的中断讯号。(interrupt)
* ?1 F, u L: n/ n- B2 nI强迫设成互动模式。(Interactive)
/ M8 d9 s6 u7 W E' ^5 E g+ M# p! nv列印出讯息,例如送信的地点、状态等等。(verbose)
: Q) M$ U4 W' ]9 K* { J1 kn不读入mail.rc设定档。
O4 R% d$ j- S5 R
s邮件标题。
) P) j' u3 h3 g$ {! eccc邮件地址。
" X0 Y7 K! B# W/ g {& }bbcc邮件地址。
* O: B6 [6 Q7 @6 M+ Z' Z+ u. W. ?5 l# \3 h* B. {2 W3 X: t# W1 L( N; F
2 f& F+ O% ^+ a
范例:
# L; m* R' B7 z+ s" k( F/ c
1 o# E- J N& F( s' ?% @% N, o1 {( I |* L( m7 ~. q% [* i, K7 g3 x
将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而user2没有主机位置,就会送给邮件伺服器的user2使用者。
- g; T. r' B9 F! K
8 P$ Z( z7 e2 ^& b& D" Z0 B R: `/ p: ~( R1 c, o; }0 A5 @
0 F+ Z2 t" ?6 m' p! a/ Y
mailuser1@email.address
- E1 o( J8 \1 H$ f; t7 c" P. K7 @mailuser1@email.addressuser2
' Z8 Y- S4 c* O2 r% n( o
9 e* r+ _5 D0 i1 s/ t4 ]
% y' v9 h0 v, b8 Y& o
7 I4 R* W1 y& m x' s: x
将mail.txt的内容寄给user2同时cc给user1。如果将这一行指令设成cronjob就可以定时将备忘录寄给系统使用者。
6 H6 z3 K8 Y: a3 ]) G5 l( v
, ]6 Y0 C/ S$ f" |. \6 }3 F
mail-s标题-cuser1user2%26gt;exprlength"thisisatest"
' H+ _! L# u* C* l& V14
t1 x s' o: P& M/ |- g$ G% y3 P
}( [% T+ a' F# a- n3 z
###数字商数
9 m6 X! I0 D! I* w! B% j! n) F) C$ j9 a4 X
: n/ u [, ^1 j$ D0 Z4 e( ]
shell%26gt;%26gt;expr14%9
0 }; I+ W. i& T, B/ F5
* \3 N5 L. ^. X9 R8 p/ M4 |: T: V. q' y
###从位置处抓取字串
, X, ?+ h, x- B! V: c& \
8 Y, L: M, q9 B$ K7 j( t' ~shell%26gt;%26gt;exprsubstr"thisisatest"35
$ x* j" h1 ` iisis
5 |' X) m/ O/ A9 e6 h, @- _) O- ]2 A3 p
' k7 f4 ]& d6 R; |! i i' V###数字串onlythefirstcharacter
/ a$ P, |, S: E
; r, {1 M% n& m6 G' M
shell%26gt;%26gt;exprindex"testforthegame"e
5 {) @% p7 v2 ~
2
0 ]. M2 V8 T& M, V1 `
4 ^" q; E5 K* c1 d. y
###字串真实重现
. \; m0 i8 o% X( [. d" M
3 l, |% t0 L, D' Y* V/ } t% v
shell%26gt;%26gt;exprquotethisisatestformela
+ b) i0 k7 d3 V
thisisatestformela
+ N8 o0 C. d+ @3 Y8 i; s
; a% c% U: h$ _. A/ M' z% _# s6 q- }. Y. a+ O, |. m
/ s; u; o/ z" _7 s) s/ |/ B! } Y. i! S& y$ F4 I' z9 G
名称:tr
- k3 b# |/ U8 r& g
( q2 w+ B7 s( P###1.比方说要把目录下所有的大写档名换为小写档名?
% n) I! O/ v$ i) y& {2 {& ~" z6 t# P( W
似乎有很多方式,"tr"是其中一种:
% I+ x* `9 Z& ^4 j4 r- T( i
% T6 ?4 L/ X$ m4 C4 r+ P9 g#!/bin/sh
" O; _9 V5 x9 N
[9 o! ~, U! C: P8 P& C) H
dir="/tmp/testdir";
( L! Q8 ]- }3 z$ {files=`find$dir-typef`;
5 B1 N' e8 n) z2 r+ O0 G0 V
foriin$files
6 Y2 O1 n0 ?- I7 }# ~" J% Ldo
" ]! J- [ N5 z' h* n& [5 f
dir_name=`dirname$i`;
' O o% q2 l2 q4 F* ?ori_filename=`basename$i`
/ v2 W1 `% s3 ?$ S" Gnew_filename=`echo$ori_filename│tr[:upper:][:lower:]`%26gt;/dev/null;
! i, V/ F+ t* N3 u3 q, Y- H
#echo$new_filename;
! ], D9 K F7 ~2 A
mv$dir_name/$ori_filename$dir_name/$new_filename
7 r v! J4 x2 e$ e- e* \$ q, O
done
8 W* P' l- |2 C' @/ ~- {# `
# k) S$ z6 z6 u1 ~" |- @
; _8 y. d" y1 b7 Q/ v###2.自己试验中...lowercasetouppercase
: L1 r y+ \' q5 N8 J$ o% t+ U2 ~. ]1 k5 [
trabcdef...[del]ABCDE...[del]
+ A) A& w- s7 K# l, B8 qtra-zA-Z
1 l* F$ ~% A- n, B/ }tr[:lower:][:upper:]
. L+ d- _9 ?3 ~3 i
+ F W; c- @: [1 @; |shell%26gt;%26gt;echo"thisisatest"│tra-zA-Z%26gt;www
& G; ~) b3 J9 M$ S: n4 @1 P
shell%26gt;%26gt;catwww
9 K, z3 j: @! l+ M+ _
THISISATEST
3 `# ?) O T2 T# q& |3 O
& s0 Q& L4 l% A7 h
###3.去掉不想要的字串
& \( \% T' p0 A9 e! Z$ B% r/ F5 m( z2 V
. ^" O* `* c; H7 r' kshell%26gt;%26gt;tr-dthis###去掉有关t.e.s.t
' f* e D6 D6 J5 G( Y4 h, s
this
( _2 l; Y5 b; N
- @% H* x3 f% P; kman
8 _6 T0 o. ~. y5 P, Wman
; w' h7 s8 f) r, H, `
test
: ? N9 I" t, n4 X7 p5 H% q& A- n' b; _* i
e
% R9 b6 }% u" o: W% ^
& ^6 u* [; h' b A###4.取代字串
. e/ q+ @+ v+ D" E& U( U( g" w, ?4 q# h* S( o1 R/ _( L) l
shell%26gt;%26gt;tr-s"this""TEST"
, R- }' ^: Y. r. C+ {# k% zthis
! x1 r( p r5 ]( m! A( ~
TEST
! ?* H* q% E- s7 Y' m1 xth
7 U- P5 [/ r$ b2 d5 u3 o/ T7 QTE
4 N0 A! Q" f" V L! u, {
$ w7 _7 Q6 ?0 q" Y s" L/ O, }2 {: g: i! K, ? w
, L/ s- W) p/ ?6 T! L* I
, ?: |# } v0 T: L指令:clear
, N6 w) y3 A; U! E1 n$ F用途:清除萤幕用。
5 M% b* `1 [6 L9 M7 N/ E9 H
4 t: E9 Q' T" p, s使用方法:在console上输入clear。
. c$ B% W' W/ Z
2 H: z2 f+ G8 j1 e. E5 u3 I$ X; v' N: k
名称:reset,tset
& E+ T# [" I! [# ]& o. M
使用方法:tset[-IQqrs][-][-ech][-ich][-kch][-mmapping][terminal]
8 J1 o4 s' X) u' n
3 Y& ]4 e7 X) y4 O使用说明:
) C6 F3 ?+ K _2 D7 a
9 z& P" l* I7 Y, y" p0 Wreset其实和tset是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变数、命令列或是其它的组态档决定目前终端机的型态。如果指定型态是?的话,这个程式会要求使用者输入终端机的型别。
8 W3 C( N9 K" I5 ^1 V
) O U4 g+ C! n1 S, {$ y3 ^由于这个程式会将终端机设回原始的状态,除了在login时使用外,当系统终端机因为程式不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o例如不小心把二进位档用cat指令进到终端机,常会有终端机不再回应
键盘输入,或是回应一些奇怪字元的问题。此时就可以用reset将终端机回复至原始状态。选项说明:
; p; e4 p- E2 N) [& D2 A1 r
5 Q2 D/ L$ B# Y* E# Y) c
* W# R c/ h. u8 U) a1 l9 i( c-p
" Y* ^4 f8 t8 b. m% c* }' X+ v: J
将终端机类别显示在萤幕上,但不做设定的动作。这个命令可以用来取得目前终端机的类别。
9 N% C+ E4 |, h5 U# n, S
-ech
* C/ s$ a8 l# J; B1 G& F将erase字元设成ch
1 A# w3 ?, h, i4 ]: \- A1 v- T-ich
, \- p+ S2 |! h7 |+ { Q将中断字元设成ch
, Q/ [9 l6 V' R2 ?-kch
9 j9 e5 R; B3 S9 l3 k& v/ q4 [ ^将删除一行的字元设成ch
7 U) K) S- L0 ~7 h! N4 H; P-I
' h, P/ J5 M9 ^不要做设定的动作,如果没有使用选项-Q的话,erase、中断及删除字元的目前值依然会送到萤幕上。
, e4 x4 A: x2 h1 F
-Q
- i' X$ v- q. k% j( d不要显示erase、中断及删除字元的值到萤幕上。
5 C* C- |3 s9 i
-r
?, h/ B4 U% ?! B' [6 I8 e
将终端机类别印在萤幕上。
' {0 r; _- w- ~* o-s
" R0 q h6 L. c0 i; N将设定TERM用的命令用字串的型式送到终端机中,通常在.login或.profile中用
. i$ F5 `7 \$ p/ m. ~范例:
" ~* f: i0 n' L2 ~
让使用者输入一个终端机型别并将终端机设到该型别的预设状态。
$ G% s2 L5 S% A
#reset?
9 c/ {! m" H* u4 e. N4 n5 j
$ J* _8 o; B" O! `3 ^
$ U# i* J, _# n& }& M' T$ `2 k) }1 m- d, y" O& ^' A
将erase字元设定control-h
& j- ^4 \! A. C& C
#reset-e^B
. _6 W* x- s! ^ k5 i: z7 c' r' q' `* K
3 o0 w9 c) c o* d9 ^0 _1 I
" y# i1 h' P+ R [2 E1 U$ P将设定用的字串显示在萤幕上
: [8 D' c8 z* n0 s9 _, t
#reset-s
% _: Z9 i* m' K5 c4 M/ S0 E2 j% CEraseiscontrol-B(^B).
% i- I0 R3 y$ z3 E
Killiscontrol-U(^U).
8 S5 R2 y8 |# j! W6 nInterruptiscontrol-C(^C).
! N- H& y$ o d
TERM=xterm;
8 J# ]% \; O8 b1 {. }1 X- E
" X9 B2 o! k. d1 d名称:compress
" M9 p# X5 H) h3 r' {6 y8 F" h( E. _, M( w: |8 p
使用权限:所有使用者
" J2 M M0 r5 F9 L" Z5 c
0 N- J2 _+ O3 L! S4 |2 u# R* A
使用方式:compress[-dfvcV][-bmaxbits][file...]
# \) K' Q# s1 o( v9 ]
1 Y* Y8 B! h7 t$ m/ M9 n8 b% }4 M9 V6 q
说明:
1 ] Y+ y4 T9 [2 Qcompress是一个相当古老的unix档案压缩指令,压缩后的档案会加上一个.Z延伸档名以区别未压缩的档案,压缩后的档案可以以uncompress解压。若要将数个档案压成一个压缩档,必须先将档案tar起来再压缩。由于gzip可以产生更理想的压缩比例,一般人多已改用gzip为档案压缩工具。
% c$ ~7 i/ s* i! O9 Q6 o9 i- U: o
) ^1 C+ o" J5 Z; ~( A% u, C
: ?2 ]4 m2 O- v1 _9 R3 ^- Y/ e参数:
, J2 ^4 e' J+ t/ B U- T: ]+ L
c输出结果至标准输出设备(一般指荧幕)
% |8 i; w8 I8 uf强迫写入档案,若目的档已经存在,则会被覆盖(force)
# ^, z* F! Z/ m) \
v将程式执行的讯息印在荧幕上(verbose)
; O% O. X. R! A1 P2 r8 ]" E0 B
b设定共同字串数的上限,以位元计算,可以设定的值为9至16bits。由于值越大,能使用的共同字串就越多,压缩比例就越大,所以一般使用预设值16bits(bits)
0 G6 l# D3 [( E( H
d将压缩档解压缩
]: ^% H, U/ P! Y9 \# S9 G JV列出版本讯息
$ k# ?6 W% w8 i* l* q4 N, I! @. v' H; |# E
3 a0 V7 N# @# u' ~
范例:
! Y1 {* g8 X6 d; f3 u9 O; a/ ]$ g4 H+ v8 }9 Q
9 @" a4 q! x3 Z z! m; k1 q/ D& V3 [将source.dat压缩成source.dat.Z,若source.dat.Z已经存在,内容则会被压缩档覆盖。
5 B6 {! S% X" p2 R) h9 h
3 Q' z3 I H! x. k1 Q
3 F9 M" H# y) G9 }3 S# M, [
, s {( n; @( mcompress-fsource.dat
3 U1 S6 p$ q8 ~" q0 c4 X
- R+ t3 O' g+ y0 G4 o2 }: q5 z1 ^! \: ?* J7 B9 t& s
4 O" |; @1 j; _+ C将source.dat压缩成source.dat.Z,并列印出压缩比例。
; f9 N3 s5 E& e9 M
-v与-f可以一起使用
. L! X; o; E9 c, O. ?# r
: K) K; s$ {+ K. p6 B3 y2 M* n+ Z1 p/ l, ^0 K; X0 U; p6 ]7 o
V8 g5 j1 c) r, g+ R6 T0 xcompress-vfsource.dat
' j7 e& ^1 h& b# a$ t5 j) i# j2 E
" N6 S1 ` T# }8 R0 l: ~- O$ Q. ~8 H
将压缩后的资料输出后再导入target.dat.Z可以改变压缩档名。
& D! z k) a) Y' S9 w; y# D Z, r; V7 W* `" Q- F
# y q2 m3 v- C ^
- \: p9 g5 }+ k2 r& ^3 ccompress-csource.dat%26gt;target.dat.Z
/ f1 Q9 ~# l. r6 y d2 }$ `
9 m0 ]' y4 S7 p: S; E& g$ o$ G$ l+ p0 C, V9 ~! Y
% k7 B* `% E4 b
-b的值越大,压缩比例就越大,范围是9-16,预设值是16。
. |+ [. y/ E* M5 X. o9 X( x# {/ X3 [
( e" i ]6 E) j' R, S5 Z/ z
& \. {5 N: O+ z: t4 H4 d
. S6 m$ [6 L1 l0 ?$ S- acompress-b12source.dat
7 ]0 Z+ L' D4 g' |! R4 ~: L2 }
! P p$ h: a) u" S$ K
1 W6 u) ?& [/ u8 H& x$ F% }( j8 U* B+ P& t% @
将source.dat.Z解压成source.dat,若档案已经存在,使用者按y以确定覆盖档案,若使用-df程式则会自动覆盖档案。由于系统会自动加入.Z为延伸档名,所以source.dat会自动当作source.dat.Z处理。
/ k( j6 v0 v* e( z) V$ {- c" Y
0 R; g5 r E8 ~+ P( v
& B/ Y3 B4 _. K# H9 O f4 j+ b0 D/ D2 V4 G. E) P6 D' g) l
compress-dsource.dat
+ w: ?6 K! Q: R$ K6 @compress-dsource.dat.Z
. b! Q3 | E$ S+ Z2 ?, L# Q5 o5 c8 c' e1 X6 v& I
0 v# }/ h D8 d8 ]& e9 \+ N. d1 c, ^2 G b; E
4 X* i0 G+ ]6 P3 W9 x4 m7 N名称:lpd
( @+ p" c& a, X# W( N
" k6 r$ k& `6 ]( D: B# I2 X+ a) g7 t使用权限:所有使用者
! {7 N* C+ W( ]6 P I, ~' m# W3 l0 v3 l8 B# ?# ~$ y
使用方式:lpd[-l][#port]
+ t P$ }1 v8 ~lpd是一个常驻的印表机管理程式,它会根据/etc/printcap的内容来管理本地或远端的印表机。/etc/printcap中定义的每一个印表机必须在/var/lpd中有一个相对应的目录,目录中以cf开头的档案表示一个等待送到适当装置的印表工作。这个档案通常是由lpr所产生。
0 ^# ~- b/ e5 D0 S: j4 @6 {) K1 m% r: g
lpr和lpd组成了一个可以离线工作的系统,当你使用lpr时,印表机不需要能立即可用,甚至不用存在。lpd会自动监视印表机的状况,当印表机上线后,便立即将档案送交处理。这个得所有的应用程式不必等待印表机完成前一工作。
4 n' T0 c% n0 A0 @* H! D# }' P+ z0 i8 @2 g' X
参数:
7 \. G( r1 v7 q$ p G1 g! P: ~4 i L& T6 i7 x, w3 k4 v
0 M6 G Q. _4 M2 o; m! A
-l:将一些除错讯息显示在标准输出上。
; ~) O! l+ Q! B+ W4 Y! a4 d, ?$ Z9 C
#port:一般而言,lpd会使用getservbyname取得适当的TCP/IPport,你可以使用这个参数强迫lpd使用指定的port。
3 N8 f- c0 b. h3 \" N
6 L) L( U5 i5 ?- |% k! m范例:
# i* t! |. T2 |1 I4 m$ n( ~这个程式通常是由/etc/rc.d中的程式在系统启始阶段执行。
4 L% R' x9 v3 F, P3 ?" |
$ r# Q2 S I- G, B2 S
& E7 Y. E3 L8 z. B8 z3 R/ W' q2 D5 T, e# B' q
名称lpq
3 Q2 L% I6 Y# P% F3 H& y--显示列表机贮列中未完成的工作用法
+ L, x2 c% o5 o. B- V7 N
; n* l$ g; D( }) N* x4 p6 s
lpq[l][P][user]
8 e9 V0 [& B# C# H) h( {: \& A) ]2 R) x. u5 a# j% o" V/ [
说明
, s2 p+ W: O- d9 O1 T6 @% {
lpq会显示由lpd所管理的列表机贮列中未完成的项目。
& A+ m! O% r0 ?& |/ |9 m
; I3 ^9 W0 [4 n% j8 T+ B范例
- }) S8 q# C6 Q) A6 P* Y/ A
范例1.显示所有在lp列表机贮列中的工作
( r; {" m8 U/ d6 L6 I- W5 ~
5 d( \7 X' o6 n; F
. K, i4 Q0 \) F$ L, r/ E5 D, C#lpq-PlpRankOwnerJobFilesTotalSize1stroot238(standardinput)1428646bytes
7 q6 v0 Z' G6 P3 L2 f! C3 `2 A5 q* b+ E! ]) z' p
' j" j) B; N. k5 g: U8 I( s+ q8 `3 b. M$ Z1 `0 ^
7 V3 z# y7 J5 ~2 \! _: I
相关函数
7 m3 ~- I$ e ]7 y4 [3 zlpr,lpc,lpd
' j+ y# i. k, `1 P4 y7 d
9 B' r. _) X2 k6 B
; |, c$ q: x$ h& s8 g6 j. M- s* l; y3 K' q1 E; e ?: t
名称:lpr
3 z! u' R# X$ K. m' Q6 H$ i
/ T5 ]5 h* g1 h% v' I使用权限:所有使用者
6 {* h; F- E w. n% Z8 U
* \" {" Y5 x1 |( U s; u+ ^$ C! o! D R使用方式:lpr[-Pprinter]
& @3 X. V6 E5 k9 R# P% C将档案或是由标准输入送进来的资料送到印表机贮列之中,印表机管理程式lpd会在稍后将这个档案送给适当的程式或装置处理。lpr可以用来将料资送给本地或是远端的主机来处理。
) M$ O/ a% C8 V! p$ x! ]! V. H2 \& K" B
参数:
+ H7 a5 g! e& i7 G8 }2 e: Q( ~6 S# @5 u
- H( X- V- F$ j, O: a3 P7 W2 q; g0 q. h6 d- ]; y' A7 H
-pPrinter:将资料送至指定的印表机Printer,预设值为lp。
$ i( W6 x& ?0 v3 f5 L# W0 }- a( o% i, U; i! b1 ?
范例:
: B+ v" h) r6 l8 J& e将www.c和kkk.c送到印表机lp。
2 x- I; x0 b1 r5 t. {" \6 R
lpr-Plpwww.ckkk.c
9 Y( Q, v9 x5 D& t* L
. f4 A9 c$ [" F* K) z# v _9 {. o' M! J, ~: v, |/ \8 i6 z. @
, k2 \: T# f; B j, l6 ]; I* g. R& q8 @3 T5 T8 ] Y
名称:lprm
& o6 I4 I1 P5 ~- Y/ t9 l+ s4 d4 v; T--将一个工作由印表机贮列中移除用法
1 s% Q; |/ {1 {/ n2 E- s
% U+ Z [" f- @4 h- J' U: E! Q5 X
/usr/bin/lprm[P][file...]
' @9 c4 k( T0 [- u7 m3 ^* P
) W3 T) _& I/ [1 _- M, e, C8 p
说明
* j/ V) ]$ D: x! h$ C# R u尚未完成的印表机工作会被放在印表机贮列之中,这个命令可用来将常未送到印表机的工作取消。由于每一个印表机都有一个独立的贮列,你可以用-P这个命令设定想要作用的印列机。如果没有设定的话,会使用系统预设的印表机。
' p8 Z$ i# ]( I3 y( {/ W
' T% n/ }* L' a这个命令会检查使用者是否有足够的权限删除指定的档案,一般而言,只有档案的拥有者或是系统管理员才有这个权限。
5 P4 g. T% Q& ^% ?" H* n y
: Y$ Q, A; \% j: O范例
% c' W/ Y& n w7 x4 ]7 \" o" v6 b" f将印表机hpprinter中的第1123号工作移除
: t8 Q8 k3 `8 ~( ^3 j# C9 v9 @$ l4 K+ b1 T- N
$ [; w4 ~3 D1 ?9 q; M% u- ^8 L
lprm-Phpprinter1123
# S4 o. l9 S, u: U# Y: h+ T/ c+ Q+ Q4 O5 Q M/ j
' y# n" O0 u' A9 m4 B' X/ @7 R( z
将第1011号工作由预设印表机中移除
y- b( c. j T( V% T4 g) a! c0 @0 _1 w& c9 g! p# W
, W* G% U) O; {; h* Glprm1011
% t7 G. [1 r b+ O' m6 D' w8 @6 f' C. u$ M) Q V S6 a, i
* ]. R8 [# V8 u9 y3 v3 S# Z2 i. @
2 N" _8 \6 J1 Q" o% n
F7 E+ D+ d; ^# B, w9 h; M名称:fdformat
" c0 D3 {: I) b* s
+ U( W' K! h0 X: E使用权限:所有使用者
: w9 f8 b# u. I$ b
3 L: W" P, z" N' ]2 }使用方式:fdformat[-n]device
* J3 z, D! Y6 l$ V9 H0 t* m
. B. H- H0 `' X" c
使用说明:
7 o" M; c' @: Q7 A9 Z对指定的软碟机装置进行低阶格式化。使用这个指令对软碟格式化的时候,最好指定像是下面的装置:
1 N# U7 Q/ Y& c% B( @3 e
9 b W$ l# u* K; p& U* _' _* A2 u" C3 ^; r
/dev/fd0d360磁碟机A:,磁片为360KB磁碟
! {# [% U* ]2 s7 N$ V
/dev/fd0h1440磁碟机A:,磁片为1.4MB磁碟
/ m, }" _& Y& a* C) P! K/dev/fd1h1200磁碟机B:,磁片为1.2MB磁碟
) M9 ?0 z, e& @# g, w+ O3 T9 _
如果使用像是/dev/fd0之类的装置,如果里面的磁碟不是标准容量,格式化可能会失败。在这种情况之下,使用者可以用setfdprm指令先行指定必要参数。
2 Z! @+ d7 I K6 c
; s4 x9 D3 Y% D+ D+ m4 `参数:
( i; `: v( q. l7 C
1 {7 t% g6 N7 \% f$ }
8 {, r: {! K$ d0 y4 r% \-n关闭确认功能。这个选项会关闭格式化之后的确认步骤。
, I- r4 h! w5 F; m/ j) O. K/ m2 \# W/ c9 l- ?
范例:
6 \8 Z" q! g& O3 \% u1 e# q
' _' T. ]' i q, Dfdformat-n/dev/fd0h1440
2 K( \( |$ u m/ m+ D! Z6 z) F0 D8 \, ]
将磁碟机A的磁片格式化成1.4MB的磁片。并且省略确认的步骤。
; i! w, m0 [/ Q7 G% a2 t7 {
! x# t( J! ~9 r% V! k6 V$ K' H: D" z3 Q
4 }) V6 s/ ?) S' r4 n
名称:mformat
$ l4 s3 o4 T0 ?+ i/ r5 Q2 U. f
) o. z2 y. Y9 D: t, U使用权限:所有使用者
3 \2 m0 h! S7 K# \! z( M! [- _( v- G! Q
使用方式:
6 g6 H1 n1 Y$ m1 M8 b( m2 Y
" F3 w8 I Q4 D/ S1 Wmformat[-tcylinders][-hheads][-ssectors][-lvolume_label][-F][-IfsVer-sion][-Ssizecode][-2sectors_on_track_0][-Msoftware_sector_size][-a][-X][-C][-Hhidden_sectors][-rroot_sectors][-Bboot_sector][-0rate_on_track_0][-Arate_on_other_tracks][-1][-k]drive:
* T1 h! B) {& f; {
# _! L; [/ O) k: f在已经做过低阶格式化的磁片上建立DOS档案系统。如果在编译mtools的时候把USE_2M的参数打开,部分与2M格式相关的参数就会发生作用。否则这些参数(像是S,2,1,M)不会发生作用。
( e/ o: A( z4 j0 Z, ~8 |+ } m5 V2 O) T$ f" Q. x
参数:
) D; n7 Z8 `7 @8 k" \% k" K3 `4 l2 l9 t- z# s- w) W
-t磁柱(synlider)数
3 _* Y8 y5 ]1 w
-h磁头(head)数
# P. `9 s$ J! K& l1 n0 e# |-s每一磁轨的磁区数
( V6 o: |2 [7 Z8 i$ a& p
-l标签
' G. K' p% Z2 }2 D2 G" O9 e
-F将磁碟格式化为FAT32格式,不过这个参数还在实验中。
4 B8 w# v e v9 h, b$ g( t-I设定FAT32中的版本号。这当然也还在实验中。
3 z: y; T" V& |! h1 J-S磁区大小代码,计算方式为sector=2^(大小代码+7)
& |, q; a7 s0 j2 q. {$ O" p% G! V3 h
-c磁丛(cluster)的磁区数。如果所给定的数字会导致磁丛数超过FAT表的限制,mformat会自动放大磁区数。
( `% P3 T& W# x" I-s
: A3 T @3 _) q U" G, ?
-M软体磁区大小。这个数字就是系统回报的磁区大小。通常是和实际的大小相同。
Q* h& R9 X5 J7 Q% c-a如果加上这个参数,mformat会产生一组Atari系统的序号给这块软碟。
! D, Y5 D; k$ d4 O
-X将软碟格式化成XDF格式。使用前必须先用xdfcopy指令对软碟作低阶格式化的动作。
- }' Q* t/ I" ~
-C产生一个可以安装MS-DOS档案系统的磁碟影像档(diskimage)。当然对一个实体磁碟机下这个参数是没有意义的。
% w! i- S. P4 E- z y3 z-H隐藏磁区的数目。这通常适用在格式化硬碟的分割区时,因为通常一个分割区的前面还有分割表。这个参数未经测试,能不用就不用。
9 ^4 x0 ^& w" I' v-n磁碟序号
# W+ a7 ~ K: j7 p
-r根目录的大小,单位是磁区数。这个参数只对FAT12和FAT16有效。
7 w) W# a9 H6 {! s u
-B使用所指定的档案或是设备的开机磁区做为这片磁片或分割区的开机磁区。当然当中的硬体参数会随之更动。
% K0 g# J/ X6 |0 v-k尽量保持原有的开机磁区。
( m' p1 P; R% ]/ D, o6 k% P-0第0轨的资料传输率
7 ^0 ~+ }$ S, h$ P: I) S$ Z& x1 \
-A第0轨以外的资料传输率
4 o& u. O5 E" S% l-2使用2m格式
9 w! B* j3 A% P* [# q2 m4 T-1不使用2m格式
2 x+ _+ S ?& R. c: }8 U* `1 R
8 K% w3 w8 c [0 o- ?( h: _范例:
9 ` J5 f4 s! @9 g' ~mformata:
9 ]9 s# @( t" B; U2 n# \' ]. f
/ V) y3 {' d6 Q0 A* t3 U这样会用预设值把a:(就是/dev/fd0)里的磁碟片格式化。
" V/ t9 v3 m) V% A! {" c5 d
7 e8 u/ `. E3 K/ C7 h( f: |& u! x+ W
8 u& Z W2 Y4 m0 D
名称:mkdosfs
; k( s& ^* ^% c9 F7 V
, b4 ~/ |, W) m& }7 f使用权限:所有使用者
8 l2 G4 q; n; Z- {$ k
5 r* f/ R) d0 ?5 l& ]; P4 g
使用方式:mkdosfs[-c│-lfilename]
' j, J# q* D) V/ r' P# z. R
[-fnumber_of_FATs]
& K) B2 m& B' Q, f% X- C( j3 W[-FFAT_size]
( k. v( E3 U8 U5 O1 a[-ivolume_id]
. U8 }1 j# G5 ^8 B e5 G[-mmessage_file]
3 w T# g9 J% f# X9 }
[-nvolume_name]
2 Q/ f8 [/ q0 v5 Y# y
[-rroot_dir_entry]
, p$ ^' h$ d4 n4 j[-ssector_per_cluster]
% r1 ~% z, p& L- E, T[-v]
) V( y6 |8 ?0 l% D2 P4 `5 cdevice
, d- u4 J% d% B/ u
[block_count]
; j- _4 n, {5 Q. e. w- @+ f
{4 Y. A3 N- |
u$ D$ H. k7 ~2 [0 E4 ?' F6 s0 B0 J6 g& A
说明:建立DOS档案系统。device指你想要建立DOS档案系统的装置代号。像是/dev/hda1等等。block_count则是你希望配置的区块数。如果block_count没有指定则系统会自动替你计算符合该装置大小的区块数。
& G {/ Y, |9 |) u( C) L
5 ]; T3 P1 U" k+ O; l" _参数:
' H; h/ Q$ L. ]1 x
3 w9 _( M6 I' c
. {3 P r$ a( m* F& U6 I1 t
-c建立档案系统之前先检查是否有坏轨。
/ ^! r. D/ @3 y-l从得定的档案中读取坏轨记录。
: q# q# H8 T* k. I
-f指定档案配置表(FAT,FileAllocationTable)的数量。预设值为2。目前Linux的FAT档案系统不支援超过2个FAT表。通常这个不需要改。
7 i- {+ g z( }
-F指定FAT表的大小,通常是12或是16个位元组。12位元组通常用于磁碟片,16位元组用于一般硬碟的分割区,也就是所谓的FAT16格式。这个值通常系统会自己选定适当的值。在磁碟片上用FAT16通常不会发生作用,反之在硬碟上用FAT12亦然。
5 s; a/ X4 \4 j
-i指定VolumeID。一般是一个4个位元组的数字,像是2e203a47。如果不给系统会自己产生。
, A5 c/ A) `. f-m当使用者试图用这片磁片或是分割区开机,而上面没有作业系统时,系统会给使用者一段警告讯息。这个参数就是用来变更这个讯息的。你可以先用档案编辑好,然后用这个参数指定,或是用
+ i( t. K" {0 e) M d/ l( @6 u-m-
5 m: Q# ^! X$ C9 q6 J( P
这样系统会要求你直接输入这段文字。要特别注意的是,档案里的字串长度不要超过418个字,包括展开的跳栏符号(TAB)和换行符号(换行符号在DOS底下算两个字元!)
- E$ T/ F" f/ r# T( E-n指定VolumeName,就是磁碟标签。如同在DOS底下的format指令一样,给不给都可以。没有预设值。
! {5 c( v3 u/ L- H3 n5 o1 b! J
-r指定根目录底下的最大档案数。这里所谓的档案数包括目录。预设值是在软碟上是112或是224,在硬碟上是512。没事不要改这个数字。
+ n1 X/ r0 Q( W0 U" u
-s每一个磁丛(cluster)的磁区数。必须是2的次方数。不过除非你知道你在作什么,这个值不要乱给。
0 o, P& g* G! |0 a+ I-v提供额外的讯息
- x/ K) z! g/ q* R9 z2 N7 q p
- F2 {/ l: t- B! Y$ p& x范例:
5 D' N, @ K$ ~; x8 ^; Nmkdosfs-nTester/dev/fd0将A槽里的磁碟片格式化为DOS格式,并将标签设为Tester"