前言
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 的小工具
项目地址:github.com/d-band/disk…
主要技术点:
- 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复制代码