如何在终端中不同目录中创建指向目录中所有文件的软链接?

如何在终端中不同目录中创建指向目录中所有文件的软链接?

在目标目录中执行ln -fs ./source/*不起作用

表明:

./source/file1 is not a directory

答案1

man ln

概要

   ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
   ln [OPTION]... TARGET                  (2nd form)
   ln [OPTION]... TARGET... DIRECTORY     (3rd form)
   ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

描述

在第一种形式中,创建指向 TARGET 的链接,名称为 LINK_NAME。在第二种形式中,创建指向当前目录中的 TARGET 的链接。在第三种和第四种形式中,创建指向 DIRECTORY 中每个 TARGET 的链接。默认创建硬链接,使用 --symbolic 创建符号链接。

仔细阅读,你会发现(假设源文件夹包含多个文件)你使用了第三种形式。由于你没有指定目录,因此最后一个文件名被解释为目录。

如果您在想要创建符号链接的目录中,您只需.在命令末尾添加(当前目录):

ln -fs ./source/* .

答案2

我想要/需要做点什么,而@danzel 给出了最好的答案。这就是我所需要的:在 WordPress 的插件文件夹中创建一个符号,指向 WordPress 安装根目录中的另一个文件夹。

  1. 导航到文件夹
  2. 确保我在正确的文件夹中
  3. 列出文件夹中的所有项目
  4. 创建符号链接

命令如下:

$ cd wp-content/plugins
$ pwd
$ ls -al
$ ln -s ../../my-folder-with-subfolders/subfolder-name/* .
$ ln -s ../../my-folder-with-subfolders/another-subfolder/* .

相关内容