วิธีสร้างฮาร์ดลิงก์และสัญลักษณ์ใน Linux
ในระบบปฏิบัติการที่คล้ายกับ Unix เช่น Linux “ทุกอย่างเป็นไฟล์” และโดยพื้นฐานแล้วไฟล์จะเป็นลิงก์ไปยัง inode (โครงสร้างข้อมูลที่จัดเก็บทุกอย่างเกี่ยวกับไฟล์ นอกเหนือจากชื่อและเนื้อหาจริง)
ฮาร์ดลิงก์คือไฟล์ที่ชี้ไปยังไอโหนดพื้นฐานเดียวกันกับไฟล์อื่น ในกรณีที่คุณลบไฟล์หนึ่งไฟล์ ไฟล์นั้นจะลบหนึ่งลิงก์ไปยังไอโหนดที่ซ่อนอยู่ ในขณะที่ลิงก์สัญลักษณ์ (หรือที่เรียกว่าซอฟต์ลิงก์) คือลิงก์ไปยังชื่อไฟล์อื่นในระบบไฟล์
อ่านเพิ่มเติม: วิธีการจัดการไฟล์และไดเร็กทอรี
ข้อแตกต่างที่สำคัญอีกประการระหว่างลิงก์ทั้งสองประเภทก็คือ ฮาร์ดลิงก์สามารถทำงานได้ภายในระบบไฟล์เดียวกันเท่านั้น ในขณะที่ลิงก์สัญลักษณ์สามารถข้ามระบบไฟล์ที่ต่างกันได้
วิธีสร้างฮาร์ดลิงก์ใน Linux
ในการสร้างฮาร์ดลิงก์ใน Linux เราจะใช้ ยูทิลิตี ln ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้างฮาร์ดลิงก์ชื่อ tp
ไปยังไฟล์ topprocs.sh
ls -l
ln topprocs.sh tp
ls -l
เมื่อพิจารณาผลลัพธ์ด้านบน โดยใช้คำสั่ง ls ไฟล์ใหม่จะไม่ถูกระบุเป็นลิงก์ แต่จะแสดงเป็นไฟล์ปกติ นี่หมายความว่า tp
เป็นเพียงไฟล์ปฏิบัติการปกติอีกไฟล์หนึ่งที่ชี้ไปยัง inode พื้นฐานเดียวกันกับ topprocs.sh
หากต้องการสร้างฮาร์ดลิงก์ลงในซอฟต์ลิงก์โดยตรง ให้ใช้แฟล็ก -P
เช่นนี้
ln -P topprocs.sh tp
วิธีสร้างลิงค์สัญลักษณ์ใน Linux
ในการสร้างลิงก์สัญลักษณ์ใน Linux เราจะใช้ ยูทิลิตี ln เดียวกันกับสวิตช์ -s
ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้างลิงก์สัญลักษณ์ชื่อ topps.sh
ไปยังไฟล์ topprocs.sh
ln -s ~/bin/topprocs.sh topps.sh
ls -l topps.sh
จากผลลัพธ์ด้านบน คุณจะเห็นได้จากส่วนสิทธิ์ของไฟล์ว่า topps.sh
เป็นลิงก์ที่ระบุโดย l:
ซึ่งหมายความว่าเป็นลิงก์ไปยังชื่อไฟล์อื่น
หากมีลิงก์สัญลักษณ์อยู่แล้ว คุณอาจได้รับข้อผิดพลาดในการบังคับการดำเนินการ (ลบลิงก์สัญลักษณ์ที่ออก) ให้ใช้ตัวเลือก -f
ln -s ~/bin/topprocs.sh topps.sh
ln -sf ~/bin/topprocs.sh topps.sh
หากต้องการเปิดใช้งานโหมด verbose ให้เพิ่มแฟล็ก -v
เพื่อพิมพ์ชื่อของไฟล์ที่เชื่อมโยงแต่ละไฟล์ในเอาต์พุต
ln -sfv ~/bin/topprocs.sh topps.sh
$ls -l topps.sh
แค่นั้นแหละ! ตรวจสอบบทความที่เกี่ยวข้องต่อไปนี้
- fdupes – เครื่องมือบรรทัดคำสั่งเพื่อค้นหาและลบไฟล์ที่ซ้ำกันใน Linux
- 5 คำสั่งที่มีประโยชน์ในการจัดการประเภทไฟล์และเวลาของระบบใน Linux
ในบทความนี้ เราได้เรียนรู้วิธีสร้างลิงก์แบบฮาร์ดและเป็นสัญลักษณ์ใน Linux คุณสามารถถามคำถามหรือแบ่งปันความคิดของคุณเกี่ยวกับคู่มือนี้ผ่านแบบฟอร์มคำติชมด้านล่าง