读写NTFS不求人:自制原生挂载小程序

转自:http://bbs.feng.com/forum.php?mod=viewthread&tid=10999057&page=1&authorid=11765542

一直寻求在MAC上能够对NTFS格式移动硬盘进行读写操作,一般用paragon *ntfs *for mac 或者 tuxera ntfs for mac,但是需要100+大洋,而且只能一机一码,不划算(吊丝心态 哈哈哈)。最近在威锋上看到有大神自己写了个shell脚本,能够实现NTFS格式移动硬盘进行读写操作,亲测可用,转帖分享下。

#!/bin/bash
dev=`df|tail -1`
volume=`echo ${dev##*%   }|sed 's/\ /\\\ /g'`
dev=${dev%% *}
diskutil info $dev|grep NTFS>/dev/null
if [ $? -ne 0 ] ; then
        echo "最近挂载的磁盘:$volume 不是 NTFS 磁盘! 按 Return 键退出"
        read
else
        diskutil umount $volume>/dev/null
        echo "请输入用户 ${USER} 的密码"
        sudo mkdir $volume
        sudo mount -t ntfs -o rw,auto,nobrowse $dev $volume>/dev/null 2>&1
        if [ $? -ne 0 ] ; then
                #ref:http://apple.stackexchange.com/a/170011
                echo "磁盘需要在Windows上经过检查、修复才能挂载为可写!"
                echo "按 Return 键退出"
                sudo umount $volume>/dev/null 2>&1
                sudo rm -r $volume
                read
                exit
        fi
        open $volume
        echo "按 Return 键卸载 $volume"
        read
        until sudo umount $volume
        do
                echo "请先关掉正在占用 $volume 的程序,然后按 Return 键卸载 $volume"
                read
        done
fi
exit

将上面的代码存到一个文本文件中,给文件起个名,比如:ntfs.sh。然后将 ntfs.sh 保存到spotlight能够搜到的地方,比如“应用程序”文件夹。然后打开“终端”应用,执行如下命令:

chmod +x /Applications/ntfs.sh  #给“应用程序/ntfs.sh"加可执行权限

用法:每次新插入ntfs磁盘、u盘时,在spotlight中搜索文件名 ntfs.sh,选中 ntfs.sh 回车运行。
原理:判断最新插入的存储设备是否ntfs分区格式,若是则调用mac原生ntfs驱动,挂载成可写分区。
注意:
1.磁盘名称不能有空格!

** 2.若提示:**磁盘需要在Windows上经过检查、修复才能挂载为可写!是因为磁盘经受过强制拔出,导致文件系统变脏,不能挂载为可写。解决办法:直接拔下磁盘,找个Windows电脑或虚拟机,使用Windows自带的磁盘工具检查并修复磁盘。

个人使用情况:
本人没有将这个脚本加入到“应用程序”,而是直接执行sh命令

cd  xxxx #ntfs.sh文件存放目录
#执行下面命令:
sh ntfs.sh 

如果用上面的脚本复制视频后,有时会出现:项目“XXX”已被 OS X 使用,不能打开——解决办法 的情况 的弹出框
解决办法:
http://blog.sina.com.cn/s/blog_a438e5290102w3ow.html

你可能感兴趣的:(读写NTFS不求人:自制原生挂载小程序)