zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          Linux系統下加掛文件系統的小結 (轉載)
          作者:sixth 來源:賽迪論壇 發布時間:2006.02.17

          學習操作系統時我們都了解到文件系統是操作系統的重要組成部分之一。文件系統有很多種類型,比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.加掛U盤上的文件系統

          現在使用U盤的人越來越多了,其實在Linux下使用U盤也非常簡單,Linux對USB設備有很好的支持,在你插入U盤后,U盤被識別為一個SCSI盤,通常您用以下命令就能加掛U盤上的文件系統

          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/U盤,以及解決加掛中關于中文顯示/用戶密碼等的問題。
          (e129)



          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2006-06-19 15:24 zhyiwww 閱讀(599) 評論(0)  編輯  收藏 所屬分類: linux
          主站蜘蛛池模板: 阿拉善右旗| 全椒县| 北票市| 石屏县| 富蕴县| 济南市| 交口县| 襄城县| 遵化市| 齐齐哈尔市| 四子王旗| 汝城县| 宜城市| 阿坝县| 华宁县| 额尔古纳市| 高唐县| 聊城市| 肇东市| 邢台县| 环江| 抚宁县| 乡城县| 九江市| 科尔| 延边| 成武县| 洛南县| 临朐县| 铜川市| 开江县| 通榆县| 虞城县| 景洪市| 循化| 化隆| 建阳市| 宜春市| 绍兴市| 独山县| 古浪县|