前言
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附个图
