Questions tagged «symlink»

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

2
解决符号链接(pwd)
说我执行以下操作: cd /some/path ln -s /target/path symbolic_name 如果是这样: cd /some/path cd symbolic_name pwd 我得到: /some/path/symblic_name 并不是: /target/path 有没有办法让外壳“完全解析”一个符号链接(即更新CWD等),就像我直接完成的那样: cd /target/path ? 我需要运行一些对我如何到达目标路径“似乎”或“敏感”的程序,并且我希望他们认为我到达目标路径就像cd /target/path直接完成一样。
32 files  symlink  cwd 

6
用硬链接替换文件到/ dev / null
我正在运行一个写入log.txt的应用程序。该应用程序已更新为新版本,从而使受支持的插件不再兼容。它将大量错误输入到log.txt中,并且似乎不支持写入其他日志文件。 如何将它们写入其他日志? 我曾考虑用硬链接(应用程序无法分辨出区别吗?)或指向/ dev / null的硬链接替换log.txt。我有什么选择?



5
使用简单的Linux命令将绝对符号链接转换为相对符号链接
我有一个路径中一个完整的子文件系统/home/user/system包含标准的Linux结构目录/bin,/home,/root,/usr,/var,/etc,... 该子文件系统包含相对或绝对的符号链接。相对符号链接很好,它们位于的子文件系统中/home/user/system。但是绝对符号链接是有问题的,因为它们指向子文件系统外部的目标。 作为示例,我们假设如下所示的绝对符号链接(在子文件系统内部可见): /usr/file1 -> /usr/lib/file1 在整个文件系统中,我们现在有一个链接/home/user/system/usr/file1指向/usr/lib/file1子文件系统外部的文件,而不是子文件系统/home/user/system/usr/lib/file1 内部的文件。 我想有一个简单的脚本,最好是一个命令行(rsync,chroot,find ...),它将每个绝对符号链接转换为一个相对符号链接。 在给定的示例中,该相对链接将变为 /usr/file1 -> ../usr/lib/file1

7
可移植的方式来获取脚本的绝对路径?
(zsh)脚本确定其绝对路径的可移植方式是什么? 在Linux上,我使用类似 mypath=$(readlink -f $0) ...但这不是便携式的。(例如,readlink在darwin上,该-f标志无法识别,也没有任何等效的标志。)(当然,readlink为此使用的是一个相当晦涩的hack。) 有什么更便携的方式?

1
为什么重新引导,关机和关机符号链接到systemctl?
在Arch Linux中,如果这样做ls -l的话/sbin,我可以看到reboot,shutdown并且poweroff它们都是的符号链接/usr/bin/systemctl。但发行reboot,shutdown并systemctl命令显然并不都具有相同的行为。 是ls -l不是向我展示有关符号链接的完整信息?例如,我怎么知道真正的符号链接reboot是什么?
28 arch-linux  ls  symlink  reboot  ln 

4
如何确定文件夹是否实际上是符号链接,以及如何修复损坏的符号链接?
如何知道我在Linux中是否有符号链接,某种快捷方式或文件夹?请看下面的截图。 如您所见,该ls命令列出了一些对象,其中一些颜色为深蓝色,而另一些颜色为浅蓝色(青色)。这些青色的物体是什么?这些是实际的符号链接吗? 如您所见,我无法cd将其称为HDD。 root@dm500hd:/# cd hdd -sh: cd: can't cd to hdd 我认为它必须重定向到,/media/hdd并且我注意到hdd文件夹丢失了。 有没有办法解决这个问题? 更新:这是ls -al命令的结果。 如您所见hdd -> /media/hdd,它显示为红色。这是否意味着它已损坏或已自动安装,即连接了物理硬盘时? 更新:这是grep media /etc/auto*命令的结果。 这些/etc/auto.master:/media/net和/etc/auto.network条目做什么? 这是ls -Fal /media命令的结果。 这有什么帮助吗?... 这是stat和file命令的结果,以及/ usr和/ bin的清单。 这对我有没有帮助?...对您有帮助吗? 顺便说一句,您应该知道这是带有BusyBox的基于Linux的STB,它是嵌入式系统。因此,并非所有命令都受支持。 更新:最后一个屏幕快照,显示/ sbin和/ usr / sbin中的文件和受支持的命令。 更新:添加了新共享... 现在,我删除了该旧共享,并重新创建了一个与以前相同的名称,现在还添加了第二个共享。所以现在我有两个。 SHARES remote share local share mydream dream1 mydream2 dream2 LOCATIONS remote …
28 linux  shell  symlink 

3
使Nginx遵循符号链接
Nginx不遵循符号链接。我收到404错误。在我的目录中,我具有以下链接: lrwxrwxrwx 1 root root 48 Sep 23 08:52 modules -> /path/to/dir/ 但/path/to/dir找不到存储在其中的文件。
28 symlink  nginx 

2
为什么ln -s接受一个参数
> cd /tmp > ln -s foo > ls -alhF /tmp lrwxrwxrwx 1 user user 3 Jul 29 14:00 foo -> foo 这是bug ln还是存在将文件符号链接到自身的用例? 这是与coreutils 8.21-1ubuntu5.1。
27 symlink  coreutils  ln 

3
在仍然遵循目录符号链接的同时,如何使用长格式(-l)ls?
我注意到,ls -l这不仅会更改输出的格式,还会更改目录符号链接的处理方式: > ls /rmn biweekly.sh daily.sh logs ... > ls -l /rmn lrwxrwxrwx 1 root root 18 Feb 11 2011 /rmn -> /root/maintenance/ 我想详细了解其中的内容/rmn,而不是有关/rmn符号链接的信息。 我可以想到的一种解决方法是创建一个执行以下操作的shell函数: cd /rmn ls -l cd - 但这似乎太过分了,尤其是因为它弄乱了的下一个用法cd -。有没有更好的办法? (我使用的是CentOS 2.6.9)
27 ls  symlink 

4
如何在不删除符号链接的情况下复制目录结构?
我需要将一堆文件“安装”到另一个目录,以保持源文件的目录结构完整。例如,如果我./foo/bar/baz.txt要去,/var/www/localhost/webroot/我希望结果是/var/www/localhost/webroot/foo/bar/baz.txt。rsync在中具有此功能--relative,但是当我这样做时,我发现它对符号链接并不友好: $ ls -ald /var/www/localhost/webroot/ | grep ^l lrwxrwxrwx 1 www-data www-data 15 2014-01-03 13:45 media -> ../static/media lrwxrwxrwx 1 root root 13 2014-02-24 13:47 var -> ../static/var $ rsync -qrR . /var/www/localhost/webroot/ $ ls -ald /var/www/localhost/webroot/ | grep var drwxr-xr-x 3 root root 4096 2014-02-24 13:52 /var/www/localhost/webroot/var 因此,您会看到符号链接不再是符号链接–文件被复制到错误的位置! rsync也可以--no-implied-dirs选择,从表面上看似乎可以满足我的要求,但是它仅在不执行递归rsync …
27 rsync  symlink  mirror 

4
ln -s具有相对于pwd的路径
我正在尝试创建一堆符号链接,但我不知道为什么这行得通 ln -s /Users/niels/something/foo ~/bin/foo_link 而这 cd /Users/niels/something ln -s foo ~/bin/foo_link 不是。 我相信这与foo_link链接到foo /Users/niels/bin而不是/Users/niels/something 因此,问题是,如何在不实际输入的情况下创建指向绝对路径的符号链接? 作为参考,我使用的是Mac OS X 10.9和Zsh。
26 bash  shell  symlink  ln 

4
从/ bin添加到路径与链接
我们的系统管理员在服务器上安装了一个软件应用程序(Maven),并告诉所有人将/usr/local/maven/bin/文件夹添加到其路径中。 我认为,从/bin文件夹(或每个人都在其路径中的其他文件夹)中链接该文件夹中的几个程序可能会更方便: ln -s /usr/local/maven/bin/* /bin 它是否正确?我的建议有一些隐藏的副作用吗?

3
在不破坏该文件符号链接的情况下转换文件
有没有可能 mv破坏该文件的符号链接的文件?我最初的回答是“否”,我正在制定一个基于脚本的解决方案以在移动后立即更改链接,但是我想知道其他人如何解决此问题。符号链接的路径和名称是预先已知的,因此从理论上讲,我需要做的是: 获取链接的目标 MV目标 重新创建指向新目标的链接 创建一个指向新目标的新链接(不同于原始链接,该链接我现在仍要保留) 日后: 删除旧链接 1-4将封装在bash脚本中,但是我想知道是否有人有更优雅的方法,或者知道我不知道的内置命令。

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.