创建与目标文件同名的软链接

7
ln -s /dir1/file1   /dir2/file1

我想在目标文件夹dir1中创建与dir2中源文件同名的软链接。如何在不在目标路径中重复键入file1名称的情况下完成此操作?

2个回答

8

如果你需要创建多个符号链接,每次都要输入名称会让人非常沮丧。以下是我在Linux中避免重新输入名称的方法。

这是我的示例文件结构:

source/
 - file1.txt
 - file2.js
 - file3.js
target/

创建指向单个文件的符号链接

~$ ln -sr 源文件路径/文件名 目标文件夹路径/

结果:

source/
 - file1.txt
 - file2.js
 - file3.js
target/
 - file2.js

创建指向 source 目录下所有匹配扩展名的文件的符号链接

~$ ln -sr source/*.js target/

结果:

source/
 - file1.txt
 - file2.js
 - file3.js
target/
 - file2.js
 - file3.js

创建指向source中所有文件的符号链接

~$ ln -sr source/* target/

结果:

source/
 - file1.txt
 - file2.js
 - file3.js
target/
 - file1.txt
 - file2.js
 - file3.js




相对路径

请注意r选项。如果不包括-r,则链接源必须相对于链接位置输入。

  • ~$ ln -s ../source/file1.txt target/ 可行
  • ~/target$ ln -s ../source/file1.txt . 可行
  • ~$ ln -s source/file1.txt target/ 不可行

另请参见:

如何在目录中创建所有文件(文件类)的符号链接?

Linux man 手册


5
你可以使用仅包含 ln 的选项来完成这个任务:
ln -s -t /dir1 /dir2/file1

1
所以我认为我也可以这样做,对吧 ls -s -t /d1 /d2/* 非常感谢。 - user1874594
2
我最终使用了这个命令 cp -rs /dir/<搜索模式> /dest1 - user1874594

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接