Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh lsblk
của Linux, lệnh này hiển thị thông tin về tất cả các thiết bị khối khả dụng trên hệ thống của bạn. Thiết bị khối bao gồm ổ cứng, SSD, ổ USB và các phương tiện lưu trữ khác. Lệnh lsblk
trình bày thông tin này ở định dạng rõ ràng, giống như cây, giúp bạn dễ dàng hiểu mối quan hệ giữa các thiết bị lưu trữ khác nhau và các phân vùng của chúng.
Hiểu về các thiết bị lưu trữ là điều cần thiết cho bất kỳ ai làm việc với hệ thống Linux. Cho dù bạn cần xác định dung lượng lưu trữ khả dụng, kiểm tra kích thước phân vùng hay xác minh các điểm mount, lệnh lsblk
cung cấp một cách nhanh chóng và hiệu quả để thu thập thông tin này.
Đến cuối lab này, bạn sẽ có thể sử dụng lệnh lsblk
với nhiều tùy chọn khác nhau để có được thông tin chi tiết về các thiết bị lưu trữ trên hệ thống Linux của bạn.
Sử dụng cơ bản lệnh lsblk
Lệnh lsblk
là viết tắt của "list block devices" và được sử dụng để hiển thị thông tin về tất cả các thiết bị khối khả dụng trên hệ thống Linux của bạn. Thiết bị khối là các thiết bị lưu trữ như ổ cứng, SSD và ổ USB.
Hãy bắt đầu bằng cách chạy lệnh lsblk
cơ bản trong terminal:
-
Mở terminal nếu nó chưa mở.
-
Nhập lệnh sau và nhấn Enter:
lsblk
Bạn sẽ thấy đầu ra tương tự như sau:
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]
Đầu ra 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 sau:
NAME
: Tên thiết bịMAJ:MIN
: Số thiết bị chính và thiết bị phụRM
: Cờ removable (1 có nghĩa là removable, 0 có nghĩa là không removable)SIZE
: Kích thước của thiết bịRO
: Cờ read-only (1 có nghĩa là read-only, 0 có nghĩa là read-write)TYPE
: Loại thiết bị (disk, partition, loop, v.v.)MOUNTPOINT
: Nơi thiết bị được mount (nếu có)
Trong ví dụ trên, bạn có thể thấy:
- Một số thiết bị
loop
được sử dụng bởi các gói snap - Một thiết bị lưu trữ chính
sda
(là một ổ đĩa 50GB) - 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 không gian swap)
Cấu trúc giống như cây trong đầu ra 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 cả sda1
và sda2
đều là phân vùng của đĩa sda
.
Bây giờ bạn đã hiểu đầu ra 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, label, UUID và điểm mount. Điều này đặc biệt hữu ích khi bạn cần xác định các thiết bị theo UUID của chúng hoặc kiểm tra các loại hệ thống tệp nào đ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ỳ label hệ thống tệp nào đã được chỉ địnhUUID
: Universal Unique Identifier cho hệ thống tệp
Sử dụng tùy chọn -m để hiển thị thông tin chủ sở hữu và chế độ thiết bị
Tùy chọn -m
hiển thị quyền và thông tin 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
: Chủ sở hữu nhóm của 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 sẽ 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ó một đầu ra rõ ràng hơn, tập trung hơn.
Hãy chỉ hiển thị các cột tên, kích thước và điểm mount:
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 ở định dạng phù hợp nhất với nhu cầu của bạn.
Lọc cá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 của chúng bằng cách sử dụ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ị disk, 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ị partition, 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 các 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, rất hữu ích cho xử lý 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ị disk với đường dẫn đầy đủ của chúng ở định dạng JSON:
lsblk --type disk --paths --json
Đầu ra sẽ là một biểu diễn JSON của chỉ các thiết bị disk 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.
Sử dụng nâng cao lsblk cho các tình huống thực tế
Trong bước này, chúng ta sẽ khám phá các tình huống thực tế mà lệnh lsblk
chứng tỏ giá trị cho các tác vụ quản trị hệ thống và khắc phục sự cố.
Kiểm tra việc sử dụng đĩa và dung lượng khả dụng
Để kiểm tra việc sử dụng đĩa và dung lượng khả dụng, bạn có thể kết hợp lsblk
với tùy chọn -b
(để hiển thị kích thước bằng byte) và chọn các cột cụ thể:
lsblk -b -o NAME,SIZE,FSAVAIL,FSUSE%,MOUNTPOINT
Đầu ra sẽ hiển thị thông tin sử dụng đĩa:
NAME SIZE FSAVAIL FSUSE% MOUNTPOINT
loop0 58195968 0 - /snap/core18/2128
loop1 58130432 0 - /snap/core18/2284
loop2 45719552 0 - /snap/snapd/15534
loop3 64897024 0 - /snap/gtk-common-themes/1535
loop4 32604160 0 - /snap/snapd/16292
sda 53687091200 - -
├─sda1 52613349376 39128932352 26% /
└─sda2 1023410176 0 - [SWAP]
Các cột hiển thị:
SIZE
: Tổng kích thước tính bằng byteFSAVAIL
: Dung lượng khả dụng trên hệ thống tệpFSUSE%
: Phần trăm hệ thống tệp đã sử dụngMOUNTPOINT
: Nơi thiết bị được mount
Xác định ổ USB
Khi bạn cắm ổ USB, bạn có thể sử dụng lsblk
để nhanh chóng xác định nó bằng cách tìm kiếm các thiết bị removable:
lsblk -o NAME,SIZE,TYPE,RM,MOUNTPOINT
Trong đầu ra, hãy tìm các thiết bị có giá trị RM
(removable) là 1
:
NAME SIZE TYPE RM MOUNTPOINT
loop0 55.5M loop 0 /snap/core18/2128
loop1 55.4M loop 0 /snap/core18/2284
loop2 43.6M loop 0 /snap/snapd/15534
loop3 61.9M loop 0 /snap/gtk-common-themes/1535
loop4 31.1M loop 0 /snap/snapd/16292
sda 50G disk 0
├─sda1 49G part 0 /
└─sda2 976M part 0 [SWAP]
Nếu bạn có ổ USB được kết nối, nó thường sẽ hiển thị dưới dạng một đĩa bổ sung (chẳng hạn như sdb
) với giá trị RM
là 1
.
Tìm số serial của thiết bị
Đối với kiểm kê phần cứng hoặc khắc phục sự cố, bạn có thể cần tìm số serial của thiết bị. Lệnh lsblk
có thể hiển thị thông tin này:
lsblk -o NAME,SIZE,TYPE,SERIAL
Đầu ra sẽ bao gồm số serial cho các thiết bị cung cấp thông tin này:
NAME SIZE TYPE SERIAL
loop0 55.5M loop
loop1 55.4M loop
loop2 43.6M loop
loop3 61.9M loop
loop4 31.1M loop
sda 50G disk ABCD1234
├─sda1 49G part
└─sda2 976M part
Lưu ý rằng không phải tất cả các thiết bị đều báo cáo số serial và các thiết bị ảo như thiết bị loop thường không có số serial.
Phân tích thuộc tính hiệu suất đĩa
Để xem các thuộc tính hiệu suất đĩa, bạn có thể sử dụng tùy chọn --topology
hoặc -t
:
lsblk --topology
Đầu ra bao gồm thông tin topology như alignment và kích thước I/O tối ưu:
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
loop0 0 512 0 512 512 1 mq-deadline 256 128 0B
loop1 0 512 0 512 512 1 mq-deadline 256 128 0B
loop2 0 512 0 512 512 1 mq-deadline 256 128 0B
loop3 0 512 0 512 512 1 mq-deadline 256 128 0B
loop4 0 512 0 512 512 1 mq-deadline 256 128 0B
sda 0 512 0 512 512 1 mq-deadline 256 128 0B
├─sda1 0 512 0 512 512 1 mq-deadline 256 128 0B
└─sda2 0 512 0 512 512 1 mq-deadline 256 128 0B
Thông tin này có thể hữu ích cho việc điều chỉnh hiệu suất và khắc phục các sự cố liên quan đến I/O.
Những ví dụ thực tế này chứng minh tính linh hoạt của lệnh lsblk
cho các tác vụ quản trị hệ thống hàng ngày. Bằng cách nắm vững các kỹ thuật này, bạn có thể nhanh chóng thu thập thông tin quan trọng về các thiết bị lưu trữ trên hệ thống Linux của mình.
Tóm tắt
Trong lab này, chúng ta đã khám phá lệnh lsblk
của Linux, một công cụ mạnh mẽ để liệt kê và hiển thị thông tin về các thiết bị khối trên hệ thống của bạn. Chúng ta đã đề cập đến một số khía cạnh quan trọng của lệnh:
- Sử dụng cơ bản
lsblk
để hiển thị danh sách dạng cây của tất cả các thiết bị khối - Cách hiển thị thông tin bổ sung bao gồm chi tiết hệ thống tệp, chủ sở hữu/quyền và lựa chọn cột tùy chỉnh
- Các kỹ thuật lọc để tập trung vào các loại thiết bị cụ thể hoặc định dạng hiển thị
- Các tình huống sử dụng nâng cao cho các tác vụ quản trị hệ thống
Lệnh lsblk
là một công cụ thiết yếu cho các systemadmin Linux và người dùng cần quản lý các thiết bị lưu trữ. Các tùy chọn linh hoạt của nó cho phép bạn nhanh chóng có được thông tin chính xác mà bạn cần về đĩa, phân vùng và các thiết bị khối khác trên hệ thống của bạn.
Bằng cách nắm vững lệnh lsblk
, bạn có thể hiệu quả hơn trong việc:
- Xác định và quản lý các thiết bị lưu trữ
- Giám sát việc sử dụng đĩa và dung lượng khả dụng
- Khắc phục các sự cố liên quan đến lưu trữ
- Ghi lại cấu hình lưu trữ của hệ thống của bạn
Những kỹ năng này tạo thành một nền tảng quan trọng cho các tác vụ quản trị hệ thống Linux nâng cao hơn liên quan đến quản lý lưu trữ.