终端中的符号链接(我在做什么错?)

jsejcksn

我想为文件夹中的所有文件创建符号链接parent/target/我希望链接位于该文件夹中parent/destination/我的工作目录是parent/使用以下终端输出的bash

$ cd target/
$ ll
total 16
drwxr-xr-x 4 jesse staff 136 Feb 23 16:31 ./
drwxr-xr-x@ 10 jesse staff 340 Feb 23 16:38 ../
-rw-r--r-- 1 jesse staff 10 Feb 23 16:23 file.txt
-rw-r--r-- 1 jesse staff 10 Feb 23 16:23 file2.txt
$ ln -s * ../destination/
$ ll ../destination/
total 16
drwxr-xr-x 4 jesse staff 136 Feb 23 16:38 ./
drwxr-xr-x@ 10 jesse staff 340 Feb 23 16:38 ../
lrwxr-xr-x 1 jesse staff 8 Feb 23 16:38 file.txt@ -> file.txt
lrwxr-xr-x 1 jesse staff 9 Feb 23 16:38 file2.txt@ -> file2.txt

为什么要创建链接到自身的符号链接?我已经阅读了ln手册页以及其他各种与lnSE相关的问题,但是我想我只是缺少了一些东西。

(我在OS X 10.11.3的终端中使用bash)

美国空军

您需要在源中指定一个绝对路径:在您的情况下,它将是:

ln -s $PWD/* ../destination/

与硬链接不同,在硬链接中创建的目录条目直接引用相同的源文件,而符号链接则包含原始文件引用的文本。确实,创建符号链接时源文件不必存在,尽管显然您的使用*可确保仅使用现有的源文件。

实际上,这要复杂得多:如果在链接中指定了绝对路径,则引用链接的行为就好像您已指定原始文件一样;但是如果您指定相对路径,则会将其添加到链接所在的目录中。因此,您可以从target目录中使用的替代方法是:

cd ../destination/; ln -s ../target/* .

这将与绝对路径具有相同的效果,但有一个区别:如果将整个目录树复制或移动到另一个位置(例如,其他用户目录中的某个位置),则链接将引用文件在其新位置中。因此,绝对链接或相对链接的选择取决于您是否希望将源文件与链接一起复制或移动:如果源文件将始终保留在同一位置,请使用绝对链接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在此SendInput代码段中我在做什么错?

来自分类Dev

R中的快速傅立叶变换。我在做什么错?

来自分类Dev

查询中的GROUP BY-我在做什么错呢?

来自分类Dev

在以下WebGL代码中我在做什么错?

来自分类Dev

在递归函数中挣扎,我在做什么错

来自分类Dev

在此C ++代码中我在做什么错?

来自分类Dev

CSS文件中的图像引用-我在做什么错?

来自分类Dev

Oracle中的慢速更新查询-我在做什么错?

来自分类Dev

Gruntjs目标我在做什么错?

来自分类Dev

重量我在做什么错?

来自分类Dev

SQL Pivot(我在做什么错)

来自分类Dev

.htaccess我在做什么错?

来自分类Dev

Firestore-我在做什么错?

来自分类Dev

Perlin的声音-我在做什么错?

来自分类Dev

Gruntjs目标我在做什么错?

来自分类Dev

QWinTaskbarProgress我在做什么错?

来自分类Dev

TFS权限-我在做什么错?

来自分类Dev

Sed我在做什么错

来自分类Dev

grep我在做什么错?

来自分类Dev

打印余额,我在做什么错?

来自分类Dev

jQuery附加-我在做什么错?

来自分类Dev

XML模式-我在做什么错?

来自分类Dev

JavaScript-我在做什么错?

来自分类Dev

CSS标头导航UL / LI链接...我在做什么错?

来自分类Dev

将样式表链接到html-我在做什么错?

来自分类Dev

反转此链接列表的一部分时,我在做什么错?

来自分类Dev

我的matplotlib ArtistAnimation我在做什么错?

来自分类Dev

JAVA我在做什么错,我要线

来自分类Dev

我不知道我在做什么错