ใช้ Hard Link เพื่อเชื่อมโยงไฟล์ใน Linux

มีลิงก์เชื่อมโยงอยู่ 2 ประเภทที่คุณสามารถสร้างได้ภายใน Linux:

การเชื่อมโยงสัญลักษณ์คล้ายกับทางลัดบนเดสก์ท็อปภายใน Windows ลิงค์สัญญลักษณ์ชี้ไปที่ตำแหน่งของไฟล์เท่านั้น

การลบลิงก์สัญลักษณ์จะไม่มีผลกับไฟล์กายภาพที่ลิงก์ชี้ไป

ลิงค์สัญลักษณ์สามารถชี้ไปที่แฟ้มใดก็ได้ในระบบไฟล์ปัจจุบันหรือระบบไฟล์อื่น ๆ ทำให้มีความยืดหยุ่นมากกว่าลิงก์ที่ยาก

ลิงก์ยากเป็นไฟล์เดียวกันกับที่เชื่อมโยงไป แต่มีชื่ออื่น วิธีที่ง่ายที่สุดในการคิดคือ:

ลองจินตนาการว่าคุณเกิดมาพร้อมกับชื่อโรเบิร์ต คนอื่นอาจรู้จักคุณเป็น Robbie, Bob, Bobby หรือ Rob แต่ละคนจะพูดถึงคนคนเดียวกัน

แต่ละลิงก์จะเพิ่ม 1 เป็นตัวนับลิงก์ซึ่งหมายถึงการลบไฟล์จริงที่คุณต้องลบแต่ละลิงก์

ทำไมต้องใช้ Hard Links?

การเชื่อมโยงแบบ Hard ให้วิธีการจัดไฟล์ได้อย่างมีประสิทธิภาพ วิธีที่ง่ายที่สุดในการอธิบายเรื่องนี้คือตอน Sesame Street เก่า

เบิร์ตบอกเออร์นี่ให้เป็นระเบียบเรียบร้อยทุกอย่างของเขาและเพื่อ Ernie ตั้งเกี่ยวกับงานของเขา ก่อนอื่นเขาก็ตัดสินใจที่จะทำความสะอาดสิ่งที่เป็นสีแดงทั้งหมด "เครื่องยนต์ดับเพลิงสีแดง" ดังนั้นเออร์นี่จึงดับเครื่องยนต์

ถัดไป Ernie ตัดสินใจที่จะนำไปของเล่นทั้งหมดที่มีล้อ เครื่องยนต์ดับเพลิงมีล้อ ดังนั้นเออร์นี่จึงเก็บเครื่องยนต์ดับเพลิงเอาไว้

ไม่จำเป็นต้องพูดเบอร์ต์กลับมาหาที่เดิมเหมือนเดิม แต่ก่อนเออร์นี่ก็เก็บอาวุธดับเพลิงไว้ครึ่งโหลครั้ง

ลองนึกภาพว่าเครื่องยนต์ดับเพลิงเป็นภาพของเครื่องยนต์ดับเพลิง คุณสามารถมีโฟลเดอร์ต่างๆในเครื่องของคุณดังนี้:

ตอนนี้คุณสามารถสร้างสำเนาของรูปถ่ายและวางไว้ในแต่ละโฟลเดอร์ ซึ่งหมายความว่าคุณมีสำเนาของไฟล์เดียวกันสามชุดโดยใช้พื้นที่ 3 เท่า

การจัดประเภทรูปภาพโดยทำสำเนาอาจไม่ใช้พื้นที่มากเกินไป แต่ถ้าคุณลองทำสิ่งเดียวกันกับวิดีโอคุณจะลดเนื้อที่ดิสก์ลงอย่างมาก

ลิงก์ที่ยากจะไม่มีพื้นที่เลย คุณสามารถจัดเก็บวิดีโอเดียวกันได้ในหลายหมวดหมู่ (เช่นตามประเภท, ภาพยนตร์, นักแสดง, นักแสดง) โดยไม่ต้องลดเนื้อที่ดิสก์ของคุณ

วิธีการสร้าง Hard Link

คุณสามารถสร้างลิงก์แบบฮาร์ดดิสก์โดยใช้ไวยากรณ์ต่อไปนี้:

ln เส้นทางไป / ไฟล์ / เส้นทาง / ไป / ยาก / ลิงค์

ตัวอย่างเช่นในภาพด้านบนเรามีโฟลเดอร์เพลง Alice Cooper ที่เรียกว่า Trash ในเส้นทาง / home / gary / Music / Alice Cooper / Trash ในโฟลเดอร์นั้นมี 10 เพลงซึ่งเป็น Poison แบบคลาสสิก

ตอนนี้ Poison เป็นแทร็กร็อคดังนั้นเราจึงสร้างโฟลเดอร์ที่เรียกว่าร็อคภายใต้โฟลเดอร์เพลงและสร้างลิงก์ที่ยากต่อ Poison โดยพิมพ์ไฟล์ต่อไปนี้:

ln "01 - Poison.mp3" "~ / เพลง / ร็อค / Poison.mp3"

นี่คือวิธีที่ดีในการ จัดระเบียบเพลง

วิธีการบอกความแตกต่างระหว่างการเชื่อมโยงที่ยากและลิงค์สัญลักษณ์

คุณสามารถบอกได้ว่าไฟล์มีลิงก์ที่ยากหรือไม่โดยใช้คำสั่ง ls:

ls-lt

ไฟล์มาตรฐานที่ไม่มีลิงก์จะมีลักษณะดังนี้

- rw - r - r - 1 gary gary 1000 ธันวาคม 18 21:52 poison.mp3

คอลัมน์มีดังนี้:

ถ้าเป็นลิงค์ยากผลลัพธ์จะมีลักษณะดังนี้

- rw - r - r - 2 gary gary 1000 ธันวาคม 18 21:52 poison.mp3

สังเกตว่าหมายเลขของคอลัมน์ลิงก์แสดงเป็น 2. ทุกครั้งที่มีการสร้างการเชื่อมโยงอย่างหนักจำนวนนี้จะเพิ่มขึ้น

ลิงค์สัญลักษณ์จะมีลักษณะดังนี้:

rr-r - r - 1 gary gary 1000 ธันวาคม 18 21:52 poison.mp3 -> poison.mp3

คุณสามารถเห็นได้อย่างชัดเจนว่าไฟล์หนึ่งชี้ไปที่อื่น

วิธีค้นหาลิงก์ทั้งหมดในไฟล์

ไฟล์ทั้งหมดในระบบ Linux ของคุณมีหมายเลข inode ที่ระบุไฟล์โดยไม่ซ้ำกัน ไฟล์และลิงก์ที่ยากจะมี inode เดียวกัน

เมื่อต้องการดูหมายเลข inode สำหรับชนิดแฟ้มคำสั่งต่อไปนี้:

ls -i

ผลลัพธ์สำหรับไฟล์เดียวจะเป็นดังนี้:

ชื่อไฟล์ 1234567

หากต้องการ ค้นหา ลิงก์ที่ยากสำหรับไฟล์ที่คุณต้องทำเพื่อค้นหาไฟล์ทั้งหมดที่มี inode เดียวกัน (เช่น 1234567)

คุณสามารถทำได้โดยใช้คำสั่งต่อไปนี้:

หา ~ / -xdev -inum 1234567