zoukankan      html  css  js  c++  java
  • Mac 系统如何利用软链接在根目录创建文件夹?

    作者:泥瓦匠 出处:https://www.bysocket.com/2021-10-26/mac-create-files-from-the-root-directory.html

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

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

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

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

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

    • macOS@Catalina 版本
    • macOS@Big Sur 版本

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

    第一步:关闭电脑然后重启,重启时长按 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 版本的创建文件夹方法

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

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

    sudo vi /etc/synthetic.conf
    

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

    home    /Users/XXX/home
    

    注意:

    • 提前创建被映射的文件夹
    • 中间是 Tab,不是空格

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

    四、小结

    几个点可以总结出来:

    • 尽量不要再 mac 根目录操作一些命令,比如 chmod 等
    • SIP 打开后,及时关闭
    • mac 支持文件软链接形式
  • 相关阅读:
    Java设计模式
    一个接口多个实现类的Spring注入方式
    Mybatis 中的<![CDATA[ ]]>浅析
    方法内调另一个方法(事务)的探讨
    insertSql语句中的trim标签的使用
    Mybatis-plus的两种分页插件的配置方式
    Mybatis-plus的使用
    spring的IOC,DI及案例详解
    MySQL多表关联数据同时删除
    @Validated和@Valid区别
  • 原文地址:https://www.cnblogs.com/Alandre/p/15474716.html
Copyright © 2011-2022 走看看