posts - 262,  comments - 221,  trackbacks - 0
          【1. 分區(qū)與目錄概念理解】
           Linux的分區(qū)是物理上的概念,就像我們把一塊硬盤分成C:,D:,E:三個區(qū)一樣,物理上將存儲空間分開
           Linux的目錄是邏輯上的概念,Linux的目錄樹實(shí)際上是一個分區(qū)之間的數(shù)據(jù)邏輯結(jié)構(gòu)關(guān)系,不是物理結(jié)構(gòu)

          【2. 分區(qū)與目錄的關(guān)系】
           一個分區(qū)必須掛載到一個目錄下才能使用。分區(qū)可以掛載到任何目錄。比如說下面我們看到的例子(以RHEL4為例) 
          [root@localhost ~]# df -lh
          Filesystem            容量  已用 可用 已用%     掛載點(diǎn)
          /dev/sda3             
          6.4G  4.8G  1.3G  80%   /
          /dev/sda1              99M  
          8.4M   86M   9%  /boot
          none                    494M  
          0      494M   0%  /dev/shm
          /dev/hdc              105M  105M     
          0  100% /media/cdrom

          df命令是用來匯報磁盤文件系統(tǒng)的空間使用情況的,參數(shù)l表示本地文件系統(tǒng),h表示以人可識別的方式表示(實(shí)際上就是以M/G單位來表示,而不是純粹的數(shù)字,難以理解)。我們看到上面命令的結(jié)果是:

          ①左邊的信息代表了磁盤文件系統(tǒng)分區(qū):/dev/sda1, /dev/sda3等
          ②右邊的信息分別代表了容量,已用空間,可用空間,百分比,掛載點(diǎn)
          ③特別注意的是掛載點(diǎn),它就是我們前面所說的將分區(qū)掛載到某一個目錄的“那個目錄”
          ④我們看到分區(qū)sda1掛載到/boot目錄下,而分區(qū)sda3掛載到根目錄/下

          這里我們可以這樣理解:

          分區(qū)是真正存放數(shù)據(jù)的地方,只有一份數(shù)據(jù)
          目錄是分區(qū)數(shù)據(jù)的邏輯映射,就像Windows系統(tǒng)中的快捷方式一樣
          分區(qū)的數(shù)據(jù)可以掛載到任意多個不同目錄,這些目錄就像不同名的快捷方式,都指向同樣的分區(qū)數(shù)據(jù)

          例如下面這樣:
          [root@localhost /]# df -lh
          Filesystem            容量  已用 可用 已用% 掛載點(diǎn)
          /dev/sda3             
          6.4G  4.8G  1.3G  80% /
          /dev/sda1              99M  
          8.4M   86M   9% /boot
          none                  494M     
          0  494M   0% /dev/shm
          /dev/hdc              105M  105M     
          0 100% /media/cdrom

             [root@localhost /]# cd /
          [root@localhost /]# ls
          bin   dev  home    lib         media  mnt  paul  root  selinux  sys  u01  var
          boot  etc  initrd  lost+found  misc   opt  proc  sbin  srv      tmp  usr

             [root@localhost /]# mount /dev/sda1 paul
          [root@localhost /]# ls paul
          config-
          2.6.9-5.EL  initrd-2.6.9-5.EL.img  message     System.map-2.6.9-5.EL
          grub               lost+found             message.ja  vmlinuz-
          2.6.9-5.EL

          可以看到原來/dev/sda1分區(qū)是掛載到/boot目錄下的,現(xiàn)在我把他也掛載到/paul目錄下,這樣我們就可以在/paul目錄下看到和/boot目錄同樣的內(nèi)容了,但實(shí)際上數(shù)據(jù)還是只有一份。

          【3. 分區(qū)的mount和umount】
           前面我們提到分區(qū)必須掛載到某個特定的目錄才能使用,那么假如我們把Linux最重要的分區(qū)boot分區(qū)和根分區(qū)/都不掛載到相應(yīng)的目錄,結(jié)果會如何呢?

           測試一:卸載/分區(qū)
          [root@localhost /]# umount /
          umount: /: device is busy
          umount: /: device is busy

          很明顯,/分區(qū)是不能被umount的。那么boot分區(qū)呢?

          測試二:卸載boot分區(qū)
          [root@localhost /]# ls
          bin   dev  home    lib         media  mnt  paul  root  selinux  sys  u01  var
          boot  etc  initrd  lost+found  misc   opt  proc  sbin  srv      tmp  usr
          [root@localhost /]# umount boot
          [root@localhost /]#

          測試成功,可見boot分區(qū)也是可以被umount的,而/實(shí)際上代表了硬盤,所以不能被umount。

          【4. umount了boot分區(qū)還能再正常啟動嗎】
           前面我們看到了既然boot分區(qū)可以被umount掉,那么假如我們umount了boot分區(qū)后重啟,會不會導(dǎo)致系統(tǒng)啟動不了呢?答案是不會。

           我們可以到Linux下的/etc/fstab命令來查看Linux啟動時的掛載情況及順序
          [root@localhost boot]# cat /etc/fstab
          # This file is edited by fstab-sync - see 'man fstab-sync' for details
          LABEL=/                    /                       ext3    defaults       1 1
          LABEL=/boot             /boot                  ext3    defaults        1 2
          none                       /dev/pts              devpts  gid
          =5,mode=620  0 0
          none                       /dev/shm             tmpfs   defaults        
          0 0
          none                       /proc                   proc    defaults        
          0 0
          none                       /sys                    sysfs   defaults        
          0 0
          LABEL
          =SWAP-sda2    swap                   swap    defaults       0 0

          # Beginning of the block added by the VMware software
          .host:/                 /mnt/hgfs               vmhgfs  defaults
          ,ttl=5     0 0

          # End of the block added by the VMware software
          /dev/hdc                /media/cdrom          auto    pamconsole
          ,exec,noauto,m anaged 0 0
          /dev/fd0                /media/floppy           auto    pamconsole
          ,exec,noauto,

          可以看到在該文件中,已經(jīng)定義了在啟動時默認(rèn)到/boot目錄下去尋找啟動文件,所以即便我們把boot分區(qū)umount掉了,重啟后還是能夠正常進(jìn)入的。它是靠什么自動加載的呢?其實(shí)fstab 文件中的 defaults 就包含了 "auto" 功能,除非明確指定 noauto ,否則開機(jī)都會自動掛載。

          注意:這里的前提條件是不改變fstab文件的內(nèi)容,如果我們把/boot那一行注釋掉了,那么就真的啟動不了了。


          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2008-12-01 22:57 Paul Lin 閱讀(2158) 評論(1)  編輯  收藏 所屬分類: Unix / Linux


          FeedBack:
          # re: 【Linux學(xué)習(xí)筆記】分區(qū)與目錄
          2010-01-08 11:14 | sm-sun
          您好,我是初學(xué)者,可能對目錄與分區(qū)還是沒能完全理解。

          [sm@sm-sun ~]$ df -h
          文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn)
          /dev/sda2 3.9G 3.7G 43M 99% /
          tmpfs 250M 524K 249M 1% /dev/shm
          /dev/sda1 248M 26M 210M 12% /boot
          /dev/sda5 2.8G 274M 2.4G 11% /home
          我當(dāng)時裝系統(tǒng)時分區(qū)的時候就分了 / boot home 這個三個。在這里看那這三個目錄就應(yīng)該該是分別對應(yīng)不同的物理分區(qū)吧。

          [sm@sm-sun ~]$ cd /
          [sm@sm-sun /]$ ls
          bin dev home lost+found mnt proc sbin srv tmp var
          boot etc lib media opt root selinux sys usr
          1.那看這里,那boot home這兩個目錄都是在/里面的,那是不是這兩個目錄的只是像兩個快捷方式那樣放在了/目錄里面,而他們的實(shí)際分區(qū)是單獨(dú)的,不是包含在/目錄對應(yīng)的分區(qū)里?
          2.而其他的除了boot home 這兩個目錄外的其他目錄是默認(rèn)生成的,它們的對應(yīng)的分區(qū)就是/目錄對應(yīng)的分區(qū)里的一部分嗎?

            回復(fù)  更多評論
            
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點(diǎn)博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 垫江县| 扶余县| 雅安市| 柘城县| 韩城市| 泗洪县| 邓州市| 德庆县| 凤阳县| 定襄县| 砀山县| 耒阳市| 罗山县| 黄山市| 潼南县| 彝良县| 普安县| 蒙自县| 南充市| 焦作市| 呼伦贝尔市| 吉安县| 宜春市| 吐鲁番市| 华容县| 新民市| 万宁市| 唐海县| 公安县| 大关县| 永吉县| 浏阳市| 鲁甸县| 崇礼县| 榆树市| 庆元县| 合江县| 独山县| 东丽区| 阳泉市| 鞍山市|