8 Linux 常用命令(七)掛載命令
8.1 mount命令基本格式
linux所有儲存裝置都必須掛載使用,包括硬碟
命令名稱:mount
命令所在路徑:/bin/mount
執行許可權:所有使用者
命令格式如下:
[root@localhost ~]# mount [-l]#查詢系統中已經掛載的裝置,-l會顯示卷標名稱
[root@localhost ~]# mount –a
#依據配置檔案/etc/fstab的內容,自動掛載
[root@localhost ~]# mount [-t 檔案系統] [-L 卷標名] [-o 特殊選項] \
裝置檔名 掛載點
#\代表這一行沒有寫完,換行
選項:
-t 檔案系統: 加入檔案系統型別來指定掛載的型別,可以ext3、ext4、iso9660 等檔案系統。具體可以參考表9-1
-L 卷標名: 掛載指定卷標的分割槽,而不是安裝裝置檔名掛載
-o 特殊選項: 可以指定掛載的額外選項,比如讀寫許可權、同步非同步等,如果不指定則預設值生效。具體的特殊選項
引數 | 說明 |
---|---|
atime/noatime | 更新訪問時間/不更新訪問時間。訪問分割槽檔案時,是否更新檔案的訪問時間,預設為更新 |
async/sync | 非同步/同步,預設為非同步 |
auto/noauto | 自動/手動,mount –a命令執行時,是否會自動安裝/etc/fstab檔案內容掛載,預設為自動 |
defaults | 定義預設值,相當於rw,suid,dev,exec,auto,nouser,async這七個選項 |
exec/noexec | 執行/不執行,設定是否允許在檔案系統中執行可執行檔案,預設是exec允許 |
remount | 重新掛載已經掛載的檔案系統,一般用於指定修改特殊許可權 |
rw/ro | 讀寫/只讀,檔案系統掛載時,是否具有讀寫許可權,預設是rw |
suid/nosuid | 具有/不具有SUID許可權,設定檔案系統是否具有SUID和SGID的許可權,預設是具有 |
user/nouser | 允許/不允許普通使用者掛載,設定檔案系統是否允許普通使用者掛載, 預設是不允許,只有root可以掛載分割槽 |
usrquota | 寫入代表檔案系統支援使用者磁碟配額,預設不支援 |
grpquota | 寫入代表檔案系統支援組磁碟配額,預設不支援 |
示例:
例1:[root@localhost ~]# mount
#檢視系統中已經掛載的檔案系統,注意有虛擬檔案系統
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
#命令結果是代表:/dev/sda3分割槽掛載到/目錄,檔案系統是ext4,許可權是讀寫
例2:修改特殊許可權
[root@localhost ~]# mount
#我們檢視到/boot分割槽已經被掛載,而且採用的defaults選項,那麼我們重新掛載分割槽,並採用noexec
#許可權禁止執行檔案執行,看看會出現什麼情況(注意不要用/分割槽做試驗,#不然系統命令也不能執行了)。
…省略部分輸出…
/dev/sda1 on /boot type ext4 (rw)
…省略部分輸出…
[root@localhost ~]# mount -o remount,noexec /boot
#重新掛載/boot分割槽,並使用noexec許可權
[root@localhost sh]# cd /boot/
[root@localhost boot]# vi hello.sh
#寫個shell吧
8.2 光碟掛載
光碟掛載的前提依然是指定光碟的裝置檔名,不同版本的Linux,裝置檔名並不相同:
-
CentOS 5.x以前的系統,光碟裝置檔名是/dev/hdc
-
CentOS 6.x以後的系統,光碟裝置檔名是/dev/sr0
不論哪個系統都有軟連線/dev/cdrom,與可以作為光碟的裝置檔名
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/#掛載光碟
用完之後記得解除安裝:
[root@localhost ~]# umount /dev/sr0[root@localhost ~]# umount /mnt/cdrom
#因為裝置檔名和掛載點已經連線到一起,解除安裝哪一個都可以
注意:解除安裝的時候需要退出光碟目錄,才能正常解除安裝
8.3 掛載U盤
U盤會和硬碟共用裝置檔名,所以U盤的裝置檔名不是固定的,需要手工查詢,查詢命令:
[root@localhost ~]# fdisk -l#查詢硬碟
然後就是掛載了,掛載命令如下:
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/#掛載U盤。因為是Windows分割槽,所以是vfat檔案系統格式
如果U盤中有中文,會發現中文是亂碼。Linux要想正常顯示中文,需要兩個條件:
-
安裝了中文編碼和中文字型
-
操作終端需要支援中文顯示(純字元終端,是不支援中文編碼的)
而我們當前系統是安裝了中文編碼和字型,而xshell遠端終端是Windows下的程式,當然是支援中文顯示的。那之所以掛載U盤還出現亂碼,是需要在掛載的時候,手工指定中文編碼,例如:
[root@localhost ~]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/#掛載U盤,指定中文編碼格式為UTF-8
如果需要解除安裝,可以執行以下命令:
[root@localhost ~]# umount /mnt/usb/8.4 掛載NTFS分割槽
8.4.1 Linux的驅動載入順序:
-
驅動直接放入系統核心之中。這種驅動主要是系統啟動載入必須的驅動,數量較少。
-
驅動以模組的形式放入硬碟。大多數驅動都已這種方式儲存,儲存位置在/lib/modules/3.10.0-862.el7.x86_64/kernel/中。
-
驅動可以被Linux識別,但是系統認為這種驅動一般不常用,預設不載入。如果需要載入這種驅動,需要重新編譯核心,而NTFS檔案系統的驅動就屬於這種情況。
-
硬體不能被Linux核心識別,需要手工安裝驅動。當然前提是廠商提供了該硬體針對Linux的驅動,否則就需要自己開發驅動了。
8.4.2 使用NTFS-3G安裝NTFS檔案系統模組
1)下載NTFS-3G外掛
從網站http://www.tuxera.com/community/ntfs-3g-download/下載NTFS-3G外掛到Linux伺服器上
2)安裝NTFS-3G外掛
在編譯安裝NTFS-3G外掛之前,要保證gcc編譯器已經安裝。具體安裝命令如下:
[root@localhost ~]# tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz#解壓
[root@localhost ~]# cd ntfs-3g_ntfsprogs-2013.1.13
#進入解壓目錄
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure
#編譯器準備。沒有指定安裝目錄,安裝到預設位置中
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make
#編譯
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install
#編譯安裝
安裝就完成了,已經可以掛載和使用Windows的NTFS分割槽了。不過需要注意掛載分割槽時的檔案系統不是ntfs,而是ntfs-3g。掛載命令如下:
[root@localhost ~]# mount -t ntfs-3g 分割槽裝置檔名 掛載點例如:
[root@localhost ~]# mount –t ntfs-3g /dev/sdb1 /mnt/win