8 lệnh hữu ích để liệt kê ổ đĩa trong Linux

Tác giả: VPS chính hãng 31 tháng 12, 2023

Đĩa cứng là thành phần chính của hệ thống để lưu trữ dữ liệu vĩnh viễn. Bạn có thể cài đặt một hoặc nhiều đĩa để lưu trữ dữ liệu và một số lệnh được sử dụng để liệt kê chi tiết đĩa và phân vùng đĩa trên máy tính của bạn. Đối với người quản trị hệ thống, việc kiểm tra xem các ổ đĩa có hoạt động bình thường hay không là một mối quan tâm lớn. Trong nhiều trường hợp, bạn sẽ phải liệt kê tất cả các ổ đĩa có sẵn trên máy tính của mình cùng với kích thước của chúng để đảm bảo rằng chúng không bị hết dung lượng. Nếu chúng hết dung lượng, về cơ bản, máy chủ của bạn có thể ngừng hoạt động, ngăn tất cả người dùng truy cập vào nó. Trong hướng dẫn này, chúng ta sẽ xem các lệnh có thể dễ dàng giúp bạn liệt kê các ổ đĩa có sẵn trên máy Linux của mình. 

Điều kiện để có thể thực hiện các lệnh liệt kê ổ đĩa trong Linux

Đối với một số lệnh được sử dụng trong hướng dẫn này, ngoài trang bị một máy chủ Linux hoặc có thể mua VPS Linux, bạn sẽ cần có quyền quản trị viên để có được đầu ra đầy đủ của lệnh. Để kiểm tra xem bạn có quyền sudo hay không, bạn có thể thực thi lệnh “sudo” bằng “-l”:

$ sudo -l

Nếu bạn thấy các mục trùng khớp, điều đó có nghĩa bạn là tài khoản đặc quyền trên máy này.

Kiểm tra đặc quyền sudo để liệt kê ổ đĩa trong Linux

Kiểm tra đặc quyền sudo để liệt kê ổ đĩa trong Linux

8 lệnh hữu ích để liệt kê các ổ đĩa trong Linux

1. lsblk

lsblk (list block devices) được sử dụng để liệt kê thông tin của tất cả các thiết bị khối có sẵn, chẳng hạn như đĩa cứng và ổ đĩa flash. Chỉ cần gõ lệnh lsblk sẽ liệt kê tất cả các thiết bị khối ở dạng cây. Đây là một cách tiện dụng và đơn giản để liệt kê các đĩa.

lsblk

Output:

sda      8:0    0 238.5G  0 disk 
 ├─sda1   8:1    0   529M  0 part 
 ├─sda2   8:2    0   100M  0 part /boot/efi
 ├─sda3   8:3    0    16M  0 part 
 ├─sda4   8:4    0 165.8G  0 part 
 ├─sda5   8:5    0    70G  0 part /
 └─sda6   8:6    0     2G  0 part [SWAP]
 zram0  252:0    0     8G  0 disk [SWAP]

2. df -h

Lệnh df được sử dụng để liệt kê toàn bộ dung lượng ổ đĩa có sẵn. Lệnh df mặc định in tên thiết bị, tổng số khối, dung lượng ổ đĩa đã sử dụng, dung lượng đĩa trống, phần trăm dung lượng đã sử dụng, điểm gắn kết hệ thống tệp và cũng in các hệ thống tệp được gắn từ xa như NFS. Lệnh df -h liệt kê dung lượng trống của tất cả các đĩa ở dạng người có thể đọc được.

sudo df -h

Output:

Filesystem      Size  Used Avail Use% Mounted on
 devtmpfs        5.8G     0  5.8G   0% /dev
 tmpfs           5.8G   90M  5.7G   2% /dev/shm
 tmpfs           2.4G   11M  2.4G   1% /run
 tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
 /dev/sda5        69G   62G  3.1G  96% /
 tmpfs           5.8G  4.7M  5.8G   1% /tmp
/dev/sda2        96M   41M   56M  43% /boot/efi
 tmpfs           1.2G  200K  1.2G   1% /run/user/1000

Một lệnh thay thế cho df -h là findmnt –df cho kết quả tương tự.

3. fdisk -l

Lệnh fdisk là một tiện ích dựa trên văn bản được sử dụng để quản lý các phân vùng đĩa. Sử dụng fdisk bạn có thể liệt kê các phân vùng đĩa, tạo phân vùng mới, xóa phân vùng đĩa cứng hiện có và xem kích thước của phân vùng. Sử dụng fdisk -l để xem tất cả các phân vùng đĩa có sẵn:

sudo fdisk -l

Output:


Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: SK hynix SC300B
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4
Device Start End Sectors Size Type
/dev/sda1 2048 1085439 1083392 529M Windows recovery environment
/dev/sda2 1085440 1290239 204800 100M EFI System
/dev/sda3 1290240 1323007 32768 16M Microsoft reserved
/dev/sda4 1323008 349122559 347799552 165.8G Microsoft basic data
/dev/sda5 349122560 495923199 146800640 70G Linux filesystem
/dev/sda6 495923200 500117503 4194304 2G Linux swap
Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/loop0: 207.15 MiB, 217214976 bytes, 424248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 99.18 MiB, 103993344 bytes, 203112 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

4. parted  -l

Parted là một công cụ hữu ích và mạnh mẽ được sử dụng để quản lý các phân vùng đĩa cứng từ dòng lệnh như danh sách, tạo, thu nhỏ, xóa, tìm và cứu các phân vùng đĩa. Với lệnh parted bạn có thể dễ dàng quản lý tất cả các phân vùng đĩa cứng. Lệnh parted -l sẽ liệt kê bố cục phân vùng đĩa trên tất cả các thiết bị khối:

sudo parted -l

Output:

Model: ATA SK hynix SC300B (scsi)
 Disk /dev/sda: 256GB
 Sector size (logical/physical): 512B/4096B
 Partition Table: gpt
 Disk Flags: 
 Number  Start   End    Size    File system     Name                          Flags
  1      1049kB  556MB  555MB   ntfs            Basic data partition          hidden, diag
  2      556MB   661MB  105MB   fat32           EFI System Partition          boot, esp
  3      661MB   677MB  16.8MB                  Microsoft reserved partition  msftres
  4      677MB   179GB  178GB   ntfs            Basic data partition          msftdata
  5      179GB   254GB  75.2GB  ext4
  6      254GB   256GB  2147MB  linux-swap(v1)                                swap
 Model: Unknown (unknown)
 Disk /dev/zram0: 8590MB
 Sector size (logical/physical): 4096B/4096B
 Partition Table: loop
 Disk Flags: 
 Number  Start  End     Size    File system     Flags
  1      0.00B  8590MB  8590MB  linux-swap(v1)

5. cfdisk

Cfdisk hơi khác so với các lệnh trên, nó cung cấp chế độ xem đồ họa trong giao diện đầu cuối dựa trên văn bản để quản lý đĩa. Sử dụng cfdisk bạn có thể liệt kê, tạo, xóa và sửa đổi các phân vùng trên thiết bị đĩa:

sudo cfdisk

Output:

                                            Disk: /dev/sda                        Size: 238.47 GiB, 256060514304 bytes, 500118192 sectors                      Label: gpt, identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4 Device                   Start            End        Sectors        Size Type
        /dev/sda1                 2048        1085439        1083392        529M Windows recovery environment     
         /dev/sda2              1085440        1290239         204800        100M EFI System
         /dev/sda3              1290240        1323007          32768         16M Microsoft reserved
         /dev/sda4              1323008    349122559      347799552      165.8G Microsoft basic data
         /dev/sda5            349122560    495923199      146800640         70G Linux filesystem
         /dev/sda6            495923200    500117503        4194304          2G Linux swap    
 ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │  Partition name: Basic data partition                                                                    │
  │  Partition UUID: E73F9719-F144-42A8-87BC-862FB470828B                                                    │
  │  Partition type: Windows recovery environment (DE94BBA4-06D1-4D40-A16A-BFD50179D6AC)                     │
  │    Attributes: RequiredPartition                                                                       │
  │ Filesystem UUID: 8C0A62C30A62A9C2                                                                        │
  │Filesystem LABEL: Recovery                                                                                │
  │    Filesystem: ntfs                                                                                    │
  └──────────────────────────────────────────────────────────────────────────────────────────────────────────┘
               [ Delete ]  [ Resize ]  [  Quit  ]  [  Type  ]  [  Help  ]  [  Write ]  [  Dump  ]
Lệnh cfdisk có thể thực hiện đa dạng chức năng trên các phân vùng đĩa

Lệnh cfdisk có thể thực hiện đa dạng chức năng trên các phân vùng đĩa

6. sfdisk -l

Sfdisk là một trình soạn thảo bảng phân vùng. Nó có thể liệt kê các phân vùng trên thiết bị, liệt kê kích thước của phân vùng, kiểm tra các phân vùng trên thiết bị và chuẩn bị thiết bị. Nó không được thiết kế cho các phân vùng lớn.sfdisk -l sẽ liệt kê các phân vùng của đĩa:

sudo sfdisk -l

Output:

Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors
 Disk model: SK hynix SC300B 
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 4096 bytes
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes
 Disklabel type: gpt
 Disk identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4
 Device         Start       End   Sectors   Size Type
 /dev/sda1       2048   1085439   1083392   529M Windows recovery environment
 /dev/sda2    1085440   1290239    204800   100M EFI System
 /dev/sda3    1290240   1323007     32768    16M Microsoft reserved
 /dev/sda4    1323008 349122559 347799552 165.8G Microsoft basic data
 /dev/sda5  349122560 495923199 146800640    70G Linux filesystem
 /dev/sda6  495923200 500117503   4194304     2G Linux swap
 Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors
 Units: sectors of 1 * 4096 = 4096 bytes
 Sector size (logical/physical): 4096 bytes / 4096 bytes
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes
 Disk /dev/loop0: 207.15 MiB, 217214976 bytes, 424248 sectors
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk /dev/loop1: 99.18 MiB, 103993344 bytes, 203112 sectors
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes

7. ls -l /dev/disk/by-id

Lệnh ls là một lệnh rất đơn giản nhưng mạnh mẽ được sử dụng để liệt kê các tập tin và thư mục. Chúng ta có thể liệt kê các đĩa bằng cách liệt kê thư mục /dev/disk/by-id.

ls -l /dev/disk/by-id

Output:

 total 0
 lrwxrwxrwx 1 root root  9 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9 -> ../../sda
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part1 -> ../../sda1
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part2 -> ../../sda2
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part3 -> ../../sda3
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part4 -> ../../sda4
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part5 -> ../../sda5
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part6 -> ../../sda6
 lrwxrwxrwx 1 root root  9 Jun 20 23:26 wwn-0x5ace42e0900dd482 -> ../../sda
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part1 -> ../../sda1
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part2 -> ../../sda2
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part3 -> ../../sda3
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part4 -> ../../sda4
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part5 -> ../../sda5
 lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part6 -> ../../sda6

=>> Lệnh lsusb trong Linux (Hiển thị chi tiết thiết bị USB)

8. lshw

lshw là một công cụ Linux được sử dụng để tạo thông tin chi tiết về cấu hình phần cứng của hệ thống. Sử dụng -class disk để liệt kê thông tin đĩa.

sudo lshw -class disk

Output:

   *-disk                    
        description: ATA Disk
        product: SK hynix SC300B
        physical id: 0.0.0
        bus info: scsi@1:0.0.0
        logical name: /dev/sda
        version: 0P00
        serial: FI68N023911308NC9
        size: 238GiB (256GB)
        capabilities: gpt-1.00 partitioned partitioned:gpt
        configuration: ansiversion=5 guid=ff57c955-d98a-49c4-b1ed-835a44f2a0a4 logicalsectorsize=512 sectorsize=4096

Ngoài ra, có thể xuất đĩa -class dưới dạng -json hoặc -html hoặc -xml.

sudo lshw -class disk -json

Output:

 {
     "id" : "disk",
     "class" : "disk",
     "claimed" : true,
     "handle" : "GUID:ff57c955-d98a-49c4-b1ed-835a44f2a0a4",
     "description" : "ATA Disk",
     "product" : "SK hynix SC300B",
     "physid" : "0.0.0",
     "businfo" : "scsi@1:0.0.0",
     "logicalname" : "/dev/sda",
     "dev" : "8:0",
     "version" : "0P00",
     "serial" : "FI68N023911308NC9",
     "units" : "bytes",
     "size" : 256060514304,
     "configuration" : {
       "ansiversion" : "5",
       "guid" : "ff57c955-d98a-49c4-b1ed-835a44f2a0a4",
       "logicalsectorsize" : "512",
       "sectorsize" : "4096"
     },
     "capabilities" : {
       "gpt-1.00" : "GUID Partition Table version 1.00",
       "partitioned" : "Partitioned disk",
       "partitioned:gpt" : "GUID partition table"
     },
     "children" : [
 ]
 }

Trong hướng dẫn này, chúng tôi đã chia sẻ tới các bạn cách liệt kê các ổ đĩa trong Linux bằng 8 lệnh hữu ích. Đối với tất cả các lệnh, ngoại trừ lsblk và ls -l dev/disk, thì cần có quyền truy cập root hoặc quyền siêu người dùng để chạy các lệnh trên. Liên hệ VPS Chính hãng để tìm hiểu thêm về VPS và nhận những ưu đãi hấp dẫn dịp cuối năm khi đăng ký các gói dịch vụ lưu trữ tại đây. Cảm ơn đã theo dõi bài viết!