【问题标题】:How to make original file not delete when using symbolic link linux使用符号链接linux时如何使原始文件不被删除
【发布时间】:2020-07-18 03:42:15
【问题描述】:

我想问当我删除文件夹符号链接目标中的文件时,是否有可能使该文件在原始文件中仍然可用? 我使用ls -n /folder /target,但是当我删除/target中的文件时,原始文件夹中的文件也被删除了。

【问题讨论】:

    标签: linux file directory symlink


    【解决方案1】:

    使用rm 删除符号链接

    rm symlink_name
    

    使用unlink 删除符号链接

    unlink symlink_name
    

    Unlink 命令和不带-R 选项的rm 命令不会删除常规目录。这两个命令从目录中删除符号链接,因为它被视为一个文件,因此,当使用 rm 或 unlink 命令从目录中删除符号链接时,请确保不要以 / 字符结束目标,因为这将创建一个错误

    请在documentation、手册页等中阅读更多内容。

    【讨论】:

    • 对不起,我的意思不是那样。当我删除符号链接文件夹中的文件时,我希望该文件在原始文件夹中仍然可用。我该怎么办?
    • 您可以将其用于文件夹。例如unlink 肯定不会删除任何文件。它只是取消符号链接(除非你强制它)。请参阅答案中的更新。
    【解决方案2】:

    据我了解的问题 - 您应该删除指向目录的符号链接,但将目录中的每个文件的符号链接指向目标目录。因此,您将拥有两个普通目录和大量文件符号链接。

    只有这样你才能删除目标目录中的一个特定文件,并且仍然保留在原始目录中

    如果你想让它以两种方式工作 - 删除原始目录中的文件并将其保留在目标中 - 为每个文件创建非符号链接但使用 ln 进行硬链接。

    【讨论】:

      猜你喜欢
      • 2010-11-11
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 2020-10-19
      • 1970-01-01
      相关资源
      最近更新 更多