Symlink
如何獲取軟符號連結的原始文件的完整路徑?
我想將
scp
文件發送到伺服器。該文件是一個符號連結,實際上我想要做的是複制源文件。我不想手動跟踪源文件的路徑,因為它可以被替換。
如何獲取源文件的絕對路徑以便我可以
scp
使用它?
試試這條線:
readlink -f `which command`
如果
command
在你的$PATH
變數中,否則你需要指定你知道的路徑。
在 Linux 下,
readlink
讀取符號連結的內容,然後readlink -f
按照符號連結到符號連結到符號連結等,直到找到不是符號連結的內容。但是,這對於 scp 不是必需的: scp 始終遵循符號連結(它始終複製文件內容,忽略元數據,除非
-p
在可能的情況下保留文件時間和模式)。如果您對元數據 scp 可以保存和不能保存的內容感到失望,我建議您使用 rsync。如果沒有選項,rsync 會忽略元數據複製文件內容。常用選項
-a
保留所有普通元數據(時間、符號連結、權限和所有權),並且有一些選項可以保留 ACL 和硬連結等外來元數據。