Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> สมาร์ทโฟน >> Linux

วิธีดูรายการไฟล์ เฟอร์ และไปป์ที่เปิดอยู่ใน Linux ด้วยคำสั่ง lsof

คู่มือนี้จะอธิบายวิธีดูรายการไฟล์ เฟอร์ (Sockets) และไปป์ (Pipes) ที่เปิดอยู่ใน Linux โดยใช้คำสั่ง lsof

lsof เป็นเครื่องมือ Command Line อันทรงพลังของ Linux มาพร้อมกับเกือบทุก Distribution และให้รายการไฟล์ เฟอร์ และไปป์ที่เปิดอยู่

การใช้งานพื้นฐานคือพิมพ์ชื่อคำสั่งตามด้วย Enter # lsof คำสั่งนี้จะคืนรายการค่อนข้างยาว วิธีที่ดีกว่าคือรันกับคำสั่ง less — # lsof | less

วิธีดูรายการไฟล์ เฟอร์ และไปป์ที่เปิดอยู่ใน Linux ด้วยคำสั่ง lsof
คลิกเพื่อขยาย

การใช้ lsof กับ less ช่วยให้คุณเลื่อนอ่าน Output ทั้งขึ้นและลง ได้ง่ายขึ้น ทั้งนี้ คำสั่งนี้ทำได้มากกว่แค่แสดง Output ทั่วไป มันสามารถช่วยชีวิตคุณในสถานการณ์ Troubleshooting ได้

ตัวอย่างเช่น คุณสามารถสั่งให้ lsof แสดงรายการไฟล์ที่เปิดอยู่ทั้งหมดซึ่งถูกเปิดโดย Process เฉพาะ ก่อนอื่น หา Process ID ด้วยคำสั่ง # ps -ef จากนั้นรันคำสั่ง # lsof -p 30646 ตัว -p ย่อมาจาก Process ID และ 30646 เป็นตัวอย่าง Process ID ที่คุณควรแทนที่ด้วยของคุณ

วิธีดูรายการไฟล์ เฟอร์ และไปป์ที่เปิดอยู่ใน Linux ด้วยคำสั่ง lsof
คลิกเพื่อขยาย

คุณยังสามารถค้นหาไฟล์ที่เปิดอยู่จากส่วนหนึ่งของระบบได้ เช่น ต้องการดูไฟล์ทั้งหมดจากไดเรกทอรี /mnt ให้รัน # lsof /mnt หรือหากต้องการหา Process ทั้งหมดที่ถูกเปิดโดยคำสั่งเฉพาะ ให้รัน # lsof -c mysql โดย -c ย่อมาจาก "command" และแทนที่ mysql ด้วยคำสั่งที่ต้องการตรวจสอบ:

วิธีดูรายการไฟล์ เฟอร์ และไปป์ที่เปิดอยู่ใน Linux ด้วยคำสั่ง lsof
คลิกเพื่อขยาย

Linux จัดการ Ports, Sockets และ Devices เป็นไฟล์ คุณยังสามารถค้นหาการเชื่อมต่อทั้งหมดที่ใช้โปรโตคอลหรือพอร์ตเฉพาะได้ ค้นหาการเชื่อมต่อ SSH ทั้งหมดที่เข้ามาที่เครื่องคุณด้วย # lsof -i :22 หรือถ้าต้องการดู TCP Connections ทั้งหมดบนคอมพิวเตอร์ ให้รัน # lsof -i TCP:

วิธีดูรายการไฟล์ เฟอร์ และไปป์ที่เปิดอยู่ใน Linux ด้วยคำสั่ง lsof
คลิกเพื่อขยาย

lsof เป็นคำสั่งฉลาดที่มี Option อื่นๆ อีกมาก อ่าน man page ของเครื่องมือนี้เพื่อข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานให้เกิดประโยชน์สูงสุด