มี symlink (ระบบเดียวที่ไม่ต้องประมวลผลระบบแบตช์) สิ่งที่บรรทัดคำสั่งที่จะใช้เพื่อแทนที่ด้วยสำเนาของไฟล์ที่ลิงก์ไปยัง?
มี symlink (ระบบเดียวที่ไม่ต้องประมวลผลระบบแบตช์) สิ่งที่บรรทัดคำสั่งที่จะใช้เพื่อแทนที่ด้วยสำเนาของไฟล์ที่ลิงก์ไปยัง?
คำตอบ:
cp --remove-destination "$(readlink <symlink>)" <symlink>
<symlink>
เป็น symlink ไปยังพา ธ สัมพัทธ์มันจะใช้ได้ก็ต่อเมื่อ<symlink>
อยู่ในไดเรกทอรีปัจจุบัน readlink -f
คุณอาจต้องการที่จะใช้ หรือหากใช้zsh
:cp --remove-destination path/to/symlink(:A) path/to/symlink
คุณสามารถทำได้:
file=path/to/symlink
{ rm -f -- "$file" && cat > "$file"; } < "$file"
(ซึ่งคัดลอกเฉพาะเนื้อหาไม่ใช่ข้อมูลเมตาของไฟล์เช่นสิทธิ์และความเป็นเจ้าของ)