文件系统:
1、为什么一块磁盘最多只能有四个主分区?
分区的创建是按照柱面来划分的,磁盘的0磁道0扇区被称为引导分区(Boot Sector),该引导分区里面装载有一个引导程序(BootLoader,该程序用于引导操作系统的内核加载的),还有一个磁盘分区表和引导封装代码。因该Boot Sector 只有512个字节,而BootLoader占据446字节,引导封装代码占据2个字节,剩余64字节给磁盘分区表用,且每16个字节可以用来引导一个主分区,所以,一块磁盘最多能有四个主分区。
2、磁盘分区中提到的“3+1”是什么意思?
“3”代表有3个主分区,“1”代表有1个扩展分区,该扩展分区本身是不能直接使用的,必须划分为多个逻辑分区才能使用。
4、常见的磁盘设备接口有哪几种?linux是如何识别磁盘设备的?
1)IDE,总线类型,并行的ATA。
SATA,总线类型,串行的ATA。
SCSI、USB、SAS
其中,IDE接口的磁盘在linux下被识别为hd格式,其他四种接口的磁盘在linux下被识别为sd格式。
2)为了识别同一类型接口的不同磁盘设备,使用a,b,c,d来标示。例如,pc机的两个IDE接口的控制器下面的四个磁盘的区分方法:
/dev/hda标示第一个控制器的主磁盘,
/dev/hdb标示第一个控制器的从磁盘,
/dev/hdc标示第二个控制器的主磁盘,
/dev/hdd表示第二个控制器的从磁盘。
5、什么是挂载?什么是卸载?
挂载:就是将该设备文件与目录建立关联(因为在linux下面访问的每一个文件都是从根开始查找的,所以说如果想访问某一个设备文件,必须将该设备挂载至某一个目录下面,即和该目录建立关联,才能让linux明白,该如何去查找该文件。)。
卸载:就是拆除该设备文件与目录的关联。
挂载的目录最好是一个空目录,如果该目录下面有文件,那么一旦该目录被挂载,则原有文件就将被隐藏;只有删除挂载(卸载),该文件才能被重新使用。
linux下,默认挂载目录:/media(挂载便携式设备)和/mnt(挂载其他设备)。
6、如何创建分区?
# fdisk /dev/sda (在磁盘sda上面创建分区)
command m for help:
p (显示当前的磁盘分区情况)
n (创建新分区)
t (指定创建分区的文件系统类型)
d (删除所创建的分区)
l (显示文件系统类型)
w (保存创建的分区,并退出)
q (不保存退出)
# partprobe /dev/sda (让内核探测得知当前系统上已经有的磁盘分区,在创建逻辑分区时必须做的;但当为一个新的磁盘创建分区时,不必须使用该命令。)
7、如何备份分区?
此时要使用到另一个工具:sfdisk。
# sfdisk -d /dev/sdb2 > /backup/sdb2 (备份sdb2分区到/backup/sdb2目录下)
# sfisk /dev/sdb2 < /backup/sdb2 (还原)
8、磁盘分区如何格式化?
# mkfs -t ext2 -L label_name /dev/sda5 (格式化/dev/sda5为ext2文件系统,并指定卷标)
# mkfs.ext3 /dev/sda5(格式化/dev/sda5为ext3文件系统)
# mke2fs /dev/sda5(格式化/dev/sda5为ext2文件系统格式)
# mk2tfs -j /dev/sda5(格式化/dev/sda5为ext3文件系统)
9、卷标;
# e2label /dev/sda5 (显示卷标)
# e2label /dev/sda5 label_name (格式化完成后,再指定卷标)
10、mke2fs命令的使用:
mke2fs /dev/sda5 (格式化/dev/sda5为ext2文件系统格式)
-j (格式化分区为ext3文件系统格式)
-L (指定卷标)
-b (1024|2048|4096)(指定块大小,只能为1k,2K,4k)
-c (创建文件系统时,是否检查磁盘坏块)
-i (指定平均每多少个字节创建一个inode条目,默认为128)
-N NUM(直接指定inode的个数)
-m NUM (指定预留给管理员的磁盘块的百分比)
11、如何挂载和卸载文件系统?
1)挂载:# mount DEV mount_point
-t (指定文件系统类型)
-a (自动挂载/etc/fstab里面的所有文件系统)
-n (挂载时不记录到/etc/mtab文件里面)
-r (只读挂载,挂载完后,只能读不能写)
-w (读写方式挂载,默认的)
-L label (将卷标为指定卷标的文件系统挂载在指定目录下)
-U uuid (将uuid为指定uuid的文件系统挂载至指定目录下)
-o
async (异步写入)
sync (同步写入)
atime (当某一个用户访问该磁盘分区的时候,修改文件的访问时间)
auto (支持使用-a 自动挂载)
default(rw,suid,dev,exec,auto,nouser,async)
exec (允许自动执行)
noexec (不允许自动执行)
noatime(当某一个用户访问该磁盘分区时,不更新文件的访问时间)
remount (重新挂载)
ro (只读)
rw (读写)
user(允许普通用户挂载文件系统)
# mount -o loop rhci.iso /mnt (挂载rhci.iso镜像文件到/mnt目录下面)
# mount /dev/dvd /mnt (挂载光盘设备文件)
# mount(显示当前系统上所有已挂载的文件系统,/etc/mtab文件里面记载了所有已挂载的文件系统)
# fuser -v mount_point (显示当前哪个进程正在访问该挂载点)
# fuser -km mount_point (将此进程直接kill掉)
2)卸载:# umount mount_point
# umount DEV
12、linux下要想使用一个创建好的磁盘分区,需要做哪些工作?
创建磁盘分区——————> 格式化磁盘分区——————>挂载文件系统
13、命令blkid的使用?
# blkid DEV (显示该设备为何种文件系统类型)