如何在bash中递归地将相对符号链接转换为绝对符号链接?将相对符号链接转换为绝对符号链接
回答
ln -sf "$(readlink -f "$link")" "$link"
+1,不知道关于readlink的canonicalization选项! – Flexo 2010-11-15 17:46:13
您可以使用以下命令对当前工作目录下的所有符号链接执行此操作:find ./ -type l -execdir bash -c'ln -sfn“$(readlink -f”$ 0“)”“$ 0”'{} \ ;' – 2014-01-31 01:37:44
对于指向目录的符号链接,这将失败:它会在目录内创建新的符号链接(例如,对于符号链接foo - > ../foo,您将获得foo/foo - >/abs/path/to/foo) 。 – 2015-09-17 12:14:00
万一有人找反向操作:从绝对链接转换为相对:
使用Python:
find . -lname "`pwd`*" -exec sh -c 'ln -snvf `python -c "from os.path import *; print relpath(\"$(readlink {})\",dirname(\"{}\"))"` {}' \;
只使用bash和sed的:
find . -lname "`pwd`/*" -depth 1 -exec sh -c 'ln -snvf `echo $(readlink {}) | sed "s|\`pwd\`|.|"` {}' \;
find . -lname "`pwd`/*" -depth 2 -exec sh -c 'ln -snvf `echo $(readlink {}) | sed "s|\`pwd\`|..|"` {}' \;
find . -lname "`pwd`/*" -depth 3 -exec sh -c 'ln -snvf `echo $(readlink {}) | sed "s|\`pwd\`|../..|"` {}' \;
etc....
这会将子目录中的所有绝对链接转换为相对的链接。
还有一个符号链接包可用:'symlinks -a/path/to/modify' http://linux.die.net/man/8/symlinks – pztrick 2016-08-18 00:06:58
不幸的是,它在某些操作系统上不可用。 ;( – 2017-11-02 18:40:25
)您可以下载Debian源文件并运行'gcc symlinks.c -o/usr/local/bin/symlinks'。似乎不依赖于其他任何东西。http://http.debian.net/ debian/pool/main/s/symlinks/symlinks_1.4.orig.tar.gz – pztrick 2017-11-02 19:09:49
基于@ thkala的回答,我说这对我的.bashrc:
function lnabs {
#http://stackoverflow.com/questions/4187210/convert-relative-symbolic-links-to-absolute-symbolic-links
ln -sf "$(readlink -f "$1")" "$*"
}
- 1. 如何移动相对符号链接?
- 2. Unix中的相对符号链接
- 3. 解析符号链接和相对URL
- 4. .htaccess或符号链接(符号链接)
- 5. C#将相对值转换为HTML字符串中的绝对链接
- 6. 符号链接
- 7. 符号链接
- 8. 如何将机械化中的相关链接转换为绝对链接?
- 9. 绝对与相对链接?
- 10. 符号链接自
- 11. Broken符号链接
- 12. 符号链接perl
- 13. 符号链接CMake
- 14. 用相对路径转换为绝对路径的符号链接使用查找
- 15. node_modules:符号链接还是不符号链接?
- 16. 两个符号链接之间的符号链接
- 17. Apache的符号链接符号链接返回HTTP 500错误
- 18. 符号链接到符号链接...部分规范化
- 19. 用#符号将文本转换为javascript中的链接
- 20. Java。将相对链接替换为绝对正则表达式
- 21. 将project_name/node_modules作为符号链接?
- 22. 符号链接链接文件夹
- 23. PHP获得绝对路径,但没有遵循符号链接
- 24. print cscope的符号链接的绝对路径
- 25. 如何将目录符号链接复制为目标链接?
- 26. 混帐不存储符号链接作为符号链接在Windows
- 27. 复制符号链接作为符号链接,_and_其引用的资源
- 28. 如何将原子提要中的相对链接转换为绝对XSL?
- 29. Bash - 破坏符号链接
- 30. docker -v和符号链接
你所说的 “递归” 意思? – thkala 2010-11-15 17:47:06