在 home 中创建目录的符号链接

Creating a symlink of directory inside home

我有以下 /home 目录:

/home/user

/home/files

我正在尝试在 user 中创建 files 的符号 link,但命令 ln -s files user/files 导致损坏 link。同样使用图形界面,打开主目录中任何目录的上下文菜单显示 Make Link 选项已禁用。

linux不支持这样的link吗?

您的 ln -s files user/files 将创建一个 link 到 files 相对于当前位置 。因此,如果您当前处于 /home/user,它将创建一个 link 到 /home/user/files

此外,您的第二个参数说您希望 link 文件名是 user/files,这是没有意义的。 (虽然理论上可以使用破折号的文件名,但它们很难处理。而且这也不是你想要的。)

ln 命令的(相关变体)概要是:

ln -s TARGET LINK_NAME

所以,你想要的是:

ln -s /home/files /home/user/files

这将创建一个绝对 link。如果您目前在 /home/user,您还可以

cd /home/user
ln -s /home/files files

这也会创建一个绝对 link,但您可以省略 link 位置的绝对路径,因为您已经在同一目录中。

您还可以创建一个亲戚 link。

cd /home/user
ln -s ../files files

相对 link 在您计划随意使用目录结构时很有意义。例如,在部署软件项目时通常使用相对 link。