ใน Linux คุณบางครั้งต้องทำงานกับดิสก์และ/หรือพาร์ติชันโดยตรงจากบรรทัดคำสั่ง บ่อยครั้งคุณต้องการดำเนินการกับระบบไฟล์ แต่ทำได้โดยระบุพาร์ติชันที่เก็บอยู่ ในบรรทัดคำสั่ง อ้างถึงสิ่งเหล่านี้โดยใช้ชื่ออุปกรณ์ (เช่น /dev/sda3)
บนระบบที่มีหลายดิสก์ พาร์ติชัน ออปติคอลไดรฟ์ และ USB ไดรฟ์ อาจยากที่จะระบุชื่ออุปกรณ์ที่มอบหมายให้แต่ละตัว
คำสั่ง lsblk ทำอะไร?
lsblk แสดงข้อมูลเกี่ยวกับอุปกรณ์จัดเก็บข้อมูล ยูทิลิตี้นี้มักใช้เพื่อระบุชื่ออุปกรณ์ที่ถูกต้องเพื่อส่งต่อให้คำสั่งถัดไป
lsblk
ส่วนใหญ่ lsblk โดยไม่มีพารามิเตอร์เพิ่มเติม เพียงพอที่จะช่วยระบุดิสก์หรือพาร์ติชันที่คุณต้องการทำงาน จากรูปข้างต้น เช่น ฉันบอกได้ว่า "sda4" เป็นพาร์ติชัน Windows เพราะรู้ขนาดประมาณ 200GB แต่หากมีพาร์ติชันขนาดเท่ากันหลายตัว อาจสับสนได้ ในบางกรณีคุณอาจไม่รู้หรือจำขนาดดิสก์หรือพาร์ติชันบนระบบของคุณไม่ได้
ใน Linux การสับสนชื่ออุปกรณ์เป็นอันตราย เพราะคุณอาจทำลายหรือทำลายข้อมูลที่มีประโยชน์ด้วยคำสั่งผิด
พารามิเตอร์ lsblk ที่มีประโยชน์
โดยค่าเริ่มต้น lsblk แสดงเพียงไม่กี่พร็อพเพอร์ตี้ แต่ถ้าเพิ่มพารามิเตอร์ คุณสามารถทำให้มันแสดงพร็อพเพอร์ตี้เพิ่มเติม ซึ่งทำให้ระบุดิสก์หรือพาร์ติชันที่ต้องการง่ายขึ้นมาก
ตรวจสอบว่าเป็น SSD หรือ Hard Disk (HDD)
เพื่อดูคอลัมน์เพิ่มเติมที่ lsblk แสดงได้ ให้ใส่:
lsblk --help
ในสถานการณ์นี้จะใช้ ROTA และ DISC-GRAN ROTA บอกว่าอุปกรณ์บล็อกเป็นอุปกรณ์จัดเก็บแบบหมุนหรือไม่ ฮาร์ดดิสก์เป็นแบบหมุน ดังนั้นคอลัมน์จะแสดง "1" ข้างๆ (ค่าตรรกะไบนารีหมายถึง "จริง") DISC-GRAN แสดงขนาดการทิ้ง (discard granularity) SSD รองรับ discard เพื่อ釋放บล็อกข้อมูลที่ไม่ได้ใช้ ฮาร์ดดิสก์ไม่รองรับฟีเจอร์นี้ เพราะไม่จำเป็น ดังนั้นคอลัมน์จะแสดงค่าศูนย์สำหรับมัน ("0B" หมายถึง discard granularity ศูนย์ไบต์)
lsblk -o +ROTA,DISC-GRAN
แสดงระบบไฟล์ที่เก็บอยู่บนดิสก์/พาร์ติชัน
เมื่อเห็นรายการพาร์ติชัน คุณอาจบอกได้ว่าแต่ละตัวเก็บอะไรจากขนาดเพียงอย่างเดียว เมื่อไม่พอ คุณสามารถทำให้ lsblk แสดงระบบไฟล์ได้ มันง่ายต่อการระบุพาร์ติชันมากขึ้นเพราะ:
- Windows ใช้ระบบไฟล์ NTFS
- Linux ปกติใช้ ext4
- อุปกรณ์ USB ใช้ FAT, FAT32 (vfat) หรือ NTFS
- พาร์ติชัน EFI boot ปกติเล็กมาก และแสดงระบบไฟล์ vfat
เพิ่มคอลัมน์ LABEL ซึ่งช่วยหากพาร์ติชันมีฉลากตอนสร้าง/ฟอร์แมต
lsblk -o +FSTYPE,LABEL
แสดงอุปกรณ์ที่ถอดได้/USB Memory Sticks
lsblk -o +RM
จะแสดงคอลัมน์เพิ่มเติมบอกว่าอุปกรณ์ถอดได้หรือไม่ ค่า "1" หมายถึง "จริง" แสดงว่าเป็น USB stick หรือสื่อถอดได้ประเภทอื่น
แสดงรุ่น HDD/SSD
มีประโยชน์เมื่อต้องการค้นหารหัสรุ่นอุปกรณ์จัดเก็บที่แน่นอน เพื่ออัปเกรดเฟิร์มแวร์หรือดาวน์โหลดไดรเวอร์
lsblk -d -o +MODEL
แสดง UUID ของระบบไฟล์ (Universally Unique Identifier)
ระบบแจกจ่าย Linux เก่าแม้ท์ระบบไฟล์โดยระบุชื่ออุปกรณ์ใน /etc/fstab แต่พบว่าไม่เชימנה เนื่องจาก /dev/sda2 อาจกลายเป็น /dev/sdb2 เมื่อเพิ่มอุปกรณ์จัดเก็บ ตอนนี้ใช้ UUID แทน ซึ่งคงที่ไม่ว่าจะเพิ่ม/ลบอะไรกับคอมพิวเตอร์ สำหรับเหตุผลใดก็ตามที่ต้องการ UUID สามารถทำให้ lsblk แสดงได้ด้วย:
lsblk -o +UUID
แสดงคอลัมน์ lsblk อื่นๆ ที่คุณต้องการ
ต้นบทคุณใช้ lsblk --help ดูคอลัมน์เพิ่มเติม หากตัวอย่างที่นี่ไม่พอ ให้ดู help อีกครั้งและรวมพารามิเตอร์ตามต้องการ โดยใส่ lsblk -o + ตามด้วยชื่อคอลัมน์ที่ต้องการ แยกชื่อคอลัมน์ด้วยคอมม่า (",") เช่น:
lsblk -o +SCHED,RM,FSTYPE
สรุป
หลังจากระบุชื่ออุปกรณ์ที่ต้องการทำงาน จำไว้ว่าให้แทนที่ด้วย Full device path ในคำสั่งถัดไปที่ตั้งใจจะใช้ เช่น หากได้ "sda4" จาก lsblk คุณต้องแทนที่ด้วย "/dev/sda4" ในคำสั่งถัดไป ดังนั้นแทนที่จะพิมพ์ "sda4" ให้พิมพ์ "/dev/sda4" ในคำสั่งอย่าง mkfs -t ext4 /dev/sda4