建立Mac内存盘

因为某些需求,需要创建一个内存盘。Mac是基于Unix内核的,可以不借助其他软件,使用命令行即可创建内存盘。

在用户文件夹中创建一个“ramdisk”文件夹。这个文件夹可以自己随意定。在该文件夹中创建文件login.sh,文件内代码如下。注意修改备份路径中的“你的用户名”

#!/bin/sh
#磁盘名称
DISK_NAME=RamDisk
#磁盘路径
MOUNT_PATH=/Volumes/$DISK_NAME
#备份路径
BAK_PATH=/Users/你的用户名/ramdisk/$DISK_NAME.tar.gz
#磁盘大小,单位GB
DISK_SPACE=4
if [ ! -e $MOUNT_PATH ] ; then
    echo "创建磁盘"
    diskutil erasevolume HFS+ $DISK_NAME `hdiutil attach -nomount ram://$(($DISK_SPACE*1024*1024*2))`
fi

if [ -s $BAK_PATH ]; then
    echo "从备份进行恢复"
    tar -zxf $BAK_PATH -C $MOUNT_PATH
fi

同样的方法再创建一个logout.sh,文件内代码如下。注意修改备份路径中的“你的用户名”

#!/bin/sh
#磁盘名称
DISK_NAME=RamDisk
#磁盘路径
MOUNT_PATH=/Volumes/$DISK_NAME
#备份路径
BAK_PATH=/Users/oleg/ramdisk/$DISK_NAME.tar.gz

if [ -e $MOUNT_PATH ]; then 
    echo "开始备份磁盘内容"
    cd $MOUNT_PATH
    tar --exclude ".Trashes" -czf $BAK_PATH .
fi

打开terminal.app,输入如下代码(需要输入密码)

chmod +x /Users/你的名字/ramdisik/logout.sh
chmod +x /Users/你的名字/ramdisik/login.sh
sudo defaults write com.apple.loginwindow LoginHook /Users/你的名字/ramdisik/logout.sh
sudo defaults write com.apple.loginwindow LogoutHook /Users/你的名字/ramdisik/logout.sh

变量

代码中用到的变量有磁盘名称,磁盘路径,备份路径。磁盘备份文件和脚本文件放在用户目录中的ramdisk文件夹。如果修改位置的话注意同时修改BAK_PATH变量和terminal.app输入的代码中,最后的那段路径

代码逻辑:

开启执行login.sh,创建内存盘,并读取上一次的备份;关机执行logout.sh,将现在内存盘的文件(不包括回收站)备份

注:

本文面对非专业人员。如果你懂这些的话,复制代码了自己玩就好

参考文章

Customizing Login and Logout

【无所不能的脚本】mac下的ramdisk

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (一)基本命令 命令格式: 命令 参数 1.ls 显示文件名,等同于dos下dir命令 命令格式:ls [opti...
    飞羽孟德阅读 6,038评论 0 3
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,999评论 0 9
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 10,023评论 0 16
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,465评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,322评论 0 10

友情链接更多精彩内容