QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
4天前
查看: 2137|回复: 2
收起左侧

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

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

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

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

x
本文收集了LINX下一些常用命令和技巧, 对初学者会很有帮助.
1 ~3 j+ u' t: J# ]! ` ; J1 F/ ~2 r( o" H
一. 基础# V$ `8 ]* r* Q# L5 E% @% H
Q: Linux的开机过程都做了什么?' h' m" w: o& _
A: 1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;, ?. c, [% U8 w+ k+ i
  2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;  |* d5 C! l/ ]2 G4 Z
  3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;
2 t& J. B" [+ w, _; |& N( n+ F  4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init" u: f, I; F, ?" ^0 {
  5) init进程根据/etc/inittab的配置运行一系列初始化脚本;
) M. l1 F- f1 v' f  O- S9 `  6) 完成后,启动getty进程接受用户的登录.
3 {. @7 a- N: Y8 O& @0 p/ Q) X$ l! J3 [3 h# Q" |( g
Q: 如何设置开机自动运行程序?
5 A' E+ e! t6 h2 I4 CA: 你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:
/ Z! k5 a4 s4 r# p7 ^/etc/rc.local
0 W' g# r3 u9 K5 `! z& B/etc/rc.sysinit7 U& X  _6 h. i$ W: G/ s) x8 e
/etc/rc.d/init.d4 H1 _* o( A" ^" Q% Z1 x1 Y! ~! x

. n% c- T, |, f! d2 y$ lQ: How to recover ROOT's password:* u! U7 b2 I# v# C8 ^! U0 @
A:
; B" d0 d$ B) A" `& }GRUB (RHEL AS 3.0 Update 2,vmware)1 I1 J" z& v* G/ r- @
1. press "e" when select menu appears;
: f$ h6 R8 J) n2. edit8 h" C" ^5 q" N+ F2 y2 _
old: kernel /vmlinuz-2.4.21-15.EL ro root=LABEL=/
. q) {2 N8 i1 I% p) p9 |" ^6 ?0 |new: kernel /vmlinuz-2.4.21-15.EL single ro root=LABEL=/
9 d2 F& m9 }5 |3. press "b" to boot
" ^, U, Z7 n( n4 [4. vi /etc/shadow:
$ W! X& p& r9 W) ?# b. r* R' m将第一行,即以root开头的一行中root:后和下一个:前的内容删除,7 p& }0 X1 r( J2 p
5. 保存(wq!)4 B0 I) X3 n3 W
6. #reboot重启,root密码为空 passwd root重设密码& W1 g6 E- [3 O! h0 L
0 H3 D! |/ t1 ^5 @1 \7 N
目录说明0 u6 h. a) g1 b* o( X
/bin:存放最常用命令;3 n: m2 H3 R- Y, U0 A) z7 {( i
/boot:启动Linux的核心文件;9 D; J1 h' I0 V; d6 z3 i" g
/dev:设备文件;* ~0 H. g% w$ e) \/ S6 ]7 `
/etc:存放各种配置文件;
( G# N3 F7 w2 f( G9 j* _/home:用户主目录;7 Y5 G9 f- Z% _) v! j! e( w
/lib:系统最基本的动态链接共享库;' i+ Y0 w) J& o+ [; }' b
/mnt:一般是空的,用来临时挂载别的文件系统;
) a" M/ h% V% p2 P* f/proc:虚拟目录,是内存的映射;
% m# K4 @5 c# F# {2 B8 C4 Y% z/sbin:系统管理员命令存放目录;, y+ Y- v$ T# o" K4 P6 V% E9 Y
/usr:最大的目录,存许应用程序和文件;
$ w! W  t4 P2 u$ C7 R4 X9 _9 ]6 w/usr/X11R6:X-Window目录;9 N9 b6 ~9 {0 u8 b% O% ^
/usr/src:Linux源代码;; Z: L" B( h8 p6 {
/usr/include:系统头文件;
/ m, w+ [1 {" N  R. Y+ C7 F% M/usr/lib:存放常用动态链接共享库、静态档案库;; i4 g- C9 P: W- J) |/ n9 _. N% V
/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充;$ w; Y/ R* e/ ~
& `# U3 c5 {3 t8 X+ L) _1 Y
服务说明:
! x* a2 V2 q/ C* H) C5 a1、alsasound9 X$ K6 i9 V! H/ \0 y
Alsa声卡驱动程序支持.Alsa声卡驱动程序本来是为了一种声卡Gravis UltraSound(GUS)而写的,该程序被证
* K) j6 D6 ^/ n" R7 Y. {明很优秀,于是作者就开始为一般的声卡写驱动程序.Alsa和OSS/Free 及OSS/Linux兼容,但是有自己的接口,
( @! u1 e' g, e4 S) q9 e甚至比OSS优秀.
; M$ u: g5 |$ w0 A6 o2、amd4 Y1 m9 r3 A4 m) p5 r
运行automount精灵程序,该精灵在必要时自动安装一些本地设备和NFS文件系统.
0 g0 y0 U0 V5 u, e+ T1 a) J" D) ~; S3、apmd, U2 W4 ~* K8 P+ }" E5 f5 P
apmd用来监视系统用电状态,并将相关信息通过syslogd 写入日志.也可以用来在电源不足时关机.; i3 R. S. N+ p* I% A, S- k
4、arpwatch7 f! I, K- M& y$ m
该程序主要用来维护以太网物理地址和IP地址的对应关系.
/ g* z6 V) |% o9 I5、atalk% k& m- A, i! i
AppleTalk精灵程序.注意不要在后台运行该程序,该程序的数据结构必须在运行其他进程前先花一定时间初始化.; _9 I; T  Q. L/ B# q
6、atd% v# j* q' W( m" {$ ^3 l9 [- w) l) m
运行用户用At命令调度的任务.也在系统负荷比较低时运行批处理任务.
$ R* z$ c, S4 C$ n. l7、autofs
, |6 k- ^# c' h! ^* e- n当您需要时自动转载文件系统,而当您不需要时自动卸载.' o; {' U  w8 c  L1 Z
8、bootparamd
4 S' a7 ~0 v( `, ^! f! w$ M该服务允许老的Sun工作站从Linux网络启动,它和ra??rp现在很少使用,基本上被bootp和dhcp取代了.
& R+ a. h0 H7 t9、crond
; I% ?$ ~% ?0 E: n: i! g" Scron是Unix下的一个传统程序,该程序周期地运行用户调度的任务.比起传统的Unix版本,Vixie版本添加了不
: J7 W4 N2 W/ `! w少属性,而且更安全,配置更简单.
' z, A; ~( n1 r2 y10、dhcpd, B9 I7 m# n# d$ ^
该精灵提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持.
  U) I6 ?* g4 z8 W8 k$ N11、gated5 g; @' i. m4 C" E
gated通过一个数据库提供了网络路由功能支持.它支持各种路由协议,包括RIP版本1和2、DCN HELLO协议、
( E( @  V0 X+ Q8 [0 t1 aOSPF版本2以及EGP版本2到4.
% w/ T% [8 c7 u; b+ |6 y# X' g8 z8 C1 T12、gpm
! c3 ^2 q9 A' q& F1 B# ngpm为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持.它也支持控制台下鼠标的拷贝,
  e3 K; q5 u) X* l粘贴操作以及弹出式菜单.9 ?- Z4 Z' B" }% O/ W3 L$ T1 A
13、httpd
- t  o" p+ j( q5 dhttp是著名的www服务器,可用来提供HTML文件以及CGI动态内容服务.
7 b3 L3 ^/ c' Y0 j7 x. |14、inetd
" P6 z  M4 h* A) Y% Q! D% f因特网操作服务程序.监控网络对各种它管理的服务的需求,并在必要的时候启动相应的服务程序.通常,$ o- D7 ^  E1 n& z! C8 W# e: b/ m
inetd管理的程序有telnet、ftp、rsh和rlogin.关闭inetd也就关闭了这些由它管理的服务.3 s" t/ ~2 @# A, g0 d
15、innd
* C4 O4 |& X4 ~inn是最流行的用户组新闻服务器.它允许您建立起本地新闻服务器.配置有一定的难度,可以先阅
' ~1 X/ h: S, M# P读/usr/doc/ inn*文档获得帮助.: `+ T6 M# E7 ~- i; Q+ V0 P' r
16、keytable 该程序的功能是转载您在/etc/sysconfig/keyboards里说 明的键盘映射表,该表可以( Z$ D2 E8 s0 J8 Z! w/ [9 X
通过kbdconfig工具进行选 择.您应该使该程序处于激活状态.4 Z" N; x- C% _. T
17、ldap5 q" b$ m) ^/ v& e4 V7 Q: D
LDAP代表Lightweight Directory Access Protocol,实现了目录访问协议的行业标准.
0 |6 \0 X! E& n& e" C+ D  D! V18、linuxconf
/ z7 y3 s' O6 F) H( Glinuxconf是Linux下的一个有效的系统配置工具,该服务允许远程运行.
6 p& J! [0 }* [% b19、lpd, g" \  A' F, w1 H
lpd是系统打印守护程序,负责将lpr等程序提交给打印作业.! |2 [6 U3 \9 {$ N. @; N
20、mcserv
: W# ]/ Z- ]3 Q. n5 U9 e- @Midnight Commander服务进程允许远程机器上的用户通过Midnight Commander文件管理器操作本机文件.
  ]/ V8 c* k: C4 c% R: y2 e, N服务进程用PAM来验证用户,需要给出“用户名/口令”以通过验证.8 U3 D) z3 [, f' g7 s
21、mysql
% B7 y0 q5 g# y一个快速高效可靠的轻型SQL数据库引擎.
$ i. b0 [" d& R% I22、named
1 p: i8 r2 s9 s域名服务器,将Internet主机名解析为点分的IP地址.7 |7 W5 t* S, [& j) S
23、netfs: S5 w% w" k8 @7 @. w% m
负责装载/卸载NFS、Samba、NCP(Netware)文件系统.
& p$ |( j2 U7 B24、network 激活/关闭启动时的各个网络接口.
3 v; k  l0 `6 X" V" p: O: V- ]7 B25、nfs0 Q. ^1 G& z4 p- u
NFS是一个流行的基于TCP/IP网络的文件共享协议.该服务提供了NFS文件共享服务,具体的配置' e* E3 `6 {6 {
在/etc/ exports文件里.
  s6 f% u+ e% p: R26、nscd" t2 j; m8 a) V- E6 c! \# q0 x
该服务负责密码和组的查询,并且缓冲查询结果.如果您的系统有比较慢的服务(如NIS和NIS+),则应该
2 F- K+ y) e2 g( e% r4 J9 \3 g启动该服务.
* R& @) B' X9 v' U( F6 s0 Q9 n27、pcmcia
1 ~2 C: {- _3 Z5 O6 T- jpcmcia主要用于支持笔记本电脑.9 }) o5 m* H, \  t- H& t& |
28、portmap( n! [; @" G2 [( ]
portmap用来支持RPC连接,RPC被用于NFS以及NIS等服务.6 b1 t- ]# Y2 F* G0 i
29、postgresql: e, H/ u7 ?5 m, _
PostgreSQL关系数据库引擎.
% B5 U( j& [: b& ]  P30、proftpd0 l* D' |8 l+ F3 [8 m( I0 q
proftpd是Unix下的一个配置灵活的ftp守护程序.. j4 u/ K5 h9 O! p# e
31、radvd5 D. t3 c& [/ E. Y0 T
路由广播程序.) e$ ~# Z8 F) I" ^
32、random1 D7 `- R) b& ?# S4 z, c
保存和恢复系统的高质量随机数生成器,这些随机数是系统一些随机行为提供的.
4 k) g& x# `- h- {. w  r33、routed
8 Y) a0 n8 N4 h  M4 T0 f该守护程序支持RIP协议的自动IP路由表维护.RIP主要使用在小型网络上,大一点的网络就需要复杂一
( Y* c: b6 W; g+ L! P3 @点的协议.
) o& x1 j4 I7 F+ m1 z) T0 E34、rstatd
8 N5 z  q; a0 K2 O" T6 A/ g  k9 RRstat协议允许网络上的用户获得同一网络上各机器的性能参数.
6 j3 X! _1 E( Z: I35、rusersd
3 z% I- H# e! B, y0 }! r9 i该服务使网络用户可以定位同一网络上的其他用户.
. I/ D; i$ Z1 a/ O5 q1 w36、rwalld! A3 A, x$ z% {8 @
Rwall协议允许远程用户向在同一系统中活跃着的终端发送消息,类似wall的本地行为.) I9 [  F7 H: t! ~& k
37、rwhod
. u8 q0 V) q5 W- \- E+ y* K允许远程用户获得运行rwho精灵的机器上所有已登录用户的列表,与finger类似.
! e4 o) L3 a# Y  B+ m' ?7 M. K' m' v. u38、sendmail6 h+ k6 c9 q9 C: Z7 E. n1 ^
大名鼎鼎的邮件服务器.0 d/ |1 c# j, }# i
39、smb
, [+ r4 l- H1 d启动和关闭smbd和nmbd精灵程序以提供SMB网络服务.# c$ @, }+ ~+ i  H7 I! z5 x, \0 ?
40、snmpd3 z4 s) L9 M9 p4 U/ l
简单网络管理协议(SNMP)的守护精灵.
5 \( u2 G6 d4 ^7 W41、syslog
9 Q% O; h5 |9 Ksyslog是操作系统提供的一种机制,守护程序通常使用这种机制将各种信息写到各个系统日志文件.通常应
% M6 K# r" O7 u) {3 R该启动该服务.
  Z- v$ U5 y* _- k% m42、xfs$ `4 P# W! b* H: H2 Z# I
X的字体服务器.- _9 j0 l3 o/ i6 A
43、ypbind
$ r) n4 B  v" T1 tNIS/??YP的客户端守护程序.如果您需要使用NIS/YP机器,请启动这项服务,否则,关闭这项服务.
" M6 o$ d( h" x. D9 F: O44、yppasswd
7 j( k) N7 ]' t9 z' ~让NIS用户能够修改密码.运行在NIS域的服务器上.客户端程序同样也叫yppasswd.) [0 t4 k% g: K, b9 b! @
45、ypserv- s/ q  e7 P' ]) X) K  Z: j4 ^" s
标准NIS/YP网络协议的一个实现.允许主机名,用户名和其他信息分布于网络各端.运行在NIS服务器上,
; B, ]$ _; \2 l3 t3 [ " |  @% \* q! L0 ~) p
关于运行级别(对应不同的initX.d)
; I& D8 G8 e7 w/ f) }' _  |/ y0 — 停运5 G" p3 _/ X# p* I) z
1 — 单用户模式3 M4 v8 I6 e1 |  W0 G6 ~
2 — 没有使用(可由用户定义)
( w2 _  c' x! U3 — 完全的多用户模式
, Z( w; M* S4 z2 G$ e4 — 没有使用(可由用户定义)
' r1 \& |7 u4 {5 — 完全的多用户模式(带有基于 X 的登录屏幕)3 e9 \: X0 P8 |  ~6 O
6 — 重新引导" S4 T4 c% m& U. q
1 F/ S9 m' Y, Z3 w, ]8 u; y' Q
二. 常用命令
4 A0 H* z" d$ m/ ~  x7 k8 vchmod 命令
; R# {# n* J  t" O& t' c符号模式
6 ], {7 h  E6 E  C  y+ r8 u8 Kchmod [who] operator [permission]
* D% E6 {3 G3 c9 C[who]:7 }6 K7 K! q9 y+ |" u/ D3 M9 E
a(All user)
6 C2 s5 j$ c9 l/ O+ U  @; ~" Ng(The user belongs to same group)
" U! f3 n, X. B8 Co(Other user): J, Z* K7 k3 i. t* _
u(The owner of file)
9 ?9 U* a2 b0 j2 a6 soperator: +/-/=, u" B* W* G/ [* y  e
permission: r/w/x/s/t/l/ \$ d, l4 _: i8 O' S
samples:
7 {6 `0 V! O! uchmod a-x filename (收回全部用户的执行权限)" l  E: x* I) j6 |+ u' ~
chmod og-w filename (收回同组用户和其他用户的写权限)
+ \  U  C" \, y& T$ K1 _chmod g+w filename (赋予同组用户写的权限). M* j1 w6 m' k) v5 v
chmod u+x filename (赋予文件属主写的权限)
: b* Q2 ~! d' }# `0 achmod go+x filename (赋予同组用户和其他用户的执行权限)1 \% I$ V% I1 u5 S  c
  T% |, G, ]; ?& n8 F" d( t# U
直接模式$ R, x- U. }1 ]) ?; m
chmod [mode] file
7 q7 n+ Y) U; ~1 V, ^) Lmode:八进制数$ P% ^) G7 _: i* [( Z
0400: 文件属主可读 0040:同组用户可读 0004:其他用户可读
" ~: ~: }+ v% S  o# T5 \0200: 文件属主可写 0020:同组用户可写 0002:其他用户可写& Z# }; a0 w" R7 Y
0100: 文件属主可执行 0010:同组用户可执行 0001:其他用户可执行
* v/ K: a7 M9 c  [% g. ZSamples:
 楼主| 发表于 2006-11-7 14:12:39 | 显示全部楼层 来自: 中国陕西西安
chmod 744 filename: 文件属主可读/写/执行,所有其他用户只读0 R. R. u- x0 Q3 R
chmod 664 filename: 文件属主/同组用户可读/写,其他用户只读
# k- t9 x4 K1 r& p+ Y& J. e; f$ N7 P* A! w6 @. e; C" M: H1 D0 M
chmod -R dirname: 连同子目录下的文件一起设置4 }2 x- l2 a+ u. s4 g

) n  i/ t* z  m. e
2 p) ~7 Q1 a8 Q2 O1 C3 S" P目录权限:: S) Q, |" N4 N% c9 M
r: 可以列出该目录的文件;) d4 N5 z, Y3 u) G$ n( Q
w: 可以在该目录创建/删除文件;9 G# q- A% v$ P5 Y4 {
x: 可以搜索或进入该目录
. d& l8 F0 d2 `8 b
$ |# A4 b% ~- J4 [" r目录的权限覆盖目录中文件的权限
, v; D8 @6 ^0 n% }9 A9 I
: o+ \0 _. L6 r- V" j7 ~, f除了字符,也可以使用数字来设置权限。想知道是然后工作的,看以下例子:9 T" x% n; v3 D
execute=1+ Q  M6 X$ }9 y/ Q* N
write=2
3 M: s( r7 |8 O7 \& O/ Qread=4, s0 {; \2 S& J) S, k
对于指定的三种不同用户级别总结如下:/ U4 T7 w' D+ b. A  i) d6 C
0 = 没有任何权限 (不能读,不能写,不能执行) (常见)
. {. t8 [3 c7 E3 ^4 N% O7 r1 = 只能执行 (看起来不太正常)
/ M3 v3 }2 W% g: q3 S2 = 只能写 (看起来不太正常)
( x* y: `6 T% r% \. f$ _3 = 只能写和执行 (看起来不太正常)5 I7 U6 j& a) Z; D7 @
4 = 只读 (常见)9 N* h/ m' c4 L$ n! ]1 K% h7 T% _
5 = 只读和执行 (常见)( o; d9 z' b# H' u
6 = 读和写 (常见)
% K' f# [( v, o: n5 @; b) @/ [7 = 读,写和执行 (常见)
- U0 _# t8 A/ c# d
/ a7 a+ K7 p6 J4 }; Z% ~$ XSUID/GUID:5 M. ?# J$ E( `" ], e. R
- _3 D# k2 ?% U2 z# r* Z
suid:如果某个用户对属于自己的shell脚本设置了某种权限,0 A0 O" n; B9 r$ M( E
其他用户在执行这一脚本时也会具有其属主的权限
: h4 \3 \- i7 T; B2 j9 T. q. r. I" @) m3 j5 r
guid: 执行相应脚本的用户具有该文件所属用户组中用户的权限
& _1 ]6 V- [9 V( L4 R' j# ^8 V0 t, c' t
suid: add "4" before .... W& e# l4 _2 f3 E0 E3 }& c. A- j1 F
guid: add "2" before ...
- p, {+ f$ r" m8 ?; O% p4 d1 m) j5 d
% J, F- F1 M, `  l$ A2 U; U5 x3 u2 zsamples:3 |! w0 f% `3 P
chmod 4755 rws r-x r-x. k4 Z; p5 v; u% x
chmod 6711 rws --s --s4 n" u2 S# ]% g  H: G
chmod 4764 rws rw- r--
' Y% M5 P* H7 X! R) {' E1 H
! Q. U+ |1 c- t) D) I- t& ?6 r) A
chown/chgrp 命令: 改变文件的属主/改变文件所属的用户组
6 ]* _8 A$ l" }3 ], D9 q其他命令: group [username], umask [value]
2 k" }) p+ p7 @& P% k! H% M) d# M, z# w, O
文件链接:
9 E9 I, P% {: M5 q) Rln [-s] sourcepath target_path  s4 T9 k7 C3 f, [( S

: L! z+ l- m8 I0 q2 K( I( M& q5 Osamples:
/ Y( j  J! D  Ycd /home/sales/user1
" y% l! s" t$ e0 wrm .profile
+ Y/ ~/ O; o: z; ?4 t7 H+ sln -s /usr/local/menus/sales.profile .profile/ ~$ \' z- _& v- q: [; l4 u
ls -al .profile
& J: F* S$ J8 _* r+ l& H- K
1 J) `$ d0 I) H; n% n
) w6 V$ V' @6 X+ y. d* n# T! Sfind 命令
' @2 K3 b8 L% ^8 a+ V7 J: |
' I! O5 l8 }/ A! |: w0 [0 k6 B1. 按文件名查找: find 目录名 -name 文件名 -print
8 o' O* e/ H3 k. \+ s3 a( r, j! F0 n) V/ [' w4 X
2. 按日期查找:' J! {4 B. _5 z9 G/ S' @  {

* n- |$ D8 a0 @& K; j5 K例: 查找目录/usr/bin中最近100天未使用的程序# D7 m% G" l7 E+ M7 W

0 P* V/ j. z5 Y. s! B6 v. E, e9 k: ifind /usr/bin -type f -atime +100 -print
) z3 @& h) V* a, W
3 p8 s  q' l2 R+ h( Q9 f  P6 \
/ _4 q* Q5 e% P& _" `) X2 S2 l) \查找目录/usr/bin中建立不到一天的程序
1 [2 L% G9 T* ^2 K- M% Y& z% d0 U$ e  P/ w; i3 }" H) W
find /usr/bin -type f -mtime -1 -print
- ]  r5 o" w. d6 ?. e) C: p! e/ U4 s- s7 Q3 }( V( }( G

1 P2 }4 \% i) Z1 ^! q$ Wwhereis 命令
2 `7 F4 X( `3 _% a
' v. W) v% ]- C, H  X6 \: f+ @" ~whereis 文件名: z2 l9 l* S; y) m9 M6 A

  T- X8 \  n' a' @whereis -b 文件名(二进制)* @. ]8 c/ `! F' N- |" B' {3 v  Z
5 [5 I; _2 |* |

) T4 |7 C7 w+ X( SLocate 命令(需要先建立数据库); N  D% V! K% V$ ?1 n/ b2 q  M5 Y
locate *.ps! w9 M! V6 g2 ?; H
& |( L* `- n/ I. p' r% K* E

4 e: Q( m. A0 y* v; u  LQ: How to use "cat"
  L( A* F3 S7 |( e) L4 a  M$ p& E
A: cat 文件名5 w+ w2 w. n# U* S

- k6 C8 u" W; b& qcat -n 文件名(加行号)
. d( ]$ _3 S" t' f
1 ~; J/ W3 I; K6 Scat -n test*(批量查看) = cat test1 test2  Z+ e7 l7 E* F# n" j% x0 ]/ s" `

4 T4 u7 A7 [3 Y& m% F重定向:1 i: l4 @1 B! _2 w7 n- u
1. cat test* > test39 D0 B8 t$ Q7 z4 [8 m' Y, E

: N& q! r3 t! m2 d  ?+ B7 ?2. cat test1 >> test2(test1文件添加到test2文件)" k( }; A/ Y2 o0 f9 e

, L+ c" F! c3 q3 F5 n) i; A! C3. 不使用vi,建立一个小文件
' ?  u( Z3 w* ~5 }8 R% n' Q) G% |) d( P" h" ~
cat> myfile.txt
6 {# H' i! K; ^2 ~! oinput: this is myfile.txt. s; D& b& w: w
ctrl+d 关闭这个文件, g* P3 n: U1 U3 y; Y
. Z) I. O' z& X; N0 w' p, c
7 r  T3 h5 @: u
more 命令  [( ^7 _* `- D9 B- O
more filename$ \1 @0 i6 S8 ]( [  Z1 s( }7 u: w5 R# L
! `( n, M. w& Z" ?5 c# i) E
: K. F% ?- N, o3 Z) i" O
less命令
3 {$ x( i3 c& T( Vless 文件名(使用空格键下翻页,使用B键上翻页)2 i. [- N1 {& z( Y) L
less -M 文件名(显示页码); @0 {$ K; w* y9 T5 T% d
使用*进行匹配,如果要跳到下一个文件,键入":",再键入"N"+ u  e! c* H9 n/ ]" C
less -d(列出子目录名)! z" ]" p& F9 P# S! I
执行其他程序: !文件名 执行完毕后,按回车键
; j+ K& F+ v4 R+ k9 {使用"/"进行搜索: / 单词; 如果需要继续查找,继续按"/",再按回车键,退出阅读,按Q键.
3 }# c$ ]6 G# M6 k8 j5 j
1 F* g( g) P: S- v( h4 K6 v2 P8 Ahead/tail7 A/ e( k# ~. p" C& J0 z9 G
head/tail - 行数 文件名(支持通配符)1 m! u0 a' p5 r$ t4 p* W9 m
! d. _/ u) S+ _" o

6 i# U0 b5 Z7 C+ _: H7 zQ: 文件分割和合并
2 c. Z' d' I* V! H9 w- V* S% tA: $dd if=source of=target.1 bs=1M count=10
7 w( @0 `$ j8 w$dd if=source of=target.2 bs=1M skip=10
* x$ W+ \( c& J  {( _, ]% nsource被分为target.1和target.2两个文件,其中target.1为source的前10M部分;) U/ `9 _+ J  |1 \- Q1 q
target.2为source的减去10M后的部分.
" l* o4 X9 g$ J$cat target.1 target.2 > othersource6 F/ |  |& p. J2 I3 h
source与othersource是同一个文件.7 ~% V* B* _& c* t6 t% O
2 w5 T# r, `, k1 W) r: h
' U9 d- n' z' z( ]
Q: How to use rpm
4 {/ r3 [0 G6 p0 P/ x% D
6 v! `& s  v% p6 f8 a8 a2 W! `+ mA: rpm -ivh (Install,Version,Help)+ b0 p: S; E  d  _
rpm -ivh --replacepkgs (Force install same package)
8 Q# Q6 Y2 `" R# Y; P! Q9 Qrpm -ivh --replacefiles (Force replace some files)- \3 [  w4 ^+ v' X- `" A
5 U4 D" {& n1 H$ c0 Q
rpm -uvh (Upgrade,...)
( }3 y# b1 K" D1 U4 _$ ]rpm -Uvh --oldpackage xxx2 W: i0 g( r, t3 ~. o

7 T) y2 q! F% X2 e" jrpm -e (Remove installation)
# O' z% t/ ^. X% q# a; b# X1 drpm -e --nodeps (Remove installation and Ignore dependency , may cause error)" b4 o+ D* l$ @1 i

/ e! e4 _- _7 }4 g+ c" Srpm -Fvh xxx (Refresh)
5 ~8 u2 e: i) q' `3 s& x0 }
( ]: I) C; X4 M! irpm -q xxx (Query)
6 O6 I- t. o! B: \& g9 P) L9 V/ i! F& b* J
rpm -Vf /bin/vi (Verify)
8 W* r! A! z' L
  V: f: X9 @' L% prpm -qpl xxx.rpm (check the directory that rpm files installed)
: C; `- o6 ^4 E" w# z8 E. A  d3 P3 E# o
rpm -qa |grep xxx3 Z& C  R4 H: X. B  g6 s# {' U3 c
8 _3 n$ L. \& L2 k( B) `: u
8 g4 ]& U. l, Y, L/ ^9 z( k
Q: How to use "tar"2 \5 ?: o, W& `" K1 x, C( _9 B
tar 文件是几个文件和(或)目录在一个文件中的集合.这是创建备份和归档的佳径.  x0 ^" l% B' r& G+ e
9 r" }2 `" o6 H& ^) r( ~! }6 g
tar 使用的选项有:$ `/ T1 g! L, F  H" A
-c — 创建一个新归档.8 w+ r. c" g' q% u  z0 p
-f — 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名;当与 -x 选项' K' m: C' b0 Y  P1 ?7 q6 d
一起使用时,则解除该选项指定的归档.8 ]  }3 ]- ~, l
-t — 显示包括在 tar 文件中的文件列表.
2 N- o( o0 ~6 B) m& d% h( h% X-v — 显示文件的归档进度.
- k1 {& \$ t6 p; S' h& g. _8 f/ \& Q) y( s-x — 从归档中抽取文件.
7 t/ B. _. I# {/ A0 b/ f# S-z — 使用 gzip 来压缩 tar 文件.- w( C& g8 f6 Z& z. C, `
-j — 使用 bzip2 来压缩 tar 文件.
% B: c* r- j- X' P5 l" M+ O* J1 M" ^
- C7 z4 C4 i# ~/ m
! c/ T  ^7 |0 s6 ~6 j; o要创建一个 tar 文件,键入:
9 _0 j* D5 F% G) {3 e( \8 V" Vtar -cvf filename.tar directory/file/ i5 E/ W9 o' {8 V

2 t8 v; g" U4 s6 t. K5 p* R可以使用 tar 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
0 t# T  ^/ C+ h1 Itar -cvf filename.tar /home/mine/work /home/mine/school$ n- `- O. y# ?! A4 l, E+ b% c

. W/ F8 b5 H5 e& g6 `上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件都放入当前
* w) F) e, a" Y. S1 B3 s. x8 Y目录中一个叫做 filename.tar 的新文件里.
2 q; i7 w& @1 @% B* V
% x5 x! r  u. p$ n# _4 ]要列出 tar 文件的内容,键入:
' ^0 e/ U9 F7 itar -tvf filename.tar
8 z1 `$ k+ H6 o7 y4 z) P+ A5 W5 q! R1 j  q$ G2 c+ W( E
要抽取 tar 文件的内容,键入
$ u0 Y- l, H8 I# ~) M7 Ltar -xvf filename.tar$ l7 Q$ L( ?0 C8 p# ~& r- n
3 n% s& O" M5 v9 D- k2 C
这个命令不会删除 tar 文件,但是它会把被解除归档的内容复制到当前的工作目录下,
- M  w6 E5 x/ C. s0 q并保留归档文件所使用的任何目录结构.譬如,如果这个 tar 文件中包含一个叫做3 J8 k$ |9 r. h# v
bar.txt 的文件,而这个文件包含在 foo/ 目录中,那么,抽取归档文件将会导致8 H( \2 r1 ^( K" G& J3 M5 O
在你当前的工作目录中创建 foo/ 目录,该目录中包含 bar.txt 文件
5 ~7 [9 j1 M1 i& h* E% v9 p1 K
tar 默认不压缩文件.
4 E. S4 r$ e% N) c: v/ k2 e( y# z要创建一个使用 tar 和 bzip 来归档压缩的文件,使用 -j 选项:: V% |* Q* k$ _0 s& b3 s
tar -cjvf filename.tbz file
7 y' G# f% ^! l- R6 |
* H/ D/ @* N4 T, |/ T: H- l7 i以上命令创建了一个归档文件,然后将其压缩为 filename.tbz 文件.如果你使用5 o% n8 h/ B; I
bunzip2 命令为 filename.tbz 文件解压,filename.tbz 文件会被删除,继之以 filename.tar 文件.
' _8 k0 m) V0 {1 f% ], U8 D9 G( z* a( Y4 v4 B$ R; m% d: s4 {
你还可以用一个命令来扩展并解除归档 bzip tar 文件:
; Z, M/ N! H0 ctar -xjvf filename.tbz
+ F: w+ U% I6 f# N, H# j  _2 k
0 \3 v! W. l! w/ i6 B要创建一个用 tar 和 gzip 归档并压缩的文件,使用 -z 选项:
! E$ `& `* _8 Z+ j; k: etar -czvf filename.tgz file9 p! q! v# [7 L' j. A
! P) o6 t2 S" K7 X7 ?6 M
这个命令创建归档文件 filename.tar,然后把它压缩为 filename.tgz 文件(文件 filename.tar 不被保留).
& t8 `& h. C% ~/ \) P如果你使用 gunzip 命令来给 filename.tgz 文件解压,filename.tgz 文件会被删除,并被
, X# o$ N4 F8 v- G& h2 ]替换为 filename.tar.2 y+ u8 G) M4 ^6 ]. L

! @4 N% s$ r) |  v' ~+ }你可以用单个命令来扩展 gzip tar 文件:
3 o% b) P" w9 }' p# F- ?tar -xzvf filename.tgz6 i5 W$ _$ o* W/ N# N: V) B
) }, ~: P* N# ^4 K7 J4 w5 d/ V

: K) X$ O+ v# }$ I解压a1.doc.tar.gz文件+ F3 U6 V" ~8 R
方法1:
# v- b5 K' _$ V. q& {% J$ d) i#gzip -dc /mnt/lgx/a1.doc.tar.gz (产生a1.doc.tar文件)* G- m3 s( L) l. b
#tar -xvf /mnt/lgx/a1.doc.tar (产生a1.doc文件)
: S  I) V1 m2 C( b' e这两次命令也可使用管道功能,把两个命令合二为一:5 E. r7 g0 n% R7 a$ F( h
#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf5 L6 o& G" G) W1 R& @, P( M
方法2:使用tar提供的自动调用gzip解压缩功能
" Y$ J* r1 ~: b; ^( d#tar -xzvf /mnt/lgx/a1.doc.tar.gz
+ U# o) y, X( ?8 Q6 \# F3 u& V7 N$ t+ J" [; Y: ~; n

" w' D" Z3 c1 X7 H' f/ Y8 LQ: How to use "mount"9 N9 T- }; {& q0 G& i
A: mount -t 分区格式 分区位置 加载位置
7 U5 _! Z5 L( W2 H5 C3 R$ _0 E/ M6 \) h7 Q: G  p3 j
fat32的分区: mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/c9 f$ M+ H. [" q* g5 [
CDROM: mount -t iso9600 -o iocharset=gb2312,umask=0,codepage=936 /dev/cdrom /mnt/cdrom
# F# U# B) @0 Z4 V8 m  U! Ziso文件: mount -o loop /abc.iso /mnt/isodir
* I7 n( f4 E' p: ^* o软盘: mount /dev/fd0 /mnt/floppy
% ^; ]- W' l/ p' R& ~3 vUSB闪存: mount /dev/sda1 /mnt/usbdir
# x$ C% E; M1 Y/ N" m9 h7 l
7 p! ?+ y' D% ?, p查看所有: /etc/fstab内容 mount -a3 c* J) j$ r, b, C' L+ _$ i
可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.& n, h" T, J  I* J& x

+ a7 Y" x  L/ o7 g7 G在Linux下访问硬盘分区的内容,必须先用mount命令将分区加载到Linux的某个目录下才能访问.
$ X+ S0 b! R* R% `9 A2 m- |先用“fdisk -l”命令(某些版本可能需要用“fdisk -l 硬盘设备名”)查看硬盘分区情况,操作如下:, u7 ?, u/ n  A; i# X( l$ g5 v6 u
Example:
9 E3 h7 Q# k1 |/ y( r7 r4 wmount -t vfat /dev/hda1 /mnt/c(/mnt/c目录必须存在)
5 t- W. M' h$ q/ [1 ymount -rw -t vfat /dev/hda1 /mnt/c$ k; p+ J: C7 c3 Q$ [: j, |7 j

5 ]& _9 Z) L& u( V6 D' C4 _8 x9 p0 S- t8 U0 s; H* w( k5 R  S2 }
Q: 如何使Windows分区里面的中文文件名(目录名)正确显示?
# Q. y2 H1 c0 M8 VA:用mount命令加载Windows分区后,中文常显示为“?”号.这是因为发行版自带的内核默认用ISO-8859编码" j5 ]! d. ~, p' z
来处理加载上的Windows分区文件(目录)名,只能处理单字节的英文字体而无法显示双字节的中文字体.
2 ]  h. n5 ]0 f% b7 z! C要正确显示,可以用下面的代码加载Windows分区:7 N8 \5 i1 g2 n, Z4 @& V
/ C. \2 O* T7 H1 i
$ mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/c3 S8 t2 W6 N3 \4 U7 C9 d

$ D& g( v8 q* j, ^% }  这个命令能让内核以cp936编码处理Windows分区的文件(目录)名,从而正确显示中文文件(目录)名.
$ u( }- l6 \* B" E- a  0 O' S# Q, ~) a. N& i
还有一个“一劳永逸”的方法,即重新配置内核,在“File systems”-“Native Language Support”-“Default NLS Option”
/ z$ Q! K/ |6 ~. @7 d: D# i里填入cp936.重新编译内核后,无需加上-o iocharset=cp936参数也能正确显示.
- o% w* L) ^7 K( |+ B6 m
. ^& ]# L% o) u4 T$ R  d( Z! k0 b/ C
4 m/ T: t- i0 X, ^9 uQ: 如何使用-rw参数加载Windows分区后,只有root用户能够读写,普通用户还是只能读、不能写?
; e1 ^" f" N) z. z2 r* YA:直接用mount -rw加载的Windows分区,所有文件对普通用户都只有读权限而没有写权限(但root用户有写权限).要想让6 B8 |4 S8 F( {% W) l# p
普通用户也能读写,可在mount命令中加上umask=000参数:/ N7 v; n1 h( X8 i3 w
$ mount -rw -t vfat -o umask=000,iocharset=cp936 /dev/hda1 /mnt/c* v, J( C, e  r5 }: F+ z5 c! {

5 n0 _5 b% K  {% W- ?5 M( u: J3 f" z* }- o1 q' a1 C- v3 B
Q: 不编译内核,How to mount ntfs partition ?
, }" b1 w- y/ U% DA:% h5 J9 k  b7 p& K
1. 上google.com搜索并下载 kernel-ntfs-xxx.rpm
# ?$ ?$ i7 c/ e(xxx means linux kernel name: uname -a)
1 E5 N  C3 `" H( M1 O2. rpm -ivh kernel-ntfs-2.4.21-15.i686.rpm
) h# D# q& [6 ?3. mkdir /mnt/c
/ S, }8 P  ?7 M0 n4. mount -t ntfs /dev/hda1 /mnt/c
2 H) n' U+ ]: S; O
) ?/ C: O) h: h/ G( d$ `9 S* v* D7 PRead only: http://linux-ntfs.sourceforge.net/3 M7 [. q" F& M* i
Read/Write: http://www.jankratochvil.net/project/captive
/ g2 d" ~- y, `; H  P) q) ]
( U; _. o6 z6 r( ~% V4 s* A8 z' Y- Z0 b, C+ i' f) W9 E7 W
Q: mount局域网上其他windows机器共享出的目录
7 W; F, o( D* Z9 H( |5 `% G5 k  HA: mount -t smbfs -o username=guest,password=guest //machine/path localpath
& o; s  k) N" C3 Q( O( Z( h" V
2 `  ~( R4 j7 _# {, ]& ]5 a1 M4 C- w* B+ u' ^
Q: 在vmware的LINUX中使用本地硬盘的FAT分区 ?
2 U! {! l; u0 u2 d  l
& a9 t% ?9 x% Z4 y2 p* RA: 将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上.可以将如下的行放到/etc/fstab中:
4 `" M. v- P! W# X//win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,
( R1 s" `" @* G) Qcodepage=936,iocharest=gb2312 0 0. k0 m6 r1 T' I* I. b" ?- D* _* w
/ i. l- y7 p1 w% X) a: C
参数:
' r* S6 c9 _) ]5 l/ W0 _' Gwin_ip是你的windows的IP地址;
& Z6 \1 T% ^# v1 y" R# O2 {D$是你的windows里面共享的D盘的共享名;- l* y" T3 Z* ]0 C' X3 V3 A
/mnt/d是要将该分区mount到linux的目录;9 O* `- D2 b3 ^5 o9 O
win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码.
0 G. G) g0 t/ w# V& {1 Y  i9 B, N: S- d1 B
! q% @( Y- p; q如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区.
( `+ S7 ]2 M# ]* j; G( r
" s  T" ^  j5 s9 wExample:& n; }5 h3 t& A8 b6 q! J
//xxx.xxx.xxx.xxx/C$ /mnt/C smbfs defaults,auto,username=xxx,password=xxxx,
' O; P" r, Q$ O; f: kcodepage=936,iocharset=gb2312 0 0
, g& b$ E, C9 j, h7 A+ A) {6 c! z2 x  ^9 a

# H- |2 B+ q& t+ B9 QQ: /etc/fastab0 h; `$ l2 ^3 b! X0 L  i
A:
) s' v3 j  B% B3 f* g4 F5 k/ l2 L6 m. a4 L* W( Y, q9 ?3 n
1. fstab文件的作用
5 H+ R2 B7 S3 p) S& {( Z文件/etc/fstab存放的是系统中的文件系统信息.当正确的设置了该文件,则可以通过
2 u! n/ Q. C: }3 n5 R. q; v"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行0 U% A! \# O! Q4 q! s1 d5 ~
中的字段都有空格或tab键分开.同时fsck、mount、umount的等命令都利用该程序.( b& }* H' c/ V- s1 z1 \

) E- h, P. I  z2. fstab文件格式
' b: b, D9 A; d下面是/etc/fatab文件的一个示例行:4 l! M8 J! N/ a0 O" i
fs_spec fs_file fs_type fs_options fs_dump fs_pass /dev/hda1 / ext2 defaults 1 1
' S# I1 f+ B, Y1 G; v' ^
" [  _+ K) v( ^fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来
+ h- E8 z& w" [& {说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述
' O: }5 ~6 E8 ~& w3 P$ G0 C# Y为/dev/sdaXN.对于NFS情况,格式一般为: hostname.domainname,例如:`knuth.aeb.nl:/.
 楼主| 发表于 2006-11-7 14:15:33 | 显示全部楼层 来自: 中国陕西西安
对于procfs,使用`proc来定义.. I: V/ ~( y* f( B6 q9 z
2 `8 L/ {4 B$ L6 E7 i' D! _3 O  E. j
fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名
6 t' k6 P. G9 n" M8 m包含空格的情况,用40来表示空格.% J, f" o7 z- L# ?/ g  k
2 q: p7 g# @5 d
fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、; k2 b  w  g4 w3 O
vfat(Windows系统的fat32格式)、NTFS、iso9600等.
+ b  m% ?6 x4 N, `" z; [2 @4 I& A- X9 I% h/ p" z: ]
fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来.0 ]0 i7 y! R7 W  v
对于大多数系统使用"defaults"就可以满足需要.其他常见的选项包括:
4 w, {& }1 L; |! |' U- k' W/ {8 L% _* P
ro 以只读模式加载该文件系统* [6 h5 p4 x" v, B$ s

! {( Y# _. C/ v+ n' m# ysync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却
' T) U7 k3 U/ G$ F% ]) d降低了计算机速度
5 N7 j0 o: h* R9 F/ X" a* G2 |6 _5 L
user 允许普通用户加载该文件系统
$ \3 F* F3 f: f' [& G, M, }quota 强制在该文件系统上进行磁盘定额限制0 g+ `- W4 o4 ]' {
noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
9 u+ G. _2 i/ l/ f; Y" o, ?% s5 s- @2 r: t0 W$ O: r0 d( [5 G- s
fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设& j' z2 \- I7 J& P3 U( f
置该字段为0
- n" F. J4 e6 Z5 j; Z; k2 o3 p: T, J; i  n/ |
fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字
  `1 I+ K& p: u段的值应该为1,其他文件系统应该为2.若该文件系统无需在启动时扫描则设置该字段为0
5 h; ?. T" M; B" S4 J2 O' F( G$ @5 u) H" {$ `$ V- F
3. 示例文件
# t& }+ H# u1 r9 x3 v( }$ N. X: o  V# /etc/fstab
0 Y' U9 [) a  [0 b6 y5 f2 H/dev/hda9 swap swap defaults 0 0  ?$ h3 i3 ^! K! X4 v* R
/dev/hda1 / ext2 defaults 1 1% T6 T7 l6 B& P; Y
/dev/hda5 /home ext2 defaults 1 19 j0 {6 j$ L. k  \% L/ Q8 C4 F& F+ H
/dev/hda6 /usr ext2 defaults 1 1
4 G1 j# ]7 r. Q/dev/hda7 /usr/local ext2 defaults 1 1. c: H8 h# s9 E* S
/dev/hda8 /var ext2 defaults 1 1
$ h+ O7 }' y6 Q: S% c7 b/dev/hdb /cdrom iso9660 noauto,user 0 0' A: F8 @0 C. H) P9 J+ \9 P4 t1 W
none /proc proc defaults 0 08 g7 X8 q7 W: H2 `
none /dev/pts devpts gid=5,mode=620 0 0
9 B7 I3 [. ?  ?( P) e0 l3 r
# y! \( S# h5 c2 a" O' b- m( A% S$ [+ c3 v
Q: FSTAB 最后的配置项里边最后两个数字是什么意思6 H& Q8 f& `6 v; V+ b. X7 o0 a
A: 第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要;' _4 G, e2 w' x: k
第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号) N4 q# X5 [) C" K1 i2 i
1 是root文件系统,2 是别的文件系统.fsck按序号检测磁盘,0表示该文件系统不被检测
! c! W& V7 F2 K, k8 e
1 V9 o3 d! s/ B3 Edump 执行ext2的文件系统的备份操作5 I( z7 L  b) M. O
fsck 检测和修复文件系统1 F+ v9 f( b! N7 q: `

1 P# U7 [/ n$ ]4 a5 p; g0 a( Y9 y5 g
& O+ f% @3 B' Y& M9 J- c6 v) |Q: 如何临时增加交换空间?9 B4 q6 Z8 c% z2 S6 P
A:
0 t& u7 V  w: ?1. 产生一个64M的空文件1 x1 r) M2 J* ~/ C8 O# b
#dd if=/dev/zero of=/swapfile bs=1024 count=65536
2 p7 p; Q6 A4 S: X2. 初始化该文件为交换文件:3 e: U9 O4 B( |5 n/ K' A
mkswap /swapfile 65536/ O% s, f6 K$ k; a1 n) W6 q
sync* d# X( {6 K6 c& |5 b
3. 激活这个交换文件:% Y6 G' T, ]1 H' ~
swapon /swapfile' w' K% \4 `4 x8 _$ ~5 @7 d
% y/ ?% b; a- ?  }6 u  `- x& ^

* ^% o' \7 P" f+ `+ t三. Case
# U" w- f2 d5 I+ l: y1 ^8 s1 D+ \9 R
Q: UNIX系统下查看内存
- |, e* q" e7 {5 `7 o, Q7 [, @0 f8 s5 Y) Z/ S$ v' p) x* j
LINUX: free6 I) ]$ k3 s) z9 l: L% G9 H1 C
HP-UX: swapinfo -tm
0 t0 Q4 D$ \9 m. ?1 y, TSolaris: prtconf |grep -i mem
0 U4 K$ c2 P/ |& pAIX:
, ~1 ?- n1 @! Y7 glsdev -C|grep mem4 f6 p4 Q5 s0 t" t0 |
lsattr -EL mem0
# N$ ]( C' F) Jsize 2048 Total amount of physical memory in Mbytes False; V3 @2 P, D- e: E, `# e
goodsize 2048 Amount of usable physical memory in Mbytes False
6 G* a+ d$ q6 Q
9 e* `2 }% P/ r3 |
3 v8 z" M0 a/ c( P+ l6 _" O( W9 JQ: How to enable disk quota for user ?9 G/ U9 {, y/ r( `# _. M/ C
! T+ p7 S3 L! Y4 Q- Q
A:首先,将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:/ U9 Z" D! j- {: C+ N
) I6 K+ w5 i# l3 r1 b
/dev/hda2 /home ext2 defaults,usrquota 1 2+ d1 v! C& G1 Q/ T6 O9 ^

# e  n' l& k$ o) r. y0 ?% Z其次,在要设置磁盘限额的分区目录下创建空文件 quota.user:% f9 T7 q: U; X/ o
#touch /home/quota.user #chmod 600 /home/quota.user1 \# b/ }# p. `2 L

% a9 s: U; a, R( M重启系统后,可以使用edquota -u 用户名来设置.3 K/ B- Z6 i; f9 B* ?# E9 _% Y$ }

: E5 h4 l6 Y1 Y- L5 {0 i* ?; Q% c# W6 J% D; Y
Q: How to 删除文件大小为零的文件
# n/ h9 A4 R3 {/ D$ X0 zA: rm -i `find ./ -size 0`
+ Q/ o! S* `- W+ L; Z2 s! E% hfind ./ -size 0 -exec rm {} ;
  K* O1 _, W( Y0 O6 o. m" ?1 `+ W/ f* Y( H) `! m$ F; x( t
find ./ -size 0 | xargs rm -f &
' c. L, b1 u8 S! m: Q/ P) v
4 z' X- {% z$ efor file in * #自己定义需要删除的文件类型* o' M4 D4 C8 G9 L! a8 F
do
: _& T% C& A7 G- v$ Kif [ ! -s ${file} ]
7 C6 T, U9 D/ ]7 Q, V* x- jthen
1 D& Z' L7 [, f5 \# I  \; U6 Mrm ${file}& h; e* n. d6 @# L, `3 x
echo "rm $file Success!"
! G. i; {2 `0 a9 w8 z0 O2 l) tfi
$ g3 B+ w0 \! n  t# l. e/ d1 zdone
  Q5 o2 {! B) t" J1 O' _6 [. v9 ~, q5 K: A3 ^+ o& p

: }; h5 W( I  v) ]Q: 查看系统信息
8 y) b& x  s+ u" k, [6 I/ UA: cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)% ?( o0 N9 P% x; N! S# `; D8 c% W
cat /proc/interrupts - 中断& v5 L* ^2 d* ]. A% a, f7 E
cat /proc/ioports - 设备IO端口
  l: T& Z) `+ y6 m- E3 scat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
* S# k; N: o/ F! ?cat /proc/partitions - 所有设备的所有分区0 y  _/ `: j. _8 G( a- i
cat /proc/pci - PCI设备的信息0 j+ i7 x- N4 P& ?+ W3 a
cat /proc/swaps - 所有Swap分区的信息
3 s5 P# Q$ W" [: g7 _# Qcat /proc/version - Linux的版本号 相当于 uname -r6 ]' f6 d6 ]0 c( y

$ T9 w' U$ j9 x2 d. J4 u2 E& z7 C! p2 E4 e0 h  }% s+ F& A
Q: 修改系统时间
4 f$ M# t8 ~5 z' Q" r, R/ |2 AA: date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10; A( G  D3 b$ J( I" D8 {  {
修改后执行clock -w 写到CMOS. L: e8 X5 B5 P# V" |
hwclock --systohc! o  V# Z4 K  I
* \! N0 ~- }& b
& |+ ]# z/ ]$ J- `
Q: xwindow下如何截屏5 z4 V. H; j: A
A: Ksnapshot或者gimp5 |7 H. c1 X; T, b

; \8 M+ `7 q; G( [# t2 L
( B$ d- c' [9 |  ~: v- A/ hQ: Redhat linux中播放mp3文件
$ }3 [1 p. |) ^' uA: 原带的xmms不能播放MP3(无声),要安装一个RPM包:rpm -ivh xmms-mp3-1.2.7-13.p.i386.rpm.
4 W% t5 i7 Q& T) ~) e2 e
0 B5 K6 b. B* U. b6 R/ \1 }. _打开xmms,ctl-p,在font栏中先在上半部的小框内打勾,再选择 “fixed(misc) gbk-0 13”号字体# y. B3 T( ?5 f& R, k- L1 X; p$ J
即可显示中文歌曲名.在音频输出插件中选择 "开放音频系统驱动程序 1.2.7 [lioOSS.so],即可
: ^* u. K( ^0 V0 w9 _% ?正常播放MP3文件.
7 T0 M; ^4 q4 _6 T/ @! P" m: V/ Y
. [1 s2 T  I4 x. a+ s1 B- |
Q: linux下播放flash动画
: Q1 e6 c0 _9 _  yA: linux下播放flash动画用这个东西,不会造成浏览器的关闭(其他的插件不好用)" w6 }+ L1 s2 x, |
& H4 G1 R/ [$ h( i) A
首先下载flash播放动画在linux的插件" V/ u& D8 `- C- _$ }$ m! v! K
1. http://www.collaborium.org/onsit ... /flash_linux.tar.gz
; T+ @1 z5 ^0 p4 U$ J+ j5 g2. tar zxvf flash_linux.tar.gz
3 Q' h; B$ ^' y9 c5 A* ?
( t4 E4 z: N  V& @3. 打开包之后,会看到Linux文件夹! c- t8 L7 o& b& l( ]0 h
在linux文件颊里有两个文件libflashplayer.so 和shockwaveflash.class,把这两个文件拷贝9 o" t( b- @/ y* r
到你的浏览器里的插件里(浏览器不一样,插件的位置可能也不一样)
7 h* L8 a; q, u6 ?5 ^/usr/lib/mozilla-1.0.1/plugins,就可以了4 k- B; n9 P0 |( V
7 Z! l6 Y& l8 s) ]2 b3 m
9 P8 ]; J9 T+ J( G; l& @" B
Q: How to make iso file using "dd" command ?
8 u/ O. o( j6 Q* B4 B0 T- {A: dd if=/dev/cdrom of=/tmp/aaa.iso. [* N7 ~8 W0 e# ^

9 t4 Y; ?( c* `- @/ _' z+ I& i0 n+ \3 f" s7 U
Q: 用户的crontab在哪里  Z  |8 o' L0 z1 I7 p
A: /var/spool/cron/下以用户名命名的文件
) x- j; U/ u" `8 b6 @8 C" S  @. E; t. e& o3 Y

; `! F4 ^! G+ F8 t  LQ: 如何清空一个文件
1 b! u6 J- r7 S3 A! b( B% X3 h, o+ k/ @A: > filename
- r& L% N. i8 c
0 U( U. A/ M( ?6 S, H) T# o0 J) B1 f/ R+ G( ^8 p
Q: 如何在图形界面和控制台(字符界面)之间来回切换(bjchenxu)" D5 f$ a$ Y3 ?; A+ h
a.图形界面到控制台:Ctr+Alt+Fn(n=1,2,3,4,5,6).
! u, @  O' O2 L/ zb.各控制台之间切换:Alt+Fn(n=1,2,3,4,5,6).
3 T4 h, f/ k2 P1 q
. A' E+ H, v7 T& t: g& oc.控制台到图形:Alt+F7
2 }. P+ q2 N6 [
5 w# G& r' l8 D( ^' @. r1 ~5 F- O" O- p2 [$ l- A) W
Q: linux中刻录iso的方法- R9 H7 @& h) ~4 B& H1 k5 {
A1: 使用xcdroast,选择制作光碟,选择ISO文件,刻录!
( @+ E; |% r+ i$ C4 X7 ~$ g) q1 }& a参见http://www.xcdroast.org/xcdr098/faq-a15.html#17
. A) Z  P" v( _+ ~
1 f0 D- |# l( z) cA2: 方法二:找刻录机的命令:) N( T6 p5 N1 _  V& }# q  _$ x+ Z
cdrecord --scanbus
& `; T; E/ g; j, I1 z1 B7 ^6 {0 a, n3 f: G) R7 B* \, h
输出结果为:
& `# o; e' Y* p9 r: G" H0,0,0 0) 'ATAPI ' 'CD-R/RW 8X4X32 ' '5.EZ' Removable CD-ROM% a8 i  X  y) f$ z2 P
; a7 A4 A2 N5 K: Q0 h# l* v) }
刻录的命令:
2 n; f' K: g* S" i% B1 Pcdrecord -v speed=8 dev=0,0,0 hutuworm.iso
/ @; t- F3 _9 Y# n
  e7 D5 E/ T% a$ V) U4 @8 n  r  q6 r4 \, s
Q: 如何起多个X
2 D1 u$ F+ o8 f6 ~9 Q9 EA: startx默认以display :0.0起第一个X,通过传递参数给Xserver可以起多个X:/ }; x9 C6 g3 g( W$ a/ }4 g, {" L8 [$ `
# startx -- :1.0
9 E. l# U7 k: V5 D& K# startx -- :2.0/ I% s# J0 R6 N# d  G5 ^, i" K
..." |  T$ t" K& x9 A& w2 K
然后用Ctrl-Alt-F7/F8...切换.
) L1 b7 D7 w% k$ f3 a5 m$ c
+ ~+ g& `$ G4 a: `  M/ A8 y" u) q/ l9 t3 |
Q: 让一个程序在退出登陆后继续运行. H  j, {5 ~0 D% l8 k, e
A: # <cmd>* [; {0 Y$ P( G! V' ]% q
# disown
. {% w, U* `1 e7 b( C& w& h& wor:3 b7 ~* j: b! d7 m% ~
nohup command &; u- A' s1 }) e+ z
( h0 O; g' v9 \0 t- U

8 W& t2 M9 z3 }8 Z6 K0 UQ: redhat 8.0上msn和qq6 r5 t) `$ S1 M3 w, }
A:9 G  v$ @" P# {& u" G0 n2 N
下载Gaim 0.58版:
8 {$ f7 V, V; V5 `2 c; ^' D4 vgaim-0.58-2.i386.rpm& ?' E1 I. U# a2 N
0 Z  J9 W7 A: N3 s" ?# m  @6 p
下载QQ插件 for gcc2.9版:
; Z! K8 ~% h+ q6 c; f* Tlibqq-0.0.3-ft-0.58-gcc296.so.gz* K& n# ^& e* b8 r
4 D" e0 ?- \/ Q+ a$ J9 e) g
将下载的文件放入/temp目录,然后将系统中已有的Gaim删除,即在终端仿真器中键入命令:& w; ]' M* \, Z, u
rpm -e gaim./ `' [' f. R  H7 p: _7 D

% H& Z, P- D8 F- Q开始安装) l- H% d! W$ V1 w7 E
打开终端仿真器,继续执行下列命令安装Gaim 0.58版,即:
1 [7 A: y1 D5 O* ?" y* ucd /temp          (进入temp目录)9 `+ }: e) t" A% \7 ^: T$ f
rpm -ivh gaim-0.58-2.i386.rpm (安装软件)
( z2 M' B9 ]' z+ y! M  q' z当安装成功后,你就可以在GNOME或KDE桌面建立Gaim图标了.* _; W: ?# S; y! G: ~
: g+ o2 l+ e" |# W' {4 m
继续安装QQ插件,即键入命令:
6 U! \" |4 i, z' x& D  [% O$ I0 ugunzip libqq-0.0.3-ft-0.58-gcc296.so.gz (解压缩文件)5 h; U9 j/ f# i0 ]7 k: L, t
cp libqq-0.0.3-ft-0.58-gcc296.so /usr/lib/gaim (复制插件到gaim库目录中)" Q" }0 m8 B$ W) e9 D5 y1 W  j/ [
7 c/ y& Y9 w4 F: {; v. O
软件设置
' K+ \' F; k7 q1 V. G) P9 |" u7 A首次启动Gaim 0.85版时,会出现的登录界面.先选择“插件”,在插件对话框中点击“加载”,
2 X! f& A/ W2 ?# u分别将libmsn.so和libqq-0.0.3-ft-0.58- gcc296.so文件装入,确认后关闭.然后再选择$ D  S( h) j9 a
“所有帐号”,在出现的帐号编辑器中继续点击“增加”,当出现的修改帐号页面时,我们就
% @; Z- V& u& m$ U5 F+ ~可以输入自己的QQ或MSN号了,登录名填写QQ号码或MSN邮箱,密码填写对应的QQ或MSN密码,
  S" E8 {& A; [6 z; }Alias填写自己的昵称,协议选择相应的QQ或MSN,其他的设置按默认的即可.
# v7 ]7 t; i3 y8 ~! t' {: h当全部设置完成后就可以登录使用了.
4 n6 M6 z, l% L5 r7 u4 G2 R* D$ u0 v) ]6 v4 b9 I3 M
由于MS对msn的协议经常升级,导致linux上的gaim和msn插件必须升级,目前尚无万无一失
- F4 m' k. R0 [3 C7 j6 l的解决方案,请见谅.
* @- j# Z# N( s5 b
1 Z* {0 K8 ^- r5 D
8 T3 V; [! V7 q7 r* I& R, XQ: 让linux自动同步时间
& x6 H# r* l3 C* v8 W; H6 bA: vi /etc/crontab
) b( p  x9 J1 T, L- M加上一句:
! u& ^# Y( q4 ]% B# u4 L7 i$ r00 0 1 * * root rdate -s time.nist.gov
5 V3 R8 j* p2 m8 _! S: E  A8 h( F: e+ E

8 R& I& P5 d* i" vQ: 怎样安装中文字体?
1 \# x8 z1 r) u& N5 GA:
. n1 J* ?' d' N0 I" L- n先下载 http://freshair.netchina.com.cn/~George/sm.sh0 X( j/ Q& Q9 F4 a) ^7 s
(参考文献: http://www.linuxeden.com/edu/doctext.php?docid=2679)
2 S, F3 b: j% e5 X' z7 l8 }# A1 f. Y+ N1 I2 i
SimSun18030.ttc在微软网站可下载:http://www.microsoft.com/china/windows2000/downloads/18030.asp
) n% c# }% i+ {+ N; G3 j( O  Q% D- n9 J( Q- w- E0 ]- m* G
 它是个msi文件,在 mswindows中安装用的,装好后在windows目录下的fonts
. n5 K/ i" C& Y# w目录里面就可以找到它.把simsun.ttc,SimSun18030.ttc,tahoma.ttf,tahomabd.ttf. K- H+ c) \& K8 l% m) \
拷贝到/usr/local/temp,然后下载的shell文件也放到这个目录里,然后打开终端
1 Y5 u  _: ]+ Y+ h
; ~6 ?/ n' L% L6 S- h4 S: Zcd /usr/local/temp# [) x, o# G6 E' ^% E
chmod 755 sm.sh
8 _' u$ j4 Q' x4 h$ f3 S./sm.sh( i$ S. [$ C7 J1 v

# [3 a+ J6 b7 J& c4 U" V, v) g( k% I4 |! U4 P2 A) K
Q: Linux下如何防止某个关键文件被修改?
5 J" I; S' l8 s0 }" UA: 在linux下,有些配置文件是不允许任何人包括root修改的,为了防止被误删除或修改,
( {0 S" y% r$ ~' T# X2 n可以设定该文件的"不可修改位(immutable)".' `+ e. L& E* T. q) V+ _1 w

- l  ]9 L0 ~% c# _9 e1 v+ U例如:8 u5 h6 n6 {* {& I% \
  chattr +i /etc/fstab
! a; a5 n- G0 f1 A  如果需要修改文件则:
" C5 z( H# a8 D, d1 [$ H6 L  chattr -i /etc/fstab
" I& Z* w) V! k# ~) s& {  以后再修改文件.  j$ L% n3 r; T4 A! v

+ T: R7 n; }/ s: n0 {0 Q; L. \- }
, }0 s; ~7 Y1 i2 u% T9 p: G+ I  OQ: Linux下如何设置用户密码过期时间
* u0 v% U; O8 [( I- xA: 设置某个用户的密码过期时间可以用usermod -e来设置,如果要统一设置用户的密码过期时间,
/ O# I/ g4 S8 T' x$ I2 j3 z# G: z那么就要修改/etc/login.defs里面的PASS_MAX_DAYS,比如修改所有用户的密码过期时间是30天:# V+ L/ y% ~) Q! z) U: [8 r" [
PASS_MAX_DAYS 30 如果这个值是99999,那么表示密码永不过期
' _: h+ N# A( B" z' v! Q: j! L+ ^, E5 v+ M8 w: {: p, g2 b: K

) ?3 O% k4 m' F5 j/ d' FQ: /proc/sys/sem中每项代表什么意思?- M6 a0 t1 a! ]& P  A( M
A:' f$ x& ~: N' }  d. n, D3 s
Example: 250 32000 32 128& g; q' b3 x1 \7 a/ k8 r
这4个参数依次为:  L, \- M+ s6 u/ l- @
SEMMSL(每个用户拥有信号量最大数量)7 L# w8 s, A2 t" {% A  l: H
SEMMNS(系统信号量最大数量): T& p4 Y! M' b  e+ p( S
SEMOPM(每次semop系统调用操作数)
, |8 [9 t# |6 W7 dSEMMNI(系统信号量集最大数量); S5 F5 h% p: r/ ]& f
6 K6 o' v( y% w, A+ {
Q: 怎样开启硬盘DMA支持  t; Q& L% I! K# R9 b% Y1 p8 F
A: /etc/rc.d/rc.local 加入一行/sbin/hdparm -d1 -c3 -m16 /dev/hda
3 `/ t% L" j5 d# A9 Y如果您的硬盘支持 ATA33 可以加上 -X66 这个参数,ATA66是 -X68.7 d" B. ~- B7 Q8 f* b
比如ATA66就是:/sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda1 w& q2 B) W( |* Y; L+ l
我们可以用 hdparm -Tt /dev/hda测试加入前和加入后的效果.5 O- m( Y$ k6 I6 }: ^
以上测试注意有可能带来数据的灾难问题,请不要随意使用.3 L2 W2 }. ~: |8 q( ?

3 l* N( w" V5 w6 J  C% GLinux下也可以使用32Bit I/O和DMA.0 Y1 z9 j9 U4 h7 R" @- }! o
使用/sbin/hdparm -c1 /dev/hda(hdb,hdc..)打开32Bit传输模式,
- o3 j  r2 z8 b: \) w使用/sbin/hdparm -d1 /dev/hda(hdb,hdc...) 打开DMA.- v# I. W) S4 \! U8 I% ^
最后使用/sbin/hdparm -k1 /dev/hda 以使硬盘在Reset之后保持上面的设定,
; H* e( v6 {% I+ F* r8 A. _这么一来,硬盘读写速度应该可以提高一倍以上.$ z6 M+ q7 S4 k8 [

$ h) C4 ]1 v; Y$ L: t  ~# @Q: 如何安装声卡?
  [$ \4 J$ N2 W( o6 YA: 在字符模式下运行sndconfig或setup,如果这样不还不行的话,请下载
; j0 J  n$ L* F' s0 `- n声卡配置工具alsa(alsa工具包包括alsa-driver-0.5.10b.tar.bz2,
- [5 h, N5 |) d% a' _alsa-lib-0.5.10b.tar.bz2,alsa-utils-0.5.10b.tar.bz2,0.5.10是版本号.)
! ]+ [' P2 x0 Y3 O) M按照drive、lib和util的顺序安装.也可以下载oss工具包来配置你的声卡.+ }  k2 G4 I$ g( z  K
# a2 b7 L4 V0 J" c
oss安装指南:http://www.linuxeden.com/edu/doctext.php?docid=19745 ]! J/ u, |, W$ P  d+ N

% N8 Q9 v2 U! L- QALSA安装配置AC 97声卡:http://www.linuxeden.com/edu/doctext.php?docid=1251
7 D. Z  z( F0 s/ ~5 {! V% g5 Y+ T4 A" L3 O

* T9 M6 f% X5 mQ: How to use "XHOST" ?
8 y6 }5 u2 h0 k7 A. g* cxhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB8 V3 r! ^3 U) U, c4 \
上的应用程序时,做为应用程序来说,hostA是client,但是作为图形来说,是在hostA上" f3 O2 Z8 i& U! y7 ~- ~* u
显示的,需要使用hostA的Xserver,所以hostA是 server.因此在登陆到hostB前,需要
) _# c% Z$ b2 G" Q4 _% A5 N1 }在hostA上运行xhost + 来使其它用户能够访问hostA的Xserver.
" \0 ]0 u# v! f7 A4 d, D2 H- g7 @0 S6 u% k' S+ ~# L3 r
xhost + 是使所有用户都能访问Xserver.
+ s3 _$ I6 W: F+ H1 @% Ixhost + ip使ip上的用户能够访问Xserver.5 B& r) t' W. n* E6 |
xhost + nis:user@domain使domain上的nis用户user能够访问
6 `: ~5 ?2 X. Vxhost + inet:user@domain使domain上的inet用户能够访问.
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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