คู่มือนี้จะอธิบายวิธีรับรายการไฟล์ที่เปิดอยู่ ซ็อกเก็ต และไพพ์ใน Linux โดยใช้คำสั่ง lsof
ของ เป็นเครื่องมือบรรทัดคำสั่ง Linux ที่ทรงพลังมาก มันมาพร้อมกับการกระจาย Linux เกือบทุกตัวและให้รายการไฟล์ที่เปิด ซ็อกเก็ต และไพพ์แก่คุณ
การใช้งานเครื่องมือขั้นพื้นฐานที่สุดคือการพิมพ์ชื่อคำสั่งตามด้วยปุ่ม Return # lsof . คำสั่งนี้ควรส่งคืนรายการที่ค่อนข้างยาว วิธีที่ดีกว่าในการรันคำสั่งนี้คือ น้อยกว่า คำสั่ง – # lsof | น้อยลง
คลิกเพื่อขยาย
ใช้ lsof พร้อมกับน้อยกว่า ให้คุณเลื่อนดูผลลัพธ์ทั้งขึ้นและลง ทำให้อ่านง่ายขึ้น แน่นอน คำสั่งสามารถทำอะไรได้มากกว่าแค่ให้ผลลัพธ์ทั่วไปของไฟล์ที่เปิดอยู่ทั้งหมด สามารถช่วยชีวิตได้ในสถานการณ์ที่คุณกำลังแก้ไขปัญหา
ตัวอย่างเช่น คุณสามารถให้ lsof แสดงรายการไฟล์ที่เปิดอยู่ทั้งหมดซึ่งถูกเปิดโดยกระบวนการเฉพาะ ขั้นแรก รับ ID กระบวนการโดยใช้ # ps -ef สั่งการ. จากนั้นรันคำสั่ง # lsof -p 30646 . -p ย่อมาจาก ID กระบวนการ และ 30646 คือ ID กระบวนการตัวอย่างที่คุณควรแทนที่ด้วย ID กระบวนการของคุณ
คลิกเพื่อขยาย
คุณยังสามารถค้นหาไฟล์ที่เปิดอยู่ ซ็อกเก็ต และอื่นๆ จากบางส่วนของระบบของคุณได้ ดังนั้น หากคุณต้องการดูไฟล์ทั้งหมดจาก /mnt ไดเร็กทอรี ให้รันคำสั่ง # lsof /mnt . หรือถ้าคุณต้องการค้นหากระบวนการทั้งหมดที่เปิดโดยคำสั่งใดคำสั่งหนึ่ง ให้รันบรรทัดเช่น # lsof -c mysql โดยที่ -c ย่อมาจาก “command” และคุณสามารถแทนที่ mysql ด้วยคำสั่งที่คุณมีไฟล์ที่คุณต้องการตรวจสอบ:
คลิกเพื่อขยาย
Linux ถือว่าพอร์ต ซ็อกเก็ต และอุปกรณ์ต่างๆ เป็นไฟล์ คุณยังสามารถค้นหาการเชื่อมต่อทั้งหมดโดยใช้โปรโตคอลบางตัวหรือแม้แต่พอร์ต คุณสามารถค้นหาการเชื่อมต่อ SSH ที่กำลังทำงานอยู่ทั้งหมดไปยังเครื่องของคุณโดยใช้คำสั่ง # lsof -i :22 . หรือถ้าคุณต้องการดูการเชื่อมต่อ tcp ทั้งหมดบนคอมพิวเตอร์ของคุณ ให้เรียกใช้คำสั่ง # lsof -i TCP :
คลิกเพื่อขยาย
ของ เป็นคำสั่งที่ชาญฉลาดพร้อมตัวเลือกอื่นๆ ตรวจสอบหน้าคู่มือของเครื่องมือเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้งานให้สูงสุด