背景:前一週幫同事下載了centos的iso文件用來刻盤,今天同時拿了硬盤來拷貝該文件,我習慣性的拖拽文件進行拷貝,但發現並沒有什麼反應,隨後,我以爲自己拖拽方式不對,遂,嘗試使用終端cp該文件,這時候才發現,移動硬盤是隻讀的,這才明白爲什麼拖拽無法實現拷貝(原來我學識短淺,之前一直使用windows,所以第一次遇到這個問題)。
解決:
經過一番查閱資料後,得知Mac上,默認情況對NTFS磁盤的掛載方式是隻讀(read-only)的,其實Mac原生是支持NTFS的,但是後來由於微軟的限制,蘋果把這個功能給屏蔽了,但是我們可以通過命令行方式打開這個選項。
也得益於這段時間一直在看的一本書,剛好有讀到【掛載存儲媒體】這部分的內容(講真,當時看書的時候,其實並不理解掛載是什麼操作),這會兒正好有機會應用一下。操作記錄如下:
1. sudo mount
Linux上用來掛載媒體的命令叫做mount。默認情況下,mount命令會輸出當前系統上掛載的設備列表。(文字來源:Linux命令行與Shell腳本編程大全 第3版)。
輸出內容如上圖所示。
mount命令提供如下四部分信息:
- 媒體的設備文件名
- 媒體掛載到虛擬目錄的掛載點
- 文件系統類型
- 一掛載媒體的訪問狀態
從輸出的信息中,我們可以看到,該硬盤被掛載後的訪問狀態爲只讀。
所以我們需要把它的訪問狀態改爲可寫,操作方式如下:
第一步:使用命令umount將該設備從系統中移除。
從Linux系統上移除一個可移動設備時,不能直接從系統上移除,而應該先卸載。
卸載設別的命令是umount,umount命令支持通過設備文件或是掛載點來指定要卸載的設備。如果有任何程序正在使用設備上的文件,系統就不會允許你卸載它。
Linux上不能直接彈出已掛載的CD。如果你在從光驅中移除CD時遇到麻煩,通常是因爲該CD還掛載在虛擬目錄裏。先卸載它,然後再去嘗試彈出。
文字來源:《Linux命令行與Shell腳本編程大全 第3版》
當我們在該設備從系統中移除後,再次使用mount命令查看時,可以看到該設備已經不存在系統中了。
第二步:使用mount命令手動掛載該設備。
mount命令掛載媒體設備的基本命令:
mount -t type device directory
- type 指定了磁盤被格式化的文件系統類型(Linux可以識別非常多的文件系統類型)
- device 定義了咖存儲設備的設備文件的位置;
- directory 定義了掛載點在虛擬目錄中的位置。
常用的文件系統類型:
- vfat:Windows長文件系統;
- ntfs:Windows NT、XP、Vista以及Windows 7中廣泛使用的高級文件系統;
- iso9660:標準CD-ROM文件系統。
大多數U盤和軟盤會被格式化成vfat文件系統,而數據CD則必須使用iso9660文件系統類型。
媒體設備掛載到了虛擬目錄後,用戶就有了對該設備的所有訪問權限。
mount命令的參數:
-o:給文件系統添加特定的選項,該參數允許在掛載文件系統時添加一些以逗號分割的額外選項,以下爲常用選項:
- ro:以只讀形式掛載;
- rw:以讀寫形式掛載;
- user:允許普通用戶掛載文件系統;
- check=none:掛載文件系統時不進行完整性校驗;
- loop:掛載一個文件。
-a:掛載/etc/fstab文件中指定的所有文件系統;
-f:使mount命令模擬掛載設備,但並不真正掛載;
-F:和-a參數一起使用時,會同時掛載所有文件系統;
-v:詳細模式,將會說明掛載設備的每一步;
-I:不啓用任何/sbin/mount.filesystem下的文件系統幫助文件
... (還有一些參數,就不一一列舉了,以後用到的時候我再補充。)
第三步:你就可以任意在本機與移動硬盤之間讀寫文件了。