8 Linux 常用命令(七)掛載命令


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吧
#!/bin/bash
echo "hello!!"
[root@localhost boot]# chmod 755 hello.sh
[root@localhost boot]# ./hello.sh
-bash: ./hello.sh: 權限不夠
#雖然賦予了hello.sh執行權限,但是任然無法執行
[root@localhost boot]# mount -o remount,exec /boot
#記得改回來啊,要不會影響系統啟動的

例3:掛載分區
[root@localhost ~]# mkdir /mnt/disk1
#建立掛載點目錄
[root@localhost ~]# mount /dev/sdb1 /mnt/disk1
#掛載分區

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM