1.Linux进入与退出系统
' E+ a; m9 y1 M5 n6 t% t9 [进入Linux系统:
; J$ D% k$ q2 _# i! i
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
* h' R4 a& u) q: U3 g$ [2 I1.root--超级用户帐号(系统
管理员),使用这个帐号可以在系统中做任何事情。
. s3 ^6 {! n) K; v2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。
7 ^% _+ V6 i. G
一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。
7 A/ [0 P* _5 C* W5 x用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。
7 k$ n$ [2 Y. U, a2 Z6 ^4 }
当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:
! ~9 Z, _1 K; G0 X3 w
[
root@loclhost/root]#
9 {1 y9 S( ?' Y8 m3 J0 h7 Q[color=#FFFFFF']
* d- C8 c3 Q4 }* \
; m0 X3 W: U2 K/ g这时就可以对系统做各种操作了。注意超级用户的提示符是“#”,其他用户的提示符是“$”。
6 f0 y9 N$ n+ t _) [
修改口令
2 _: J; |- F" f( B8 b" W[color=#FFFFFF']
9 Q2 ?* S \7 E. V$ a, D6 M/ q" P9 Y Z8 Z7 @ W* k2 T
为了更好的保护用户帐号的
安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以向系统管理员申请为自己重新设置一个。
. J( i( x* e# x$ M[color=#FFFFFF']
2 l! [7 T ^" T. N4 j
1 F3 ^& Z( Z0 U2 I2 l虚拟控制台4 H" _1 z* I ` _$ Q8 c% D$ `
Linux是一个真正的多用户
操作系统,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个
功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。
6 s5 d# O- U0 ^, i3 H0 q0 a[color=#FFFFFF']
k; |- z# ?6 x3 u, J4 F
" W$ {# K3 i8 A' j退出系统. e6 L$ p* Q) G9 \
不论是超级用户,还是普通用户,需要退出系统时,在
shell提示符下,键入exit命令即可。
! ?0 V' c6 S: sLinux文件的复制、删除和移动命令
6 \4 X& X, a( M( h. b' ?
- U, v* E2 t& G6 c+ a- w$ ]- b[color=#FFFFFF']
% X$ K, n( E5 |& x# `: }
. P5 K) T, D8 l: Z3 ?cp命令8 G. s! i; Y' \
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
, _# L- g: y o4 y
[color=#FFFFFF']
6 {0 r. P6 e2 l- N$ I( F' f+ V; p2 @1 {
语法:cp[选项]源文件或目录目标文件或目录
0 P) z; `, h6 _/ P0 {- W! p
[color=#FFFFFF']
. k7 y1 o0 v& _9 R5 R& ]8 ]
4 |- C( @9 z0 V8 A- w说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
$ K& D& h" n4 ~* _8 s
该命令的各选项含义如下:
) k4 W5 }6 @* I1 \6 }
-a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
3 k" M/ g, a S- s% H
-d拷贝时保留链接。
0 V p) l- k. B, u0 j( N& w-f删除已经存在的目标文件而不提示。
; o, \+ g: E* e+ F' G) M
-i和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
' q u! P, ^) s* F; L-p此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
$ B/ u/ ^- V$ d) ^, O1 Q) H6 `, L; f) _
-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- X, m' G3 G O& t-l不作拷贝,只是链接文件。
N. G9 j. F J; b+ A* ]6 ]
[color=#FFFFFF']
, A+ s4 N& H' c! T
& o5 q J# ]& g* K" d需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
. }$ @' K- E/ d
5 e: f9 D* N9 T. bmv命令
) I A/ J% m1 C/ e- [[color=#FFFFFF']
' T3 c- x/ m+ C: n: d5 N8 c) c( p/ S7 k) F, D1 [
用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MSDOS下的ren和move的组合。
5 D8 _2 X! h) R5 p
[color=#FFFFFF']
4 n7 U" x) r! k/ q$ [
W- n9 D) L& K2 Z语法:mv[选项]源文件或目录目标文件或目录
# R9 ]' t# B8 N' ^/ A6 b7 P说明:视mv命令中第二个参数
类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
# S6 X4 e R& e/ w' q[color=#FFFFFF']
% y* H Q' E0 p2 S2 ^ z+ a( Z# D2 e
8 J5 J! }: C* {; t: ]& d
命令中各选项的含义为:
+ i. { X9 T! I3 N
-I交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
8 r2 I# {# i0 k7 {-f禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
( `' I. U$ d* H[color=#FFFFFF']
. T/ |4 I' n! J5 d0 d6 ]0 p' ?" G. [
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。
% @3 L2 Y9 P$ G) t4 o5 @$ B
rm命令
5 F/ L" m0 {6 u6 ^: [# Y[color=#FFFFFF']
/ N9 l" `+ G* l2 Z" d6 j
# l9 s" v, P L) e" T( d用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。
/ _, h0 _; Z# N3 |0 d* Q9 {. j& t jrm命令的一般形式为:
9 y: D! H% U5 ^! J$ B' l) @
rm[选项]文件…
9 a: X0 M$ O3 n) M5 i如果没有使用-r选项,则rm不会删除目录。
4 N5 r+ B0 _" Z$ J; k4 |该命令的各选项含义如下:
+ _9 x8 L" o6 n+ l" g( P; Y2 ^/ d; `' C
-f忽略不存在的文件,从不给出提示。
. H1 }# {# g7 v( b% A" \
-r指示rm将参数中列出的全部目录和子目录均递归地删除。
; l- M* a- G) i+ n- u! T-i进行交互式删除。
! E3 f0 w7 o0 B/ K& y( P* y
[color=#FFFFFF']
b% E# `5 v' o* y+ S
, }* G- B8 C5 q# p ^; K, M$ h# P
使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。
! P7 Z% Q1 f" X# p6 |
$ n A( R/ E* @5 x5 l
Linux目录的创建与删除命令
8 i; w) a/ q/ T1 A/ ]! {/ V
9 ]# z N; ?) \ ~9 A# Zmkdir命令
/ A# Q5 B' [9 E, H2 g* j: S2 C) \[color=#FFFFFF']
' d" Z. Z5 }7 `. T% }; ?7 s# E3 V; S6 M3 o
功能:创建一个目录(类似MSDOS下的md命令)。
; H) p" l: G g; a: ^+ X
语法:mkdir[选项]dir-name
9 X) O% S3 }( r9 h* Y
说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
( F( n+ m; y3 c+ K/ S- J1 J, f命令中各选项的含义为:
1 V# o# H1 P6 C2 B
-m对新建目录设置存取权限。也可以用chmod命令设置。
: n0 f y: J6 A) {; @0 x$ ^0 `
[color=#FFFFFF']
! T& ]$ ], ^' k: ]4 E
; b x1 ^6 X( Y& P% y- o- t% v
-p可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
& H5 x+ Q: F, |9 r
rmdir命令
+ U# @9 T+ Z% g" q0 Z" Y[color=#FFFFFF']
5 f( V5 B& y$ ]. ]1 A" R8 A
, n% V/ C9 [& P$ n+ Z' a4 r) Q
功能:删除空目录。
. J6 a3 A' A& [3 p( r/ U
语法:rmdir[选项]dir-name
6 e% T N. V' J. w8 e. d* W! S. b说明:dir-name表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。rm-rdir命令可代替rmdir,但是有危险性。删除某目录时也必须具有对父目录的写权限。
! q- H' L. K) f; y7 o3 C+ I
命令中各选项的含义为:
5 N+ p2 M3 h) _; a& j6 m5 I-p递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在
标准输出上显示相应的信息。
: a8 K) V' J5 F/ }
cd命令
4 [3 \. R/ s. O4 L C4 G. }功能:改变工作目录。
5 S5 g+ G$ W" T- \( ^语法:cd[directory]
4 y. Q- w8 [3 X# h" h说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。
1 Y/ P, U* e5 k
[color=#FFFFFF']
9 m3 a2 p' i$ K0 z
2 z, O4 |! [1 E2 e# j
该命令可以使用通配符(通配符含义请参见第十章)。
: y8 b; d0 c- l
; Z* Q- A! d- upwd命令* L) Q" o3 {" I$ v$ k
[color=#FFFFFF']
; |2 e6 S1 b8 G+ D* P
3 m8 x! a6 D1 O' @4 D& z& X0 w在Linux层次目录
结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
. M9 g8 o+ V& f$ x3 V" Q1 S8 R$ p
语法:pwd
2 K4 N- N8 y2 p2 k" o3 h说明:此命令显示出当前工作目录的绝对路径。
( {& E7 R5 M( I6 W/ z' Q; D, r1 }
[color=#FFFFFF']
' U" n* y, v4 r5 [1 r
% n6 [0 m% I) F5 M, E; c7 ]ls命令. U6 i) B0 l; F4 a
ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。
/ N1 b# t6 ~- ~! B) f) t3 ?2 _1 n语法:ls[选项][目录或是文件]
( H: T" n" K' E对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
, m) d. e' Y, [1 b命令中各选项的含义如下:
. m7 `; ~9 C! T; c4 `9 ~- u1 S. c
[color=#FFFFFF']
0 V3 b; }- v* d! b2 I
2 J' A% g# G4 h, b; i
-a显示指定目录下所有子目录与文件,包括隐藏文件。
5 n r0 E- s' Y- F- m-A显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和“..”。
$ C# P( f# u2 ^8 z
-b对文件名中的不可显示字符用八进制逃逸字符显示。
$ v/ z7 `7 }6 u7 W& b[color=#FFFFFF']
+ B0 o: |+ q4 M7 c) ~, d
( @2 g& ?. K- Q-c按文件的修改时间排序。
' T$ b1 Z; R) E8 c D! @
-C分成多列显示各项。
9 U/ ~; z7 w& W- ~, i9 s
-d如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使用,以得到目录的详细信息。
7 r& ^$ Y3 Z" }% t4 q* Q- p
-f不排序。该选项将使lts选项失效,并使aU选项有效。
" Z8 S" j% ^6 f& G( u2 N
-F在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“│”,socket文件后面标记“=”。
9 K: f2 g r1 l+ J& e% R3 F+ ^
-i在输出的第一列显示文件的i节点号。
; k2 R; |8 f0 p8 C. H) {-l以长格式来显示文件的详细信息。这个选项最常用。
7 X6 i2 ^. H9 R' _5 K2 Y每行列出的信息依次是:文件类型与权限链接数文件属主文件属组文件大小建立或最近修改的时间名字
- s* {1 R/ I& W0 x对于符号链接文件,显示的文件名之后有“%26;#8212;〉”和引用文件路径名。
4 D( r4 w! I, c: C2 \" [. P对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
! l. s( O! I) M目录中的总块数显示在长格式列表的开头,其中包含间接块。
* v+ i3 p/ v# } B
-L若指定的名称为一个符号链接文件,则显示链接所指向的文件。
/ m! F: K% A& y% h
-m输出按字符流格式,文件跨页显示,以逗号分开。
4 d/ ]( G! l7 u$ u! G$ O
-n输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和GID号来表示,而不是实际的名称。
" o; C3 f5 R, O2 R: z0 k
-o与l选项相同,只是不显示拥有者信息。
0 u# s) p& F$ y0 [) l8 I9 c3 z-p在目录后面加一个“/”。
9 n! I2 k% @8 X! s-q将文件名中的不可显示字符用“?”代替。
( G( R# c$ x3 O* z' x1 r
-r按字母逆序或最早优先的顺序显示输出结果。
" l$ e, y `5 d3 |+ t' p0 w" [
[color=#FFFFFF']
9 @9 a v7 \- w/ c8 ?# [7 ^ c4 V" [" C5 B4 ?) |
-R递归式地显示指定目录的各个子目录中的文件。
5 ?6 D5 j" j- S6 }; T[color=#FFFFFF']
1 p6 _9 k6 O( X P, z
2 j0 K2 Y6 E# t: S! Q3 d" Y) e-s给出每个目录项所用的块数,包括间接块。
1 a- w, ?% f" a% J, N! P1 c-t显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修改时间。
; e) v" s+ `; X6 I4 P-u显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间标记修改为最后一次访问的时间。
t% X0 u3 p1 |+ r' u
-x按行显示出各排序项的信息。
2 E6 T3 i. p& {+ c$ g& c6 D) {
用ls-l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
; q) J# \* q7 D+ \-普通文件
1 [2 f, U% m+ L7 ?4 Td目录
( d: k) B1 ]5 d( `+ w$ X
l符号链接
/ C4 A3 ?* B5 K" g
b块设备文件
. h8 q! Y* x) {; c* d; V
c字符设备文件
/ J6 J' H A/ ?' w+ o: C# u0 T后面的9个字符表示文件的访问权限,分为3组,每组3位。
1 j$ _& m9 N! A- P5 |
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。
8 N" X3 T& _3 ~' v各权限如下所示:
T0 X) i4 K/ K: G/ i+ F9 o
r读
( w2 W/ X4 d. T U2 V- y[color=#FFFFFF']
( o% M' b1 C. { F+ Y2 A( e( W$ s4 y
( f; Y$ }7 Z/ Y4 Ew写
% |/ A {2 J8 m. T, D' g
x执行。对于目录,表示进入权限。
5 j2 H' z- B( C- g4 `: s: L4 Vs当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)。
' T0 l' K; M3 G6 H6 ^$ J% L; dt设置标志位(留在
内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行后,指向其正文段的指针仍留在
内存。这样再次执行它时,系统就能更快地装入该文件。
4 Z6 N0 | E% O2 V" |1 m% N% \9 p3 Y. H% ?; ]
Linux文本处理命令
; l( f/ [. D6 [* t2 v# @
5 V2 I9 g2 k# L6 D$ b6 ~- m5 r1 a7 Ksort命令& f) ]6 G2 Q" I5 s7 u0 `4 P
sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对
数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。
' \4 E4 t- V6 d/ z7 ?7 _* x
Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。
' h. u0 y6 L% x! s$ G, F2 g' X
语法:
+ L. D: H9 ^/ q! k. r
sort[选项]文件
' ~% m* c: j4 H' i; O& g说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“-”,则表示排序内容来自标准输入。
0 O6 n- _9 r5 fsort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。
9 \: j% k5 D1 D, v' ~8 T5 P
改变缺省设置的选项主要有:
$ @5 |9 f2 b9 p6 s- Z[color=#FFFFFF']
% a( E6 g0 r3 S# E! v( u0 A1 \! U1 z" `: l% F5 U
-m若给定文件已排好序,合并文件。
. K6 Q3 h+ H2 s; ?+ }9 n8 T
-c检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。
$ @" ~8 b+ a1 {( o
-u对排序后认为相同的行只留其中一行。
4 w& ?2 v; m9 i[color=#FFFFFF']
2 J9 K4 `: Q$ Z' T3 w: O5 Z1 ^! C" g, Q! z
-o输出文件将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。
" f" H. p& Q& t, ~2 w
改变缺省排序规则的选项主要有:
! r% g3 r1 F& L# ?
-d按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。
& z0 w& o9 @- g/ O; ~
[color=#FFFFFF']
8 \! p- m, v. W' V( M5 s/ S6 I1 T
5 E& H+ c. i, c: X-f将小写字母与大写字母同等对待。
6 E. {; `9 p2 K: n& G @-I忽略非打印字符。
& l/ T% |4 h- w: Y
-M作为月份比较:“JAN”%26lt;“FEB”
1 u u8 K' Q, g$ T( c8 {
-r按逆序输出排序结果。
! T9 S# Q( R: O2 C/ M J+posl-pos2指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。
/ U! ~- E8 j9 [) h* }- N
-b在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。
% z0 J3 u- n* [! P7 T% I7 H3 {" Z-tseparator指定字符separator作为字段分隔符。
4 Y; j/ d9 t5 B6 Q$ q# V, \- a
uniq命令- z' g' ?0 ^. L$ g9 p( u
文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。
. c3 v$ k6 W/ Q: m, Z语法:
0 T* f& ~+ ^6 o# P* [0 quniq[选项]文件
) _' P% }' B- |[color=#FFFFFF']
7 _1 N9 m0 K/ t* x/ g9 b
, o, t8 U! s, z) I- N" E说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“-”表示,则从标准输入读取。
5 j. h3 |- S$ c- C该命令各选项含义如下:
; Q/ y$ N& r3 e$ }; `! J
-c显示输出中,在每行行首加上本行在文件中出现的次数。它可取代-u和-d选项。
% o3 I$ l0 X$ n# E! T3 I! o-d只显示重复行。
# m _$ v: {# Z% B6 j% J
-u只显示文件中不重复的各行。
! l) `5 ~' H8 e4 x) O8 v-n前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
0 w5 Y) H: P. f* G* j; e6 a( G
n前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
, g8 U; l) s8 o& R6 I
-fn与-n相同,这里n是字段数。
`: [4 A/ ]6 x8 P
-sn与+n相同,这里n是字符数。
* F1 y% c) V% p' I
Linux备份与压缩命令, y) k! Q% f: v& z
/ r9 J, ` L/ O( x$ \tar命令; u, G2 k: F; C3 l# o/ }
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于
网络传输是非常有用的。Linux上的tar是GNU版本的。
6 h+ D! S; E7 {语法:tar[主选项辅选项]文件或者目录
. s5 n1 n6 {7 _' x( @& Q
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
, t C0 t- e# V$ X% S- ^2 j, z3 j( o
[color=#FFFFFF']
# w5 e, d' N* u( {2 }
8 }7 s7 N: o! @/ `主选项:
- u( d ^8 A+ c$ y- F
[color=#FFFFFF']
5 N: ~7 s- R8 D) ?( n3 ^* O$ s9 f% L. f2 s
c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
# K. e. ?3 y; `6 u$ D' L' ~* Pr把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
+ x K% f+ I3 I- V" G4 M |
t列出档案文件的内容,查看已经备份了哪些文件。
. C* A, M3 X9 e[color=#FFFFFF']
5 P, O. i3 y2 j& H2 s! f& r& s' t
8 C" h' y3 ]8 e: |3 u4 g# Ru更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
1 f+ D9 Q0 Z7 `& ]x从档案文件中释放文件。
F/ \$ X. @7 w+ K A1 B! i% D& F( Q
[color=#FFFFFF']
! ^/ u. \4 h/ H: |3 U# v0 t5 a; d4 P( s% B$ R Z+ d
辅助选项:
; H3 l7 Z7 o7 w. O
b该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512bytes)。
3 U8 m5 B/ R. @/ I! ?[color=#FFFFFF']
; z4 V0 q9 h/ r/ ?/ A; Y- m0 L2 I
! C l0 n4 Z6 v- D% T$ nf使用档案文件或设备,这个选项通常是必选的。
q" j; f! y/ C1 E9 r( z2 f* c[color=#FFFFFF']
/ {9 X! D8 o# X- e1 O+ R) q
/ l( _. I) G- R0 D6 w1 b Z, `k保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
8 w+ b# K: ~/ T9 t# \
[color=#FFFFFF']
: z& v# S4 u" G9 z, k) B* ^# K( ^0 E7 B( o3 M: X+ s3 z5 I
m在还原文件时,把所有文件的修改时间设定为现在。
! `# U0 L* v0 x$ ?
M创建多卷的档案文件,以便在几个
磁盘中存放。
2 ~3 U4 c& O- W; v' n8 {9 H
v详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
" @9 R5 O% d. S' e) t* }6 Yw每一步都要求确认。
4 K3 d* ?- b3 b, V
z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
. D8 r5 J$ ] j
[color=#FFFFFF']
) q8 N. P: \/ b. }0 X
# o1 i; b/ c' F' `( dgzip命令
9 j) L# u( m2 ~- T5 Y9 W减少文件大小有两个明显的好处,一是可以减少存储
空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
+ h1 j8 Y9 _7 R3 e7 K6 j
[color=#FFFFFF']
1 k6 ~) T* V; p2 R ]. T: e
8 e8 \0 ?- |; l+ s$ D# _% h; p; T
语法:gzip[选项]压缩(解压缩)的文件名
! F1 e3 z" {4 i# f- ?
各选项的含义:
! ^9 I# V }) i-c将输出写到标准输出上,并保留原有文件。
: q; X2 Q& D# `0 }' x+ C& H& [2 o[color=#FFFFFF']
9 T9 H$ n: d! u
6 ]& s' s, c4 P-d将压缩文件解压。
) K: k" o4 B- x7 x, w% f-l对每个压缩文件,显示下列字段:
- o3 V4 w- h' b0 s4 C5 h' t" {) k; w
压缩文件的大小
. }- o5 z, T8 f( y5 ?' n
未压缩文件的大小
! \) v$ W% n( w1 o5 U1 ?
[color=#FFFFFF']
. D) v* |* M3 b: W, k" h& k7 k# @6 C, p- E3 P P- Z1 S7 v; K
压缩比
$ \5 ?) T) {+ ?: L[color=#FFFFFF']
$ n, d1 Y1 g$ W) d! T/ W7 Q- h9 K* [* D
未压缩文件的名字
) ?& L- H: v( {-r递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
8 S& Q a4 T q8 q4 i* I$ q. S# ~1 h-t
测试,检查压缩文件是否完整。
" i* v& N2 i# w, G, O' {* K: R
[color=#FFFFFF']
/ S- O3 f D# W( D3 \# ~
* D8 E. O4 n% G-v对每一个压缩和解压的文件,显示文件名和压缩比。
5 Q8 l+ d4 U) `" i$ Y+ Q$ I, j6 |-num用指定的数字num调整压缩的
速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
" b3 O4 b% R, G1 |
unzip命令" P5 \3 M% \) o9 i
用MS
Windows下的压缩
软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
% K/ G0 Q: i2 m* N语法:unzip[选项]压缩文件名.zip
8 c2 O2 }' ^; l% V! q6 T, {2 \
各选项的含义分别为:
# ]7 ?" k" m9 j[color=#FFFFFF']
2 m% b4 c& ~8 Y' S, x: i) v1 v* I% \( b1 }0 }
-x文件列表解压缩文件,但不包括指定的file文件。
9 ^; E) n, ]: H$ }
[color=#FFFFFF']
( S9 o3 h% F' [/ U5 y$ H1 t J
; n5 `- Y7 o/ b
-v查看压缩文件目录,但不解压。
; y- i$ R- X8 b: }0 A, B
-t测试文件有无损坏,但不解压。
/ {& N# d$ A( l
[color=#FFFFFF']
, u7 Z% D t6 \( A; }. X: e
; r: _* J% ^: C
-d目录把压缩文件解到指定目录下。
. U* G! `2 D+ y* z; ?
-z只显示压缩文件的注解。
& O! A, `/ d, [# d[color=#FFFFFF']
* Z. w/ [6 p$ E8 M$ m! `9 [
) ~. X* @3 v8 W9 d k# f! s% ?-n不覆盖已经存在的文件。
% ?; z$ O7 C# H5 Q9 c& {, F; N
-o覆盖已存在的文件且不要求用户确认。
- y# Y' Y2 U" x' W, r-j不重建文档的目录结构,把所有文件解压到同一目录下。
9 c# T+ [ s( z
3 L5 d. x4 B) }[color=#FFFFFF']
i1 Q- [. B/ l$ X+ r$ l) C# }
/ W! `9 R# [; D5 v/ w在Linux
环境下运行DOS命令
4 i) K% z8 _8 L- V' `0 X0 {, C! Q7 q6 ?3 o) l
[color=#FFFFFF']
9 r1 c7 g- t* ~/ L; P% _2 }
" |& k& F7 ~; j+ x# g2 X7 yLinux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读、写文件和目录。它们对DOS和Linux环境之间交换文件非常有用。它们是不具备共同的文件系统格式的系统之间交换文件的有力手段。对于一个MSDOS的软盘,只要把软盘放在软驱中,就可以利用mtools提供的命令来访问软盘上的文件。
2 r1 ^. V. H: _4 `7 A. y
mtools的主要命令如下:
7 a" L) S# A: O# r
[color=#FFFFFF']
/ @ Q! a) Q; U7 t2 J; Q+ q
: K, @' o+ m, G/ d
mcd目录名改变MSDOS目录;
0 C/ P7 g: q, P ?# ?mcopy源文件目标文件在MSDOS和
Unix之间复制文件;
4 u4 Z2 U6 p6 p4 l
mdel文件名删除MSDOS文件;
% O! B7 ~/ |1 S) |1 y
mdir目录名显示MSDOS目录;
. Z9 }9 k, J0 I; y: Z1 }1 u5 Y Vmformat
驱动器号在低级格式化的软盘上创建MSDOS文件系统;
4 z& W! W2 }0 V. p2 qrnlabel驱动器号产生MSDOS卷标;
) T, X2 W- D4 k7 L4 R- j
mmd目录名建立MSDOS目录;
. Z# z# }# v; U) X/ k) G% e/ V9 emrd目录名删除MSDOS目录;
4 {2 r& r7 T5 S; f5 M
mren源文件目标文件重新命名已存在的MSDOS文件;
. C. ], B% W K, V; p& km
type文件名显示MSDOS文件的内容。
( Z; o) @/ C k* u9 J
[color=#FFFFFF']
( ~% _9 v y+ }) n$ U5 |( Q: T7 M
7 A* D4 c3 J: y0 a `+ E( T* J7 V
提示:这些命令和对应的MSDOS命令非常相似。
/ _" S: P; Y5 R! V& ?
[color=#FFFFFF']
. [( O& p4 U* @
3 y: W! D: j9 U0 p- L7 ]* E* [Linux改变文件或目录的访问权限命令
* M. a, I Q- O. N
7 `, ^5 a+ [( N
& g( ~8 ?( i3 X1 L[color=#FFFFFF']
2 F) t! |- Q( {7 E, V. r
5 m5 |( y3 |- n
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
% Y) J" B9 [& W3 }4 K) d
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个
程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
! `# A- c% X; Z* X
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
2 x4 S2 F* p/ l3 x% Q3 }每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls-l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
. E t0 }1 G$ u! l& P+ G- L
$ls-lsobsrc.tgz
( t5 ?* R2 R3 _. p
[color=#FFFFFF']
5 x9 g+ P; n' ^0 N% N0 v
+ Q, {4 n$ f5 o/ g9 ]9 Z4 G-rw-r--r--1rootroot483997Ju1l517:3lsobsrc.tgz
" U2 _- B& d( H8 c4 q' e0 V( O0 o7 g横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
) i! ^6 T% S* Y9 j例如:
% I) c( O% s) }' v2 V p[color=#FFFFFF']
, y- q& ^9 N; B0 Q! X3 _- I
( K! z2 O4 a) l$ n0 c+ l% N. D3 V
-rw-r--r--
. Q) F$ P6 U5 E7 D/ V
普通文件文件主组用户其他用户
) I( U$ Q) o* I$ I% m$ ^
是文件sobsrc.tgz的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。
' }9 a+ Z0 `8 h5 b! O% N: N
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
( w! P& y0 {8 R/ B/ X. _3 ]下面分别对这些命令加以介绍。
+ a& I6 Z' }( L" V% G8 g4 e8 E5 R
chmod命令
% J1 _5 F8 d- Y; I, Bchmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
( m' E6 ?! G6 _- z& ?[color=#FFFFFF']
- @8 `0 y$ {; s% x
- n+ c) i4 H. J- Q$ ~" m该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
/ I! c6 U9 r- X, r! A7 l
1.文字设定法
# B$ ^3 _8 `/ Qchmod[who][│-│=][mode]文件名?
7 R2 y+ f- \$ \7 v- V
命令中各选项的含义为:
, \% e0 A3 D! `: s- Z" ?' t
操作对象who可是下述字母中的任一个或者它们的组合:
" o# k3 ?+ n m( p, w2 r$ R+ x0 J% ?
u表示“用户(user)”,即文件或目录的所有者。
! |) {$ ]2 b7 f0 ^4 Q$ W+ `
g表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
8 _& S; i8 P6 E( S& u1 N, G
o表示“其他(others)用户”。
( l! S" N8 w2 k/ n7 N, {( J6 Xa表示“所有(all)用户”。它是系统默认值。
! B2 P$ w9 c' n操作符号可以是:
( x* N/ Z+ V. y# [3 t
[color=#FFFFFF']
6 q( ]6 t! z* ]' e* T! V- |/ e6 _
+ c) t' V: \, ], m/ a3 _2 i添加某个权限。
# g; e/ r+ f6 ` A( X( \! J1 V3 g; I-取消某个权限。
. I& N( u+ l$ _/ G4 N
[color=#FFFFFF']
" b! A; A7 Q6 M
8 D5 f/ } E7 p# W2 F; |5 ~ w=赋予给定权限并取消其他所有权限(如果有的话)。
: g! a$ B+ T) ^, P, b设置mode所表示的权限可用下述字母的任意组合:
8 T8 t& _9 D; h8 kr可读。
$ G* D9 |2 F! E1 b; sw可写。
; N+ X. ~$ @5 m9 Vx可执行。
, N4 o1 ?* c1 ?[color=#FFFFFF']
) t9 _, S3 J, z; G' E
$ H. q9 K; s1 v/ C! }! f8 f) @9 QX只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。
( I. l1 _/ ?* Q# w4 xs在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
! a1 W& g" Y, C$ zt保存程序的文本到交换设备上。
, ^) p6 ?0 _: c[color=#FFFFFF']
; _5 x6 X, L$ `
# X2 O) A) Y3 I. n4 Ku与文件属主拥有一样的权限。
) {2 T" w/ ^9 F' C+ |) `' T6 v3 k
g与和文件属主同组的用户拥有一样的权限。
0 i) p+ h+ u2 w' b* P
[color=#FFFFFF']
: c6 W. H }7 h0 ?6 d7 A6 q
+ ~( e+ ?) K3 V! H+ Q6 y
o与其他用户拥有一样的权限。
% Z* V" t( W1 o% F1 y, b$ d# q
文件名:以空格分开的要改变权限的文件列表,支持通配符。
7 T. k3 D7 ~2 `- W
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmodgr,orexample
" w! z# r$ B% @# H
使同组和其他用户对文件example有读权限。
1 D5 h& _7 t& q' Q/ _# y2.数字设定法
) h8 D( P9 I V5 L4 o, D1 n
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
9 O D! o( ?( l2 o9 J' O
[color=#FFFFFF']
" P+ h4 B+ ~7 V. v4 h! F, c$ y
- |8 ]& \% b3 }& U! |$ t1 T例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)2(可写)=6(读/写)。
3 \0 f% g1 Z4 C" X: G" e
数字设定法的一般形式为:
# s" k" O6 i m$ m' z( B0 O6 D1 Ichmod[mode]文件名?
, e9 ?% S- ?. I } f0 Ochgrp命令6 H+ j) b+ }2 g8 S% F
功能:改变文件或目录所属的组。
. m* r0 I4 b* I# N' k) s[color=#FFFFFF']
* A( A$ x O/ I0 h7 D. z& j1 D
9 P0 O* C6 v- {语法:chgrp[选项]groupfilename?
7 H; O! R N4 E/ e( H: n该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
+ n9 j( F! y( D2 y4 V; x( ?
该命令的各选项含义为:
5 z$ b8 p/ H0 y) D/ Q/ I4 a
[color=#FFFFFF']
2 A# F+ ]) o0 M) A6 d
2 I' r7 m0 T* J
-R递归式地改变指定目录及其下的所有子目录和文件的属组。
1 _" Y/ P' D, R. wchown命令
5 K& u! | T8 J' x7 z功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
! E. v" g+ w' N5 q& o5 |语法:chown[选项]用户或组文件
" F- N0 O# l* R& |8 m( Q: h
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
1 q& u* _0 j' k5 B
该命令的各选项含义如下:
) G8 ~0 k) Q5 r# e; { i: d& S
-R递归式地改变指定目录及其下的所有子目录和文件的拥有者。
" H5 N$ X7 O: P1 Q5 d
-v显示chown命令所做的工作。
* x- D5 q& X+ J% o
, |1 \* \! B( w& PLinux与用户有关的命令
+ C$ y% j$ i" Y8 z
! c/ o9 G( ~* I8 X
passwd命令
! ^ Q9 S3 }* n/ T, Z R, c[color=#FFFFFF']
7 D* f- i9 ^; o4 ^1 y( k
" e* T( N. w; k# R* w" P$ j出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。
% ^2 n) E5 P" K# s6 O! k
该命令的一般格式为:passwd[用户名]其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。
4 S1 p4 J/ Z" h m8 m) U
该命令的使用方法如下:
& u- h3 i5 U# J# J! @4 @输入
. p: h: j1 U0 i$ y& E* r2 Rpasswd%26lt;Enter%26gt;;
! V) b* t: n6 f# V, t1 l" l[color=#FFFFFF']
" @/ z0 _ P$ k ~. X* e
: G- w1 ~8 L4 Q* y1 v9 m! j) u2 i# M在(current)UNIXpasswd:下输入当前的口令
. q3 }! }8 S' p5 B% k& s$ \2 t
在newpassword:提示下输入新的口令(在屏幕上看不到这个口令):
5 K4 H5 a! `9 [
系统提示再次输入这个新口令。
+ ]+ N* W+ E9 B# d# J0 q Z$ m输入正确后,这个新口令被加密并放入/etc/shdow文件。选取一个不易被破译的口令是很重要的。
' C; h: q( H2 I# i7 o/ A/ n
选取口令应遵守如下规则:
8 l7 I4 W7 T7 X0 L3 e$ |, F
口令应该至少有六位(最好是八位)字符;
- [9 V$ ]0 a# G1 E- `
口令应该是大小写字母、标点符号和数字混杂的。
" `7 K& l9 N" f, Z5 a; f9 Z超级用户修改其他用户(xxq)的口令的过程如下,
# i; C6 V6 h4 a0 Y+ c Q9 q#passwdroot
6 l; L! A% j+ K* Q' i* ][color=#FFFFFF']
- K' p3 r9 d- L8 w5 D+ x
; g8 {) `6 p9 {5 F0 r- hNewUNIXpassword:
$ g, U, P! O& L
RetypenewUNIXpassword:
, Q8 t) h2 a9 [
passwd:allauthenticationtokensupdatedsuccessfully
, v- A1 [2 V) c, Y6 @. V
#
7 e' G* s8 G" S( Y4 E+ Y
su命令
5 y% q/ W& \5 t) t2 i这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以打exit。
$ i; G1 |7 z0 C[color=#FFFFFF']
o& U S# o! ~6 A4 [7 d9 Z
% k, n+ Z1 `" v
该命令的一般形式为:su[选项][?][使用者帐号]
e- P* ?2 J+ ?' @& d
说明:若没有指定使用者帐号,则系统预设值为超级用户root。该命令中各选项的含义分别为:
$ V% k q7 w* E# r$ U' M?c执行一个命令后就结束。
$ {2 y0 t0 M) B) z7 w: |6 W- i4 t
?加了这个减号的目的是使环境变量和欲转换的用户相同。
! `; p4 d' K4 G5 P" \
?m保留环境变量不变。
: v4 p! X: j2 E
password:【输入超级用户的密码】
& @8 |2 G5 Z; u5 [; K3 Q2 j7 Z; |% M$ z) A6 J/ F& y. q
Linux系统管理命令
( b% C+ `: o, k9 G3 |2 N
' i$ ^2 g. k2 _" K- l: `: t( dwall命令. Y* N1 v: d( U0 ]$ Z8 G0 m
[color=#FFFFFF']
t$ Z* R8 D; f
9 Q$ V0 W% I) K" n) s
这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入:
: d ~: v. `$ T[color=#FFFFFF']
k; Y I2 o" `2 ]
9 [, Y' Z" H5 B8 z" I#wall%26lt;文件名
, P- B W# f8 C8 ^0 V! t8 b+ L, `0 O这样就能对所有的用户发送信息了。
& i+ M! }; x2 j" n
在上面的例子中符号“%26lt;”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。例如:
4 s ^ |9 z! {7 E w#wall‘Thankyou!’
/ Y( R$ g% B, A+ N/ v
Broadcastmessagefromroot(tty1)FriNov2614:15:071999…
3 z% v/ p* w- V- G9 H* W& V0 q
[color=#FFFFFF']
) f i3 v5 @1 w4 r/ b5 G. O& t
$ J2 y# [2 L0 P5 X( ^2 r$ b
Thankyou!
# ^( V( m& Y8 W2 K6 n
#
& |+ a# q$ i. z. Z5 c2 j5 s" [2 m执行以上命令后,用户的屏幕上显示出“Thankyou!”信息后,并不出现系统提示符$(#),再次按回车键后,屏幕出现系统提示符。
0 K" t4 b& q- ] Gwrite命令
# i4 _/ z0 _+ O P! @write命令的功能是向系统中某一个用户发送信息。该命令的一般格式为:
8 g R; l+ Y$ ?' \+ k8 @( Zwrite用户帐号[终端名称]
9 w) u; W' G! e7 {: Q, F
例如:$writeGuesthello
' D- `; k0 p' n9 f. w! Q/ g
[color=#FFFFFF']
! T: h @0 p! K' }+ }
+ M9 W3 r: v+ i4 @4 ^+ M
此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键%26lt;Ctrlc%26gt;即可。
; }5 {# x# J f$ G0 o[color=#FFFFFF']
! F+ J P1 V. E% n
5 Z; D# p: T) dmesg指令
8 v4 {" }. y9 Y' ^[color=#FFFFFF']
4 x4 {& k8 @2 b/ P+ p- v& V7 ?) L9 i
8 n9 D; U3 K# b4 o, s
mesg命令设定是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:
4 E, d% y/ b$ T6 M- x3 ^9 J5 w
#mesgy
' s1 r0 x0 f1 F) K& I
否则,输入:
$ o0 ~! }5 R0 s+ S" ][color=#FFFFFF']
, }0 w: y3 U6 F& c6 T4 r
+ j( ? ~0 O, d#mesgn
4 K- H- ~2 k- h2 X9 o9 r" F3 }' p对于超级用户,系统的默认值为n;而对于一般用户系统的默认值为y。如果mesg后不带任何参数,则显示当前的状态是y还是n.。
# ~5 i9 @' Y; Q6 ^! r5 N
sync命令
' y6 I4 T& C8 L; H* hsync命令是在关闭Linux系统时使用的。用户需要注意的是,不能用简单的关闭
电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与
硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:
- A/ W3 r+ H& t4 ^$ b* ?7 Q
sync
0 W o/ G6 u% j! @[color=#FFFFFF']
/ O3 G0 g+ a5 `
* R2 _* }4 c' S& @) N Sshutdown命令
, B! j/ _) `2 J5 M: Z! g* ]) w1 eshutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。
9 @6 f) y, Y$ k9 Y9 m0 Z/ M, \
该命令的一般格式为:shutdown[选项][时间][警告信息]命令中各选项的含义为:
/ O3 {# [$ h7 P, A
-k并不真正关机,而只是发出警告信息给所有用户。
$ u h% x% X+ F3 M
-r关机后立即重新启动。
% V8 \( |* f% z( Y7 t' v
-h关机后不重新启动。
% k5 U' L# P" {$ ]- H
-f快速关机,重启动时跳过fsck。
0 o8 S$ h+ M2 J7 J/ ^- ?1 ]
-n快速关机,不经过init程序。
( w' N9 X/ o9 A
-c取消一个已经运行的shutdown。
4 `* T8 U! M, x
需要特别说明的是,该命令只能由超级用户使用。
2 `! I. v9 |* L. x9 ]! {& c
free命令' g4 a' y: P& O7 e/ e# t
free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的
物理内存和交换内存,以及
共享内存和被核心使用的缓冲区。
) a! v+ t' |( b! Q7 E; v6 X+ K: \该命令的一般格式为:free[-b│-k│-m]命令中各选项的含义如下:
" t2 E2 Z: e; k2 v[color=#FFFFFF']
6 H6 e$ Z4 m/ ~6 ^+ P7 X& a
4 E; t1 g6 l, E* J6 y' u3 g-b以字节为单位显示。
1 l {3 J: s* `* \-k以K字节为单位显示。
, r; H6 d6 Z6 {- ^. u+ e
[color=#FFFFFF']
T5 U; H; z' }* G( j. v# D
9 B) b/ E; X" j( X' G' i-m以兆字节为单位显示。
' A) u8 }# m, {6 b( _5 yuptime命令
+ I1 |; M2 o9 W" _4 P9 X- E* ~- \
uptime命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
h5 v. P0 `+ ~5 ?: M该命令的一般格式为:uptime
2 t4 b7 P9 g {" o3 B0 `/ }
% Y7 D8 r. y" Z8 R! yLinux磁盘管理
% b( E6 ~) V1 t: D! o I0 L/ n- H/ C& o; x) F- H
[color=#FFFFFF']
7 n g+ F. y2 K8 u
& |/ V4 e2 C/ s, Vdf命令
7 ~+ j! o" a0 D+ [, p$ T) m功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
1 v8 n6 Y) m4 ~$ U$ m, z, B& V8 R
语法:df[选项]
2 F9 u4 i5 y. |0 y8 h
说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。
0 l0 W5 T8 i- S I2 a4 U
该命令各个选项的含义如下:
6 i& u6 U+ V% n, V1 G7 H* W
[color=#FFFFFF']
9 B9 h$ T6 D! e7 s
' N, Q, R) v) n* _-a显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
: f* y, |2 m, w' i: k1 k-k以k字节为单位显示。
" K _3 X. _3 `4 l& k w" T5 n& U' z-i显示i节点信息,而不是磁盘块。
* l; K$ w/ I8 W-t显示各指定类型的文件系统的磁盘空间使用情况。
3 ?$ T! n) w) }2 I9 e0 D, i* I( G& E-x列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
) k9 v9 f8 L d[color=#FFFFFF']
# ?2 z3 f6 G, x( ?: t/ {
' h0 ~* U9 T( F/ R) T+ J
-T显示文件系统类型。
6 ?$ u2 X4 C4 R* T7 J( a9 E
[color=#FFFFFF']
' B& s1 n0 Z" B8 k+ }* ]4 a1 J1 `: K, c; H- b. `
du命令
2 O: q) _/ K2 \8 p; G0 Pdu的英文原义为“diskusage”,含义为显示磁盘空间的使用情况。
G5 x3 K" P3 ]/ x功能:统计目录(或文件)所占磁盘空间的大小。
/ Z _- L6 c2 _: K4 O) v语法:du[选项][Names…]
! V0 j$ k# B/ n& |9 q7 S3 N说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
2 K! E1 g( E+ y4 r$ s" R n该命令的各个选项含义如下:
\) G2 {) P5 q
-s对每个Names参数只给出占用的数据块总数。
6 e U |6 `0 U! E[color=#FFFFFF']
( C2 S1 v7 Z4 V$ `( {# T1 l" k7 e
' k/ T- w$ ~, I# X Q" P-a递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
& K. ? \) u3 f0 A6 N* p: m-b以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
) ]' a6 \5 U' ?9 ^2 I. k
-k以1024字节为单位列出磁盘空间使用情况。
S9 p* p# ]% {- Z
[color=#FFFFFF']
7 G! O1 r; W7 c4 H, c. h) f T- q0 o2 ~$ g* \
-c最后再加上一个总计(系统缺省设置)。
: P0 S9 ]" Z1 T! W' r( g
[color=#FFFFFF']
* N/ g% f" w: _
5 x; B$ H: q+ h" s-l计算所有的文件大小,对硬链接文件,则计算多次。
. Q6 U4 r+ Q( I7 H+ a/ ^( m4 F7 c-x跳过在不同文件系统上的目录不予统计。
; d, {' H, ]& o/ z/ D) o# b0 I
[color=#FFFFFF']
5 ]( z I" z( F8 ^4 N% P7 |: U1 ^: m' b+ J# c' R
dd命令
0 e8 L! P3 P9 U6 |" }功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。
: j1 }: H3 p5 [3 r' k1 }% A
语法:dd[选项]
* L7 `7 {" T) w7 e# d$ r/ v
if=输入文件(或设备名称)。
$ i( T8 g( I1 C# h- `! V9 W# jof=输出文件(或设备名称)。
% q/ L% @, R: o# {0 Eibs=bytes一次读取bytes字节,即读入缓冲区的字节数。
/ i4 B2 j4 A1 a& h6 X
skip=blocks跳过读入缓冲区开头的ibs*blocks块。
' z# N' w3 H5 u7 j0 N1 T
[color=#FFFFFF']
& h6 A9 y- B/ T y, l' ]
$ f' E! j7 f# f* c' _$ Sobs=bytes一次写入bytes字节,即写入缓冲区的字节数。
) T; q6 N+ K6 w- C$ _6 I
bs=bytes同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
4 u) }& c, @! N; j6 [* r+ @5 zcbs=byte一次转换bytes字节。
6 C* L' h' U- e3 `8 H, Fcount=blocks只拷贝输入的blocks块。
( F1 G7 o. ~ d0 X. ^conv=ASCII把EBCDIC码转换为ASCIl码。
2 b- O. |$ D3 \" m% i& W4 U" P
conv=ebcdic把ASCIl码转换为EBCDIC码。
: a+ f2 K2 f' ?' e0 ]- C1 M( Nconv=ibm把ASCIl码转换为alternateEBCDIC码。
% S/ f5 }" p0 W
conv=block把变动位转换成固定字符。
( }3 c0 m: |' `0 Z% z7 ~% R
conv=ublock把固定位转换成变动位。
8 l4 }# ?+ M( q: I
[color=#FFFFFF']
4 @) P0 n2 |2 T9 V
5 Y! P$ ?' o9 y' ~conv=ucase把字母由小写转换为大写。
( j( K+ i% R( k
conv=lcase把字母由大写转换为小写。
2 x% o3 b; v, u- n6 D+ yconv=notrunc不截短输出文件。
1 l$ f# k; q; ?# n5 k7 `! n! Pconv=swab交换每一对输入字节。
6 c" i: L9 z! }2 F$ R: G
conv=noerror出错时不停止处理。
2 u1 O' C) l% jconv=sync把每个输入记录的大小都调到ibs的大小(用NUL填充)。
/ W( n( ~6 K) S4 afdformat命令9 v" |7 a* \) J! y% @) q# q
[color=#FFFFFF']
/ w x5 D" V, Z* i2 e2 @9 Q: G6 N+ K
软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用tar、dd、cpio等命令存储数据,也可以在软盘上建立可安装的文件系统。
; a2 w7 N( B; a% v* y/ h+ [0 r功能:低级格式化软盘
/ N- A3 }- j6 {# M& o- W( d* _[color=#FFFFFF']
G0 M& W8 L0 {: h7 ?# \
' b. D, l0 h+ T, L! m5 o t! q) o
语法:format[-n]device
, Y9 z S% i4 p7 T: o说明:该命令的作用是对软盘进行格式化。
+ S- c9 b4 g; w* p% L
-n软盘格式化后不作检验。
/ J% z/ Y U0 h& u
device指定要进行格式化的设备,通常是下述设备之一:
! i( q/ z) F F8 G
/dev/fd0d360
0 E& ^# d; b$ {) `/dev/fd0h1200
: p: C! u9 L' o+ g; m* v5 L9 \1 K% u0 h
[color=#FFFFFF']
* Q' t' r% K& Z, [: ]' K2 v' y
; f( x* i. Y" E! t/dev/fd0D360
+ W- ~3 b$ c& m5 U/ y# \. R/dev/fd0H360
, W1 ?) x5 |+ F/ |$ `( s9 M# L/dev/fd0D720
S) N- p( v; g; X1 x
[color=#FFFFFF']
) ]* f5 d3 m. J' \/ {' w {; R, D& P3 h% o
/dev/fd0H720
9 N4 Q0 U9 l8 n \0 c. L2 v$ ^ B/dev/fd0h360
% C+ h& Z! a& s1 |/ i! {$ _& D; ~9 v6 V5 B/dev/fd0h720
8 B: a% [, L4 k% k/dev/fd0H1440
0 p8 `2 G; O: P' { V5 Y. F; z
9 t3 P' a3 t8 `9 |[color=#FFFFFF']
* t( }2 q% r& I" f- p
7 H* {7 t9 x. N& K5 } R4 n5 t
Linux其它命令
( ~8 B# Y( [2 K
( ]" v8 M* E. c0 a3 Y
4 D4 E" [; f# H f' t0 F+ R
[color=#FFFFFF']
% y0 W0 C' K% K+ Q2 ?; f
0 o' q2 l( [: l0 }, Pecho命令' ~% J: G' K2 \ H
[color=#FFFFFF']
7 b- c( k2 K" U; O3 s4 N
( G: Z) m: G5 c. s6 z
echo命令的功能是在
显示器上显示一段文字,一般起到一个提示的作用。
: N# m* ~7 a: ~2 J该命令的一般格式为:echo[-n]字符串
" F- r! o1 N; h! X& c% e$ `; S其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
# S& O4 ]6 a8 K% b% l5 A* hcal命令5 g( ^$ p2 ]7 e g& T. u
cal命令的功能是显示某年某月的日历。
; Y5 u/ E( p) D) e# v9 j
该命令的一般格式为:cal[选项][月[年]]命令中各选项的含义为:
9 p$ f0 _+ Z% ]; ^0 A8 S- I[color=#FFFFFF']
/ \( N; q5 v$ l% B3 R4 v
4 W: f. H# w& _* I& b( C) U8 N-j显示出给定月中的每一天是一年中的第几天(从1月1日算起)。
2 ~: a4 n% }) E4 X
-y显示出整年的日历。
6 z7 u. v- E* q
date命令
9 z2 j5 p9 h* v0 zdate命令的功能是显示和设置系统日期和时间。
' E# d* K; g, {# \) q1 g
该命令的一般格式为:date[选项]显示时间格式(以开头,后面接格式)
0 e, w4 i N I) ]$ |7 M
[color=#FFFFFF']
, W+ }& ^& J1 P* _
6 j2 s- R1 _1 D, Y8 Z1 r% b' G- _/ l
date设置时间格式
; t/ r. `" L4 v5 ^4 c# W: V4 w命令中各选项的含义分别为:
4 r1 S* c4 F3 C! ?- L5 J
[color=#FFFFFF']
$ x3 w0 o/ h8 ^6 m9 [" g+ ]
. {4 j. d7 c7 o! ~6 N( q
-ddatestr,--datedatestr显示由datestr
描述的日期
3 U. N5 E G3 _& k-sdatestr,--setdatestr设置datestr描述的日期
8 p9 h& l# A: e6 _$ S9 r[color=#FFFFFF']
" z: k+ I$ y7 \% O* }
' B; r3 M4 o- J3 O5 J
-u,--universal显示或设置通用时间
& k9 `6 U- g3 A5 ^( R时间域
2 J' \, x. D) N( o2 q& k%H小时(00..23)
8 W* s3 ~+ E0 l5 A- d, i: a% n
[color=#FFFFFF']
0 y2 \7 J x; J* f/ `4 n2 D" Z" B- v
' Y9 A6 A. ~2 Q%I小时(01..12)
% m4 d3 K+ M4 t/ U; }# S/ H1 K%k小时(0..23)
! r7 T% ^- z, _* p$ t# y" S! a
%l小时(1..12)
Q+ H i# n; F# J3 o4 Q
%M分(00..59)
$ S1 Q9 A1 Y! }%p显示出AM或PM
& t$ n( ]; O1 m6 o- Y: c
%r时间(hh:mm:ssAM或PM),12小时
* z) e0 N9 s5 d
%s从1970年1月1日00:00:00到目前经历的秒数
2 t# T0 i4 f& u6 U% A4 N0 C1 L
%S秒(00..59)
+ N0 L! z( i6 T+ Z+ u7 P" }% b%T时间(24小时制)(hh:mm:ss)
4 |2 M+ A: ], l. s& X+ p7 |
[color=#FFFFFF']
! ^0 t) S1 `2 O) Q
) b w& \+ ~4 c; i* b%X显示时间的格式(%H:%M:%S)
. z2 D! x+ f3 A: f1 t v/ _/ _
%Z时区日期域
; Y+ @. P5 w) W- z
%a星期几的简称(Sun..Sat)
3 m& ]3 |6 X" S
%A星期几的全称(Sunday..Saturday)
F2 q) X4 j% d& e6 J$ o4 B[color=#FFFFFF']
' {$ C$ m8 U$ b5 S: ~* v8 v, g! ~1 N
$ D% I; a' O* l: e
%b月的简称(Jan..Dec)
. r" Z3 }8 R3 Z, f: Z6 \2 t y%B月的全称(January..December)
; M2 c& c) @ U! D' f( o%c日期和时间(MonNov814:12:46CST1999)
/ B2 K/ r4 ?3 T6 U%d一个月的第几天(01..31)
: {% W2 P6 V$ h$ \4 n
%D日期(mm/dd/yy)
+ ?0 |4 r! r; l$ Z' m8 a8 |%h和%b选项相同
" m; d; K* e- t7 y
%j一年的第几天(001..366)
+ L9 P+ y- {+ R0 e
%m月(01..12)
# S v$ y* p9 I: g4 D( Z. O
%w一个星期的第几天(0代表星期天)
6 ?2 t0 ^* N4 |& f%W一年的第几个星期(00..53,星期一为第一天)
, }5 v: R2 w5 C; I% l4 c+ L
%x显示日期的格式(mm/dd/yy)
& Q* l& L8 S, Q1 I2 k3 u
[color=#FFFFFF']
! V( Y3 m1 }: A/ B& q+ ]: E& d( U6 s' d. P6 x {4 v: q
%y年的最后两个数字(1999则是99)
' E- n7 @. g- h: q6 W+ C) |
%Y年(例如:1970,1996等)
& O. O" r5 ^* q7 ^ N9 @
注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。
" E9 g; m3 E' m+ dclear命令
. R1 s) C. B9 A$ A; Pclear命令的功能是清除屏幕上的信息,它类似于DOS中的cls命令。清屏后,提示符移动到屏幕左上角。