Mac 系统如何利用软链接在根目录创建文件夹?

摘要:
不同的macOS版本处理方式不同,下面我们展开讲一下一、为什么要在Mac根目录创建文件夹有些场景程序需要访问根目录的特定文件夹,所以需要在macOS根目录创建文件夹。比如SpringBoot工程在Mac操作系统本地运行时,公司会默指定/home/data/log类似的目录,来存储工程运行的日志。可以通过csrutilstatus查看其SIP状态。

Mac 操作系统挺适合开发者进行写代码,最近碰到了一个问题,问题是如何在 macOS 根目录创建文件夹。不同的 macOS 版本处理方式不同,下面我们展开讲一下

一、为什么要在 Mac 根目录创建文件夹

有些场景程序需要访问根目录的特定文件夹,所以需要在 macOS 根目录创建文件夹。

比如 Spring Boot 工程在 Mac 操作系统本地运行时,公司会默指定 /home/data/log 类似的目录,来存储工程运行的日志。

Mac 系统如何利用软链接在根目录创建文件夹?第1张

那怎么如何在 macOS 根目录创建文件夹,下面分不同的 macOS 版本来解决:

macOS@Catalina 版本

macOS@Big Sur 版本

二、macOS@Catalina 版本的创建文件夹方法

Mac 系统如何利用软链接在根目录创建文件夹?第2张

第一步:关闭电脑然后重启,重启时长按 command + R 键,启动内建的 macOS 恢复系统

第二步:从菜单栏找到终端工具,运行下面命令,然后重启:

csrutil disable

这个命令目的是关闭 SIP,SIP 全称为「System Integrity Protection」即「系统完整性保护」。可以通过 csrutil status 查看其 SIP 状态。

第三步:重启完后,先重新挂载根目录,打开终端工具运行下面命令即可:

sudo mount -uw /

第四步:创建对应的 /Users/XXX/home/data/log 文件夹,然后将对应的文件目录软链接到根目录。运行下面命令即可:

sudo ln -s /Users/XXX/home /home

注意:需要用软链接来解决,是因为在根目录直接创建文件夹的话,一旦重启电脑,之前创建的目录又是只读权限了。

最后,重新重启 command + R 键,启动内建的 macOS 恢复系统,重新打开 SIP:

csrutil enable

三、macOS@Big Sur 版本的创建文件夹方法

Mac 系统如何利用软链接在根目录创建文件夹?第3张

第一步:启动内建的 macOS 恢复系统,关闭 SIP

第二步:运行下面命令,修改 synthetic.conf 文件

sudo vi /etc/synthetic.conf

第三步:编辑该文件,输入下面内容,将对应的文件夹映射到根目录

home /Users/XXX/home

注意:

提前创建被映射的文件夹

中间是 Tab,不是空格

最后重启系统后,系统根目录就会出现了对应的文件夹,实现方式也是一个软链接的形式

四、小结

几个点可以总结出来:

尽量不要再 mac 根目录操作一些命令,比如 chmod 等

SIP 打开后,及时关闭

mac 支持文件软链接形式


免责声明:文章转载自《Mac 系统如何利用软链接在根目录创建文件夹?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RocketMQ消费者实践手把手教你打造一个纯CSS图标库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mac下更新node版本和用yarn安装依赖

Mac更新node版本 sudo npm cache clean -fsudo npm install -g nsudo n stable n 显示已安装的Node版本n latest 安装最新版本Noden stable 安装最新稳定版Noden lts 安装最新长期维护版(lts)Noden <version> 根据提供的版本号安装Node...

Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)

一、前言 看网上很多资料,大多数都是 mac安装php,只需要: brew tap homebrew/php brew install phpXX 安装php扩展只需要: brew install phpXX-phpExtension 但是执行上面两条命令的时候都会抛出error: homebrew/dupes was deprecated. This...

Mac之brew使用

  brew : 终端程序管理工具 能让你更快速的安装你想要的工具。而不用考虑大量的依赖。 安装命令 给官网的一样也可以自己去官网查看   它就类似于centos下的yum 和 Ubuntu下的apt-get 可以轻松的管理你所需要的软件,而不用过多的关注依赖内容 安装: /usr/bin/ruby -e "$(curl -fsSL https://raw...

wireshark混杂模式

来自:https://blog.csdn.net/mukami0621/article/details/78645825 通过设置网卡为混杂模式就能捕获局域网内所有发包内容,包括非广播包和非发给自己主机的数据包 这是为什么呢?即主机A发送一个数据包给主机B,我作为主机C怎么也能截获这个数据包呢,原理是什么?我的网卡为什么设置成混杂模式就能捕获发给别人的包?...

Mac下终端工具iTerm2安装

一、iTerm2简介: Mac OS自带的终端,用起来虽然有些不太方便,界面也不够友好,iTerm2是一款相对比较好用的终端工具.iTerm2常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等. 先来看效果图: 屏幕快照 2019-02-01 下午3.48.32.png 二、下载及安装 补充一些关于shell的介绍:Ma...

js获取mac地址(续)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><...