文件系统:

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 (显示该设备为何种文件系统类型)