一、vi/vim编辑器:vim比vi多了彩色和多窗口显示等功能。
1) 普通模式:用vim打开一个文档后,直接见到的就是普通模式,在该模式下,用户可以通过“←↑↓→”按键来移动光标,可以删除字符或删除整行,也可以复制和粘贴数据。
u 复制一行-yy;
u 复制多行-nyy(n为数字,是要复制的行数);
u 粘贴-p(粘贴到光标所在行的下一行);
u 删除一行-dd;
u 删除多行-ndd(n为数字,是要复制的行数);
u 撤销-u;
2) 编辑模式:在普通模式中可以进行删除、复制、粘贴等操作,但是却无法向文档中输入字符。此时按下字母“i”、“I”、“o”、“O”、“a”、“A”、“r”或“R”,编辑器将从普通模式转入编辑模式,同时在屏幕左下方会出现“INSERT”或“REPLACE”的字样,此时才可以向文档中输入字符。在整个输入过程结束后,按“Esc”键,即可返回普通模式,此时光标将处于刚才输入的最后一个字符的位置。
3) 命令模式:在普通模式中,输入“:”、“/”或“?”,编辑器将从普通模式转入命令模式,此时屏幕左下角将出现“:”、“/”或“?”的标志。在命令模式中,用户可以完成搜索、替换、高亮显示、行号显示、保存、退出甚至执行shell 指令等操作。
u 显示行号-set nu;
u 存盘-w;
u 退出-q;
u 存盘退出-wq;
u 不存盘强制退出-q!;
① vi /etc/inittab
② vi /home/rjxy/ceshi
a) 在普通模式下按“i”进入编辑模式,输入文字
123
234
345
456
b) 按“Esc”退出编辑模式,进入普通模式
c) 复制并粘贴1行;
d) 复制并粘贴多行;
e) 删除当前行;
f) 删除多行;
【注意】如果编辑过程中用ctrl+z组合,则vi编辑器会转入后台,此时可以用“ps”命令查看进程的PID号(ps -u),并用“kill”杀掉vi进程(kill -9 PID),同时删除交换文件“.ceshi.swp”,此文件为隐藏文件,可用“ls -a”查看到。
二、分区
1. 分区知识
1) 不同的操作系统原则上采用不同的文件系统;
若操作系统支持相同的文件格式,为了避免同一个分区下有相同的系统目录——不同的操作系统要安装在不同的磁盘分区
2) 一个硬盘最多只能有4个主分区(1个扩展分区相当于1个主分区);
扩展分区最多1个,逻辑分区可以有多个,但逻辑分区最多不超过12个,扩展分区相当于逻辑分区的容器;
3) 分区操作不能产生任何文件系统,只是保留了磁盘空间,要使用必须格式化来创建文件系统
windows→format;
Linux→mkfs;
2. 查看磁盘或目录的情况
1) df:用于显示指定磁盘的文件可用空间。如果没有指定文件名,则所有当前被挂载的文件系统的可用空间将被显示。
语法:df 【选项】 【文件】
u -a:全部文件系统列表
u -h:以常用容量单位显示
u -i:显示inode信息
u -k:区块为1K字节
u -l:只显示本地文件系统
u -m:区块为1M字节
u -T:显示文件系统类型
u --block-size=<区块大小>:指定区块大小,单位为B
u -t<文件系统类型>:只显示指定文件系统的磁盘信息
u -x<文件系统类型>:不显示指定文件系统的磁盘信息
① df
② df –h #以常用容量单位显示目前磁盘空间使用情况
③ df –m #指定区块大小为1M
④ df –T #显示文件系统类型
⑤ df –t ext4 #显示类型为ext4的分区
⑥ df –i #显示inode信息(文件个数)
⑦ df --block-size 1024 #指定区块大小为1K(1024B)
2) du:显示文件和目录的磁盘使用空间。
语法:du 【选项】 【文件】
u -a或-all:每个指定文件显示磁盘使用情况,或者为目录中每个文件和子目录显示各自磁盘使用情况
u -b或-byte:显示目录或文件大小时,以byte 为单位
u -c或--total:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
u -k或--kilobytes:以KB(1024bytes)为单位输出
u -m或--megabytes:以MB 为单位输出
① touch w
mkdir m
mkdir m/n
mkdir m/n/q
touch m/b m/cm/d m/n/x #在当前目录下创建文件w和目录m,并在目录m中创建文件b、c、d和子目录n,在子目录n中再创建文件x和子目录q
② du m #显示目录m及所有子目录的磁盘使用情况
③ du –a m #显示目录m及目录m中的所有文件和子目录的磁盘使用情况
④ du –b m #显示目录m和所有子目录的使用情况,结果以byte为单位显示
⑤ du w #显示文件w的磁盘使用情况
3. 使用fdisk进行硬盘分区(fdisk命令,使用传统问答式界面,把磁盘化成若干个分区,并为每个系统指定文件系统)
1) 进入fdisk界面,列出所有命令
fdisk /dev/sda
2) 显示硬盘分区信息
command(m for help):p
【显示结果】
255heads,63sectors/track,1044cylinders
units = cylinders of 16065×512 = 8225280 bytes(其中的16065×512表示heads×sectors,每个sectors容量为512byte
Device | Boot | Start | End | Blocks | Id | System |
设备名 | 引导分区 | 开始柱面 | 结束柱面 | 分区容量,有时候会显示一个加号“+”,表示block的数量不是整数,可能还有小数 | 分区系统编号 | 分区系统类型 |
【其中】blocks=(End - Start)×Units/1024×1024 #单位为MB
3) 创建和删除主分区
① 创建主分区
command(m for help): n #创建
command action
e extended #创建扩展分区
p primarypartition(1-4) #创建主分区
【注意】若选p→选1,提示分区1已经定义,即分区1已经存在,
若重新选择n→p→3,则提示“First cylinder(893-1044,default 893)”,表示此时可以创建分区3,需要我们分配分区3的开始和结束柱面,此事可以直接回车用默认开始柱面,也可以输入数字指定开始柱面。若直接回车,则显示如下结果:
此时可以输入结束柱面,注意结束柱面不能超过最大值,直接回车则是默认最大值。
输入结束柱面后,新分区即创建成功,可用“p”查看
② 删除主分区:
command(m for help): d #删除
partition number (1-4):3 #删除分区3
command(m for help): p #查看结果
【注意】千万不要删除sda1和sda2!!!
4) 创建和删除扩展分区和逻辑分区
① 创建扩展分区
② 创建逻辑分区
【注意】结束扇区输入“+200M”,表示空间大小为200M,此时前面一定要加上“+”,并且M为大写!
【类似地】+10,+100K可以自己实验看看
③ 查看当前分区
command(m for help): p
④ 删除扩展分区和逻辑分区
command(m for help): d
partition number (1-6):3 #删除整个扩展分区,包括逻辑分区,也可以分别删除分区5和分区6
5) 查看并转换分区类型
① command(m for help): l #查看分区类型
② command(m for help): t #转换分区类型
③ command(m for help): p #查看结果
【注意】c表示FAT32格式,83为Linux,82为Linux Swap,5为Extend
6) 存盘退出
command(m for help): w #保存并退出
command(m for help): q #不保存直接退出
三、格式化(创建文件系统)
1. 查看支持的文件系统类型
ll /lib/modules/2.6……/kernel/fs
2. 创建文件系统(格式化)
【注意】要正常使用一个文件系统存放数据的步骤
u fdisk 创建分区
u mkfs 格式化(创建文件系统)
u mount 临时挂载文件系统(一旦关机或者重启,挂载失效),或是修改/etc/fstab文件,开机后自动挂载文件系统
【示例】开机自动挂载文件系统,需要在/etc/fstab中加入一行内容
/dev/sda5 | /mount/aa | ext3 | defaults | 0 | 0 |
设备名 | 挂载点 | 文件系统格式 | 挂载参数 | 转存选项,若为0,表示不备份 | 系统检查选项,若为0,表示不检查 |
u umount 卸载文件系统
1) 创建文件系统:mkfs -t
① 查看分区情况
fdisk -l /dev/sda
② 查看分区类型
parted→p
③ 格式化/dev/sda5为ext3分区
mkfs -t ext3 /dev/sda5
【注意】用fdisk建立分区后,需要使用partx -a /dev/sda命令刷新分区表,找到新分区后才能用mkfs格式化!否则提示找不到该分区!
该命令需要多使用几次,直到刷新出新分区。
如果刷新多次后依然显示不出新分区,则需要重启Linux操作系统。
partx -a /dev/sda
④ 可以把sda5格式化成其他文件系统
l mkfs -text2 /dev/sda5
l mkfs.ext3/dev/sda5
l mkfs.ext2/dev/sda5
2) 挂载和卸载文件系统
① 把/dev/sda5挂载到/mnt/kk目录
mkdir /mnt/kk
mount /dev/sda5 /mnt/kk
df #查看所有的挂载信息
ls /mnt/kk #查看挂载的目录
② 以只读方式挂载/dev/sda5到/mnt/kk
mount -o ro /dev/sda5 /mnt/kk #提示/dev/sda5已经挂载,需要先卸载
umount /dev/sda5 #卸载
mount -o ro /dev/sda5 /mnt/kk
mkdir /mnt/kk/a #报错,因为/dev/sda5是只读的
③ 查看分区挂载情况
mount –s #查看所有已经挂载的分区情况
cat /etc/mtab
3. 使用交换空间(swap)
1) 添加交换分区
① 用fdisk创建交换分区
fdisk /dev/sda
n→p→4
② partx -a /dev/sda #更新分区信息
③ mkswap /dev/sda4 #把该分区格式化为交换分区
④ 查看当前交换分区大小
free #看最后一行
⑤ 立即启用新加入的交换分区
swapon /dev/sda5
free #和③的结果作对比
⑥ 若要系统启动时自动挂载新交换分区,则需要在/etc/fstab中加入一行内容
/dev/sda3 | swap | swap | defaults | 0 | 0 |
设备名 | 挂载点 | 文件系统格式 | 挂载参数 | 转存选项,若为0,表示不备份 | 系统检查选项,若为0,表示不检查 |
【注意】修改/etc/fstab时千万不要改动其他分区的信息,否则可能可能造成系统不能启动!!!!!
2) 删除交换分区
① 关闭交换分区
swapoff /dev/sda4
② 从/etc/fstab中删除该项目
③ 使用fdisk删除该分区
fdisk /dev/sda