QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 2141|回复: 2
收起左侧

[分享] LINUX: 常用命令解析和技巧整理

[复制链接]
发表于 2006-11-7 14:11:36 | 显示全部楼层 |阅读模式 来自: 中国陕西西安

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本文收集了LINX下一些常用命令和技巧, 对初学者会很有帮助." a3 n: }' m3 L

/ S( x# O5 `: I1 c8 A; N# T一. 基础$ m: A2 j. ^% [; q, E2 ]; d
Q: Linux的开机过程都做了什么?5 D# W! i* N. a/ \
A: 1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;
+ }" K2 x, j; r- }  2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;
3 |* v; h( K; h2 o* I  3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;1 v1 p7 m1 I/ L! `) ?- n" Q8 O
  4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init) N! @$ R3 l, k
  5) init进程根据/etc/inittab的配置运行一系列初始化脚本;4 n6 T/ d5 e& g9 F  }
  6) 完成后,启动getty进程接受用户的登录.
! D) |0 U3 w' i9 r$ {: n% F+ A
1 i5 |3 b6 J" ZQ: 如何设置开机自动运行程序?
  O" S) R' `; f9 {8 x4 n% Z4 eA: 你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:& `6 L+ y* b' S5 Q! Y
/etc/rc.local/ W+ h" d% z3 s% W6 X
/etc/rc.sysinit6 @/ W9 T1 z/ g
/etc/rc.d/init.d
  r  `5 }/ ]: j6 Y) Y) G/ t, Y7 [+ [5 q/ V) i) @
Q: How to recover ROOT's password:
* e/ B5 c, ?; o6 p1 }. N; V  IA:* r1 Y& ~! A& M; g9 t' D
GRUB (RHEL AS 3.0 Update 2,vmware)
6 ^) ^- V; @, ~! K" j( l/ r1. press "e" when select menu appears;+ |( J0 j4 M2 U! u' C0 X/ w3 c4 y
2. edit
7 z  ~) Q/ Y2 Hold: kernel /vmlinuz-2.4.21-15.EL ro root=LABEL=/$ o9 U$ L9 n% M+ N$ s1 W( a0 O% k
new: kernel /vmlinuz-2.4.21-15.EL single ro root=LABEL=/6 v1 s9 l  K& T% f
3. press "b" to boot
+ C, s) m4 Y# c# z- W- h9 c4. vi /etc/shadow:8 b6 z& W4 Q7 ^' v
将第一行,即以root开头的一行中root:后和下一个:前的内容删除," u, j/ |: g! `5 o) M! ]. w
5. 保存(wq!): m" e! D- @& l0 g0 N
6. #reboot重启,root密码为空 passwd root重设密码, {" O/ `4 V, N8 c
( t3 r( r: |! l$ t+ d
目录说明
6 p/ _- h* J# x3 y# p/bin:存放最常用命令;
. |7 Q* `- i& T- _/boot:启动Linux的核心文件;
% \; E& t0 J9 i6 M. ~/dev:设备文件;
8 Y, E6 v  H' x4 N" X/ B/etc:存放各种配置文件;
& j& M- |( R3 F6 |6 p) n+ C* L% b/home:用户主目录;
8 n9 j* K$ N- |6 g1 M6 w/lib:系统最基本的动态链接共享库;) j3 S+ u, F: f' t
/mnt:一般是空的,用来临时挂载别的文件系统;
0 W* q/ t" J2 q0 ^4 t/proc:虚拟目录,是内存的映射;
; l, z) {  H0 M8 s' o4 @2 ?2 s/sbin:系统管理员命令存放目录;: }: z) p. u/ P* x/ F
/usr:最大的目录,存许应用程序和文件;
" A+ b4 @9 [9 n/usr/X11R6:X-Window目录;
. A' u. z' M! S' p# ^/usr/src:Linux源代码;& D% F4 O; Z$ I# ]
/usr/include:系统头文件;% t* y' }9 z5 r9 U$ ?
/usr/lib:存放常用动态链接共享库、静态档案库;
1 m3 m# I( f* j1 }! e/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充;
5 E- \$ z3 ?- e# _  l' u% B  C. z* G9 S2 Q* J
服务说明:
" U( }  ?* G  j! _  a& t/ k1、alsasound
7 z! |  z4 d; C+ l- B! Z5 Q3 pAlsa声卡驱动程序支持.Alsa声卡驱动程序本来是为了一种声卡Gravis UltraSound(GUS)而写的,该程序被证) N9 e  T& P" Z" c7 _
明很优秀,于是作者就开始为一般的声卡写驱动程序.Alsa和OSS/Free 及OSS/Linux兼容,但是有自己的接口," G/ G$ Q6 \, z* B% L7 I
甚至比OSS优秀.' u& t& a1 j4 s
2、amd
* K! T8 v, x- n7 h7 P% M运行automount精灵程序,该精灵在必要时自动安装一些本地设备和NFS文件系统.
( v3 a3 Z0 S  b! X* U3 ^3、apmd0 s8 o( I6 H' `2 a7 ?
apmd用来监视系统用电状态,并将相关信息通过syslogd 写入日志.也可以用来在电源不足时关机.
# A4 Z% f3 o0 M, P1 Z4、arpwatch
2 r6 ~" n5 [& U+ J1 E9 {该程序主要用来维护以太网物理地址和IP地址的对应关系.( v4 u. {. A$ s5 g& e" C) b! `& j
5、atalk
6 K9 Y! g# ^6 n) ~9 }AppleTalk精灵程序.注意不要在后台运行该程序,该程序的数据结构必须在运行其他进程前先花一定时间初始化.5 a. m% r* D1 I
6、atd* A! H7 L+ i& R" g+ n
运行用户用At命令调度的任务.也在系统负荷比较低时运行批处理任务.) `- P2 x8 L! I  R* m" `
7、autofs$ l6 w0 n- Q' `# i% K
当您需要时自动转载文件系统,而当您不需要时自动卸载.
& d( m( I( w5 C' G3 F& N5 C' ^$ n8、bootparamd9 B4 G3 ?! }" \$ _6 ?3 g
该服务允许老的Sun工作站从Linux网络启动,它和ra??rp现在很少使用,基本上被bootp和dhcp取代了.6 |- S) j) m: \# \) F6 V( q* Z# m
9、crond) F& `! J: L0 }
cron是Unix下的一个传统程序,该程序周期地运行用户调度的任务.比起传统的Unix版本,Vixie版本添加了不
9 G5 L7 S$ ~2 ~少属性,而且更安全,配置更简单.$ u" h. i* ?/ a/ r) J3 L. I
10、dhcpd1 L7 X2 n3 Q' h4 I0 v! h* ~
该精灵提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持.
3 _7 Y( V) G9 J11、gated
- L0 X7 L, D6 \) h* {( w8 jgated通过一个数据库提供了网络路由功能支持.它支持各种路由协议,包括RIP版本1和2、DCN HELLO协议、
, ~# V/ d9 u4 E4 j% V# vOSPF版本2以及EGP版本2到4." H" `0 A7 Q( s8 z' K
12、gpm% X$ |; K  {, L3 U2 @
gpm为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持.它也支持控制台下鼠标的拷贝,
3 y  L# X6 ^# a# X( J$ \4 ?粘贴操作以及弹出式菜单.9 n" V( f0 U% h+ v5 K
13、httpd
' H! f2 c1 i* j' whttp是著名的www服务器,可用来提供HTML文件以及CGI动态内容服务.
# E4 P8 x: Y/ g% W. M- I' R14、inetd
( G+ c: ^4 Y+ M. \6 }- \因特网操作服务程序.监控网络对各种它管理的服务的需求,并在必要的时候启动相应的服务程序.通常,$ G' i. S1 m8 b; ~/ y0 K
inetd管理的程序有telnet、ftp、rsh和rlogin.关闭inetd也就关闭了这些由它管理的服务.9 r' T4 M& |" O6 M2 T/ z
15、innd# s' K7 x7 p: c5 ?
inn是最流行的用户组新闻服务器.它允许您建立起本地新闻服务器.配置有一定的难度,可以先阅; F% u, F' H& F8 ^5 r
读/usr/doc/ inn*文档获得帮助.9 J! X  J$ A7 c" W' X+ a; Z$ U
16、keytable 该程序的功能是转载您在/etc/sysconfig/keyboards里说 明的键盘映射表,该表可以
; N9 S* M( P: V) `9 Q6 w通过kbdconfig工具进行选 择.您应该使该程序处于激活状态." n2 t; s: a; O) p% J& o
17、ldap
7 c$ L$ j- A, [6 jLDAP代表Lightweight Directory Access Protocol,实现了目录访问协议的行业标准.
+ \, }/ i0 c3 ^: P18、linuxconf* V! i9 t4 K9 }1 y% Z7 _
linuxconf是Linux下的一个有效的系统配置工具,该服务允许远程运行.; ]# `2 @) F  I+ u' s
19、lpd- Q, m# Z. d) l" ]' p" ]
lpd是系统打印守护程序,负责将lpr等程序提交给打印作业.
4 H! d6 s) Y, Q' m$ b7 O; d: q20、mcserv- z& s( f2 B8 n
Midnight Commander服务进程允许远程机器上的用户通过Midnight Commander文件管理器操作本机文件.
; n6 t) p& D- x$ I( B$ e! p3 J服务进程用PAM来验证用户,需要给出“用户名/口令”以通过验证.
  `& I' s8 L1 m5 _' y21、mysql
" T. C5 o$ n$ a+ q' l# X一个快速高效可靠的轻型SQL数据库引擎.
! v% U8 W, s, v2 e  R! {5 ?22、named
4 z/ t" f1 b( Y域名服务器,将Internet主机名解析为点分的IP地址.
$ J2 D0 }8 i# j$ @5 ~* W$ J+ R; G- F23、netfs- K1 q3 J) {$ T* M+ s1 w1 u9 L
负责装载/卸载NFS、Samba、NCP(Netware)文件系统.+ T; S& v/ L) x7 R2 r
24、network 激活/关闭启动时的各个网络接口.
7 D0 U# n- w9 R' c; |7 ]25、nfs
. M8 P) V, T1 H, c; y0 z  `NFS是一个流行的基于TCP/IP网络的文件共享协议.该服务提供了NFS文件共享服务,具体的配置
. G# b' ]9 H$ O, s+ u; u( c$ i/ t在/etc/ exports文件里.5 G! j5 j4 w* c7 ^; j0 H
26、nscd
  V5 h3 O" G  R5 I, I该服务负责密码和组的查询,并且缓冲查询结果.如果您的系统有比较慢的服务(如NIS和NIS+),则应该+ k% {' h: p2 x& ~" l  L
启动该服务.
& \" W: @; ^6 H$ P8 F3 k27、pcmcia
" i! V$ a- u& p( H, u% b" x2 lpcmcia主要用于支持笔记本电脑.
, N. e5 _. r. j: w0 p, s+ D28、portmap
( P! y4 `3 b/ Oportmap用来支持RPC连接,RPC被用于NFS以及NIS等服务.
+ k, u7 g; j4 S" T, {: u29、postgresql
/ B+ m) A; U5 zPostgreSQL关系数据库引擎.8 G4 E( U: E+ R: X0 i
30、proftpd
* Q$ S. k% {' x6 z2 Eproftpd是Unix下的一个配置灵活的ftp守护程序.
9 r! H+ q1 Z3 Y; b31、radvd7 s7 a* ]) G7 L0 j9 Q! M
路由广播程序.. f0 t  h1 C: V6 ^! c1 ^
32、random
3 i! E% G2 V6 ]+ p保存和恢复系统的高质量随机数生成器,这些随机数是系统一些随机行为提供的.
5 {2 Z; }1 ]& T2 j8 D, R" X33、routed; g; l( a5 \9 I
该守护程序支持RIP协议的自动IP路由表维护.RIP主要使用在小型网络上,大一点的网络就需要复杂一
' {6 ]! ~5 M& U* ?' J( h点的协议.& g6 h* H/ r6 I* f( T2 {
34、rstatd. K$ Y0 y+ j/ {8 Q
Rstat协议允许网络上的用户获得同一网络上各机器的性能参数.
! o: S. `# K- M' n! D! I0 _35、rusersd. Q3 s0 A2 M& U% I
该服务使网络用户可以定位同一网络上的其他用户.
# e  W; h3 }0 @) Q, O36、rwalld
* r9 p6 R' p7 z, D2 @Rwall协议允许远程用户向在同一系统中活跃着的终端发送消息,类似wall的本地行为.
; {* S' u3 y- V3 K% E: ?37、rwhod& p, I; q/ Q: t8 f4 H' Z
允许远程用户获得运行rwho精灵的机器上所有已登录用户的列表,与finger类似.. C0 Z: d8 Y7 @  a" S: w' b+ e
38、sendmail2 M  e2 N0 B" S( h( ~/ U3 J
大名鼎鼎的邮件服务器.% p. n9 h; C  `/ @9 |" M2 U' y
39、smb
3 X/ Z; L7 ~9 l  Q4 \& c启动和关闭smbd和nmbd精灵程序以提供SMB网络服务.
( [: Q; p/ a# x' Y' p1 c- o40、snmpd- `$ }3 s) Q  A* l
简单网络管理协议(SNMP)的守护精灵.9 \2 R+ `+ Z  i& x# {+ W: e
41、syslog4 U* @9 q* R: k* P8 H- o% G
syslog是操作系统提供的一种机制,守护程序通常使用这种机制将各种信息写到各个系统日志文件.通常应
- S  x* L, R& q6 D% N6 T该启动该服务.
- C9 B8 s) E3 z) u42、xfs4 k7 p. p( M* z7 J
X的字体服务器.* a& u3 l! U( K4 u; A* m9 O
43、ypbind
  W! C) W  F1 b3 e' GNIS/??YP的客户端守护程序.如果您需要使用NIS/YP机器,请启动这项服务,否则,关闭这项服务.
, R# t9 S3 G0 h44、yppasswd( U' B8 m9 H) h) M# O
让NIS用户能够修改密码.运行在NIS域的服务器上.客户端程序同样也叫yppasswd.
7 v9 O/ a$ L* d45、ypserv0 \9 ~, T8 H% D9 ^" `3 _" p* e
标准NIS/YP网络协议的一个实现.允许主机名,用户名和其他信息分布于网络各端.运行在NIS服务器上,
% V5 \4 s, r, {6 C ! C$ _) o- C4 W* y
关于运行级别(对应不同的initX.d)
0 B0 e. r2 g* T: {0 — 停运8 M& d: U2 _3 C4 `/ I
1 — 单用户模式
$ r0 O  T# F' V0 m8 y% [0 J! ^+ j2 — 没有使用(可由用户定义)+ g  i0 u; {9 N! k
3 — 完全的多用户模式
) n1 o% C; j9 r# w7 P4 — 没有使用(可由用户定义)
& a4 K  p* i3 P3 x4 z5 — 完全的多用户模式(带有基于 X 的登录屏幕)
% L# ^! U' K/ o* B& l6 — 重新引导4 ]$ v! p  t; f% M

" j+ B! ?4 l: ^2 z( B- y& y二. 常用命令4 D5 Y" h4 B8 ]  E7 d7 Z
chmod 命令" V# P* m/ D6 _8 g2 S1 j& R$ t
符号模式9 K8 g' D6 _* B8 @- K
chmod [who] operator [permission]/ o& j+ L) f, @- [0 ?4 F5 v
[who]:
9 c3 [7 A' y) T) ua(All user)" T5 k, A( c$ [# t7 \5 Z) Q8 n6 P
g(The user belongs to same group)
+ e' Y, H9 S% Lo(Other user)8 h* [. C6 r$ {' z& Y% j
u(The owner of file)
; {% ~5 y3 q5 v9 poperator: +/-/=+ l% ^5 _2 Z' d
permission: r/w/x/s/t/l
. Q) a/ \3 z! K- L% tsamples:$ I  {) J, b: g. `4 g! S, ?( R' d7 F
chmod a-x filename (收回全部用户的执行权限)% m/ _' @2 C2 e, w& K
chmod og-w filename (收回同组用户和其他用户的写权限)9 e! J; l. |, S( p1 H0 o, C" ^
chmod g+w filename (赋予同组用户写的权限)
. Q9 F/ \; k8 ]+ v, Ichmod u+x filename (赋予文件属主写的权限)) U- E1 @% C6 y) `' W
chmod go+x filename (赋予同组用户和其他用户的执行权限)/ I% D9 T$ w, |9 `- y. w. e

2 C$ c% o) f$ b6 n0 N/ V直接模式
2 ~$ ?. x3 r8 V# o# B/ jchmod [mode] file( E9 N  d; l  D! F2 z( O0 ~
mode:八进制数1 M7 ]: n7 ?4 P! D3 Z+ E1 V: N/ C
0400: 文件属主可读 0040:同组用户可读 0004:其他用户可读
" J4 C/ u& h5 w1 z0200: 文件属主可写 0020:同组用户可写 0002:其他用户可写
: H- Z& V  V& d8 A0100: 文件属主可执行 0010:同组用户可执行 0001:其他用户可执行6 q# r/ P, P5 T
Samples:
 楼主| 发表于 2006-11-7 14:12:39 | 显示全部楼层 来自: 中国陕西西安
chmod 744 filename: 文件属主可读/写/执行,所有其他用户只读
6 w4 F/ Z: t7 L0 T8 Qchmod 664 filename: 文件属主/同组用户可读/写,其他用户只读
0 L. T2 {/ K2 h, `. g1 f5 s
+ Q; |! ?0 F# d. p' s; h. ~' y) U. u* {: ~chmod -R dirname: 连同子目录下的文件一起设置8 C; w2 E3 V8 e8 p/ s

/ Q  \! d) N8 X+ \
% d. [7 S. @. W/ s& j: X9 |目录权限:+ G2 O4 b5 {5 a  g. ?8 T4 [
r: 可以列出该目录的文件;
; V# Y6 O3 ]2 sw: 可以在该目录创建/删除文件;
5 p( a$ Z- o/ ?" i. V; cx: 可以搜索或进入该目录3 ~! f# ~9 k# n

1 |0 _6 t) I9 h/ O目录的权限覆盖目录中文件的权限
4 m+ z: E6 H0 I- K; T2 ]7 D. A  h' q- i. S: O5 M3 n3 G/ ~
除了字符,也可以使用数字来设置权限。想知道是然后工作的,看以下例子:
! b' r5 y- f! i& c0 r& ^) cexecute=1" {  o3 q5 B1 }' v6 b
write=2
& h' K2 {) n( l( a" X8 G4 }* uread=4
+ r* ~& E$ q6 k- c# S" r# ^5 i对于指定的三种不同用户级别总结如下:
& @0 x( z  N3 j$ J- s0 = 没有任何权限 (不能读,不能写,不能执行) (常见)
: R4 L9 q5 m8 g& a6 R; j1 = 只能执行 (看起来不太正常)
( P$ ^9 t% p6 L' r: S  w2 = 只能写 (看起来不太正常)2 g9 V1 z& H& v  ]9 a+ K1 G3 d+ T" z
3 = 只能写和执行 (看起来不太正常)
4 B5 i6 p* @: n; v- H4 = 只读 (常见)! X* O$ O' t: Z. h3 m' t
5 = 只读和执行 (常见)
: g* b& m- h: E) R; Y6 = 读和写 (常见)# C' O) J- O: e1 s
7 = 读,写和执行 (常见)
, t, s& H( T1 c1 d" @* W! h( g1 {+ X8 B
SUID/GUID:
/ f+ P5 B9 f; b. }4 ], q# E
8 i" }2 F1 A( s8 _* P' w/ ysuid:如果某个用户对属于自己的shell脚本设置了某种权限,
4 ]* k7 V7 P) z! ]3 a8 I0 n其他用户在执行这一脚本时也会具有其属主的权限1 w* T8 g& y* J' |) @$ a* P' B

; x. C# X0 [, Q) Mguid: 执行相应脚本的用户具有该文件所属用户组中用户的权限4 v! }3 I; H* Z( G7 c) {% n

2 g* |* b: G5 x. M- csuid: add "4" before ...
! [# J2 \. n* r3 T9 ?4 h' Fguid: add "2" before ...4 q/ J$ \; n, y( r* h/ w9 v
* C4 H: ~* V, n
samples:
3 V: \: U, n6 C3 c4 c7 Nchmod 4755 rws r-x r-x
- o& }8 y% W) i) L& s# Ichmod 6711 rws --s --s
- S' k1 \7 O! E7 i  S, pchmod 4764 rws rw- r--1 x4 f; z, _5 f. t2 w' j% e
+ L# D7 l2 n: |( j4 B/ i, s
6 V9 r1 \# P; A
chown/chgrp 命令: 改变文件的属主/改变文件所属的用户组
9 O1 _6 v& R  A; G; e其他命令: group [username], umask [value]3 W; p0 P6 }6 B' h

2 |# s5 I0 n- C6 ?! k, E9 k文件链接:
* Z! n" u. W' a- C$ r/ m& F( Zln [-s] sourcepath target_path- h9 h3 h5 v+ u) Z1 o7 j- ~
$ m( |) g7 d' C+ d4 F; `
samples:
5 u& h$ q8 y: j( hcd /home/sales/user1
8 z! t+ a: v8 Brm .profile; ^8 x! c' p# K4 i$ l
ln -s /usr/local/menus/sales.profile .profile
9 ^$ g1 c6 q7 [ls -al .profile0 W( f% t8 f$ X# Y7 b! [! L0 M# o
  y! p8 d5 L4 e9 p6 W5 r

- O" ~" D; W( [( ^+ t# Pfind 命令
% e- O' w7 s. f
8 p- n3 T0 ]0 q+ B. Y1. 按文件名查找: find 目录名 -name 文件名 -print+ {  E! x) W' m, K& y

2 h  r0 k2 n0 v/ q0 @8 W2. 按日期查找:& P. ~, N* s, u2 L/ B3 f, a
5 G! o8 w* C+ B7 `4 k0 U. ?3 f, S( x
例: 查找目录/usr/bin中最近100天未使用的程序$ h, i- P8 k; g6 T
' o* S0 J( K& m5 H! A) u
find /usr/bin -type f -atime +100 -print8 ~; J* L) x* r4 [
" K% M; j/ e; i4 o
3 k8 G! m4 b0 k" n( v. ~' q7 n1 \$ u
查找目录/usr/bin中建立不到一天的程序
# e* S' ?7 L4 [8 J6 G% z  q2 Q% a7 w+ `2 Q0 u: ?' n
find /usr/bin -type f -mtime -1 -print
) q( y& ]! Z, t' Y' L4 A* o- P- w9 y: W' z& ^& H1 m6 S
) i# r! H6 r% N  g" e9 j) F% g
whereis 命令
" l  P9 x! L. ]2 M3 c
6 Y% }1 q5 N& Nwhereis 文件名$ N- \, H) Y. g0 Q" H

2 C& e% p( K. j7 G  Vwhereis -b 文件名(二进制), b, B* H1 w3 ]2 T! _6 S8 ^# x
6 {4 s6 h( K; K- E' p7 p! Y
7 O7 I0 l) E4 ]* ^$ S( a7 e
Locate 命令(需要先建立数据库)
0 D0 E# O* G) M! F9 u" M  Mlocate *.ps
' {" j5 b6 Q! A1 \5 |6 {5 `  L5 u- r
( c. b# F% O0 H3 I0 `* |& X
Q: How to use "cat"7 |5 v$ R. c- D, ^/ B
$ P& L9 F8 `- Q8 ]) E
A: cat 文件名
* \6 z, I0 ?' M$ d% k( d+ w
% G) j' U$ Q$ T# [) wcat -n 文件名(加行号)
8 n% b3 D1 E- A5 g) L
. Q- q5 d  M8 A6 Ucat -n test*(批量查看) = cat test1 test2
+ n* c, S$ Q: _( p+ I: w  G7 X; m
重定向:
" y3 o9 [% o; g. B( u4 w1. cat test* > test3$ D" @8 E( m- G) l4 z5 n

% @! e- {0 }/ T+ ?2. cat test1 >> test2(test1文件添加到test2文件)
* F0 \6 v0 x' P8 z+ s* c) d* ~. \0 `& l% @. `  u8 y$ e
3. 不使用vi,建立一个小文件* |0 h% V- Y" N7 x- Z: T" }, J* C
0 W% ]5 u- _4 {3 R! k( V" F7 }
cat> myfile.txt
3 [2 t2 x: G' e- F. R! z8 n& Ainput: this is myfile.txt
4 M2 q6 _8 e; e" j6 L6 fctrl+d 关闭这个文件
% [) e% x3 N1 d: z( j( c- E
% R+ x) _0 I7 j9 M3 E0 J
+ K& J' q" ^# ]more 命令1 I% ?. S8 Z3 h* t
more filename( b. D) T% {; j9 o& h; ]& ?0 ~

4 p+ p/ x; \' C- H
. T5 y8 E, f% W; {less命令9 E2 L; K( v# g1 Q- S
less 文件名(使用空格键下翻页,使用B键上翻页)
2 N. c$ f; A+ T& E' w3 J; aless -M 文件名(显示页码)7 k/ s# W/ B, J6 R
使用*进行匹配,如果要跳到下一个文件,键入":",再键入"N"
& C- N; j/ P% N2 k& {+ `less -d(列出子目录名)
" `- [0 z0 @) L1 T# D0 T' O执行其他程序: !文件名 执行完毕后,按回车键
& c7 r! u6 J- ^使用"/"进行搜索: / 单词; 如果需要继续查找,继续按"/",再按回车键,退出阅读,按Q键.
, c- I: c- \# K  U5 s  I5 T
6 B) z4 s( s8 N$ D* Mhead/tail! h$ A6 m5 Z$ Z$ c9 P5 `
head/tail - 行数 文件名(支持通配符)% I1 Q$ a" ]' N% }8 d# Q  s
. Z7 s, Y- w' t# f1 u5 w% t% M1 }

( \) J! N! i0 s) R' I. P) @& G* IQ: 文件分割和合并
% E$ n- ^3 {7 _0 S9 U6 T4 LA: $dd if=source of=target.1 bs=1M count=10' Y7 }' w4 A' C# [
$dd if=source of=target.2 bs=1M skip=10; W  K1 Y) t  m3 \8 R9 x1 I& m! f
source被分为target.1和target.2两个文件,其中target.1为source的前10M部分;+ Y& D% [+ ^+ X6 G" y% D- O
target.2为source的减去10M后的部分.4 Q$ I3 ], x' ]4 M- z  |/ S
$cat target.1 target.2 > othersource
( W& N. Z% b$ S% z* M$ Lsource与othersource是同一个文件.
  O1 k9 c; p8 }8 |5 Y6 [8 k
- e% `" p- q4 A- ^7 G7 J: b. J2 X, `+ }
Q: How to use rpm
4 ?0 T/ ^8 t0 Y: I- _& A9 N! A4 s' A  t- C: O2 @- u4 d+ N# c
A: rpm -ivh (Install,Version,Help)
% g# }' R$ {: u! x$ j* prpm -ivh --replacepkgs (Force install same package)
. z$ p, U% a# q( @' T# B$ nrpm -ivh --replacefiles (Force replace some files)
  S: G1 i, m6 _; q1 r/ [% p6 V0 g  E3 L7 O1 D) M8 f6 {" u. \- b' |
rpm -uvh (Upgrade,...)6 u4 B# P7 ~4 c2 _. x5 g
rpm -Uvh --oldpackage xxx; }3 ^( ?& k6 T& E$ `! q
2 ]& A$ J7 E  N3 s, x9 s2 l
rpm -e (Remove installation)
9 |$ |: L. ?; ]' c' N/ ]rpm -e --nodeps (Remove installation and Ignore dependency , may cause error)
8 _5 {( X2 Z- f" |8 u% A
1 Z% ?8 d# `3 u, h# m! xrpm -Fvh xxx (Refresh)3 W% G9 T5 O3 j/ s, s0 U, m
& l4 Y/ s+ f1 D  \1 n) K5 P
rpm -q xxx (Query)
1 K. W- M" K: v5 e( e  T2 G" i, {! Y& Y  |) E" C' Y# A
rpm -Vf /bin/vi (Verify)4 ^1 s/ g# A, t6 {6 O
7 G4 X1 S+ }* r' S4 H2 p
rpm -qpl xxx.rpm (check the directory that rpm files installed)
3 t4 L3 ~- r1 L: N* Y. q- b% e  `3 N9 E& C9 D
rpm -qa |grep xxx
% F/ H+ h  d+ q9 K5 \  J# _
% n8 t; p$ [5 m. G& v" q$ Q6 n- d5 U( j8 a. r
Q: How to use "tar"9 n4 u* R  L. @0 v
tar 文件是几个文件和(或)目录在一个文件中的集合.这是创建备份和归档的佳径.
0 z5 {# l$ ~/ g6 L
5 R: K0 o6 R/ v. u9 w6 l9 w' Q. ctar 使用的选项有:0 }8 p& p1 L9 P1 f
-c — 创建一个新归档.6 G0 J1 B6 N( O7 [3 k  l
-f — 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名;当与 -x 选项
( z  A* i5 _( f  c& V6 N一起使用时,则解除该选项指定的归档.
) l! e  p) c6 G9 q2 i1 B-t — 显示包括在 tar 文件中的文件列表.
! w& w+ d$ M- p0 Q+ U-v — 显示文件的归档进度.
- x& J2 t. q6 A* x-x — 从归档中抽取文件.
  D" x5 ^( l  U6 n1 }-z — 使用 gzip 来压缩 tar 文件." Z" c9 @# Z$ C* W
-j — 使用 bzip2 来压缩 tar 文件.( g4 n  G/ M+ a1 q! g3 v- p
' _$ W9 D) J. R/ ]

+ i7 X: Z% l. f7 L要创建一个 tar 文件,键入:
1 O; {& m) k6 d& N, ~& {) H* U2 ?) Gtar -cvf filename.tar directory/file
. J* D% n1 o" C' i8 C; d7 s/ d, h6 Y0 E: K$ l6 o4 E' J/ ]. i
可以使用 tar 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:* T* F3 b: B* w( [5 {
tar -cvf filename.tar /home/mine/work /home/mine/school/ ^, A* f6 O. R5 \: q

6 X! s& h' h1 ~1 p( l  q上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件都放入当前# H3 U; O0 m$ I9 w2 L
目录中一个叫做 filename.tar 的新文件里." t' X# g% ~) d; a

  X, j3 Z# ?; b# p/ ^" v2 l要列出 tar 文件的内容,键入:2 n$ I8 D" z9 {
tar -tvf filename.tar# x2 V8 O" O/ A6 L" [
; ?6 M5 d* q- {- V$ c' I
要抽取 tar 文件的内容,键入
! x" u; I5 F2 Htar -xvf filename.tar1 W0 z+ @% R' H! B% v8 T
+ @, h1 p# d  B6 T3 u  {
这个命令不会删除 tar 文件,但是它会把被解除归档的内容复制到当前的工作目录下,6 s  @7 G% G2 y. @) T
并保留归档文件所使用的任何目录结构.譬如,如果这个 tar 文件中包含一个叫做
# t+ z( n# f2 b9 ?0 u0 }+ Cbar.txt 的文件,而这个文件包含在 foo/ 目录中,那么,抽取归档文件将会导致
3 W) U$ y" T4 S在你当前的工作目录中创建 foo/ 目录,该目录中包含 bar.txt 文件
1 O$ n' ~  S. i8 c8 K0 j7 \8 |5 V7 {: S7 \" U
tar 默认不压缩文件.. y- m( |$ l; [# J! j7 E0 b
要创建一个使用 tar 和 bzip 来归档压缩的文件,使用 -j 选项:
, X4 p3 D/ y3 ntar -cjvf filename.tbz file
, _  c+ b2 l8 N. {) R- X7 o6 |, }( l4 w" G, p8 A. f& r
以上命令创建了一个归档文件,然后将其压缩为 filename.tbz 文件.如果你使用
" v! a2 g" ]+ A5 a3 kbunzip2 命令为 filename.tbz 文件解压,filename.tbz 文件会被删除,继之以 filename.tar 文件.
5 S3 s/ F/ J4 }# P, z1 F2 J! s1 Y2 W$ J! \
你还可以用一个命令来扩展并解除归档 bzip tar 文件:( D4 }" W( L* O8 e
tar -xjvf filename.tbz, ]" v1 ^( j6 h

; w/ E5 B3 ~! S. ?( a4 E* V要创建一个用 tar 和 gzip 归档并压缩的文件,使用 -z 选项:' C" N9 g0 Z4 B& f
tar -czvf filename.tgz file
- H$ c+ G8 m  ^* i5 P1 L! O& l1 h4 ^0 l6 y8 p9 g! b2 z- X/ b* F
这个命令创建归档文件 filename.tar,然后把它压缩为 filename.tgz 文件(文件 filename.tar 不被保留).
9 Q/ d. i& I6 P6 e0 _. g如果你使用 gunzip 命令来给 filename.tgz 文件解压,filename.tgz 文件会被删除,并被
  ?* d9 U; e. o替换为 filename.tar.
8 q9 ]- C8 M: W9 x, T
  j# U1 t- U5 t/ Z& z1 _你可以用单个命令来扩展 gzip tar 文件:
1 V5 {( U( D% a/ m7 Ktar -xzvf filename.tgz
6 Z+ {' i. o# x  f2 d* A* d4 z/ v2 v- `" Q) F; _  G4 D9 g. M

4 y/ O% ^5 {! y* U7 j$ }解压a1.doc.tar.gz文件
, M! E, D- O$ o7 g! @方法1:% S- m7 _  x- g' K  u4 G
#gzip -dc /mnt/lgx/a1.doc.tar.gz (产生a1.doc.tar文件)
9 C; t( {- I8 h" E8 z% z; ^0 O#tar -xvf /mnt/lgx/a1.doc.tar (产生a1.doc文件)2 g. J: U4 z" |3 Y7 \8 ]8 m1 y, T7 ?: \
这两次命令也可使用管道功能,把两个命令合二为一:0 u. P! Q  O4 p1 n' {, k* r4 }
#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf
, ^5 K/ C& y7 X& ]0 @( `方法2:使用tar提供的自动调用gzip解压缩功能
- l% j7 I' E  i! N" w0 O" d2 t#tar -xzvf /mnt/lgx/a1.doc.tar.gz
+ z4 O; ]' v) r- E, j
2 s5 F" [& f5 }. z' o- g* L( m, B' ^* ]: p
Q: How to use "mount"* K' ?7 K  n" v5 F1 P8 B
A: mount -t 分区格式 分区位置 加载位置8 e( ?- t) C% E+ i) G# U/ z& D7 ?

2 W" k# q$ o5 J, {fat32的分区: mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/c
. z+ v) t9 ^' ?CDROM: mount -t iso9600 -o iocharset=gb2312,umask=0,codepage=936 /dev/cdrom /mnt/cdrom1 W. f0 X4 c0 k, j$ A8 E' i
iso文件: mount -o loop /abc.iso /mnt/isodir7 u$ o, a  s/ s' ^1 @5 \) ~
软盘: mount /dev/fd0 /mnt/floppy* V) I9 t7 \% P% a  o
USB闪存: mount /dev/sda1 /mnt/usbdir- O9 A1 |8 P# A" Q1 M

0 B9 n8 w- S# h' l查看所有: /etc/fstab内容 mount -a
; k- i0 }0 u0 E2 X3 t7 Z& z/ }可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.
7 e2 o1 g5 p8 r" j4 {4 C0 w/ E
9 n9 j( M( n( @* N, V% d在Linux下访问硬盘分区的内容,必须先用mount命令将分区加载到Linux的某个目录下才能访问.5 G7 c# V1 D) [% L. @; h
先用“fdisk -l”命令(某些版本可能需要用“fdisk -l 硬盘设备名”)查看硬盘分区情况,操作如下:; |- P/ A& W! S  y* o
Example:+ z" l8 A; `- \! e: ~$ \& s) F
mount -t vfat /dev/hda1 /mnt/c(/mnt/c目录必须存在)
: j: g4 |; \0 z" W8 a# Emount -rw -t vfat /dev/hda1 /mnt/c
7 J8 d# F' C6 ]7 k6 A
: U# C- `3 Y0 o5 y& B& `
7 B0 ^; k  C  H0 uQ: 如何使Windows分区里面的中文文件名(目录名)正确显示?
6 ^% }5 [6 v/ W6 q% {A:用mount命令加载Windows分区后,中文常显示为“?”号.这是因为发行版自带的内核默认用ISO-8859编码( l4 I1 k3 L0 ?2 r
来处理加载上的Windows分区文件(目录)名,只能处理单字节的英文字体而无法显示双字节的中文字体.
8 q. x0 a, i; ^  E( T2 F" b, X/ ?要正确显示,可以用下面的代码加载Windows分区:
( ^# ?7 Y4 f1 w
% l' ~& ]3 l) y3 Y$ mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/c
* t& d: N( m0 a* w0 ?* q/ `! a7 q. t+ h& ^. y/ S& P' _
  这个命令能让内核以cp936编码处理Windows分区的文件(目录)名,从而正确显示中文文件(目录)名.
1 W+ D8 G9 q3 J7 W  & G) u$ V/ {) s! H0 V+ m; }4 h
还有一个“一劳永逸”的方法,即重新配置内核,在“File systems”-“Native Language Support”-“Default NLS Option”
# `3 e( u0 x$ O% A0 Z5 H里填入cp936.重新编译内核后,无需加上-o iocharset=cp936参数也能正确显示.! T$ ^0 m0 d- O: |9 w4 r" K) M2 a  J

8 u0 A% d* C: m( l* {9 O' I( z% Z( U8 Y) d6 }. _9 c: d
Q: 如何使用-rw参数加载Windows分区后,只有root用户能够读写,普通用户还是只能读、不能写?1 t( m; `6 [2 E" q2 [. t
A:直接用mount -rw加载的Windows分区,所有文件对普通用户都只有读权限而没有写权限(但root用户有写权限).要想让$ y( s( H( J& [! A
普通用户也能读写,可在mount命令中加上umask=000参数:
* A2 u% f5 J! ~3 Z% C! Y( E$ mount -rw -t vfat -o umask=000,iocharset=cp936 /dev/hda1 /mnt/c- w  ~+ j4 w% u8 G$ H; T' O
; P% M& W. S& `' k( Y' S
4 B( M& |" M. \* u3 P
Q: 不编译内核,How to mount ntfs partition ?
: U; {5 w# R% c1 V& k5 GA:
( a& U8 z/ p3 L# m% l+ |% o1. 上google.com搜索并下载 kernel-ntfs-xxx.rpm
7 }1 p) }! x1 F+ n(xxx means linux kernel name: uname -a)
2 [) D, z* s, O+ X* S- S2. rpm -ivh kernel-ntfs-2.4.21-15.i686.rpm
/ x7 H$ t! w# T$ P3. mkdir /mnt/c
/ d& G" U5 W/ Y- D! I+ z4. mount -t ntfs /dev/hda1 /mnt/c
. W6 Q& p$ ]/ {, g
' Q/ [. @  t& [! I2 T% XRead only: http://linux-ntfs.sourceforge.net/
+ L0 W0 T3 \8 qRead/Write: http://www.jankratochvil.net/project/captive
/ ^4 Z$ S1 f# ^0 B% j  H* e
! _/ i$ w9 L( E8 h; ]
$ t& \, E! P% VQ: mount局域网上其他windows机器共享出的目录: r) J( p& X- s. [$ |0 {
A: mount -t smbfs -o username=guest,password=guest //machine/path localpath
# Y) q. Q6 ~: J1 `3 g0 G6 p% x* W' I  i0 l  ~: x

% }( b/ ]" h7 X6 H0 j/ kQ: 在vmware的LINUX中使用本地硬盘的FAT分区 ?
( y! c, \7 d: f  m: {& X5 [5 e, L& }- z
A: 将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上.可以将如下的行放到/etc/fstab中:
+ I! C# w- l5 f  o. r# M//win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,# V3 N9 R' g8 V2 r$ `" B: P
codepage=936,iocharest=gb2312 0 0. o  g. F- \- R/ c4 m1 {! a" [& O* g
, M# o- G+ o3 K+ j) w3 r
参数:6 y3 K8 _7 m( K2 V0 E
win_ip是你的windows的IP地址;8 l5 t# Q4 Q% b) `
D$是你的windows里面共享的D盘的共享名;+ k+ _4 _5 J  D& _; e& }6 V- T
/mnt/d是要将该分区mount到linux的目录;8 s  ?- O8 o6 d3 v) A) E# H
win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码.
% X0 q1 z0 z/ k2 D7 V  G$ N6 t. E, P2 D  ^7 l* I" t3 o- g
如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区./ {, l/ U9 y0 Z3 a% M, \
9 P7 V$ ]9 V. B
Example:% E2 r# C1 r, k1 J5 e
//xxx.xxx.xxx.xxx/C$ /mnt/C smbfs defaults,auto,username=xxx,password=xxxx,) Y. j/ J) D9 G+ I' a
codepage=936,iocharset=gb2312 0 0
( @' [) U. X( [5 V' E7 x5 L# D- _6 n: Z

" J/ {( Z7 ~% U$ B9 U) \$ ]Q: /etc/fastab; ?$ Z3 [/ J0 U. o
A:
" s' z3 e1 r3 N5 w' \0 H3 }; M1 o% ]3 q
1. fstab文件的作用
5 E* W" z) R" y' L文件/etc/fstab存放的是系统中的文件系统信息.当正确的设置了该文件,则可以通过
8 s( l8 Q* p% k. P9 e" k% b"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行
. j( h/ ]9 s; Q0 c5 r中的字段都有空格或tab键分开.同时fsck、mount、umount的等命令都利用该程序.+ P- H& \5 S' b, M. ?! k

6 |, q, U7 J# E3 `- I2. fstab文件格式, F- M; |& K; W: X
下面是/etc/fatab文件的一个示例行:) r* [# N# \+ M, V, n( @* G
fs_spec fs_file fs_type fs_options fs_dump fs_pass /dev/hda1 / ext2 defaults 1 10 d0 G  @' ]& o; T- {/ ^

: S6 t# S: K. E( Afs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来
/ G7 n# X$ y/ M3 `. u- F说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述
( E$ q9 L8 N4 @为/dev/sdaXN.对于NFS情况,格式一般为: hostname.domainname,例如:`knuth.aeb.nl:/.
 楼主| 发表于 2006-11-7 14:15:33 | 显示全部楼层 来自: 中国陕西西安
对于procfs,使用`proc来定义.- S. c6 H% x3 h; r

5 f2 P7 @9 G! Yfs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名* ?7 G+ t: \9 O  i% v2 ^
包含空格的情况,用40来表示空格.% _  U6 {' O- A! l2 {  _& p! C

- g8 ^% t) w4 {$ q$ g8 ]  X" hfs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、
7 }) {! n6 u+ {$ L% X0 qvfat(Windows系统的fat32格式)、NTFS、iso9600等., h( _( p: w% V( O0 @

( r! i# G6 C& g: ?( X9 P3 }fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来.4 b: j7 |. ]: K' Z$ d, b2 M$ w
对于大多数系统使用"defaults"就可以满足需要.其他常见的选项包括:1 Q) C% X6 h% A- ~1 ]# \  s
  t% _# d, a. [' p' G
ro 以只读模式加载该文件系统
8 P9 `$ ^/ y1 b8 ~$ I# B/ h: ~, a0 x7 e( p8 H8 [* i! b7 W
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却" d0 B, r0 o! `$ u
降低了计算机速度/ w2 W+ L- O' \$ K" \
4 f! n3 _& h5 y: n0 U/ l
user 允许普通用户加载该文件系统$ v8 ^# {! p" x- s% S3 z8 ^
quota 强制在该文件系统上进行磁盘定额限制
! Z# t% @; z" K  q, wnoauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
1 S6 g. T6 s1 _; {8 u) f
; C! H  n3 q+ }1 B" l. Q! nfs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设
+ B' R2 _6 ^5 X5 x/ u  v- ~置该字段为0
8 g; l# ]; W' r/ l- ?4 b: w* P
9 `0 ~; K! A2 e2 w2 E  Ifs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字
) e+ h3 t5 E5 c段的值应该为1,其他文件系统应该为2.若该文件系统无需在启动时扫描则设置该字段为0
4 [/ s; {( ?8 i8 ^+ t7 |+ p6 B7 g2 B- ~" J
# f: U, s+ c4 R9 H+ G7 Y3. 示例文件
% m4 Q) e0 K* i8 c# /etc/fstab
9 W$ J/ {( F( |# D. f/dev/hda9 swap swap defaults 0 0
' w, ?) g0 X) L7 ?6 A% Q% l* W/dev/hda1 / ext2 defaults 1 1. d' V) S5 A% ]0 S6 y4 a/ ~# ~$ k, B. b
/dev/hda5 /home ext2 defaults 1 14 ], v& x, J" O! m7 j" X6 f
/dev/hda6 /usr ext2 defaults 1 1
* ]: Y' A3 E: p$ y! x7 ]& B/dev/hda7 /usr/local ext2 defaults 1 1" W% z* s2 l* q- C! I& z& O
/dev/hda8 /var ext2 defaults 1 1
5 ?8 g7 j9 P1 z  o6 D: E2 d$ {/dev/hdb /cdrom iso9660 noauto,user 0 0% y* F+ X4 \+ G% W- Y% q' t
none /proc proc defaults 0 07 \" ~) H+ K$ q; q" }1 `
none /dev/pts devpts gid=5,mode=620 0 0! q* z3 J. n' ^& b
1 u: ?7 y) l$ d
4 E" Q0 a/ v$ u2 a* G4 H& e: w; T
Q: FSTAB 最后的配置项里边最后两个数字是什么意思  x* s& `, \. w3 ^
A: 第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要;
% S5 M0 a3 Y! R7 O5 j' N. m第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号# a$ A2 f. g! r; p
1 是root文件系统,2 是别的文件系统.fsck按序号检测磁盘,0表示该文件系统不被检测& n* m8 B' f' j; t% x

' W7 b* O4 {8 G9 W) f2 ydump 执行ext2的文件系统的备份操作
3 O4 |; Q/ s: q& D+ i* P& Tfsck 检测和修复文件系统
  b9 g" s: T" G% ^# z1 z8 G( _7 S4 l4 u6 r! I, d! m7 O" U
1 Y; `2 ~5 v5 r3 Y# c; b
Q: 如何临时增加交换空间?; \1 w: L. T( l9 n" N. W0 C0 |" M, a
A:4 t; b# u' ~6 _: Z
1. 产生一个64M的空文件
1 A0 O: f: G5 x% R& e#dd if=/dev/zero of=/swapfile bs=1024 count=65536
" c2 r# \  a. P6 @2. 初始化该文件为交换文件:
" \0 _6 V, F. \3 Y7 i4 Gmkswap /swapfile 65536
* Z2 H1 E& `* ]! n+ [( F& Q/ i5 Msync6 U! b0 o4 K9 x4 l6 `9 W
3. 激活这个交换文件:( @/ Q( b8 a0 t) G
swapon /swapfile# J% C1 I$ Z7 D$ y  y6 b" g3 p

9 T8 C( C# ?2 M( M( }3 Z( c3 L6 [* r# A1 M) V+ J' f
三. Case
2 Y: Q6 B5 W4 |
" w2 x1 C+ w6 i: HQ: UNIX系统下查看内存+ S8 d" ?8 p3 r9 q/ i3 d2 A- _

3 V" U, w) Q7 TLINUX: free0 F8 Q* g7 v. |6 J
HP-UX: swapinfo -tm
9 w. v* a, b$ S! l3 w* MSolaris: prtconf |grep -i mem
, M& A' e9 `* I2 c4 N! w9 e9 J- LAIX:
, f$ X1 g- E" d! ?7 |lsdev -C|grep mem, v, j) a% h) N" }
lsattr -EL mem00 ?$ L1 E$ {/ o0 n( s
size 2048 Total amount of physical memory in Mbytes False, d  c/ u2 Q* y# B
goodsize 2048 Amount of usable physical memory in Mbytes False
/ u' j3 V" Y, b) O8 J* @" u& b* {# A, R; _) I. F* O
/ p  r* x( Z1 |+ J& l$ H5 G
Q: How to enable disk quota for user ?& G2 O, E' Z3 ?; K* [9 B
9 J! l. C: I. u: g% @8 t( V0 e
A:首先,将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:/ O0 e8 L3 s3 }: Q4 [. y' \9 o
1 `9 a* W: y6 \+ U
/dev/hda2 /home ext2 defaults,usrquota 1 2: k$ x  m1 F, v
& z. f! M& x4 W- J3 [* N8 _5 v8 ]
其次,在要设置磁盘限额的分区目录下创建空文件 quota.user:2 W5 \9 v% d: |; T2 X/ B
#touch /home/quota.user #chmod 600 /home/quota.user
% p* h# Z+ _0 D6 Q1 \% C
6 y5 a% B- t7 G+ @! Z重启系统后,可以使用edquota -u 用户名来设置.
4 @' K* Y& V! \8 U* J2 y4 [1 J3 {& H( b, q" H% h, R
( k* h1 k5 Q! w) E, G* y; f( C
Q: How to 删除文件大小为零的文件5 t& N% u* E2 ?- f- O- d
A: rm -i `find ./ -size 0`; {; q; ^1 m* S; J
find ./ -size 0 -exec rm {} ;
3 J9 ~4 M0 l% Y4 p$ B3 |' D1 C) H, c: @, U5 Q
find ./ -size 0 | xargs rm -f &1 ~5 l  X4 x7 p6 o9 u1 E
. k( u: S; @( r- }1 H4 q: c7 F
for file in * #自己定义需要删除的文件类型" p" f+ `! b0 A
do3 F# X$ `9 K/ I/ K7 c- J
if [ ! -s ${file} ]
+ J$ c9 V) I8 X2 }; B7 [then  @6 A2 N2 x# h; O3 H
rm ${file}) V- ^% i' p% _/ B3 c  A
echo "rm $file Success!"- y, M% O" V* p/ W: y1 }! I5 D
fi
9 [3 F& `) }; K3 d; Y& Pdone
2 y) ]2 Z4 F1 H. K* w8 y5 r* q
7 j% R+ }+ B  d' H5 H, q- p; Z/ B$ G" `* ?1 K7 O
Q: 查看系统信息
( P) q5 O9 i3 t+ M8 a( ^6 U$ |A: cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)5 P1 [, b6 V$ d3 j+ f% t# e4 b
cat /proc/interrupts - 中断
$ \) l/ U& q5 X2 h& `; N' bcat /proc/ioports - 设备IO端口& |8 `2 c) C1 d# a
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
/ V9 P( j% m* {# Ecat /proc/partitions - 所有设备的所有分区
$ r! S6 s0 s9 n$ e$ Mcat /proc/pci - PCI设备的信息
5 i% W/ v* b; |  {, s1 d& m" Zcat /proc/swaps - 所有Swap分区的信息  q  r" P) a  G3 C7 H
cat /proc/version - Linux的版本号 相当于 uname -r
& ~( n, M( W! D7 ^2 E$ ?0 W, X" T% `3 W+ V

8 a: Y6 `, l( dQ: 修改系统时间: G8 J  K1 A$ `+ v
A: date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:106 f) O% U2 y! Z, L0 |. h
修改后执行clock -w 写到CMOS
2 a3 Q, J% ^5 w; d8 z' mhwclock --systohc  Q, W  f, K: V) R' ]  e

* ?" t0 O5 D* ?6 i# {9 K" b! s2 e  q# m4 p- ?+ G
Q: xwindow下如何截屏5 R- V: E2 W4 C0 K) [5 H  ]5 ^
A: Ksnapshot或者gimp
5 t$ b2 Q4 D$ M3 |( b8 V7 H4 e7 a; ~9 y  \) l
$ v) p8 T1 }& U; {- c; W
Q: Redhat linux中播放mp3文件
* p& m( A/ \7 v& Z3 Z' r8 BA: 原带的xmms不能播放MP3(无声),要安装一个RPM包:rpm -ivh xmms-mp3-1.2.7-13.p.i386.rpm.  ^7 ~/ u1 t8 G9 i5 ^) v
2 A3 i/ `) X8 i0 m: Y9 `
打开xmms,ctl-p,在font栏中先在上半部的小框内打勾,再选择 “fixed(misc) gbk-0 13”号字体( c: a; t: w; ^& R% u6 z" x) T
即可显示中文歌曲名.在音频输出插件中选择 "开放音频系统驱动程序 1.2.7 [lioOSS.so],即可- q: J; K4 [9 B1 C; z& G
正常播放MP3文件.
6 _( R8 y1 `  @3 ~$ B3 o, G2 N( e" j
: z3 A. z& F  W" A! |# `
3 ^5 X$ m: A$ Q" |Q: linux下播放flash动画
! z6 u1 V. G+ A, y3 N1 G# lA: linux下播放flash动画用这个东西,不会造成浏览器的关闭(其他的插件不好用)+ a: e& A, ]" Y' d& G! b
5 U# V( d1 W- t0 }1 e. q
首先下载flash播放动画在linux的插件
. p8 d1 ]7 q" B) p9 a2 b+ B+ t1. http://www.collaborium.org/onsit ... /flash_linux.tar.gz4 ^( l5 R4 A- z& s; K7 Q9 m* ]6 t% d+ u
2. tar zxvf flash_linux.tar.gz, @& K  A5 Y+ x& N. q  f. T
, ^& V1 S  Y; u+ o
3. 打开包之后,会看到Linux文件夹4 U% S0 k1 }* d+ H, ^
在linux文件颊里有两个文件libflashplayer.so 和shockwaveflash.class,把这两个文件拷贝
$ x: u& Q/ k' `& m* A9 |3 C( _) [到你的浏览器里的插件里(浏览器不一样,插件的位置可能也不一样)
' X) Q. |# I; h: W% k7 N* o7 ^/usr/lib/mozilla-1.0.1/plugins,就可以了
9 n0 r& f' [3 Y
( X7 O1 z8 ^- M* o1 I: C! D2 z6 J5 M: y0 C- B5 l( h. j/ ?
Q: How to make iso file using "dd" command ?
2 c+ k& @( w- e, ~! UA: dd if=/dev/cdrom of=/tmp/aaa.iso& r; J$ n% k# a8 i0 R
  M, e+ X+ M+ E( H5 ^- y; N: I" q

* o+ w. v+ g( u  _" gQ: 用户的crontab在哪里3 h& b0 r5 S4 Z( g7 J) {9 j
A: /var/spool/cron/下以用户名命名的文件
4 t9 O' y( e  b8 f+ \# D- d! y# S7 C4 f  X; p# V+ m7 {
2 t3 q. ]# `/ d, j" I3 `6 d
Q: 如何清空一个文件2 {9 o/ \9 ?4 S5 ?
A: > filename+ L& }' a7 K) R, I  _' l

" t6 E/ _0 O, q- O! t- Q
& H; Y- v( [* w8 t- PQ: 如何在图形界面和控制台(字符界面)之间来回切换(bjchenxu)9 S5 ^( B$ D5 {* \, Q2 c
a.图形界面到控制台:Ctr+Alt+Fn(n=1,2,3,4,5,6).
6 R1 w" M. r+ Rb.各控制台之间切换:Alt+Fn(n=1,2,3,4,5,6)./ H( e5 j' S" r0 I9 w: M

0 Z0 W% [& M$ y( s7 I, x, ~1 Vc.控制台到图形:Alt+F7
  g/ r' H% \+ f% |9 b9 y! e
8 L0 Q% I9 p% f( c3 }- H! N# C" F5 ^. @) P
Q: linux中刻录iso的方法9 |% H, T; t6 T3 t- {0 d( E
A1: 使用xcdroast,选择制作光碟,选择ISO文件,刻录!
# ^' ~) T# [5 l' b# K* l7 o参见http://www.xcdroast.org/xcdr098/faq-a15.html#176 y5 ~) K+ n& R

" J9 S0 _% f# u& P0 RA2: 方法二:找刻录机的命令:7 y& M0 P  Z9 O9 h' ?
cdrecord --scanbus
+ A! ^2 p: W1 x/ {- L. I2 m2 ]+ d$ y6 `/ K$ x+ {" [5 z
输出结果为:8 i$ y) |6 t! H2 g
0,0,0 0) 'ATAPI ' 'CD-R/RW 8X4X32 ' '5.EZ' Removable CD-ROM
9 U3 ^( O; ]2 }) s  A
$ J' B* S+ F" j8 e- l5 Z刻录的命令:
2 a( k8 X/ J$ \" m' ecdrecord -v speed=8 dev=0,0,0 hutuworm.iso
: I( M" c" `1 Z! a3 V* O' Z4 J6 R4 x
, q) S6 I9 h& R9 t
Q: 如何起多个X
4 V/ \0 Z( b  J) e7 Y+ r2 nA: startx默认以display :0.0起第一个X,通过传递参数给Xserver可以起多个X:
) l# r1 z% T" M# P# startx -- :1.0' \0 s$ Q7 K0 b
# startx -- :2.0
9 m* D; V9 ^; V7 M. |3 K( }...
6 O% y% V* Z' _: m$ y然后用Ctrl-Alt-F7/F8...切换.8 O+ l2 ~4 K1 @
; @. @; `( i2 x: f0 m
& C+ a# _0 C3 b8 Y- ]  [% P
Q: 让一个程序在退出登陆后继续运行5 V) h, Y5 ~/ y/ b( Q$ w- |! P
A: # <cmd>8 x  r; a) ^9 l1 b8 [
# disown3 D; S8 T& t. C1 [, D
or:
. ^* k% i! F) Z) M% p' @& r+ {nohup command &- ~% |& B7 h: l( Y$ a
1 v9 c& j& E+ y! X9 X7 T4 C* J

( J# U$ a$ s3 y1 c% S5 kQ: redhat 8.0上msn和qq
/ U$ k: R' o5 |+ C6 j$ e4 bA:8 z" r2 A: ]3 }% J, E, W7 w
下载Gaim 0.58版:
' y5 C, P+ N$ G% S$ D) egaim-0.58-2.i386.rpm( p; T' v- f$ D: \8 @
1 {# g' t! @. }! h/ S3 l9 e, S+ V& I
下载QQ插件 for gcc2.9版:& l. M/ b7 ?* w+ c$ ~& b9 P; O* |
libqq-0.0.3-ft-0.58-gcc296.so.gz
. I9 J8 N2 B! d& B; G: Q) e8 S9 k! S) N! B9 |
将下载的文件放入/temp目录,然后将系统中已有的Gaim删除,即在终端仿真器中键入命令:3 G2 \) Y8 f1 d+ P. }0 N4 M
rpm -e gaim./ }9 s/ F9 J) o3 a) c2 B
% G7 q" M6 d$ U
开始安装* W& {, x) {" u5 H& U2 e
打开终端仿真器,继续执行下列命令安装Gaim 0.58版,即:7 b; r8 {3 J" f) V
cd /temp          (进入temp目录)
5 ~6 }# j) G( M+ p+ J. a: wrpm -ivh gaim-0.58-2.i386.rpm (安装软件)( `- f" G. \! P6 K8 l4 O) v/ U3 V
当安装成功后,你就可以在GNOME或KDE桌面建立Gaim图标了.
; k: K& P3 u( m3 Y1 o& Z
% f9 l& H+ l9 h. f8 i3 h继续安装QQ插件,即键入命令:. C& |% J; Y- l! r6 @, z8 \
gunzip libqq-0.0.3-ft-0.58-gcc296.so.gz (解压缩文件)4 f0 C% K' p* n7 U0 L3 h4 k
cp libqq-0.0.3-ft-0.58-gcc296.so /usr/lib/gaim (复制插件到gaim库目录中)3 ~5 f5 r( F8 T2 O; m

! p, j* l: s* S软件设置
% w1 L6 t! J) o; s2 v首次启动Gaim 0.85版时,会出现的登录界面.先选择“插件”,在插件对话框中点击“加载”,
" o$ r9 J1 j% W0 g分别将libmsn.so和libqq-0.0.3-ft-0.58- gcc296.so文件装入,确认后关闭.然后再选择% F4 L  N) i7 A( W
“所有帐号”,在出现的帐号编辑器中继续点击“增加”,当出现的修改帐号页面时,我们就
+ G. f" V( p5 l3 G( k2 x# Y0 a可以输入自己的QQ或MSN号了,登录名填写QQ号码或MSN邮箱,密码填写对应的QQ或MSN密码,# p8 f9 {+ j" l( H
Alias填写自己的昵称,协议选择相应的QQ或MSN,其他的设置按默认的即可.
4 c# p% P- D* K& p3 T6 d) [当全部设置完成后就可以登录使用了.
# s: M; e( J$ r& S$ O
& H: g( {: r$ r& D3 l, i* t( r由于MS对msn的协议经常升级,导致linux上的gaim和msn插件必须升级,目前尚无万无一失$ L* {4 M2 h8 f/ I" }3 P1 a3 B
的解决方案,请见谅.
( P6 E/ q% d; b, M8 R' w$ a$ C1 U
7 @$ {( R7 q* ~( E0 \/ \; j
Q: 让linux自动同步时间' C6 V6 v$ m9 b* s4 q- ]
A: vi /etc/crontab2 @) H8 o( W, u$ D8 X! w3 K3 [
加上一句:
, U6 l5 t' W. f+ ?" T00 0 1 * * root rdate -s time.nist.gov0 B$ m; q+ }2 |! p8 `8 u* b

9 w( {+ S" j  F& A
: K! W4 w4 N4 T' k  p0 Q' QQ: 怎样安装中文字体?
8 V: V4 u# \  p- P; H  o4 t7 BA:* b5 @7 b! g, B5 w, ]5 `
先下载 http://freshair.netchina.com.cn/~George/sm.sh
: ?) R) r! K: K$ D5 w) M3 ](参考文献: http://www.linuxeden.com/edu/doctext.php?docid=2679)
2 Z. C* ]9 D2 y& }$ Y+ g% W6 r
6 c9 W1 Y4 {0 m: _SimSun18030.ttc在微软网站可下载:http://www.microsoft.com/china/windows2000/downloads/18030.asp
2 J  q& l+ |* Q4 ^) W
7 {( Z- j% @# ], Y 它是个msi文件,在 mswindows中安装用的,装好后在windows目录下的fonts* B3 M( j8 x$ d3 B8 t, ^
目录里面就可以找到它.把simsun.ttc,SimSun18030.ttc,tahoma.ttf,tahomabd.ttf, |9 n2 Z# L7 y1 J/ U1 j" `
拷贝到/usr/local/temp,然后下载的shell文件也放到这个目录里,然后打开终端# x9 |. K( o" v5 w3 D* v, X; s
: c5 u1 E- R! l) k7 _
cd /usr/local/temp: r4 a  T2 n0 M. ~/ u8 j4 J
chmod 755 sm.sh2 C# O- V7 F* O8 V7 O) C2 y
./sm.sh
6 {, g! N& }1 f7 Q( a# q3 O: B0 Y' ^
$ _1 n# S- i0 w
' y$ l8 v! x9 W- I$ O5 G, hQ: Linux下如何防止某个关键文件被修改?
* {7 l% q! R4 @0 ?  ]8 qA: 在linux下,有些配置文件是不允许任何人包括root修改的,为了防止被误删除或修改,
* G7 j9 n: v* w! w$ ^9 L- ~可以设定该文件的"不可修改位(immutable)".3 W4 Z0 N3 F# _" T. s& Q
1 n0 N" N5 B; ^( @; P$ o$ y% S
例如:
3 o9 s  h2 J8 Y8 u2 a+ [  chattr +i /etc/fstab+ N1 W" z( t5 y$ g
  如果需要修改文件则:
6 `! ]0 T  _3 }0 H) C. [/ P4 a  chattr -i /etc/fstab6 }4 n7 k( L% p; |. P
  以后再修改文件.7 d8 {5 P% C0 F7 Q
% Q. F2 ^" O: G1 ]  V+ {2 u

7 d' E' j) R, \" ]6 _5 ?4 PQ: Linux下如何设置用户密码过期时间
5 e% x& i6 Q# @7 t8 c, t# i: kA: 设置某个用户的密码过期时间可以用usermod -e来设置,如果要统一设置用户的密码过期时间,7 f+ C- ~6 x* d" z
那么就要修改/etc/login.defs里面的PASS_MAX_DAYS,比如修改所有用户的密码过期时间是30天:% z0 m) C  b. `( D" K$ p% ?! Y
PASS_MAX_DAYS 30 如果这个值是99999,那么表示密码永不过期
0 i! m: q6 }6 |- m: ~8 X# F/ k0 T; I6 j; Y/ R

3 X* ^5 s# {: \' T' O4 I' LQ: /proc/sys/sem中每项代表什么意思?' N, U1 A- [* v) C5 _) l' f" c
A:2 a) x. K3 L! h! v/ o: ^. u- h
Example: 250 32000 32 128
4 A5 ~# x% a4 E7 I# L2 @! u这4个参数依次为:+ Z0 f1 |6 W$ i* T
SEMMSL(每个用户拥有信号量最大数量)
* w; I, E( T' D( d- I7 m3 ]SEMMNS(系统信号量最大数量)0 H. M9 K% G1 w5 R5 ^4 h
SEMOPM(每次semop系统调用操作数)
" c& V3 g# `# LSEMMNI(系统信号量集最大数量), P! c) k; s& r3 n( \: V

" D# K) K( d2 O1 CQ: 怎样开启硬盘DMA支持
2 G# T6 h' Z" N2 ?A: /etc/rc.d/rc.local 加入一行/sbin/hdparm -d1 -c3 -m16 /dev/hda) m4 X% d  J5 r/ z
如果您的硬盘支持 ATA33 可以加上 -X66 这个参数,ATA66是 -X68.; [& Y+ k6 O/ `
比如ATA66就是:/sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda
8 J( n9 g4 s. G  J4 E7 Z我们可以用 hdparm -Tt /dev/hda测试加入前和加入后的效果.
4 s  e5 R* @" H4 f. h以上测试注意有可能带来数据的灾难问题,请不要随意使用.
& K. ~7 }1 Q- _' \0 k$ K7 D( j9 \+ y
Linux下也可以使用32Bit I/O和DMA.
% u8 l  g; I$ g) S8 k  s- [使用/sbin/hdparm -c1 /dev/hda(hdb,hdc..)打开32Bit传输模式,2 Z/ }- M2 C- w' s% }3 k
使用/sbin/hdparm -d1 /dev/hda(hdb,hdc...) 打开DMA.
  t, `) Q1 Q/ r( }最后使用/sbin/hdparm -k1 /dev/hda 以使硬盘在Reset之后保持上面的设定,7 U) \2 k! {( j4 w7 A4 j9 n7 W$ N
这么一来,硬盘读写速度应该可以提高一倍以上.1 _, j9 @1 ]8 @/ m: J5 g0 r/ t3 ^$ w
& I/ b$ o. t1 T) B4 A- L+ y( d0 K
Q: 如何安装声卡?2 W4 ]& N% @, U; h% Q, S9 X! d
A: 在字符模式下运行sndconfig或setup,如果这样不还不行的话,请下载
4 |0 `0 S8 Y0 u7 w声卡配置工具alsa(alsa工具包包括alsa-driver-0.5.10b.tar.bz2,  i2 f' F: ~" A7 q& _
alsa-lib-0.5.10b.tar.bz2,alsa-utils-0.5.10b.tar.bz2,0.5.10是版本号.)
" Y6 C7 _6 p8 |: W0 {* N& L按照drive、lib和util的顺序安装.也可以下载oss工具包来配置你的声卡.# G' O( W) f5 z( ^( I. ?

4 C1 _  U' \$ u1 m' foss安装指南:http://www.linuxeden.com/edu/doctext.php?docid=1974
7 ~9 N' Z* ~3 S7 J4 m, Q
) o  b; R) ^3 l9 lALSA安装配置AC 97声卡:http://www.linuxeden.com/edu/doctext.php?docid=1251
6 K0 R+ `' B% a# x
! p4 y, U$ P% c5 f5 |; i7 o
  a8 U! X5 d5 S; I3 s! ]Q: How to use "XHOST" ?; {1 G4 @5 V% ^* v  p
xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB
) W3 Y: _& M' x6 f上的应用程序时,做为应用程序来说,hostA是client,但是作为图形来说,是在hostA上
2 j7 R; x, \2 [显示的,需要使用hostA的Xserver,所以hostA是 server.因此在登陆到hostB前,需要
1 T% C; Q# E. n+ _3 Q+ u& F3 T7 x在hostA上运行xhost + 来使其它用户能够访问hostA的Xserver.
+ s' Q5 a: w" n8 z  I3 b
, N( g) r% E3 `6 f9 hxhost + 是使所有用户都能访问Xserver.
3 J; w2 f0 E" Oxhost + ip使ip上的用户能够访问Xserver.0 k. u( E0 k, Z, i: L1 `
xhost + nis:user@domain使domain上的nis用户user能够访问
4 X) k+ `) t9 G9 u& Gxhost + inet:user@domain使domain上的inet用户能够访问.
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表