Linux之檔案編程(四)

來源:互聯網
上載者:User

Linux檔案編程之安裝檔案系統

前言:

        可能我們機子上都按了兩個作業系統Linux作業系統和XP,那麼我們一般都可以在Linux下訪問XP下的檔案,但是我們卻不能在XP下訪問Linux,這是為什麼呢?

 

 

一.安裝檔案系統

 

1.由於 Ext2/Ext3是 Linux 的標準檔案系統,所以系統把EXT2 檔案系統的磁碟分割做為系統的根檔案系統,EXT2 以外的檔案系統(如 Window的 FAT32 檔案系統)則安裝在根檔案系統下的某個目錄下,成為系統樹型結構中的一個分枝。安裝一個檔案系統用 mount 命令。
2.將一個檔案系統的頂層目錄掛到另一個檔案系統的子目錄上,使它們成為一個整體,稱為“安裝(mount)”。把該子目錄稱為“安裝點(mount point)”。

3 .檔案系統建立樣本
第一步:建立一個經過初始化的檔案 (用 dd 命令建立一個指定大小的檔案(使用 /dev/zero 作為源進行檔案複製)
dd if=/dev/zero of=tiger bs=1k count=10000

過程執行個體:

think@ubuntu:~$ dd if=/dev/zero of=tiger bs=1k count=10000
記錄了10000+0 的讀入
記錄了10000+0 的寫出
10240000位元組(10 MB)已複製,0.0890382 秒,115 MB/秒

 

(對dd命令不熟悉或者感興趣的話可以看這裡 )

Tiger-John說明:

把輸入檔案/dev/zero 拷貝到輸出檔案 tiger中,輸入輸出的塊大小為 1k,總共拷貝 10000 塊。

現在我們就建立了一個10MB 的 tiger檔案。

第二步:使用 losetup 命令將一個迴圈裝置與這個檔案關聯起來,讓它看起來像一個塊裝置,而不是檔案系統中的常規檔案。(此時要使用超級許可權)

 sudo losetup /dev/loop0 tiger

過程實 例 :

think@ubuntu:~$ sudo losetup /dev/loop0 tiger
[sudo] password for think:
losetup: /dev/loop0: device is busy

Tiger-John 說明:

在此處使用sudo losetup /dev/loop0  命令時系統提示錯誤:losetup: /dev/loop0: device is busy。

說明有裝置在使用 loopback 裝置 ,我們可以用 /dev/loop1或 /dev/loop2來 代替 /dev/loop0,直到有一個閒置 loopback 裝置。

所以我們把命令該為 sudo losetup /dev/loop1tiger 再試一下。

過程實 例:

 think@ubuntu:~$ sudo losetup /dev/loop1 tiger
  [sudo] password for think

沒有提示錯誤,說明操作成功。此時, tiger 檔案現在作為一個塊裝置出現(由 /dev/loop1表示)

第三步: 然後用 mke2fs 在這個裝置上建立一個檔案系統。這個命令建立一個指定大小的新的 ext2 檔案系統 。

mke2fs -c /dev/loop1 10000

表示在/dev/loop0 塊裝置上建立大小為10MB 的 ext2檔案系統

過程實 例:

think@ubuntu:~$ sudo mke2fs -c /dev/loop1 10000
[sudo] password for think:
mke2fs 1.41.11 (14-Mar-2010)

第四步:使用 mount 命令將迴圈裝置(/dev/loop1)所表示的 tiger 檔案安裝到安裝點 /mnt/point1。注意,檔案系統類型指定為 ext2。

mkdir /mnt/point1    表示:建立安裝點
mount -t ext2 /dev/loop1  /mnt/point1:在安裝點上安裝 ext2 檔案系統

過程實 例:

think@ubuntu:~$ sudo mkdir /mnt/point1
think@ubuntu:~$ mount -t ext2 /dev/loop1  /mnt/point1
mount: 只有 root 才能進行此操作

think@ubuntu:~$ su

root@ubuntu:/home/think# mount -t ext2 /dev/loop1 /mnt/point1

Tiger-John 說明:

mount 操作只能在root 許可權下用行,所以我們用命令:su 切換到root 使用者下

第五步:安裝之後,就可以將這個安裝點當作一個新的檔案系統,比如使用 ls 命令就可以查看檔案系統。

過程執行個體:

root@ubuntu:/home/think# ls /mnt/point1
lost+found
Tiger-John 說明:

lost+found表示新檔案系統中預設的檔案目錄

至次一個檔案系統就安裝在Linux之上了。

那麼我麼如何卸載它呢?

第六步:我們通過命令: umount /mnt/vfs 和 losetup -d /dev/loop0 來卸載我們剛才所載入的檔案系統。

過程執行個體:

root@ubuntu:/home/think# umount /mnt/point1
root@ubuntu:/home/think# losetup -d /dev/loop1
root@ubuntu:/home/think# ls  /mnt/point1
root@ubuntu:/home/think#

此時我們通過ls /mnt/pont1 已經看不到我們剛才的檔案系統了。說明我們卸載成功

Tiger-John說明 :

從上面的學習我們學會了用shell命令來掛載自己的檔案系統和卸載檔案系統,那麼大家有沒有疑問呢?當我們在用這些shell命令時,系統到底是如何?的呢?如過你有興趣的話就來這裡看看把http://blog.csdn.net/tigerjb/archive/2010/11/17/6015530.aspx


 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.