前言
NTFS 全稱是 New Technology File System,是微軟隨 Windows NT 系統開發的檔案系統,由於版權的問題 macOS 沒有開放對 NTFS 的寫許可權。但是可以通過重新掛載開啟寫許可權,方法如下:
列出所有的外接儲存裝置
$ diskutil list external /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.9 GB disk2 1: Windows_NTFS DBand 15.9 GB disk2s1複製程式碼
解掛載然後重新掛載
# 解掛載 $ sudo diskutil umount /dev/disk2s1 # 重新掛載 $ sudo mount -o rw,auto,nobrowse -t ntfs /dev/disk2s1 /Volumes/DBand # 開啟 $ open /Volumes/DBand複製程式碼
寫個小工具
雖然上述方法比較簡單但是對於普通人操作起來還是比較麻煩的,而且每次都要輸命令也比較麻煩。因此打算寫個視覺化的小工具。
第一步:列出所有的外接儲存裝置
通過 diskutil
可以檢視儲存裝置的基本資訊,我們簡單的把他封裝了下,專案地址:github.com/d-band/ls-u…
const getMediaList = require('ls-usb');
getMediaList()
.then(data => {
console.log(JSON.stringify(data, null, ' '));
});
/*[{
"udid": "disk2",
"name": "UDisk",
"type": "Generic",
"node": "/dev/disk2",
"size": "15.9 GB",
"size_bytes": 4026531840,
"volumes": [{
"udid": "disk2s1",
"mount": "/Volumes/DBand",
"size": "15.9 GB",
"size_bytes": 15938355200,
"name": "DBand",
"node": "/dev/disk2s1",
"fs_type": "ntfs",
"fs_name": "NTFS",
"free": "15.9 GB",
"free_bytes": 15938355200,
"writable": false
}]
}]*/複製程式碼
第二步:寫個基於 Electron 的小工具
主要技術點:
- Electron:跨平臺桌面應用開發工具
- dool:基於 Webpack 的打包工具
- React:構建使用者介面的 JavaScript 庫
- yax:基於 Redux 的狀態容器
- sudo-prompt:圖形化的 sudo 提示框
# 全域性安裝 dool
$ npm i dool -g
# 安裝專案依賴
$ npm i
# 執行 dool 編譯 electron-renderer 相關檔案
$ npm run dev
# 再開啟一個 Tab 啟動 electron
$ npm run start複製程式碼