[英]How to create symlink to another symlink without following symlink while keeping relative path?
如何在不遵循目標符號鏈接但保持目標符號鏈接和創建的符號鏈接之間的相對路徑的情況下創建指向另一個符號鏈接的符號鏈接?
使用以下結構進行測試
├── dst
│
└── src
├── file.txt -> folder/file.txt
└── folder
└── file.txt
lrwxrwxrwx 1 user group 15 mars 16 20:05 src/file.txt -> folder/file.txt
每次我嘗試在dst
文件夾中創建src/file.txt
的符號鏈接(本身是src/folder/file.txt
的相對符號鏈接)時,生成的符號鏈接永遠不會像dst/file.txt ->../src/file.txt
但總是直接指向最終目標dst/file.txt ->../src/folder/file.txt
ln -s -r [-T] 'src/file.txt' dst/file.txt
僅在沒有-r
的情況下工作並為自己指定相對路徑
ln -s '../src/file.txt' dst/file.txt
我需要在 for 循環中對許多文件遞歸地使用它,我想在符號鏈接之間保留相對路徑,但不遵循目標符號鏈接,只是到另一個符號鏈接的相對符號鏈接。
是否可以在不遵循目標符號鏈接的情況下將ln
與-r
相對選項一起使用?
問候
好像ln -s -r
跟隨鏈接..
如果沒有-r
選項ln -s
會准確輸入您鍵入的內容 - 因此稍后可以更改另一個鏈接並且第一個目錄仍然有效。
# mkdir ABC
# mkdir DEF
# touch DEF/xx.txt
# ls -lAF DEF
total 8
drwxr-xr-x. 2 root root 4096 2021-03-17 11:40 ./
drwxrwxrwt. 4 root root 4096 2021-03-17 11:40 ../
-rw-r--r--. 1 root root 0 2021-03-17 11:40 xx.txt
# ln -s DEF/xx.txt
# ls -laF
total 16
drwxrwxrwt. 4 root root 4096 2021-03-17 11:40 ./
drwxr-xr-x. 21 root root 4096 2017-03-17 14:13 ../
drwxr-xr-x. 2 root root 4096 2021-03-17 11:40 ABC/
drwxr-xr-x. 2 root root 4096 2021-03-17 11:40 DEF/
lrwxrwxrwx. 1 root root 10 2021-03-17 11:40 xx.txt -> DEF/xx.txt
# cd ABC/
# ln -s ../xx.txt
# ls -laF
total 8
drwxr-xr-x. 2 root root 4096 2021-03-17 11:40 ./
drwxrwxrwt. 4 root root 4096 2021-03-17 11:40 ../
lrwxrwxrwx. 1 root root 9 2021-03-17 11:40 xx.txt -> ../xx.txt
# echo "ABC" > DEF/xx.txt
# cat ABC/xx.txt
ABC
所以所有的軟鏈接都是指向另一個軟鏈接或文件的軟鏈接 - 沒有一直解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.