Username: Password:

跟我学linux之文档系统管理一
来源: ChinaUnix博客  作者: ChinaUnix博客   发布时间:2008-04-28 08:28:30


跟我学linux之文档系统管理一
跟我学linux之文档系统管理一
      这次重点讲解linux下的分区和格式化的过程,不要只知道用,而也要知道原理,愿您和我同在!
   1.分区和格式化的原理讲解
     1.1偶们知道新硬盘里面什么数据都没有的,像一张白纸相同,真纯洁,偶喜欢,分好区以后这块硬盘就有一定的结构性了,分区顾名思义就是将硬盘分成不同的区域,以便我们来使用,每个区我们可做不同的用途,不管您分区有几多个,他前面总有一个总引导扇区,这个扇区由二部份组成:
        分区原理
      1.1.1 主分区包含:
          1.1.1.1 MBR这里放的都是操作系统的LOADER,从前已有在Linux安装时讲过,不多说,
          1.1.1.2 主分区表,就是这64字节限制了硬盘只能分4个主分区,,如一块硬盘有30G的容量空间,分三个区,第一个分区是从0~8G(/dev/sda1),第二分区从8G~15G(/dev/sda2),第三分区从15G~20G(/dev/sda3),那么,系统会把分区大小,个数,起始位置等信息写进主分区表里,相应的每增加一个分区就会在分区表里增加一条记录分区就是改这个分区表,不影响里面的数据,只是修改分区中的起始位置.
          但分区表的分区限制有限,只能分四个,假如我们分很多的区怎么办呢?分四个以上的分区只能靠扩展分区来实现,
      1.1.2扩展分区:
          1.1.2.1扩展分区里也有扩展分区表哦,同样记录的是分区的大小,个数,起始位置等信息,
          1.1.2.1似乎上面才分三个主分区,可是我们要多少几个区才行啊,我们这时可把这个扩展分区写进主分区表里,,扩展分区只能分一个,主分区表里依然是4个分区,这样我们就能够在扩展分区内部进行分区喽,,注意这里分出来的区叫逻辑分区,好,我们把20G~25G,25G~30G写进扩展分区里喽.
    附:/dev/sda4有搞懂没有?不懂写信给我Mail:hesenlin521@163.com
       这样一来我们就能够创建很多分区喽,超过4个以上的分区呢,能看的懂吗?我不会ps,要是有一图就很好明白了,
格式化原理

       分好区的一块硬盘是空的,不能被操作系统内核所识别,那怎么办,那就要预写入一定格式的数据,这就是格式化,神秘吗?看到这您不要告诉我现在还没搞清楚分区是咋回事!
       在Linux下我们可简单称为创建文档系统,举例讲解,
      1.2.1,上面分了五个区,我们能够/dev/sda1格式化为FAT32格式,/dev/sda2和/dev/sda3格式化为ext2格式,再把扩展分区里的/dev/sda5格式化为FAT32,/dev/sda6格式化为ext2,这样以来,/dev/sda1和/dev/sda5就会被widows系统认为是C盘和D盘.ext2文档系统只能安装linux系统,不能被widows系统所使用,更不能安装,看到这里就会明白linux和widows同机的原理喽,厉害,没有格式化的分区是不能直接使用的,没有分区的硬盘是不能格式化的,明白这个思路没?格式化->使用>,看累了吧:来点图像,嘿嘿,
    首先讲解一下,常用/widows/dos分区工具
      1.3.1fdisk:
          适用于Dos,window95/98
      1.3.2partition magic:
          适用于Dos,widows95/92/2000/XP
      1.3.3diskpart
          windows2000安装光盘修复控制台
常用linux下的分区工具
      1.4.1 fdisk:
           命令行工具,各种版本和环境都支持,包含在util-linux软件包中,
         1.4.1.1 运行过程:
           [root@server root]#fdisk /dev/sdX  #setp1
           添加/删除/修改分区                  #setp2
           重新启动机算机                    #setp3
         1.4.1.2 演示:
           [root@server root]#fdisk -l /dev/sdb   #检查一下sdb硬盘上的分区情况;
           Disk /dev/sdb:4298MB,4298561234 bytes   #说明是块新硬盘,
           .......
            Device Boot   Start   End   Block   Id   System
            [root@server root]#fdisk /dev/sdb    #分区开始,
            Command (m for help): m     #按m可查看帮助,不演示
            Command (m for help):n    #new 新增分区
                e extended      #扩展分区
                p primary partition (1-4)  #主分区
             p               #新增主分区
             Partition number (1-4):1         #由于是新硬盘,输入1
             Frist cylinder :   #输入磁柱开始值,建议直接回车
             Last...(1-522,default,1):+1000M         #可用+k,+M,或用结束柱面表示,这里用+1000M表示,
             Command (m for help): p    #查看新增是否成功;
             Device Boot   Start   End   Block   Id   System
             /dev/sdb1      1       205   1000M+  83   Linux
             Command (m for help): n    #再新建一个主分区
                e extended      #扩展分区
                p primary partition (1-4)  #主分区
             p              #新增主分区
             Partition number (1-4):2 #刚有1了,
             Frist cylinder(205-522,deault 205):  #这里表示开始磁值默认
             Last .....(205-522,default 522): 304   #这用用磁柱表示大小
          再次用p命令即可看到,再建一个扩展分区,,累死我了,,,,
            command (m for help): n
               e extended
               p primary partition
             e
             Partition number (1-4):3   #扩展分区同样也占主分区一个位置
             F....(304-522,default 304):     #回车,晕晕ing
             L....(304-522,default  522):    #由于扩展分区只有一个,尽量最后把大的给他,这里用输入522,或回车,
             Command (m for help):p
            Device Boot   Start   End   Block   Id   System
            /dev/sdb1      1       205  1000M+  83   Linux
            /dev/sdb2      205     304  600M+   83   Linux
            /dev/sdb3      304     522  2400M+   5  Extended
           #上图是自编的,数据误差很大,只做说明之用,能够看到,/dev/sdb3是个扩展分区,那我们再建一个主分区试一下,
            Command (m for help):n
            Command action
               l   logical (5 or over)      #注意这里变化
               p   primary partition       #因为才使用二个主分区加一个扩展分区,所以更有一个能够使用,
               p                      #用了他
           Selected partition 4       #骗人的感觉就是爽,因为上面的全部空
           No free sectors available  #都给了扩展,怎么更有空间来建主分区?
           Command (m for help):l     #没办法,只能建逻辑区喽
           Frist..(304-522,default 304):   #假如我在说,我就成为大妇女了
           Last......                      #和上面的相同喽,
     这样下来,,分区总算建好了,但还是不能使用,如,把/dev/sdb2转换为linux里的swap分区,就能够用;
           Command (m for help): t    #转换分区类型
           Partition number (1-5):2    #转换的是2
           Hex code (type L to list codes): L   #查看一下,不演示
           Hex code (type L to list codes): 82   #由上知道swap是82
           Command (m for help):p
           Device Boot   Start   End   Block   Id   System
            /dev/sdb1      1       205  1000M+  83   Linux
            /dev/sdb2      206     304  600M+   82   Linux swap
            /dev/sdb3      305     522  2400M+   5  Extended
            /dev/sdb5      305     400  500M+    c  Win95 LAB  
          Command (m for help):    #自动动手把/dev/sdb5转换为Fat32   
          Command (m for help):w /q #w是保存,q是不保存,慎重,
         重启生效.....
           
       1.4.2sdisk:
           命令行工具,各种版本和环境都支持,包含在util-linux软件包中,
       1.4.3diskdruid
           图像化分区工具,只能在安装RedHatLinux系统版本的时候使用,
   2.使用mkfs创建文档系统讲解
     2.1 linux 的格式化工具
       mkfs:
       支持ext2.ext3.vfat,msdos,等
          用法: mkfs -t  
               mkfs.vfat /dev/sdb3
    mke2fs:支持ext2/ext3文档系统
            mke2fs [-j]
             加j就是带日志, ext3文档系统,
      2.2 演示:
           演示所使用的是上面的分区情况,演示前要提示一下,创建文档系统前一定要和分区里的格式相同,否则会出现混乱,数据是不影响,但识别会发生错误,最好fdisk和mkfs类型相同,
           [root@server root]#mkfs.ext3 /dev/sdb1  #将/sdb1转成有日志
的linux下ext3文档系统,
           [root@server root]#fdisk -l /dev/sdb1   #进行查看,不写
           [root@server root]#mkfs.vfat /dev/sdb5   #对照上面的看
           Tips:可用mkswap /dev/sdb2命令初始化swap分区
           总不能这样就完了吧..我们的目的就是要使用,对呀,,那怎么使用呢,
           [root@server root]#mount /dev/sdb1 /mnt   #看不懂就去看基本
           [root@server root]#echo "hi" > /mnt/test.txt #测试是否可用
           [root@server root]#ls -l /mnt/test.txt   
           -rw-r--r-- 1  root   root  3  12 05 2006 test.txt  #可用
           [root@server root]#umount /dev/sdb1    #卸载
           [root@server root]#    #动手把/dev/sdb5测试一下吧,
           这样就能够参照我的那篇因空间不足要加新硬盘把任何用户转到新硬盘上面的关于"
帐号搬家
"
    硬盘分区的挂载
3.硬盘分区的挂载   
        好了..这是本节的最后一个内容,呵呵..不知道您在此进步了多少呢?假如是高手就不要笑偶哒,,我要从基础学起嘛,,-_-!
    3.1 挂载命令: mount
         例#mount /dev/sdb2 /mnt/sd2
    3.2  有装就要有卸 -umount
        例:#umount /dev/sdb2   or
               #umount /mnt/sd2
        用mount命令只是临时的使用一下,开机就没哒,,假如是想要永久的使用,您不想重启一次就再挂一次吧,,有办法帮您,用下面的.
    3.3 可写入/etc/fstab开机挂载
         例:/dev/sdb2  /mnt/sd2 ext3 defaults 0 0
         有必要把上面一行说一下,,照顾一下新手朋友;
         /dev/sdb2  #说明的是/dev目录下sdb的硬盘上的第二分区
         /mnt/sd2   #挂载目录
         ext3       #文档系统
         defaults   #所使用的参数
         0 0       #第一个0表示无需备份,第二个0表示无需自检
      这里为了永久的使用/dev/sdb2,首先找到您想要的挂载点,举例将/dev/sdb2挂载到/mnt/sd2上,可使用以上的命令,用vi或其他编辑命令,
   写进后,,以后挂载就无需将命令写全,可用;
         [root@server root]#mount /dev/sdb2  #这样mount就会查找挂载目录,               or
         [root@server root]#mount /mnt/sd2   #同上,mount也会查找该目录上的挂载设备,
         [root@server root]#df            #检查一下是否成功
使用卷标进行挂载
      添加卷标;e2label
         例:#e2lable /dev/sdb2 test
      根据卷标进行挂载:
            #mount LABEL=test /mnt/sd2
      写入/etc/fstab
        LABEL=test /mnt/sd2 ext3 defaults 0 0
  使用这个有什么好处呢?就是为了防止删除一个分区而导致分区号混乱,例:/dev/sdb1删除了,而/dev/sdb2将变为/dev/sdb1,这样原来的
       [root@server root]#mount /dev/sdb2 /mnt/sd2 #这里的sdb2将变为从前的/dev/sdb3,明白了吗?说通俗一点就是跟踪这个硬盘喽,
     附:使用这个注意不要重复,可事先查看一下,是否有别的硬盘分区用了这个卷标,
    [root@server root]#e2label /dev/sdb2 /test
  这里再周详说一下ext2/ext3挂载常用的参数
   1.ro/rw  只读/读写
   2.exec/noexec   允许/不允许执行
   3.dev/nodev    允许/不允许设备挂载
   4.suid,sgid/nosuid,nogid,允许/不允许使用suid,sgid文档
   5.atime/noatime /更新/不更新
   6.async/sync  异步/同步磁盘写入
   7.user/nouser 允许/不允许普通用户挂载,用于/etc/fstab文档中的选项

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅