มีลิงก์เชื่อมโยงอยู่ 2 ประเภทที่คุณสามารถสร้างได้ภายใน Linux:
- Hard Links
- ลิงค์สัญลักษณ์
การเชื่อมโยงสัญลักษณ์คล้ายกับทางลัดบนเดสก์ท็อปภายใน 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-- = สิทธิ์
- 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