วิธีใช้คำสั่ง findmnt บน Linux
เผยแพร่แล้ว: 2022-06-16
ค้นพบทุกสิ่งเกี่ยวกับจุดเชื่อมต่อระบบไฟล์ของคุณด้วยคำสั่ง Linux findmnt เป็นเครื่องมือแบบ all-in-one ที่มีไวยากรณ์ที่ง่ายมาก เราแสดงวิธีการใช้งาน
Mount Points
ระบบไฟล์ Linux เป็นต้นไม้ขนาดใหญ่ ขึ้นอยู่กับตัวเลือกที่คุณเลือกเมื่อติดตั้ง Linux ฮาร์ดไดรฟ์ต่างๆ ภายในคอมพิวเตอร์ของคุณอาจมีระบบไฟล์ต่างกัน หากคุณใช้แพ็คเกจ snap คุณจะมีระบบไฟล์หลอก squashfs ในระบบของคุณด้วย อุปกรณ์ต่างๆ เช่น เมมโมรี่สติ๊ก USB จะมีระบบไฟล์ต่างๆ โดยเฉพาะอย่างยิ่งหากคุณใช้กับคอมพิวเตอร์ Windows ด้วย
ไม่ว่าระบบไฟล์จะเป็นประเภทใด พวกเขาทั้งหมดจะต้องถูกต่อกิ่งบนแผนผังระบบไฟล์ในกระบวนการที่เรียกว่า การเมา นท์ การติดตั้งเป็นขั้นตอนสำคัญในการรับระบบการทำงาน เรามักจะคิดว่าจะติดตั้งอุปกรณ์เหมือนฮาร์ดไดรฟ์ แต่จริงๆ แล้ว สิ่งที่กำลังถูกเมานต์คือระบบไฟล์ในอุปกรณ์นั้น และหากไม่มีการเข้าถึงระบบไฟล์ต่างๆ เหล่านี้ คอมพิวเตอร์ของคุณอาจไม่สามารถบู๊ตได้ หรือคุณจะไม่สามารถเข้าถึงแอพพลิเคชั่นหรือข้อมูลได้
ระบบไฟล์ถูกติดตั้งบนจุดเชื่อมต่อ นี่เป็นเพียงไดเร็กทอรีว่าง เมื่อติดตั้งระบบไฟล์แล้ว การเข้าสู่ไดเร็กทอรีนั้นจะนำคุณเข้าสู่ระบบไฟล์นั้น ที่ให้ความคล่องตัวสูง รูทของโครงสร้างระบบไฟล์จะต้องติดตั้งบน " / " แต่คุณสามารถเมาต์ระบบไฟล์อื่น ๆ ได้ในทุกที่ที่เหมาะสมที่สุดในสถานการณ์เฉพาะของคุณ
ความยืดหยุ่นนั้นหมายความว่าการติดตามจุดต่อเชื่อมต่างๆ ทั้งหมดเป็นเรื่องยาก โดยเฉพาะอย่างยิ่งจุดที่สร้างขึ้นโดยอัตโนมัติและสร้างขึ้นโดยที่คุณไม่ต้องเกี่ยวข้อง Linux มีเครื่องมือบรรทัดคำสั่งที่หลากหลายเพื่อให้คุณตรวจสอบการกำหนดค่าและสถานะของจุดต่อเชื่อมของคุณ จากทั้งหมดนั้น findmnt ใช้งานง่ายที่สุดและมีลูกเล่นบางอย่างในตัวมันเอง
คำสั่ง findmnt
คำสั่ง findmnt ได้รับการติดตั้งแล้วบน Ubuntu, Manjaro และ Fedora builds ที่เราตรวจสอบ หากไม่ได้ติดตั้งไว้ในคอมพิวเตอร์ Linux คุณจะสามารถค้นหาได้อย่างง่ายดายโดยใช้ตัวจัดการแพ็คเกจสำหรับการแจกจ่ายของคุณ
เครื่องมือบรรทัดคำสั่งที่คุณใช้เพื่อเมาต์ระบบไฟล์เรียกว่า mount ระบบไฟล์ที่ถูกเมาต์ในขณะบู๊ตถูกกำหนดไว้ในไฟล์ “/etc/fstab” คุณสามารถใช้คำสั่ง mount เพื่อถ่ายโอนข้อมูลของจุดเชื่อมต่อทั้งหมดที่กำหนดค่าไว้ในไฟล์ “/etc/fstab” ของคุณ
ภูเขา

เอาต์พุตมีรายละเอียด แต่จัดรูปแบบในข้อความที่มีข้อความหนาแน่น

ด้วยความพยายามเพียงเล็กน้อย คุณสามารถเลือกวิธีการของคุณผ่านมัน หรือไพพ์มันผ่านยูทิลิตี้เช่น grep เพื่อขยิบตาบิตที่คุณสนใจ ผลลัพธ์จาก findmnt สามารถเข้าถึงได้มากขึ้น
findmnt

ในทางตรงกันข้าม เอาต์พุตเริ่มต้นจาก findmnt จะถูกจัดตารางและมีแผนผังแสดงลำดับชั้นของจุดต่อเชื่อม

คอลัมน์คือ:
- เป้าหมาย : ตำแหน่งของจุดต่อเชื่อมในระบบไฟล์
- ที่มา : อุปกรณ์ต้นทางที่มีระบบไฟล์ โปรดทราบว่านี่อาจเป็นอุปกรณ์หลอกเช่นอุปกรณ์วนรอบ
- Fstype : ประเภทระบบไฟล์
- ตัวเลือก : ตัวเลือกที่ใช้กับคำสั่ง mount คำสั่งหรือในไฟล์ “/etc/fstab” เพื่อต่อเชื่อมระบบไฟล์
หากต้องการดูผลลัพธ์ที่ไม่มีแผนผัง ให้ใช้ตัวเลือก -l (รายการ)
findmnt -l

คอลัมน์เหมือนกัน แต่ลำดับชั้นของจุดต่อเชื่อมไม่ได้แสดงเป็นแผนผังที่เยื้อง

การเลือกประเภทระบบไฟล์เฉพาะ
อ็อพชัน -t (ประเภท) ทำให้ findmnt จำกัดรายงานให้รวมเฉพาะประเภทระบบไฟล์ที่คุณร้องขอเท่านั้น ตัวอย่างเช่น หากต้องการดูเฉพาะระบบไฟล์ ext4 ให้ใช้:
findmnt -t exta

หากต้องการดูเฉพาะระบบไฟล์ squashfs คุณต้องพิมพ์:
findmnt -t squashfs

หากต้องการกลับรายการที่เลือกเพื่อให้คุณเห็นทุกอย่างนอกเหนือจากประเภทที่คุณระบุไว้ในบรรทัดคำสั่ง ให้ใช้ตัวเลือก -i (กลับด้าน)
findmnt -t สควอช -i

ระบบไฟล์ squashfs จะไม่ถูกรายงาน


ตัวเลือก -t (ประเภท) ให้คุณใช้รายการประเภทระบบไฟล์ที่คั่นด้วยเครื่องหมายจุลภาค อย่าเว้นวรรคระหว่างกัน เนื่องจากไม่อนุญาตให้มีการเว้นวรรคระหว่างประเภทระบบไฟล์
findmnt -t สควอช,proc,ext4

การเลือกแหล่งข้อมูล
โดยค่าเริ่มต้น findmnt รับข้อมูลจาก “/etc/fstab”, “/etc/mtab” และ “/proc/self/mountinfo”
- /etc/fstab : นี่คือไฟล์ที่เก็บรายละเอียดของการเมานท์ที่กำหนดค่าไว้ สิ่งเหล่านี้จะถูกดำเนินการในเวลาบูต
- /etc/mtab : ไฟล์นี้เก็บรายละเอียดของการเมานท์ที่กำลังเมาต์อยู่
- /proc/self/mountinfo : สิ่งนี้จะค้นหาเคอร์เนลสำหรับบัญชีที่เชื่อถือได้มากที่สุดของการเมานต์ระบบของคุณ
คุณสามารถบอก findmnt ให้ใช้แหล่งใดแหล่งหนึ่งได้หากต้องการ ตัวเลือกคือ:
- —fstab หรือ -s : ดูใน “/etc/fstab” เท่านั้น
- —mtab หรือ -m : ดูใน “/etc/mtab” เท่านั้น
- —kernel หรือ -k : ดูใน “/proc/self/mountinfo” เท่านั้น
เราสามารถเห็นความแตกต่างที่เกิดขึ้นได้หากเรามองหาระบบไฟล์ vfat อันดับแรก เราจะใช้ตัวเลือก -s (fstab) พบหนึ่งระบบไฟล์ vfat ซึ่งติดตั้งที่ "/boot/efi"
findmnt -s -t vfat

เราจะลองอีกครั้ง และคราวนี้เราจะใช้ตัวเลือก -k (เคอร์เนล)
findmnt -k -t vfat

รายงานนี้สี่รายการ หนึ่งคือระบบไฟล์ vfat เดียวกันกับที่พบในตัวเลือก -s อีกสามรายการเป็นการเมาต์ เฉพาะกิจ ที่เกิดขึ้นเนื่องจากมีการเสียบหน่วยความจำ USB สองอันแล้ว ตัวเลือก -s ไม่พบเนื่องจากไม่ได้กำหนดค่าในไฟล์ “/ etc / fstab”
เมมโมรี่สติ๊ก USB หนึ่งอันเชื่อมต่อเป็น “/dev/sdc1” ซึ่งเป็นพาร์ติชั่นแรกบนอุปกรณ์ sdc เมมโมรี่สติ๊กอีกอันหนึ่งมีสองพาร์ติชั่น และติดตั้งเป็น “/dev/sdb1” และ “/dev/sdb2”
ที่เกี่ยวข้อง: ไฟล์ Linux fstab คืออะไรและทำงานอย่างไร
เลือกโดย Mount Point
หากคุณทราบจุดต่อเชื่อม คุณสามารถส่งต่อไปยัง findmnt เพื่อค้นหาการตั้งค่าและรายละเอียดอื่นๆ
findmnt /media/dave/PINK
findmnt /media/dave/WHITEUSB

เราจะเห็นว่าหน่วยความจำ USB ทั้งสองนี้มีระบบไฟล์ vfat และได้รับการติดตั้งเป็น “/dev/sdb2” และ “/dev/sdc1”
การใช้โหมดโพลใน findmnt
อาจเป็นคุณสมบัติที่ยอดเยี่ยมที่สุดของ findmnt ก็คือคุณสมบัติการหยั่งเสียง การเขียนภาพไปยังอุปกรณ์ USB เป็นสิ่งที่คุณสามารถทำอยู่เป็นระยะๆ การระบุไดรฟ์ที่ถูกต้องเป็นสิ่งสำคัญ คุณไม่ต้องการเขียนทับอุปกรณ์ที่ไม่ถูกต้อง findmnt ทำให้ง่ายต่อการดูว่าอุปกรณ์ใดที่เชื่อมต่อไดรฟ์แบบถอดได้
มีสองวิธีในการทำเช่นนี้ คุณสามารถขอให้ findmnt ตรวจสอบการต่อเชื่อมใหม่ได้เป็นระยะเวลาหนึ่ง โดยแสดงเป็นมิลลิวินาที พาหนะใดๆ ที่เกิดขึ้นในช่วงเวลานั้นจะถูกรายงาน สิ่งนี้ใช้ตัวเลือก --timeout
วิธีที่สองบอกให้ findmnt รอจนกว่าจะตรวจพบการเมานต์ใหม่ สิ่งนี้ใช้ตัวเลือก --first-only จะรอตราบเท่าที่การขึ้นบกใหม่เกิดขึ้น แต่จะรายงานเฉพาะการขี่ครั้งแรกที่เกิดขึ้นเท่านั้น ตัวเลือก --timeout จะรายงานเกี่ยวกับการติดตั้งใหม่ทั้งหมดที่เกิดขึ้นระหว่างช่วงเวลาการหยั่งเสียงที่ระบุ
คำสั่งนี้บอกให้ findmnt ตรวจสอบการติดตั้งใหม่เป็นเวลา 30 วินาที
findmnt -p --timeout 30000

มีการเสียบปลั๊กหน่วยความจำ USB อันเดียวในช่วงเวลาดังกล่าว รายงานเมื่อวันที่ และ findmnt ดำเนินการตรวจสอบต่อไปเป็นเวลา 30 วินาทีที่เหลือ
คำสั่งนี้บอกให้ findmnt ตรวจสอบการต่อเชื่อมใหม่จนกว่าจะเห็นจุดเชื่อมต่อใหม่ที่สร้างขึ้น
findmnt -p --first-only

เมื่อเสียบปลั๊กอุปกรณ์ใหม่ อุปกรณ์จะรายงานจุดต่อเชื่อมใหม่ จากนั้นออกจากพรอมต์คำสั่ง
วิธีง่ายๆ ในการหลีกเลี่ยงการฟาล์วอัพ
การเขียนทับอุปกรณ์ที่ไม่ถูกต้องถือเป็นหายนะเสมอ คำสั่ง findmnt ทำให้ง่ายต่อการระบุอุปกรณ์ที่คุณเพิ่งเสียบเข้าไป ทำให้กระบวนการเขียนทับปลอดภัยยิ่งขึ้น
ง่ายและปลอดภัยกว่าเป็นอีกวิธีหนึ่งในการพูดว่า win win
ที่เกี่ยวข้อง: วิธีเขียนทับพื้นที่ว่างอย่างปลอดภัยใน Windows



