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命令時,系統到底是如何實現的呢?如過你有興趣的話就來這裡看看把
Linux之檔案程式設計(四)
linux檔案程式設計之安裝檔案系統 前言 可能我們機子上都按了兩個作業系統linux作業系統和xp,那麼我們一般都可以在linux下訪問xp下的檔案,但是我們卻不能在xp下訪問linux,這是為什麼呢?一.安裝檔案系統 1.由於 ext2 ext3是 linux 的標準檔案系統,所以系統把ext2...
Linux之 IO程式設計四
1.庫是一種可執行的二進位制形式檔案 2.需要被作業系統載入記憶體執行 3.相比於可執行程式,它不可以直接執行 4.window 和 linux 都有自己的庫,但是不相容 5.庫有兩種,1.靜態庫 2.共享庫 又叫動態庫 了解 靜態庫 動態庫 window lib dll linux a so gc...
Linux系統程式設計 檔案 四
1.建立 mkdir include include int mkdir const char pathname,mode t mode 執行成功返回0,錯誤返回 1 2.刪除 rmdir include int rmdir const char pathname 執行成功返回0,錯誤返回 1 rm...