Questions tagged «symlink»

一种特殊类型的文件,它引用不存在或现有的文件或目录。符号链接的内容由任意字符串组成,该字符串是符号链接指向的文件的路径。在路径名解析期间遇到符号链接时,文件存储的字符串用于修改路径名解析。

1
ls -l和ls -lL
我知道这看起来像重复的,但先前提出的问题无法回答我的问题 所以在外壳程序中,我转到/home目录并在其中创建目录play 然后我转到此目录/home/play,并创建两个文件,第一个是文本文件,第二个是指向终端的符号链接tty 现在,如果我使用,ls -l我得到以下输出 在那里,如果我把ls -lL我得到这个 这种差异应该意味着什么?问号代表什么?

1
ln代表什么?
在Linux中,您可以使用该ln命令进行链接。 $ touch foo $ ln -s foo foo_link $ ls -l lrwxrwxrwx 1 cklein cklein 3 May 29 16:11 foo_link -> foo 我假设“ l” ln代表“链接”,但是“ n”代表什么? 代表什么ln?
17 symlink  ln 

2
/ dev / fd与/ proc / self / fd /有何关系?
$ ls -l /dev/stdin /dev/fd/0 lrwx------ 1 tim tim 64 2011-08-07 09:53 /dev/fd/0 -> /dev/pts/2 lrwxrwxrwx 1 root root 15 2011-08-06 08:14 /dev/stdin -> /proc/self/fd/0 $ ls -l /dev/pts/2 /proc/self/fd/0 crw--w---- 1 tim tty 136, 2 2011-08-07 09:54 /dev/pts/2 lrwx------ 1 tim tim 64 2011-08-07 09:54 /proc/self/fd/0 -> /dev/pts/2 / …

8
ls目录的内容忽略符号链接
我有一个目录,我想在其中列出所有内容(文件和子目录)而不显示符号链接。我在Linux上使用GNU实用程序。该ls版本是8.13。 例: 完整目录清单: ~/test$ ls -Gg total 12 drwxrwxr-x 2 4096 Jul 9 10:29 dir1 drwxrwxr-x 2 4096 Jul 9 10:29 dir2 drwxrwxr-x 2 4096 Jul 9 10:29 dir3 -rw-rw-r-- 1 0 Jul 9 10:29 file1 -rw-rw-r-- 1 0 Jul 9 10:29 file2 lrwxrwxrwx 1 5 Jul 9 10:29 link1 …
17 ls  symlink  recursive 

3
替换链接到目录目标的符号链接
我想将Tomcat服务器从7.0.19升级到7.0.20。 我之前已经有ln -s apache-tomcat-7.0.19 tomcat7过,所以现在我需要使用以下命令链接 tomcat7到新目标ln -s --force apache-tomcat-7.0.21 tomcat7,但是它并没有达到我的预期效果:它创建了一个符号链接,tomcat7/apache-tomcat-7.0.21而不是tomcat7用新目标替换现有的符号链接。 例 # mkdir v1 v2 # ln -s v1 v # ln -s v2 v # ll v* lrwxrwxrwx. 1 root root 2 Sep 5 16:02 v -> v1 v1: total 0 lrwxrwxrwx. 1 root root 2 Sep 5 16:02 …

5
是否有一种算法可以确定符号链接是否循环?
如果Unix系统遇到包含符号链接循环或符号链接太多的路径,通常会出错,因为它们对一次路径查找中要遍历的符号链接的数量有限制。但是,有没有一种方法可以真正确定给定的路径是否解析为某种路径或是否包含循环,即使该路径包含的链接数量超出了unix愿意遵循的范围?还是这是一个无法确定的正式问题?如果可以决定,是否可以在合理的时间/内存范围内决定(例如,无需访问文件系统上的所有文件)? 一些例子: a/b/c/d where a/b is a symlink to ../e and e is a symlink to f and f is a symlink to a/b a/b/c/d where a/b/c is a symlink to ../c a/b/c/d where a/b/c is a symlink to ../c/d a/b/c/d where a/b/c is a symlink to /a/b/e where a/b/e …

2
我可以使用什么幂等命令来建立指向目录的符号链接?
我想将命令放入外壳脚本中,该脚本将创建指向目录的符号链接,但是此脚本可以反复运行,因此在后续调用中,该命令不应更改任何内容。 这是目录结构: % tree /tmp/test_symlink /tmp/test_symlink ├── foo └── repo └── resources └── snippets ├── php.snippets ├── sh.snippets ├── snippets.snippets ├── sql.snippets └── vim.snippets 我想在foo/称为目录的片段中创建一个符号链接/tmp/test_symlink/repo/resources/snippets。 所以我跑: % ln -sfv /tmp/test_symlink/repo/resources/snippets /tmp/test_symlink/foo/snippets '/tmp/test_symlink/foo/snippets' -> '/tmp/test_symlink/repo/resources/snippets' 这给出了预期的结果。 % tree /tmp/test_symlink /tmp/test_symlink ├── foo │ └── snippets -> /tmp/test_symlink/repo/resources/snippets └── repo └── resources …

5
查找重复的文件并将其替换为符号链接
我试图找到一种方法来检查给定目录中是否存在重复文件(甚至具有不同名称),并用指向首次出现的符号链接替换它们。我试过了,fdupes但只列出了那些重复项。 这就是上下文:我正在根据自己的喜好自定义图标主题,我发现很多图标,即使它们在父文件夹中具有不同的名称和位置,并且用于不同的用途,基本上也一样图片。由于在只需要一个修改的情况下进行二十或三十次相同的修改是多余的,因此我只想保留一个图像并符号链接所有其他图像。 例如,如果我fdupes -r ./在目录中运行testdir,它可能会返回以下结果: ./file1.png ./file2.png ./subdir1/anotherfile.png ./subdir1/subdir2/yetanotherfile.png 给定此输出,我想保留文件file1.png,删除所有其他文件,并用指向它的符号链接替换它们,同时保留所有原始文件名。因此file2.png将保留其名称,但将成为其链接file1.png而不是重复。 这些链接不应指向绝对路径,而应相对于父testdir目录。即yetanotherfile.png会点../../file1.png,不/home/testuser/.icons/testdir/file1.png 我对涉及GUI和CLI的解决方案都感兴趣。fdupes我引用了它不是强制性的,因为它是我所知道的工具,但是我也欢迎使用其他工具的解决方案。 我很确定创建一个处理所有这些内容的bash脚本应该不会那么困难,但是我不够熟练,无法找出如何自己编写它。

2
sshfs中断来自SFTP服务器的符号链接
有谁知道如何通过SSHFS挂载远程SFTP路径,以便可以使用符号链接?当我这样做时,我创建的所有符号链接都指向错误的文件(不是我链接的文件)。我感兴趣的所有符号链接都是相对的(不是绝对的),因此让它们看起来与在远程计算机上完全一样理想。 使用带有默认安装选项的sshfs,我无法在当前目录中创建到另一个文件的符号链接: $ cd /mnt/path/to/sshfs/mount $ ln -s ./test ./test2 $ ls test2 lrwxrwxrwx 1 root webusers 11 Jul 3 09:11 test2 -> /test 这显然是不正确的,因为链接目标位于当前目录(./test)中,但是在这里您可以看到sshfs创建了一个/test不正确的链接-链接目标/mnt/path/to/sshfs/mount/test不是/test。 通过transform_symlinks在挂载sshfs文件系统时添加该选项,可以使用相同的命令获取相对链接,但它仍指向错误的位置: $ cd /mnt/path/to/sshfs/mount $ ln -s ./test ./test2 $ ls test2 lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> ../../../test 在这里,我尝试链接到./test当前目录中,但是却获得了../../../test三个级别的链接! 但是,使用命令行SFTP客户端进行连接sftp而不是使用sshfs进行安装是可行的: …
16 mount  symlink  sftp  sshfs 


2
pwd和/ bin / pwd之间的奇怪区别
我使用将符号链接添加到当前目录ln -s . aa。如果执行cd aa,然后执行pwd,响应为/home/sim/aa。 但是,如果执行/bin/pwd该命令,它将打印/home/sim(当前目录未更改)。 这种差异从何而来?
15 shell  symlink  pwd 

4
指向目录和相对路径的符号链接
我创建了具有目录绝对路径的符号链接(Blink),并具有以下树: $ ls -l /tmp/A total 0 lrwxrwxrwx 1 root root 6 Apr 3 12:27 Blink -> /tmp/B -rw-r--r-- 1 root root 0 Apr 3 12:27 foo $ ls -l /tmp/B total 0 -rw-r--r-- 1 root root 0 Apr 3 12:27 bar 然后我转到/ tmp / A并将目录更改为Blink: $ cd /tmp/A $ …


1
点点(..)到底是什么?为什么它的行为与符号链接不同?
我试图了解..(双点)的性质。似乎根据您访问它的方式指向不同的目标。 例:- /outer/ middle/ inner/ inner --> ./middle/inner/ 现在,/outer/middle/inner/..导致/outer/middle/,但如果我通过符号链接访问它,/outer/inner/..导致/outer/。似乎这里有两个不同..。 到底是..什么?符号链接?硬链接?还是在访问目录时根据路径动态生成?也许我对符号链接的理解是错误的。 编辑: 其他相关观察 /outer/ middle/ file inner/ f --> ./../file inner --> ./middle/inner/ 现在,如果我尝试通过/outer/inner/f它访问文件,则可以。但这不应该,因为/outer/inner/../file它没有指向文件。该文件位于中/outer/middle/inner/..。这似乎与上面的行为相矛盾!

3
如何查找指向给定目录内任何文件/目录的所有符号链接
在这个问题或这个问题上(例如),您将获得有关如何查找指向给定目录的符号链接的解决方案(我们称它为/dir1),而我对可能指向其中任何文件/文件夹的符号链接感兴趣/dir1。 我想删除这样的目录,但是我不确定这样做是否安全,因为在其他目录(我们称之为/dir2)上,我可能会有指向的内部符号链接/dir1。 此外,我可能已经使用绝对或相对路径创建了这些符号链接。我唯一的帮助是,我知道我要检查的符号链接位于已挂载的文件系统上/dir2。
15 symlink 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.