从 /tmp 创建符号链接

从 /tmp 创建符号链接

创建符号链接时我做错了什么/tmp

$ sudo mkdir /mnt/tmp/
$ ln -s /mnt/tmp/ /tmp/
$ ls -alh /tmp
total 12K
drwxrwxrwt  3 root   root   4.0K Sep 28 05:29 .
drwxr-xr-x 23 root   root   4.0K Aug 26 05:44 ..
lrwxrwxrwx  1 ubuntu ubuntu    9 Sep 28 04:53 tmp -> /mnt/tmp/
drwx------  6 ubuntu ubuntu 4.0K Sep 28 04:54 tmpDcI8v2

答案1

一切顺利。您使用了ln第三种语法形式

您命令创建符号链接并将/mnt/tmp其放置在 中/tmp

由于/tmp是现有目录,系统将创建与目标同名的链接,即tmp在该目录内。

您最终会得到一个/tmp/tmp指向的符号链接,/mnt/tmp这就是您在目录列表中看到的内容。


有两件事可能会让您感到困惑:

  • 参数的顺序ln是:首先是目标,然后是链接名称
  • 如果你提供一个现有目录而不是链接名称,ln将在该目录内创建一个链接

答案2

假设机器上没有运行任何关键程序。我们可以按照以下步骤创建符号链接

首先创建备份:sudo mkdir /tmp_bak && sudo rsync -avz /tmp/ /tmp_bak

  1. mkdir $largedrive$/tmp
  2. 光盘 /
  3. sudo rsync -avz /tmp/$largedrive$/tmp && sudo rm -rf /tmp/ && sudo ln -s $largedrive$/tmp

其中 $largedrive$ 是可用空间较多的文件夹路径。

相关内容