在OS X中创建RamDisk

今天浏览hdiutil的man页面时,偶然发现这样一段话,


Creating a RAM-backed device and filesystem:

NUMSECTORS=128000 # a sector is 512 bytes
mydev=`hdiutil attach -nomount ram://\$NUMSECTORS`
newfs_hfs \$mydev
mkdir /tmp/mymount
mount -t hfs \$mydev /tmp/mymount

那么,我们可以直接通过执行

diskutil erasevolume HFS+ RamDisk `hdiutil attach -nomount ram://$NUMSECTORS`

来创建并挂载一个RamDisk。

当然,还可以利用它来隐藏一个文件夹。

比如,将一个设备挂载到/var/directory/, 如果这里原本就是有一个装有内容的文件夹的话,原本的文件夹将会被暂时“隐藏”。

如图

屏幕快照 2015-03-25 下午2.27.56

于是可我们可以利用这一点来快速隐藏一个文件夹,

hide () {
    mydev=`hdiutil attach -nomount ram://1024`;
    newfs_hfs $mydev;
    mount -t hfs $mydev $1;
    echo $mydev > $1/.ramdisk;
}
 
show() {
    umount `cat $1/.ramdisk`; 
}

之后调用hide /PATH/TO/THE/DIRECTORY/即可隐藏。要取消隐藏就show /PATH/TO/THE/DIRECTORY/

Leave a Reply

Your email address will not be published. Required fields are marked *

10 − nine =