第一天
: _1 C) |- t7 @3 G
. J, L. f/ K; m$ N0 Y7 E1.啥叫OS
- y- z' a% s; m1 ~& h6 Gcmd bash/zsh/csh
8 x( r( D( Z( { `kernel& u" o3 @. i8 Z2 I& u
发行版本 CentOS6.x RedHat Debian Ubuntu SUSE5 W, [$ V0 H: K3 g- v
内核 kernel-2.6 kernel-3.84 W9 `. @0 n$ O6 j5 b1 R6 o
2.一切皆文件8 v" L3 k; L8 A# l' T
五种文件 -普通文件、d目录、c字符设备文件、b块设备文件、l符号链接文件
6 L: L+ o# M- ^普通文件 可执行 可编辑
8 \+ j& m: B2 s7 H6 o无后缀名
2 V6 L, `5 C! {1 [& g0 d9 f- g3.文件系统概览" R+ k8 G1 ^/ v; ?/ Q( { ~
多级目录树结构 / 根节点
" M, J; u$ G+ t0 c8 f绝对路径 相对路径 .和..
5 \( u! B8 v$ k, j5 ~/ ^隐藏文件% G% r& D0 D% `1 B- o [
4.环境变量4 ~/ w0 t1 W# O* y4 Z1 u1 ^
echo $PATH5 Z1 F1 s+ h, V8 I5 U2 c. u% t
env8 y+ z i4 ~9 m' |
用户登录流程 /etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc
1 ^* @& F8 b7 w9 g* P0 i7 F3 W5.启动级别% N" b( {% \6 P! \4 v( q
3和5 /etc/inittab init命令切换启动级别# k* |: j. z2 }; u( M- y- u
单用户模式# ~* H. M6 p8 [+ {+ f" P. W W; |7 j
6.yum源" M& \* e( _ u% t: q+ \. x
软件仓库 源:iso 网络
7 `" I' i; _1 p( D3 I j/etc/yum.repos.d/CentOS-Base.repo1 Q/ G- p% b9 c8 [ L, h
7.基本命令6 r" n" b7 `* U( k
ls [-a | -l] [PATH]) _$ b. \" @7 p6 U/ {
cd [PATH]( P3 P6 R0 o3 d; Q: p) T6 s e
cp [-R] PATH1 PATH2' L5 B9 r, g/ o- Q) \4 b6 e
mv PATH1 PATH2" u9 r9 w8 L" J, ^9 Y/ O
rm [-r | -f] PATH" X- c/ c/ o# z1 z) A
touch PATH5 f0 G/ {3 n0 ^* w7 d7 Z. L5 w
mkdir PATH
4 F5 z' K( Y$ \cat PATH/ ~1 n5 T: m. `; @/ N: `8 P3 z i7 [
tail/head -NUM PATH
) M) {1 W+ v1 R7 ?2 |5 d& R: kfind PATH [-name | -user] FILENAME
' }9 f v1 Y( H9 B% `2 Dlocate FILENAME
( S2 t& x- r6 s6 Q8 @, O0 z管道符 | stdin stdout stderr, O0 h* {- v: p7 @$ p# t+ F
ls -> stdout+ G5 c9 ^9 Y7 [2 r
stdin -> grep
/ T* Y% B5 N! f* T3 xls -> stdout -> stdin -> grep
1 v) I0 Z+ k/ q; `|| 和 &&
5 d7 J7 z8 g9 Q* D: d重定向符 > <
/ C$ {+ A! `3 c: g7 E/ j4 R( [> 重定向stdout
' J* b* `$ _5 K3 }# j+ o2 A$ W7 k< 重定向stdin
: N. \0 s2 [1 o* Q. `0 q0 q" I; z>>- t% v5 @2 J# q( ^6 |7 ]% Q8 ?
grep -rl '关键字' PATH
& k4 G" c/ z9 k; itar [-zxvf | -cxvf | -xvf] FILENAME unzip/unzip0 K1 \3 \- A" V; N
tar.gz tar.bz2 tar
# ^: w, s$ h5 a; Z3 ]! Kpwd+ a- c% h$ R/ G! q6 K
wc -l) V; I; S9 M; `/ C9 ?$ b
history ~/.bash_logout -> ~/.bash_history HISTSIZE3 \2 G* n1 K, x% s
8.vi# w! q7 P4 Y, ?* j
三种模式转换 i/:/ESC
( Y# u: d: @0 q) t! a" d4 F% b! U5 b' r" |' Y: B
第二天! X" p: T! h* m, m/ c
' d- x9 K3 R: E) y
1.查看网卡信息9 Z- x# |' n" B# t; r
ifconfig if=interface/ h8 }# \1 x& x- n7 Z
RX入栈 TX出栈2 j! ?: ]1 e. @- }( \' S9 u" a9 G
netstat -tnulp
# g/ C* F, i+ z% Y) P$ l( ? 查看服务器监听的端口号以及对应的进程号和服务名* \" k' y! Z: g1 S, n; o
recv-Q send-Q8 _8 b W8 b" d" H# z- r2 w
netstat -an
& q) ?2 C7 H. g1 o$ ] SYN_RECEIVED ESTABLISHED
) E- T( g1 ?# k- d' [lsof -p PID
2 m3 m( `0 @6 ?8 C+ `setup DHCP? /etc/init.d/network restart
& B& X* N5 N1 f# P8 h sifup/ifdown ethX
0 g8 v' v' v5 M- |+ i; i, U# Q相关文件:
) ]# ^- O) c1 n1 m# u( e/etc/sysconfig/network-scripts/ifcfg-eth0- L" E7 |1 T# v9 A. q% I! u
/etc/hosts
8 B9 U6 r2 G$ x3 ?& [& ^; T6 Q8 z/etc/resolv.conf( C( ^$ P0 P' J7 z# a7 |$ C' ~
/etc/sysconfig/network 0 q6 F* ~7 t& ^6 n: G, @$ t5 U
/etc/host.conf
4 w2 I0 P7 Z2 r4 H/etc/hosts.allow
- C( z" l9 R" e1 x3 @/ s3 A* j/etc/hosts.deny , R( R( C/ A, @! e
ip_forward /proc/sys/net/ipv4/ip_forward
4 B0 D R& {& F7 \# b! i9 rroute [add | del] [-net | -host] ip/prefix [gw ip| dev if]0 N& F" }; _9 o- V9 f
arp
7 x3 ~ N2 ~* B+ ?4 twget URL(http); l5 w$ S' `* j( [: p* } W- P0 \2 w0 v
curl URL+ X- v, }1 b% Q; @
2.用户和组, J: ]- B7 e/ a# `9 Z
查看当前登陆用户 id( `' w# T& i/ x( y8 B: C
查看所有用户 /etc/passwd 以冒号为分割* } D% R3 }* Z/ y. }7 w
第三列——uid6 b/ ?, D' f* V ^ A& u' I
第四列——gid. `8 C4 \% ^/ K2 t* t3 |9 Q. \
第六列——用户家目录. x- P# `9 a8 x9 s+ p# `: a
第七列——登陆shell 默认用户是/bin/bash /sbin/nologin代表该用户不能登录系统& Q6 o" s6 o- N9 v5 ^
useradd 用户新建的普通账号uid>=500 系统级别账号uid<500
5 S4 k! \4 {& A/ _4 f$ X-u -m -M -g -G -d -s
, K3 _" [/ B9 i! _" |新建完账户需要设置密码给新用户,否则用户无法登陆。
; d2 T7 {1 _: ~5 Z9 Gpasswd username
6 i8 @% K/ O; g( Duserdel -r
' x* \/ D5 L) r: q5 k查看用户组 /etc/group 以冒号为分割7 f9 w7 s. F5 l$ K; Z* p
groupadd/groupdel
. o4 s D" c. z: N# F0 bshadow
1 e) C: X9 `! z. Ysystem-config-users" F7 t8 [. D$ ~$ G) ~3 `: A& z
su username和su - username的区别 O) U/ V/ g" D
sudo visudo. K1 f" x2 B8 J% y1 j1 i0 x
3.权限- Y2 S; A. I2 W3 _# F: W) c
ls -al
" x; k$ o+ g7 A0 f+ B/ ^4 J5 V2 c& _u g o1 U5 c2 b; g6 H; }; l
rwx rwx rwx r-read w-write x-exe/ @/ |8 k, R4 C' h/ v$ m/ L
所属人 所属组 其他人 4 2 1
3 y) V2 k" ]$ C: y7 Mchmod XXX filename
: y6 k( n$ t$ s4 b* ~chmod [u | g | o | a] +/- [r | w | x] filename" `! j1 i5 y8 }' Y
修改文件所属人和所属组
5 y0 L* ~' T9 o# q$ h+ O, q9 g; Xchown username.groupname filename" k* s1 S& U* d: e
umask 反掩码$ l/ O7 j2 ^5 ~* z' \6 h* u/ L7 q
root 022 755 644$ Y1 `6 P7 M# L& {
其他用户 002 775 6642 y* \) g; n9 c: D6 J( U
lsattr和chattr
6 a# u0 p- ]/ ^4.服务
/ O3 Q- }/ V' [ K' w* |yum search package_name
# W, S5 g2 _* K8 L9 kyum install -y package_name1 u. K; `4 c/ g+ f, A/ c0 D
yum clean all q! G( d6 D+ z( w. y5 E: Z6 D
yum list
5 M9 f9 E, w6 \# orpm -ivh package_name.rpm1 E0 p. V3 Y! M6 U% W
rpm -e package_name/ e I& y3 L8 ]
rpm -ql package_name% I4 L5 a, a" l" K
rpm -qa
6 K) n/ @& N: O/etc/init.d/service_name [start | stop | restart | status]
; F+ ?* y/ A; C! R: J& @chkconfig service_name on/off- l0 q7 ^" b) r9 h
: i8 m3 v3 B: `, E; l: [0 v
7 e( t! {4 V3 V5 d; o1 S第3天5 n' X2 X: k: X3 T
" b, o: C% L6 @/ ~: v) K- ^RAID: mdadm -C /dev/md0 -a yes -l N -n N -x N/dev/sdaN /dev/sdaN /dev/sdaN /dev/sdaN -l 级别 -n 设备个数 -a {yes|no} 自动为其创建设备文件 -c 指定数据块大小(chunk) -x 指定空闲盘(热备磁盘)个数,空闲盘(热备磁盘)能在工作盘损坏后自动顶替 注意:创建阵列时,阵列所需磁盘数为-n参数和-x参数的个数和。参与组建raid的分区大小一定要一致。 mdadm -D /dev/md0 mdadm /dev/md0 -f /dev/sdaN mdadm /dev/md0 -r /dev/sdaN mdadm /dev/md0 -a /dev/sdaN mdadm -S /dev/md0 mdadm运行时会自动检查/etc/mdadm.conf文件并尝试自动装配,因此第一次配置raid后可以将信息导入到/etc/mdadm.conf中,并在每行结尾最后加上auto=yes。 mdadm -Ds >>/etc/mdadm.conf ' N( w5 ^: c' L1 o) f
修改/etc/fstab实现开机自动挂载。
, G% q3 g" h K- S) N
第4天与第5天 受篇幅限制不再列出 , K; ^8 R$ J$ [. P- [: k) S0 |* u E
) [4 P& l! H+ z) s. p
- ?# ~3 A! Z! [& J' e9 z
: r: T* w# O/ s1 p! x2 V8 x8 n |