用命令行加掛Linux的文件系統簡(jiǎn)介
學(xué)習操作系統時(shí)我們都了解到文件系統是操作系統的重要組成部分之一。文件系統有很多種類(lèi)型,比Windows的fat、fat32;Linux的ext、ext2或ext3;FreeBSD的ufs等等。在使用Linux的過(guò)程,也常常Linux操作系統使用虛擬文件系統VFS,通過(guò)VFS可以直接存取其它已被內核支持的各種文件系統,用起來(lái)就像是在普通的 Linux的ext系列文件系統一樣。早期的Linux內置支持的文件系統不多,自 kernel 2.0.x 起并支持到 VFAT ,以后逐 漸增加,到目前可以說(shuō) 決大多數的文件系統都有了支持。只是有一些如NTFS需要重新編譯內核才能支持。
本文引用地址:http://dyxdggzs.com/article/201610/305582.htmLinux在啟動(dòng)過(guò)程中,會(huì )按照/etc/fstab中的設置,把各個(gè)分區上的文件系統加掛到對應到加載點(diǎn)上去。Linux至少需要兩個(gè)分區才能啟動(dòng):一個(gè)是根分區/,另一個(gè)是交換分區,如果在啟動(dòng)時(shí)根分區加載失敗,Linux就不能完成啟動(dòng)。如果交換分區加載失敗,Linux就不能仍能啟動(dòng),在內存不夠的情況下速度就會(huì )受很大的影響。根分區的文件系統類(lèi)型通常是ext、ext2或ext3,但也可以是其它的一些文件系統。
除了加載了Linux所必需的文件系統外,Linux的用戶(hù)還經(jīng)常需要使用其它的各種文件系統,特別是在一臺機器上同時(shí)安裝多個(gè)操作系統的時(shí)候。比如筆者的機器上同時(shí)安裝了Linux和Windows2000,其中Windows的C盤(pán)采用了NTFS文件系統、D盤(pán)采用了FAT32文件系統。而當我在Linux上工作的時(shí)候,常常需要訪(fǎng)問(wèn)Windows的C盤(pán)和D盤(pán)的內容,甚至是網(wǎng)絡(luò )上的共享目錄,Linux下加掛一個(gè)文件系統使用的是mount命令,用man mount命令可以得到命令參數的詳細解釋。下面就來(lái)介紹一下在幾種情況下以命令行方式加掛文件系統的具體方法:
1.加掛FAT32文件系統
最簡(jiǎn)單的用法:
mount /dev/hda6 /mnt/d
/dev/hda6是筆者Windows的D盤(pán),/mnt/d是目錄加掛點(diǎn)。Linux會(huì )識別到/dev/hda6分區的文件系統類(lèi)型是什么,然后加掛的。當然也可以指定分區的文件系統類(lèi)型,命令如下:
mount -t vfat /dev/hda6 /mnt/d
在實(shí)際中操作中,直接加掛一個(gè)Windows的分區,中文的文件名和目錄名會(huì )出現亂碼,為了避免這種情況可以指定字符集,命令如下:
mount /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
mount -t vfat /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
注意:cp936是指簡(jiǎn)體中文,cp950是指繁體中文。
2.加掛NTFS文件系統
在目前多數的Linux版本上,需要重編譯Linux核心才能,加掛NTFS分區(編譯方法請參閱其它文章)。核心支持NTFS后,可以用以下命令加掛:
mount -t ntfs /dev/hda2 /mnt/c
同樣對于中文的文件名和目錄名會(huì )出現亂碼的問(wèn)題可以指定字符集,不過(guò)和加掛vfat分區不同,實(shí)際中用以下命令是可行的:
mount -t ntfs -o iocharset=cp936 /dev/hda2 /mnt/c -r
mount -t ntfs -o iocharset=cp936,rw /dev/hda2 /mnt/c
3.加掛U盤(pán)上的文件系統
現在使用U盤(pán)的人越來(lái)越多了,其實(shí)在Linux下使用U盤(pán)也非常簡(jiǎn)單,Linux對USB設備有很好的支持,在你插入U盤(pán)后,U盤(pán)被識別為一個(gè)SCSI盤(pán),通常您用以下命令就能加掛U盤(pán)上的文件系統mount /dev/sda1 /usb同樣對于中文的文件名和目錄名會(huì )出現亂碼的問(wèn)題可以指定字符集,命令類(lèi)似于上面對FAT32介紹的mount /dev/sda1 /usb -o pagecode=936,iocharset=cp936。
4.加掛Linux系統通過(guò)samba共享出來(lái)的目錄
利用samba共享出來(lái)的目錄其實(shí)很難說(shuō)其原來(lái)是哪種文件系統,不過(guò)這一點(diǎn)不重要,只要它對用戶(hù)是透明的就好啦。加掛時(shí),我們指定類(lèi)型為smbfs,在加掛samba共享的分區時(shí),也會(huì )出現中文的文件名和目錄名亂碼情況,可以用以下命令加掛:
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/
注意:你可以不直接寫(xiě)password=terry這個(gè)參數,系統界時(shí)會(huì )要你輸入密碼,這樣就可以防止有人直接看到你的密碼。視具體情況而定,-o后面的參數可以對應增減。
5.加掛Windows系統共享出來(lái)的目錄
在局域網(wǎng)中,常常需要去訪(fǎng)問(wèn)其它Windows系統共享出來(lái)的目錄,在Linux下,安裝了samba后就可以使用samba中帶的命令來(lái)訪(fǎng)問(wèn)Windows機器的共享資源。用smbclient來(lái)列出Windows機器的共享資源
smbclient -L 192.168.100.111
根據上面所列出Windows的共享資源后,可以選擇需要加掛到本地Linux中去的Windows的共享資源,然后使用smbmount或mount來(lái)加掛,請參照下面幾條命令:
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 (這樣則不必在命令行輸入密碼)
注:除了上面介紹的命令行方法之外,這時(shí)最好的方法就是使用其它的客戶(hù)端,如LinNeighborhood、networkneighbours、ksmbshare等,請參考其它文章。
以上介紹的都是命令行的方式,每次使用時(shí)都要輸入一次,如果你常常要加掛一些文件系統,想在啟動(dòng)時(shí)自動(dòng)加掛應該怎樣做呢?下面介紹兩種方法:
方法1.
把加掛的命令放在/etc/rc.d/rc.local中。
方法2.
修改分區配置文件/etc/fstab,在啟動(dòng)時(shí)加掛文件系統,下面是我的/etc/fstab文件:
LABEL=/ / ext3 defaults
1 1
none /dev/pts devpts gid=5,mode=620
0 0
LABEL=/home /home ext3 defaults
1 2
none /proc proc defaults
0 0
none /dev/shm tmpfs defaults
0 0
/dev/hda4 swap swap defaults
0 0
/dev/cdrom /mnt/cdrom iso9660
評論