没啥玩的了:创建Ramdisk用于存储临时文件(抄来的呵呵)
现在配一台式机经常内存搞到128G,弄出一点来做个Ramdisk,将临时文件放在这里。先上代码:# Set Ramdisk size, unit (MB)
SIZE=2048
# Disk name
DISKNAME=Ramdisk
# Get home folder path
HOME_DIR=$(cd ~;pwd)
# List of folders to be transferred to Ramdisk
declare -a PATH_LIST=("Library/Caches/Google" "Library/Caches/Homebrew")
# List of empty folders to create
declare -a EMPTY_PATH_LIST=("LaTeXTEMP" "Screenshot" "TEMP")
# Create a Ramdisk when it does not exist
if [[ ! -d /Volumes/${DISKNAME} ]]; then
DISK_ID=`hdiutil attach -nomount ram://$(( ${SIZE} * 1024 * 1024 / 512 ))`
diskutil partitionDisk $DISK_ID GPT APFS "${DISKNAME}" 0
fi
# Write the process of transferring folders as a function
create_symbolic_link(){
if [[ ! -d /Volumes/${DISKNAME}/${HOME_DIR}/${LINK_PATH} ]]; then
mkdir -p "/Volumes/${DISKNAME}/${HOME_DIR}/${LINK_PATH}"
fi
if [[ -d ${HOME_DIR}/${LINK_PATH} ]] && [[ ! -h ${HOME_DIR}/${LINK_PATH} ]];then
rm -rf "${HOME_DIR}/${LINK_PATH}"
fi
if [[ ! -h ${HOME_DIR}/${LINK_PATH} ]];then
ln -s "/Volumes/${DISKNAME}/${HOME_DIR}/${LINK_PATH}" "${HOME_DIR}/${LINK_PATH}"
fi
}
# Write the process of creating an empty folder as a function
create_empty_folder(){
if [[ ! -d /Volumes/${DISKNAME}/${EMPTY_FOLDER} ]]; then
mkdir -p "/Volumes/${DISKNAME}/${EMPTY_FOLDER}"
fi
}
# Move to Ramdisk disk
cd /Volumes/${DISKNAME}
# Move folders according to list contents
for LINK_PATH in "${PATH_LIST[@]}";
do
create_symbolic_link ${LINK_PATH}
done
# Create an empty folder based on the list content
for EMPTY_FOLDER in "${EMPTY_PATH_LIST[@]}";
do
create_empty_folder ${EMPTY_FOLDER}
done
上面代码将Chrome和Homebrew的Cache转移到Ramdisk。将代码存为createRamdisk.sh,建立一个文件夹/usr/local/ramdisk,将它扔到这里。
sudo mkdir /usr/local/ramdisk
sudo mv ~/Desktop/createRamdisk.sh /usr/local/ramdisk登陆时启动,创建一个local.ramdisk.plist文件
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.ramdisk</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/ramdisk/createRamdisk.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
设置权限和登陆启动
cp ~/Desktop/local.ramdisk.plist ~/Library/LauchAgents用sublime text 写文档,空文件夹LaTexTEMP用于存储编译时的临时文件,在LaTeXTools中设置
"output_directory": "/Volumes/Ramdisk/LaTeXTEMP",
这样用sync软件不需要同步没用的中间文件。
谢谢分享!楼主能不能加一此操作步骤的图片进来?因为我看到【登陆时启动,创建一个local.ramdisk.plist文件
】这里时就不知道怎么处理下面的代码了...... 虽然我没那么大内存,不过收藏一下还是值得的,说不定就能用上呢{:9_364:} 请问楼主的代码建成的Ramdisk有多大?比如我想建一个8GB大小的Ramdisk,请问怎么修改代码?谢谢 目测代码第二行,2048mb=2g 学习了,谢谢楼主提供 感谢分享!!!
小手一抖,积分到手 应该是 ~/Library/LaunchAgents 吧 本帖最后由 superxgz 于 2023-10-26 15:55 编辑
哦, 没问题
页:
[1]