คำตอบด่วน: ฉันจะค้นหาฮาร์ดลิงก์ทั้งหมดใน Linux ได้อย่างไร

หากต้องการค้นหาฮาร์ดลิงก์ทั้งหมดในครั้งเดียว ให้ ค้นหาไอโหนดสำหรับไฟล์ทั้งหมดบนอุปกรณ์แล้วใช้สิ่งต่างๆ เช่น sort และ uniq เพื่อค้นหารายการที่ซ้ำกัน นี่จะแสดงรายการไฟล์ในไดเร็กทอรีปัจจุบันและดำเนินการ ls กับมัน

คุณสามารถค้นหาฮาร์ดลิงก์ไปยังไอโหนดหมายเลข NUM โดย ใช้ ' -inum NUM '. หากมีจุดต่อเชื่อมระบบไฟล์ใต้ไดเร็กทอรีที่คุณเริ่มการค้นหา ให้ใช้ตัวเลือก ' -xdev ' เว้นแต่คุณจะใช้ตัวเลือก ' -L ' ด้วย

Windows ที่มีระบบไฟล์ NTFS มีขีดจำกัด 1024 ฮาร์ดลิงก์ ในไฟล์.

ฉันจะใช้ find ใน Linux ได้อย่างไร

ตัวอย่างพื้นฐาน

  1. หา . – ตั้งชื่อ thisfile.txt หากคุณต้องการทราบวิธีค้นหาไฟล์ใน Linux ชื่อไฟล์นี้ …
  2. ค้นหา /home -name *.jpg. มองหาทั้งหมด jpg ใน /home และไดเร็กทอรีด้านล่าง
  3. หา . – พิมพ์ f -empty ค้นหาไฟล์ว่างในไดเร็กทอรีปัจจุบัน
  4. ค้นหา /home -user randomperson-mtime 6 -iname “.db”

คุณสามารถ ตรวจสอบว่าไฟล์เป็น symlink ที่มี [ -L file ] . ในทำนองเดียวกัน คุณสามารถทดสอบว่าไฟล์นั้นเป็นไฟล์ปกติที่มี [ -f file ] หรือไม่ แต่ในกรณีนั้น การตรวจสอบจะเสร็จสิ้นหลังจากแก้ไข symlink แล้ว ฮาร์ดลิงก์ไม่ใช่ไฟล์ประเภทหนึ่ง แต่เป็นชื่อที่แตกต่างกันสำหรับไฟล์ (ประเภทใดก็ได้)

สาเหตุที่ฮาร์ดลิงก์ไดเร็กทอรีคือ ไม่ได้รับอนุญาต เป็นเทคนิคเล็กน้อย โดยพื้นฐานแล้วจะทำลายโครงสร้างระบบไฟล์ โดยทั่วไป คุณไม่ควรใช้ฮาร์ดลิงก์ ลิงก์สัญลักษณ์อนุญาตการทำงานเดียวกันส่วนใหญ่โดยไม่ก่อให้เกิดปัญหา (เช่น ln -s target link )

ในการดูลิงก์สัญลักษณ์ในไดเร็กทอรี:

  1. เปิดเทอร์มินัลแล้วย้ายไปที่ไดเร็กทอรีนั้น
  2. พิมพ์คำสั่ง: ls -la. นี้จะแสดงรายการไฟล์ทั้งหมดในไดเร็กทอรีแม้ว่าจะซ่อนอยู่ก็ตาม
  3. ไฟล์ที่ขึ้นต้นด้วย l คือไฟล์ลิงก์สัญลักษณ์ของคุณ

1 คำตอบ ทุกไดเร็กทอรีมีลิงค์ไปยังตัวเองและพาเรนต์ (นั่นเป็นสาเหตุที่ . ของไดเร็กทอรีว่างจะมีจำนวนลิงค์เป็น 2) แต่เนื่องจากทุกไดเร็กทอรีลิงก์ไปยังพาเรนต์ ไดเร็กทอรีใดๆ ที่มีไดเร็กทอรีย่อยจะมีลิงค์จากไดเร็กทอรีย่อยนั้น

หากคุณพบไฟล์สองไฟล์ที่มีคุณสมบัติเหมือนกันแต่ไม่แน่ใจว่ามีฮาร์ดลิงก์หรือไม่ ใช้คำสั่ง ls -i เพื่อดูหมายเลขไอโหนด. ไฟล์ที่ฮาร์ดลิงก์เข้าด้วยกันจะใช้หมายเลขไอโหนดเดียวกัน หมายเลขไอโหนดที่ใช้ร่วมกันคือ 2730074 หมายความว่าไฟล์เหล่านี้เป็นข้อมูลที่เหมือนกัน

ฮาร์ดลิงก์จะไม่ชี้ไปที่ไฟล์ที่ถูกลบ. ฮาร์ดลิงก์เปรียบเสมือนตัวชี้ไปยังข้อมูลไฟล์จริง และตัวชี้เรียกว่า "ไอโหนด" ในคำศัพท์ของระบบไฟล์ กล่าวอีกนัยหนึ่ง การสร้างฮาร์ดลิงก์คือการสร้างไอโหนดหรือตัวชี้ไปยังไฟล์อื่น

ชอบโพสต์นี้? กรุณาแบ่งปันให้เพื่อนของคุณ:
ระบบปฏิบัติการวันนี้