บน Linux บางครั้งคุณต้องทำงานกับดิสก์และ/หรือพาร์ติชั่นโดยตรงจากบรรทัดคำสั่ง บ่อยครั้ง คุณต้องการดำเนินการกับระบบไฟล์จริงๆ แต่คุณทำได้โดยระบุพาร์ติชั่นที่เก็บไว้ ในบรรทัดคำสั่ง คุณอ้างถึงสิ่งเหล่านี้โดยใช้ชื่ออุปกรณ์ (เช่น “/dev/sda3”)
ในระบบที่มีดิสก์ พาร์ติชั่น ออปติคัลไดรฟ์ และไดรฟ์ USB จำนวนมาก การระบุชื่ออุปกรณ์ที่กำหนดให้กับแต่ละรายการอาจทำได้ยาก
คำสั่ง lsblk ทำหน้าที่อะไร
lsblk แสดงข้อมูลเกี่ยวกับอุปกรณ์จัดเก็บข้อมูล ยูทิลิตี้นี้มักใช้เพื่อระบุชื่ออุปกรณ์ที่ถูกต้องเพื่อส่งต่อไปยังคำสั่งที่ตามมา
lsblk
โดยส่วนใหญ่ lsblk
โดยไม่ต้องมีพารามิเตอร์เพิ่มเติม เพียงพอที่จะช่วยในการระบุดิสก์หรือพาร์ติชั่นที่คุณต้องการใช้งาน จากภาพด้านบน ฉันสามารถบอกได้ว่า “sda4” เป็นพาร์ติชั่น Windows แต่นั่นเป็นเพราะฉันรู้ขนาดประมาณ 200GB อย่างไรก็ตาม หากคุณมีพาร์ติชั่นขนาดเท่ากันตั้งแต่สองพาร์ติชั่นขึ้นไป สิ่งต่างๆ อาจทำให้สับสนมากขึ้น ในกรณีอื่นๆ คุณอาจไม่ทราบหรือจำขนาดของดิสก์หรือพาร์ติชั่นเฉพาะในระบบของคุณไม่ได้
บน Linux อาจทำให้ชื่ออุปกรณ์สับสนได้ เนื่องจากคุณอาจทำลายหรือทำให้ข้อมูลที่เป็นประโยชน์เสียหายด้วยคำสั่งที่ไม่ถูกต้อง
พารามิเตอร์ lsblk ที่มีประโยชน์
ตามค่าเริ่มต้น lsblk จะแสดงคุณสมบัติเพียงไม่กี่อย่างตามที่คุณเห็นในภาพด้านบน แต่ถ้าคุณเพิ่มพารามิเตอร์ให้กับคำสั่ง คุณสามารถสร้างคุณสมบัติของอุปกรณ์เพิ่มเติมได้ ซึ่งจะทำให้ระบุดิสก์หรือพาร์ติชั่นที่คุณต้องการได้ง่ายขึ้นมาก
ดูว่าเป็น SSD หรือฮาร์ดดิสก์ (HDD) หรือไม่
หากต้องการดูคอลัมน์เพิ่มเติมที่ lsblk สามารถแสดงได้ ให้ป้อนข้อมูลต่อไปนี้:
lsblk --help
ในสถานการณ์นี้ คุณจะใช้ ROTA และ DISC-GRAN ROTA จะบอกคุณว่าอุปกรณ์บล็อกนั้นเป็นของอุปกรณ์เก็บข้อมูลแบบหมุนหรือไม่ ฮาร์ดดิสก์เป็นแบบหมุนได้ ดังนั้นคอลัมน์จะแสดงผลเป็น "1" นอกเหนือจากนั้น (ค่าตรรกะไบนารีหมายถึง "จริง") DISC-GRAN จะแสดงรายละเอียดการละทิ้ง SSD รองรับการทิ้งเพื่อเพิ่มบล็อกข้อมูลที่ไม่ได้ใช้ ฮาร์ดดิสก์ไม่สนับสนุนคุณลักษณะนี้ เนื่องจากไม่จำเป็นต้องใช้ ดังนั้นคอลัมน์นี้จึงจะแสดงค่าเป็นศูนย์ ("0B" หมายถึงการละทิ้งความละเอียดเป็นศูนย์ไบต์)
lsblk -o +ROTA,DISC-GRAN
แสดงระบบไฟล์ที่จัดเก็บไว้ในดิสก์/พาร์ติชั่น
เมื่อคุณเห็นรายการพาร์ติชั่น คุณอาจสามารถบอกได้ว่าพาร์ติชั่นแต่ละพาร์ติชั่นอะไร โดยพิจารณาจากขนาดของพาร์ติชั่นเพียงอย่างเดียว เมื่อยังไม่พอ คุณสามารถสร้างระบบไฟล์เอาต์พุต lsblk ได้เช่นกัน การระบุพาร์ติชั่นด้วยวิธีนี้ง่ายกว่ามากเพราะ:
- Windows ใช้ระบบไฟล์ NTFS
- ปกติลินุกซ์จะใช้ ext4
- อุปกรณ์ USB ใช้ FAT, FAT32 (vfat) หรือ NTFS
- บูตพาร์ติชัน EFI มักจะมีขนาดเล็กมากและแสดงระบบไฟล์ vfat บนนั้น
นอกจากนี้ ให้เพิ่มคอลัมน์เอาต์พุต LABEL ซึ่งสามารถช่วยได้หากมีการติดป้ายกำกับพาร์ติชันเมื่อสร้าง/จัดรูปแบบ
lsblk -o +FSTYPE,LABEL
แสดงอุปกรณ์ที่ถอดออกได้/USB Memory Stick
lsblk -o +RM
จะแสดงคอลัมน์พิเศษที่บอกคุณว่าอุปกรณ์นั้นถอดออกได้หรือไม่ ค่า “1” หมายถึง “จริง” ซึ่งระบุแท่ง USB หรือสื่อที่ถอดออกได้ประเภทอื่นๆ
แสดงรุ่น HDD/SSD
สิ่งนี้มีประโยชน์เมื่อคุณต้องการค้นหารหัสที่แน่นอนของรุ่นอุปกรณ์จัดเก็บข้อมูลของคุณเพื่ออัปเกรดเฟิร์มแวร์หรือดาวน์โหลดไดรเวอร์
lsblk -d -o +MODEL
แสดง UUID ของระบบไฟล์ (ตัวระบุที่ไม่ซ้ำแบบสากล)
ลีนุกซ์รุ่นเก่าติดตั้งระบบไฟล์โดยระบุชื่ออุปกรณ์ใน “/ etc / fstab” อย่างไรก็ตาม นั่นพิสูจน์แล้วว่าไม่น่าเชื่อถือเนื่องจาก “/dev/sda2” อาจกลายเป็น “/dev/sdb2” เมื่อคุณเพิ่มอุปกรณ์จัดเก็บข้อมูลอื่นลงในระบบ ทุกวันนี้ UUID ถูกใช้แทน ซึ่งยังคงไม่เปลี่ยนแปลง ไม่ว่าคุณจะเพิ่ม/ลบอะไรไปยัง/จากคอมพิวเตอร์ของคุณ ด้วยเหตุผลใดก็ตามที่คุณต้องการ UUID คุณสามารถทำให้ lsblk แสดงได้ด้วย
lsblk -o +UUID
แสดงคอลัมน์ lsblk อื่นๆ ที่คุณต้องการ
ในตอนต้นของบทช่วยสอน คุณใช้
lsblk --help
เพื่อดูคอลัมน์พิเศษที่ lsblk สามารถแสดงได้ หากตัวอย่างที่นี่ไม่เพียงพอสำหรับความต้องการของคุณ โปรดศึกษาข้อมูลความช่วยเหลืออีกครั้งและรวมพารามิเตอร์ตามต้องการ โดยป้อน lsblk -o +
ตามด้วยชื่อคอลัมน์ที่คุณต้องการส่งออก แยกชื่อคอลัมน์ด้วยเครื่องหมายจุลภาค (“”) ตัวอย่างเช่น:
lsblk -o +SCHED,RM,FSTYPE
บทสรุป
หลังจากที่คุณระบุชื่ออุปกรณ์ที่คุณต้องการใช้งานแล้ว อย่าลืมแทนที่ด้วยเส้นทางอุปกรณ์แบบเต็มในคำสั่งถัดไปที่คุณต้องการใช้ ตัวอย่างเช่น หากคุณได้รับ "sda4" ซึ่งเป็นผลลัพธ์ใน lsblk คุณจะต้องแทนที่ด้วย "/dev/sda4" ในคำสั่งถัดไป ดังนั้น แทนที่จะพิมพ์ “sda4” คุณพิมพ์ “/dev/sda4” ในคำสั่งเช่น mkfs -t ext4 /dev/sda4
.