Lệnh lsblk trong Linux là một công cụ dòng lệnh hữu ích, giúp bạn liệt kê thông tin về các thiết bị lưu trữ block có sẵn trên hệ thống. Lệnh lsblk hiển thị các ổ đĩa, phân vùng và RAID arrays một cách trực quan, dễ dàng theo dõi. Nó cung cấp thông tin chi tiết như tên thiết bị, kích thước, điểm gắn kết và các thuộc tính khác, hỗ trợ quản lý ổ cứng hiệu quả.
Lệnh lsblk trong linux là gì?
Lệnh command lsblk in linux là một công cụ dòng lệnh mạnh mẽ, giúp bạn liệt kê thông tin về các thiết bị lưu trữ khối (block devices) có sẵn trên hệ thống Linux của mình. Nó hiển thị một cách trực quan cấu trúc phân cấp của các ổ đĩa, phân vùng và các thiết bị liên quan khác, giúp bạn dễ dàng nắm bắt tình hình lưu trữ. Lsblk cung cấp thông tin chi tiết như tên thiết bị, kích thước, điểm gắn kết (mount point) và các thuộc tính khác, hỗ trợ việc quản lý và khắc phục sự cố liên quan đến ổ cứng. Bạn có thể sử dụng lsblk để kiểm tra xem một ổ đĩa mới đã được nhận diện hay chưa, hoặc để xác định phân vùng nào đang được gắn kết vào thư mục nào. Với giao diện thân thiện và thông tin đầy đủ, lsblk là một công cụ không thể thiếu cho bất kỳ người dùng Linux nào muốn quản lý hệ thống lưu trữ của mình một cách hiệu quả.
Sử dụng cơ bản lệnh lsblk
Lệnh lsblk là viết tắt của "list block devices" (liệt kê thiết bị khối), dùng để hiển thị thông tin về các thiết bị khối trên hệ thống Linux.
Các thiết bị khối bao gồm ổ cứng, SSD và USB drive, là những thiết bị lưu trữ dữ liệu quan trọng.
Chúng ta hãy bắt đầu bằng cách chạy lệnh lsblk cơ bản trong terminal để xem thông tin.
-
Mở terminal của bạn nếu nó chưa được mở sẵn để bắt đầu thực hiện lệnh.
-
Gõ lệnh sau và nhấn Enter để xem kết quả hiển thị trên màn hình terminal:
lsblk
Bạn sẽ thấy kết quả tương tự như sau, hiển thị thông tin các thiết bị khối:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55.5M 1 loop /snap/core18/2128
loop1 7:1 0 55.4M 1 loop /snap/core18/2284
loop2 7:2 0 43.6M 1 loop /snap/snapd/15534
loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535
loop4 7:4 0 31.1M 1 loop /snap/snapd/16292
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 49G 0 part /
└─sda2 8:2 0 976M 0 part [SWAP]
Kết quả này hiển thị tất cả các thiết bị khối trên hệ thống của bạn, với các cột thông tin sau:
NAME: Tên của thiết bị, giúp bạn xác định thiết bị nào đang được liệt kê.MAJ:MIN: Số hiệu thiết bị chính và phụ, dùng để hệ thống nhận diện thiết bị.RM: Cờ removable (1 là có thể tháo rời, 0 là không thể tháo rời).SIZE: Dung lượng của thiết bị, cho biết không gian lưu trữ mà thiết bị cung cấp.RO: Cờ read-only (1 là chỉ đọc, 0 là đọc-ghi), xác định quyền truy cập vào thiết bị.TYPE: Loại thiết bị (disk, partition, loop, v.v.), phân loại các thiết bị khác nhau.MOUNTPOINT: Điểm mount của thiết bị (nếu có), cho biết nơi thiết bị được gắn vào hệ thống.
Trong ví dụ trên, bạn có thể thấy các thông tin sau về các thiết bị khối:
- Một vài thiết bị
loopđược sử dụng bởi các snap package để chạy ứng dụng. - Một thiết bị lưu trữ chính
sda(là một ổ đĩa 50GB) để lưu trữ dữ liệu hệ thống. - Hai phân vùng trên
sda:sda1(được mount tại thư mục gốc/) vàsda2(được sử dụng làm swap space).
Cấu trúc dạng cây trong kết quả giúp bạn dễ dàng hình dung phân vùng nào thuộc về ổ đĩa nào.
Ví dụ, bạn có thể thấy rằng cả sda1 và sda2 đều là các phân vùng của ổ đĩa sda.
Bây giờ bạn đã hiểu kết quả cơ bản của lệnh lsblk, hãy khám phá một số tùy chọn hữu ích trong các bước tiếp theo.
Hiển thị thông tin bổ sung với lsblk
Trong bước này, chúng ta sẽ tìm hiểu cách sử dụng lệnh lsblk với các tùy chọn khác nhau để hiển thị thông tin chi tiết hơn về các thiết bị khối.
Sử dụng tùy chọn -f để hiển thị thông tin hệ thống tệp
Tùy chọn -f hiển thị thông tin hệ thống tệp, bao gồm loại hệ thống tệp, nhãn, UUID và điểm gắn kết. Điều này đặc biệt hữu ích khi bạn cần xác định thiết bị theo UUID hoặc kiểm tra các loại hệ thống tệp đang được sử dụng.
Chạy lệnh sau trong terminal của bạn:
lsblk -f
Bạn sẽ thấy đầu ra tương tự như sau:
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0 squashfs /snap/core18/2128
loop1 squashfs /snap/core18/2284
loop2 squashfs /snap/snapd/15534
loop3 squashfs /snap/gtk-common-themes/1535
loop4 squashfs /snap/snapd/16292
sda
├─sda1 ext4 5fbb8eed-12a3-4b5c-9d67-9594ff4e2d1c /
└─sda2 swap b409ae25-7589-44eb-a909-b56f1d42c5ab [SWAP]
Đầu ra hiện bao gồm các cột bổ sung:
FSTYPE: Loại hệ thống tệp (ext4, swap, squashfs, v.v.)LABEL: Bất kỳ nhãn hệ thống tệp nào đã được gánUUID: Mã định danh duy nhất toàn cầu cho hệ thống tệp
Sử dụng tùy chọn -m để hiển thị thông tin về chủ sở hữu và chế độ thiết bị
Tùy chọn -m hiển thị thông tin về quyền và chủ sở hữu cho các thiết bị khối. Điều này hữu ích khi khắc phục sự cố liên quan đến quyền.
Chạy lệnh sau:
lsblk -m
Bạn sẽ thấy đầu ra như sau:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT OWNER GROUP MODE
loop0 7:0 0 55.5M 1 loop /snap/core18/2128 root disk brw-rw----
loop1 7:1 0 55.4M 1 loop /snap/core18/2284 root disk brw-rw----
loop2 7:2 0 43.6M 1 loop /snap/snapd/15534 root disk brw-rw----
loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535 root disk brw-rw----
loop4 7:4 0 31.1M 1 loop /snap/snapd/16292 root disk brw-rw----
sda 8:0 0 50G 0 disk root disk brw-rw----
├─sda1 8:1 0 49G 0 part / root disk brw-rw----
└─sda2 8:2 0 976M 0 part [SWAP] root disk brw-rw----
Các cột mới hiển thị:
OWNER: Người dùng sở hữu thiết bị (thường là root)GROUP: Nhóm sở hữu thiết bị (thường là disk)MODE: Chế độ quyền của thiết bị
Sử dụng tùy chọn -o để chọn các cột đầu ra cụ thể
Tùy chọn -o cho phép bạn chỉ định các cột cần hiển thị. Điều này hữu ích khi bạn chỉ cần một số thông tin nhất định và muốn có đầu ra rõ ràng, tập trung hơn.
Hãy chỉ hiển thị các cột tên, kích thước và điểm gắn kết:
lsblk -o NAME,SIZE,MOUNTPOINT
Đầu ra sẽ đơn giản hơn nhiều:
NAME SIZE MOUNTPOINT
loop0 55.5M /snap/core18/2128
loop1 55.4M /snap/core18/2284
loop2 43.6M /snap/snapd/15534
loop3 61.9M /snap/gtk-common-themes/1535
loop4 31.1M /snap/snapd/16292
sda 50G
├─sda1 49G /
└─sda2 976M [SWAP]
Đầu ra tùy chỉnh này giúp bạn dễ dàng tập trung vào thông tin bạn cần. Bạn có thể kết hợp nhiều tùy chọn để có được chính xác thông tin bạn muốn theo định dạng phù hợp nhất với nhu cầu của bạn.
Lọc Thiết Bị Khối với lsblk
Trong bước này, chúng ta sẽ tìm hiểu cách lọc đầu ra của lệnh lsblk để tập trung vào các loại thiết bị khối cụ thể hoặc hiển thị thông tin ở các định dạng khác nhau.
Lọc theo Loại Thiết Bị
Lệnh lsblk cho phép bạn lọc các thiết bị theo loại bằng tùy chọn --type hoặc -t. Các loại thiết bị phổ biến bao gồm:
disk: Ổ đĩa vật lýpart: Phân vùngloop: Thiết bị looplvm: Logical volumes
Để chỉ hiển thị các thiết bị ổ đĩa, hãy chạy lệnh sau:
lsblk --type disk
Đầu ra sẽ chỉ hiển thị các ổ đĩa chính, không có phân vùng của chúng:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
Tương tự, để chỉ hiển thị các thiết bị phân vùng, hãy chạy:
lsblk --type part
Đầu ra sẽ chỉ hiển thị các phân vùng:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda1 8:1 0 49G 0 part /
sda2 8:2 0 976M 0 part [SWAP]
Hiển Thị Đường Dẫn Thiết Bị
Tùy chọn --paths hiển thị đường dẫn đầy đủ của thiết bị thay vì chỉ tên thiết bị. Điều này hữu ích khi bạn cần tham chiếu các thiết bị trong script hoặc lệnh.
Chạy lệnh sau:
lsblk --paths
Đầu ra sẽ bao gồm đường dẫn đầy đủ của thiết bị:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/loop0 7:0 0 55.5M 1 loop /snap/core18/2128
/dev/loop1 7:1 0 55.4M 1 loop /snap/core18/2284
/dev/loop2 7:2 0 43.6M 1 loop /snap/snapd/15534
/dev/loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535
/dev/loop4 7:4 0 31.1M 1 loop /snap/snapd/16292
/dev/sda 8:0 0 50G 0 disk
├─/dev/sda1 8:1 0 49G 0 part /
└─/dev/sda2 8:2 0 976M 0 part [SWAP]
Hiển Thị Đầu Ra ở Định Dạng JSON
Tùy chọn --json xuất thông tin ở định dạng JSON, hữu ích cho việc xử lý theo chương trình hoặc khi tích hợp với các công cụ khác.
Chạy lệnh sau:
lsblk --json
Đầu ra sẽ ở định dạng JSON:
{
"blockdevices": [
{
"name": "loop0",
"maj:min": "7:0",
"rm": false,
"size": "55.5M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/core18/2128"
},
{
"name": "loop1",
"maj:min": "7:1",
"rm": false,
"size": "55.4M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/core18/2284"
},
{
"name": "loop2",
"maj:min": "7:2",
"rm": false,
"size": "43.6M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/snapd/15534"
},
{
"name": "loop3",
"maj:min": "7:3",
"rm": false,
"size": "61.9M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/gtk-common-themes/1535"
},
{
"name": "loop4",
"maj:min": "7:4",
"rm": false,
"size": "31.1M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/snapd/16292"
},
{
"name": "sda",
"maj:min": "8:0",
"rm": false,
"size": "50G",
"ro": false,
"type": "disk",
"children": [
{
"name": "sda1",
"maj:min": "8:1",
"rm": false,
"size": "49G",
"ro": false,
"type": "part",
"mountpoint": "/"
},
{
"name": "sda2",
"maj:min": "8:2",
"rm": false,
"size": "976M",
"ro": false,
"type": "part",
"mountpoint": "[SWAP]"
}
]
}
]
}
Kết Hợp Các Tùy Chọn để Kiểm Soát Chính Xác
Bạn có thể kết hợp nhiều tùy chọn để có được chính xác thông tin bạn cần. Ví dụ: để chỉ hiển thị các thiết bị ổ đĩa với đường dẫn đầy đủ của chúng ở định dạng JSON:
lsblk --type disk --paths --json
Đầu ra sẽ là biểu diễn JSON của chỉ các thiết bị ổ đĩa với đường dẫn đầy đủ của chúng:
{
"blockdevices": [
{
"name": "/dev/sda",
"maj:min": "8:0",
"rm": false,
"size": "50G",
"ro": false,
"type": "disk"
}
]
}
Các tùy chọn lọc này làm cho lệnh lsblk rất linh hoạt và cho phép bạn có được chính xác thông tin bạn cần về các thiết bị khối trên hệ thống của bạn.
Kết luận cho linux lsblk command
Tóm lại, lệnh lsblk là một công cụ vô cùng hữu ích để bạn nắm bắt thông tin về các thiết bị lưu trữ trong hệ thống Linux của mình. Nó giúp bạn dễ dàng xác định ổ cứng, phân vùng, và các thiết bị lưu trữ khác một cách trực quan. Với linux lsblk command, bạn có thể nhanh chóng kiểm tra dung lượng, điểm gắn kết, và các thuộc tính quan trọng khác. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng lệnh này trong công việc hàng ngày. Hãy thử nghiệm với các tùy chọn khác nhau để khám phá thêm nhiều khả năng của nó. Chắc chắn rằng bạn sẽ thấy nó trở thành một phần không thể thiếu trong bộ công cụ quản lý hệ thống của mình. Chúc bạn thành công và có những trải nghiệm tuyệt vời với Linux!