1、vi编辑器的使用
用 h、j、k、l 来分别实现左、下、上、右箭头的功能
yy  copy一行;yl copy一个字母;yw copy一个单词;p 粘贴
dd 删除一行;dl  删除一个字母;dw 删除一个单词;u 恢复
cc 剪贴当前行;cw cl
G 光标到最后一行,xG光标到指定x行,g光标到第一行,gg到文件首
替换举例:
   行替换
:1,3s/xxx/XXX/(将1行到3行小写的xxx替换成大写的XXX,只检测每行的第一个xxx)
   全局替换
:1,3s/xxx/XXX/g   从第一行到第三行做全局替换
:1,$s/xxx/XXX/g 从第一行到最后一行做全局替换
例如:1,$s/key/KEY/g 替换语法
从第1行到最后一行替换key为KEY字符,在全局下替换。
不加/g为行扫描,当行首有key被替换后,该行后面的key不会被替换。

2、查看工具:

cat  全屏显示
more  分页显示
less   分页显示,支持上下翻页
tail 默认打开一个文件的后10行
    tail –n 20 /etc/passwd     查看/etc/passwd最后20行
    tail –f       动态查看动态更新文件如:tail –f /var/log/messages
head  默认打开一个文件的前10行
    head –n x /目录/文件  查看文件的前x行

3. 用户家目录必备文件

.bash_logout
.bash_profile
.bashrc
可以从/etc/skel/.bash* 中获得。
2.alias 别名定义
alias date ='date +%F'
unalias 别名名称  取消别名
在shell下定义别名,关闭此shell后将失效;永久定义或取消别名方法:编辑其家目录下的.bashrc文件。 

4、对账户的操作

/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow

cd ~ 进入家目录
cd /home/ 进入家目录
cd ~todd  进入todd账户家目录
cd -  回到之前的目录

su – username 切换用户

useradd
userdel
usermod
chgrp
chown
chmod 
 对passwd文件的操作:只对/etc/passwd里的记录进行更改
usermod –d /rrhome/kevin kevin 更改用户kevin的家目录
usermod –s /sbin/nologin kevin 更改用户kevin的登录shell

5.权限
用户权限
目录权限
扩展权限(高级权限)
有效id

6.重定向
0     stdin   键盘输入
1     stdout 终端
2     stderr 
ls /dev/std*
改变0 1 2为255内任意数就叫重定向。
<
>
1&gt;  把stdout重定向   1可以省略
2&gt;  把stderr重定向
&&gt;  把所有输出重定向
&gt;&gt; 追加
|  管道
命令1|命令2
例如:cat /etc/passwd |less

7.Kernel参数和/proc
实验目标:打开kernel的转发功能和关闭ICMP的回应功能
一 kernel所支持的可调试参数可以用下面的命令得到
#sysctl –a
你看到的是当前kernel默认的参数设置情况
二 如果要改变相应参数的值并生效,有两种方法,
第一种:实时生效的方法
通过修改/proc里面的值,能让kernel的运行状态实时发生变化
#echo 1 &gt;/proc/sys/net/ipv4/ip_forward(打开转发)
#echo 1 &gt;/proc/sys/net/ipv4/icmp_echo_ignore_all(关闭回应)
这种方法,只保证当前生效,如果系统重启,kernel将恢复成默认的
第二种:定义/etc/sysctl.conf
这种方法可保证参数永久有效,你只需要把对应的参数在/etc/sysctl.conf做个定义,重启系统就可以了,不要忘了,对应的参数可以用下面的命令找到,很方便
#sysctl –a

8.分区
linux下是按柱面进行分区的,
0扇区称为MBR共512字节,其中bootloader 446字节 ,AA55 2字节,剩下64字节为分区信息,默认最多可分4个分区,每个分区16字节。
划分扩展分区后:ide硬盘可以最多支持63个逻辑分区,scsi硬盘可分15个逻辑分区。RHCE 第二天_mount  

计算磁盘容量:
bc 扇区数*扇区大小*磁道数*柱头数  回车 ctrl+d或者quit
     sectors*  512  * cylinders*heads
普通分区:83
mke2fs -j /dev/sdax  或者:mkfs.ext3 /dev/sdax
划分swap分区:82
partprobe
格式化:#mkswap /dev/sdax
挂载: #swapon /dev/sdax
卸载: #swapoff /dev/sdax
查看swap状态#free

9.mount >>
mount [-参数] [设备名称] [挂载点]
1.)挂载分区:
#mount /dev/设备名 /挂载点
2.)挂载远程文件 :
#mount 192.168.0.254:/var/ftp/pub /mnt
3.)挂载目录:(可用于目录伪装)
#mount --bind /dirctory1/ /dirctory2/
4.)挂载文件系统:
#file 文件名 查看文件类型
#mount -o loop -t 文件类型 文件名 /挂载点   
-o  指定设备类型;-t 指定文件类型 如:
挂载ios镜像#mount -o loop -t ios9660 xxx.iso /mnt
挂载光驱#mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -a  重新读取fstab挂载目录
mount -o umount /挂载点  重新挂载某个设备

解决kernel动态识别设备混乱的问题。如两个usb设备的区分
许多OS根据设备的uuid来标注设备,但uuid过长不易于管理。RHEL5.1已经不再使用!
卷标:又称别名,是对分区的别名设置.很好的解决了以上问题。
e2label /dev/sdax   查看sdax分区的卷标
e2label /dev/sdax 卷标名   设置卷标或别名

vi /etc/fstab  以实现自动挂载。fstab文件结构:
设备名      挂载点     文件类型      参数    0 0 (第1个0表示:当有备份程序执行时是否备份该文件,如增量备份、差异备份等;第2个0表示:系统启动时是否强制检查该设备,有1和2两个优先级,1更高)
LABEL=设置的卷标或     别名 …
/dev/sdax     …