Linux下加掛檔案系統的小結

來源:互聯網
上載者:User

學習作業系統時我們都瞭解到檔案系統是作業系統的重要組成部分之一。檔案系統有很多種類型,比windows的fat、fat32;Linux的ext、 ext2或ext3;FreeBSD的ufs等等。在使用Linux的過程,也常常Linux作業系統使用虛擬檔案系統VFS,通過VFS可以直接存取其它已被核心支援的各種檔案系統,用起來就像是在普通的 Linux的ext系列檔案系統一樣。早期的Linux內建支援的檔案系統不多,自 kernel 2.0.x 起並支援到 VFAT ,以後逐漸增加,到目前可以說 決大多數的檔案系統都有了支援。只是有一些如NTFS需要重新編譯核心才能支援。
Linux在啟動過程中,會按照/etc/fstab中的設定,把各個分區上的檔案系統加掛到對應到載入點上去。Linux至少需要兩個分區才能啟動:一個是根分區/,另一個是交換分區,如果在啟動時根分區載入失敗,Linux就不能完成啟動。如果交換分區載入失敗,Linux就不能仍能啟動,在記憶體不夠的情況下速度就會受很大的影響。根分區的檔案系統類型通常是ext、ext2或ext3,但也可以是其它的一些檔案系統。
除了載入了Linux所必需的檔案系統外,Linux的使用者還經常需要使用其它的各種檔案系統,特別是在一台機器上同時安裝多個作業系統的時候。比如筆者的機器上同時安裝了Linux和Windows2000,其中Windows的C盤採用了NTFS檔案系統、D盤採用了FAT32檔案系統。而當我在 Linux上工作的時候,常常需要訪問Windows的C盤和D盤的內容,甚至是網路上的共用目錄,Linux下加掛一個檔案系統使用的是mount命令,用man mount命令可以得到命令參數的詳細解釋。下面就來介紹一下在幾種情況下以命令列方式加掛檔案系統的具體方法:
1.加掛FAT32檔案系統

最簡單的用法
mount /dev/hda6 /mnt/d
/dev/hda6是筆者Windows的D盤,/mnt/d是目錄加掛點。Linux會識別到/dev/hda6分區的檔案系統類型是什麼,然後加掛的。當然也可以指定分區的檔案系統類型,命令如下:
mount -t vfat /dev/hda6 /mnt/d
在實際中操作中,直接加掛一個windows的分區,中文的檔案名稱和目錄名會出現亂碼,為了避免這種情況可以指定字元集,命令如下:
mount  /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
mount -t vfat /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
注意:cp936是指簡體中文,cp950是指繁體中文。
2.加掛NTFS檔案系統
在目前多數的Linux版本上,需要重編譯Linux核心才能,加掛NTFS分區(編譯方法請參閱其它文章)。核心支援NTFS後,可以用以下命令加掛:
mount -t ntfs /dev/hda2 /mnt/c
同樣對於中文的檔案名稱和目錄名會出現亂碼的問題可以指定字元集,不過和加掛vfat分區不同,實際中用以下命令是可行的:
mount -t ntfs -o iocharset=cp936 /dev/hda2 /mnt/c -r
mount -t ntfs -o iocharset=cp936,rw /dev/hda2 /mnt/c
3.加掛隨身碟上的檔案系統

現在使用隨身碟的人越來越多了,其實在Linux下使用隨身碟也非常簡單,Linux對USB裝置有很好的支援,在你插入隨身碟後,隨身碟被識別為一個SCSI盤,通常您用以下命令就能加掛隨身碟上的檔案系統
mount /dev/sda1 /usb
同樣對於中文的檔案名稱和目錄名會出現亂碼的問題可以指定字元集,命令類似於上面對FAT32介紹的:
mount /dev/sda1 /usb -o pagecode=936,iocharset=cp936
4.加掛Linux系統通過samba共用出來的目錄
利用samba共用出來的目錄其實很難說其原來是哪種檔案系統,不過這一點不重要,只要它對使用者是透明的就好啦。加掛時,我們指定類型為smbfs,在加掛samba共用的分區時,也會出現中文的檔案名稱和目錄名亂碼情況,可以用以下命令加掛:
mount -t smbfs -o
username=terry,password=terry,codepage=936,iocharset=cp936
//terry-linux/terry  /mp3/
mount -t smbfs -o
username=terry,password=terry,codepage=936,iocharset=cp936
//192.168.100.228/terry  /mp3/
注意:你可以不直接寫password=terry這個參數,系統界時會要你輸入密碼,這樣就可以防止有人直接看到你的密碼。視具體情況而定,-o後面的參數可以對應增減。
5.加掛Window系統共用出來的目錄

在區域網路中,常常需要去訪問其它Windows系統共用出來的目錄,在Linux下,安裝了samba後就可以使用samba中帶的命令來訪問Windows機器的共用資源。
用smbclient來列出Windows機器的共用資源   
smbclient  -L 192.168.100.111
根據上面所列出Windows的共用資源後,可以選擇需要加掛到本地Linux中去的Windows的共用資源,然後使用smbmount或mount來加掛,請參照下面幾條命令:
smbmount  //192.168.100.111/public /public/
mount //192.168.100.111/d /mnt/cdrom -o username=terry (這樣要在命令列輸入密碼的)
mount //192.168.100.111/d /mnt/cdrom -o username=terry$1234 (這樣則不必在命令列輸入密碼)

註:除了上面介紹的命令列方法之外,這時最好的方法就是使用其它的用戶端,如LinNeighborhood、networkneighbours、ksmbshare等,請參考其它文章。
以上介紹的都是命令列的方式,每次使用時都要輸入一次,如果你常常要加掛一些檔案系統,想在啟動時自動加掛應該怎樣做呢?下面介紹兩種方法:
方法1.
把加掛的命令放在/etc/rc.d/rc.local中。
方法2.
修改分區設定檔/etc/fstab,在啟動時加掛檔案系統,下面是我的/etc/fstab檔案:
LABEL=//ext3defaults      
1 1
none  /dev/pts devpts gid=5,mode=620
0 0
LABEL=/home/homeext3defaults      
1 2
none  /procprocdefaults      
0 0
none  /dev/shm tmpfs  defaults      
0 0
/dev/hda4 swap swapdefaults      
0 0
/dev/cdrom /mnt/cdrom  iso9660
noauto,owner,kudzu,ro 0 0
/dev/hda2 /ntfs ntfsdefaults,iocharset=cp9360 0
/dev/hda6 /win vfatdefaults,codepage=936,iocharset=cp9360 0
//192.168.100.228/terry /mp3smbfsusername=terry,password=terry,codepage=cp936,iocharset=cp936 0 0
請注意最後三行:
倒數第四行,加掛我的C盤,NTFS格式的
倒數第三行,加掛我的D盤,FAT32格式的
倒數第二行,加掛的是我的區域網路中另一台安裝samba的Linux檔案伺服器上的一個目錄。
本文總結了一下在Linux上不同情況下幾種常見加掛檔案系統的方法,包括如何加掛FAT/NTFS/smbfs/隨身碟,以及解決加掛中關於中文顯示/使用者密碼等的問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.