Câu trả lời:
cp --remove-destination "$(readlink <symlink>)" <symlink>
<symlink>
là một liên kết tượng trưng đến một đường dẫn tương đối, nó chỉ hoạt động nếu <symlink>
trong thư mục hiện tại. Bạn có thể muốn sử dụng readlink -f
. Hoặc nếu sử dụng zsh
:cp --remove-destination path/to/symlink(:A) path/to/symlink
Bạn có thể làm:
file=path/to/symlink
{ rm -f -- "$file" && cat > "$file"; } < "$file"
(chỉ sao chép nội dung, không phải siêu dữ liệu của tệp như quyền và quyền sở hữu).