Trên Linux, bạn đôi khi cần làm việc trực tiếp với ổ đĩa và/hoặc phân vùng từ dòng lệnh. Thường thì bạn thực sự muốn thực hiện hành động trên hệ thống file, nhưng bạn làm bằng cách chỉ định phân vùng nơi chúng được lưu trữ. Trên dòng lệnh, bạn tham chiếu đến chúng bằng tên thiết bị (ví dụ: /dev/sda3).
Trên hệ thống có nhiều ổ đĩa, phân vùng, ổ quang và USB, việc xác định tên thiết bị được gán cho mỗi thứ có thể khó khăn.
Lệnh lsblk làm gì?
lsblk hiển thị thông tin về thiết bị lưu trữ. Tiện ích này thường dùng để xác định tên thiết bị đúng để truyền cho lệnh tiếp theo.
lsblk

Đa số thời gian, lsblk không có tham số thêm, đủ để giúp xác định ổ đĩa hoặc phân vùng bạn muốn làm việc. Từ hình ảnh trên, ví dụ, tôi có thể thấy "sda4" là phân vùng Windows, nhưng đó là vì tôi biết kích thước khoảng 200GB. Tuy nhiên, nếu bạn có hai hoặc nhiều phân vùng cùng kích thước, mọi thứ có thể gây nhầm lẫn hơn. Trong các trường hợp khác, bạn có thể đơn giản không biết hoặc nhớ kích thước của một ổ đĩa hoặc phân vùng cụ thể trên hệ thống.
Trên Linux, nhầm lẫn tên thiết bị rất nguy hiểm, vì bạn có thể phá hủy hoặc làm hỏng dữ liệu hữu ích bằng một lệnh sai.
Các tham số hữu ích của lsblk
Mặc định, lsblk chỉ hiển thị một vài thuộc tính, như bạn thấy trong hình trên. Nhưng nếu bạn thêm tham số vào lệnh, bạn có thể làm nó xuất ra các thuộc tính thiết bị bổ sung. Điều này, بدوره, giúp dễ dàng xác định ổ đĩa hoặc phân vùng bạn đang tìm.
Xác định ổ SSD hay ổ cứng (HDD)
Để xem cột thêm lsblk có thể hiển thị, nhập:
lsblk --help
Trong tình huống này bạn sẽ dùng ROTA và DISC-GRAN. ROTA cho bạn biết thiết bị khối có thuộc thiết bị lưu trữ quay không. Ổ cứng là thiết bị quay, nên cột xuất ra "1" bên cạnh chúng (giá trị logic nhị phân nghĩa là "true"). DISC-GRAN cho bạn thấy độ chi tiết loại bỏ (discard granularity). SSD hỗ trợ discard để giải phóng khối dữ liệu không dùng. Ổ cứng không hỗ trợ tính năng này, vì chúng không cần, nên cột này sẽ hiển thị giá trị không cho chúng ( "0B", nghĩa là độ chi tiết loại bỏ bằng không byte).
lsblk -o +ROTA,DISC-GRAN

Hiển thị hệ thống file lưu trữ trên ổ đĩa/phân vùng
Khi bạn thấy danh sách phân vùng, bạn có thể nói được mỗi cái lưu trữ gì, chỉ dựa trên kích thước. Khi điều này không đủ, bạn có thể làm lsblk xuất ra hệ thống file. Việc này dễ dàng xác định phân vùng hơn vì:
- Windows dùng hệ thống file NTFS
- Linux thường dùng ext4
- Thiết bị USB dùng FAT, FAT32 (vfat) hoặc NTFS
- Phân vùng boot EFI thường rất nhỏ và hiển thị hệ thống file vfat trên nó
Cũng thêm cột đầu ra LABEL, có thể giúp nếu phân vùng đã được gán nhãn khi tạo/định dạng.
lsblk -o +FSTYPE,LABEL
Hiển thị thiết bị di động/USB
lsblk -o +RM
sẽ hiển thị cột thêm cho bạn biết thiết bị có thể tháo rời hay không. Giá trị "1" nghĩa là "true", chỉ ra USB hoặc loại phương tiện di động khác.
Hiển thị mẫu ổ HDD/SSD
Hữu ích khi bạn muốn tra mã chính xác mẫu thiết bị lưu trữ để nâng cấp firmware hoặc tải driver.
lsblk -d -o +MODEL
Hiển thị UUID hệ thống file (Universally Unique Identifier)
Các bản phân phối Linux cũ gắn hệ thống file bằng cách chỉ định tên thiết bị trong /etc/fstab. Tuy nhiên, điều đó bị chứng minh không tin cậy vì /dev/sda2 có thể trở thành /dev/sdb2 khi bạn thêm thiết bị lưu trữ khác vào hệ thống. Ngày nay, UUID được dùng thay thế, vẫn không đổi bất kể bạn thêm/xóa thiết bị khỏi máy tính. Dù lý do gì bạn cần UUID, bạn có thể làm lsblk hiển thị chúng với
lsblk -o +UUID
Hiển thị các cột lsblk khác bạn cần
Ở đầu hướng dẫn, bạn đã dùng
lsblk --help
để xem các cột thêm lsblk có thể hiển thị. Nếu các ví dụ ở đây không đủ cho nhu cầu của bạn, hãy tra cứu thông tin giúp đó lại và kết hợp tham số theo nhu cầu. Để làm vậy, chỉ cần nhập lsblk -o +, theo sau là tên cột bạn muốn xuất. Phân cách tên cột bằng dấu phẩy (","). Ví dụ:
lsblk -o +SCHED,RM,FSTYPE
Kết luận
Sau khi xác định tên thiết bị bạn muốn làm việc, nhớ thay thế nó bằng đường dẫn thiết bị đầy đủ trong lệnh tiếp theo bạn định dùng. Ví dụ, nếu bạn nhận được "sda4" làm kết quả trong lsblk, bạn sẽ phải thay thế nó bằng "/dev/sda4" trong lệnh tiếp theo. Vì vậy, thay vì "sda4" bạn gõ "/dev/sda4" trong lệnh như mkfs -t ext4 /dev/sda4.