Trong thế giới Linux, việc quản lý không gian lưu trữ hiệu quả là một kỹ năng then chốt đối với bất kỳ người dùng hay quản trị viên hệ thống nào. Dù bạn đang cài đặt Linux trên một hệ thống mới, thêm ổ cứng (HDD) hay ổ SSD, hoặc đơn giản là muốn tối ưu hóa hiệu suất, việc nắm vững các lệnh quản lý ổ đĩa Linux là điều không thể thiếu. Những công cụ dòng lệnh mạnh mẽ này giúp bạn kiểm soát hoàn toàn các thiết bị lưu trữ, từ việc kiểm tra dung lượng trống cho đến phân vùng và định dạng ổ đĩa một cách chuyên nghiệp.
Bài viết này của tinhoccongnghe.net sẽ đi sâu vào 10 lệnh và tiện ích quản lý ổ đĩa hàng đầu trên Linux, cung cấp hướng dẫn chi tiết về cách sử dụng, công dụng và các lưu ý quan trọng. Hãy cùng khám phá để biến bạn thành một chuyên gia thực thụ trong việc điều khiển không gian lưu trữ trên hệ điều hành Linux của mình, từ đó nâng cao hiệu quả công việc và giải quyết mọi vấn đề liên quan đến đĩa một cách nhanh chóng.
1. df: Kiểm Tra Dung Lượng Đĩa Trống
Lệnh df
(disk free) là một công cụ cơ bản và thiết yếu để xem dung lượng trống còn lại trên các hệ thống tệp đã được gắn kết (mounted filesystems). Nó cung cấp cái nhìn tổng quan nhanh chóng về việc sử dụng không gian đĩa trên toàn bộ hệ thống của bạn.
Để xem không gian trống của tất cả các thiết bị đã gắn kết, bạn chỉ cần chạy lệnh df
không đối số:
df
Bạn cũng có thể chỉ định một đường dẫn làm đối số để xem dung lượng trống của thiết bị mà đường dẫn đó đang được gắn kết. Ví dụ, để xem không gian trống của thư mục gốc (/
):
df /
Mặc định, df
báo cáo kích thước theo đơn vị khối (blocks), có thể khó hiểu. Để có kết quả “dễ đọc” hơn, bạn nên sử dụng tùy chọn -h
(human-readable), hiển thị kích thước theo các đơn vị quen thuộc như Gigabyte (GB) hoặc Megabyte (MB).
df -h
Kết quả lệnh df -h trên terminal Linux hiển thị dung lượng đĩa trống
Lệnh df -h
là một cách kiểm tra dung lượng đĩa Linux nhanh chóng và hiệu quả, giúp bạn dễ dàng theo dõi tài nguyên lưu trữ của mình.
Các ổ đĩa được đặt trên mặt bàn, tượng trưng cho không gian lưu trữ
2. du: Phân Tích Dung Lượng Tệp và Thư Mục
Khác với df
báo cáo không gian trống, lệnh du
(disk usage) dùng để báo cáo dung lượng mà các tệp và thư mục chiếm dụng. Khi không có đối số, nó sẽ liệt kê dung lượng của các tệp và thư mục con trong thư mục hiện hành một cách đệ quy. Điều này đặc biệt hữu ích khi bạn cần tìm các tệp lớn trong Linux hoặc xác định thư mục nào đang chiếm nhiều không gian nhất.
du
du
hoạt động đệ quy, nghĩa là nếu một mục được liệt kê là thư mục, du
sẽ tiếp tục liệt kê các tệp và thư mục con bên trong nó. Trên hầu hết các hệ thống Linux có nhiều thư mục lồng nhau, du
có thể tạo ra rất nhiều đầu ra.
Tương tự như df
, du
mặc định báo cáo kích thước theo khối. Để có kết quả dễ đọc, bạn nên sử dụng tùy chọn -h
:
du -h
Để giới hạn số lượng đầu ra và chỉ hiển thị các cấp độ nhất định, bạn có thể kết hợp du -h
với các lệnh khác như head
hoặc max-depth
. Ví dụ, để xem 10 mục lớn nhất:
du -h | head
Kết quả lệnh du -h được truyền vào tiện ích head trong terminal Linux, hiển thị dung lượng tệp
Lệnh du
là công cụ lý tưởng để phân tích không gian đĩa Linux và quản lý các tài nguyên lưu trữ một cách chi tiết.
Ổ cứng HDD được kết nối với bộ chuyển đổi USB trên bề mặt gỗ
3. fdisk: Công Cụ Phân Vùng Ổ Đĩa Cổ Điển
fdisk
là một trong những công cụ cơ bản và lâu đời nhất để phân vùng ổ đĩa trên Linux. Nó là một phần không thể thiếu trong quá trình cài đặt Linux, nơi bạn cần tạo các phân vùng cho hệ thống gốc và phân vùng swap.
Bạn có thể sử dụng fdisk
khi cài đặt các bản phân phối Linux mang tính kỹ thuật cao như Arch Linux, hoặc khi bạn muốn phân vùng một ổ đĩa ngoài, ổ đĩa bổ sung, hay thậm chí một USB cứu hộ.
Để bắt đầu với fdisk
, bạn cần chỉ định thiết bị cần phân vùng, ví dụ: /dev/sda
:
sudo fdisk /dev/sda
Khi đã vào giao diện fdisk
, bạn có thể sử dụng các lệnh nội bộ như p
để in bảng phân vùng hiện tại, n
để tạo phân vùng mới, d
để xóa phân vùng, và w
để ghi các thay đổi vào đĩa.
Cảnh báo quan trọng: Tuyệt đối không sử dụng fdisk
để phân vùng lại một ổ đĩa đang được gắn kết (mounted drive). Hành động này có thể dẫn đến mất dữ liệu nghiêm trọng.
Lệnh fdisk trong Linux hiển thị bảng phân vùng ổ cứng trên terminal
4. GNU Parted: Phân Vùng Đĩa Thân Thiện và Nâng Cao
GNU Parted là một công cụ phân vùng đĩa Linux khác được phát triển bởi dự án GNU, mang lại sự thân thiện hơn với người dùng so với fdisk
. Parted
được thiết kế để giúp ngăn chặn các thao tác nguy hiểm có thể gây mất dữ liệu và có giao diện lệnh dễ hiểu hơn.
Parted
hỗ trợ nhiều loại bảng phân vùng (như GPT, MBR) và hệ thống tệp khác nhau, cho phép bạn thực hiện các thao tác như tạo, xóa, thay đổi kích thước, di chuyển và sao chép phân vùng.
Để chạy parted
, bạn thực hiện lệnh sau, thay thế “X” bằng tên thiết bị mà bạn muốn phân vùng (ví dụ: sda
, sdb
):
sudo parted /dev/sdaX
Tương tự như fdisk
, bạn nên tránh phân vùng một thiết bị đang được gắn kết để tránh rủi ro mất dữ liệu. Parted
cung cấp các lệnh nội bộ như print
để xem thông tin phân vùng, mkpart
để tạo phân vùng mới, rm
để xóa, và quit
để thoát.
GNU Parted hiển thị bảng phân vùng ổ đĩa trong terminal Linux
5. swapon và swapoff: Quản Lý Phân Vùng Swap
swapon
và swapoff
là các lệnh dùng để kích hoạt và hủy kích hoạt các thiết bị đã được cấu hình làm phân vùng swap. “Swapping” là một cơ chế nơi hệ điều hành sử dụng một phần ổ đĩa (thường là ổ cứng) để tạm thời lưu trữ các phần của bộ nhớ làm việc (RAM). Điều này cho phép máy tính sử dụng nhiều RAM hơn mức vật lý có sẵn, mặc dù có thể ảnh hưởng đến hiệu suất. Các khối bộ nhớ được gọi là “pages” được “swap out” (sao chép từ RAM sang phân vùng swap) hoặc “swap in” (sao chép ngược lại vào RAM) khi cần thiết.
Thông thường, các bản phân phối Linux tự động quản lý phân vùng swap. Tuy nhiên, nếu bạn đang sử dụng các bản phân phối kỹ thuật như Arch Linux hoặc Gentoo, hoặc khi bạn thêm một ổ đĩa mới, bạn có thể cần phải kích hoạt swap thủ công.
Để kích hoạt một thiết bị swap, sử dụng swapon
:
sudo swapon /dev/sdX
Để hủy kích hoạt một thiết bị swap:
sudo swapoff /dev/sdX
Một thanh RAM đặt trên bàn, biểu tượng cho bộ nhớ hệ thống
Bạn có thể sử dụng tùy chọn -a
để kích hoạt hoặc hủy kích hoạt tất cả các phân vùng swap đã được định nghĩa trong /etc/fstab
.
sudo swapon -a
swapon
và swapoff
là các lệnh quản lý swap Linux quan trọng để tối ưu hóa việc sử dụng bộ nhớ hệ thống.
Kết quả lệnh swapoff trong terminal Linux, cho biết phân vùng swap đã được tắt
6. cfdisk: Giao Diện Phân Vùng Dựa Trên Văn Bản (TUI)
cfdisk
là một nỗ lực khác nhằm tạo ra một phiên bản thân thiện hơn của fdisk
. Điểm khác biệt chính của cfdisk
là nó chạy trong giao diện người dùng văn bản (Text User Interface – TUI), còn được gọi là giao diện “curses”. Nó tương tự như các chương trình toàn màn hình khác như Vim.
Thay vì sử dụng các lệnh bí ẩn, bạn điều hướng qua các menu để liệt kê các phân vùng và tạo các phân vùng mới một cách trực quan hơn. cfdisk
là một giải pháp nhẹ và hiệu quả, không yêu cầu giao diện đồ họa như GParted.
Để chạy cfdisk
, bạn cần chỉ định thiết bị:
sudo cfdisk /dev/sda
Trong cfdisk
, bạn có thể sử dụng các phím mũi tên để di chuyển giữa các tùy chọn và phím Enter để chọn. Các chức năng cơ bản như tạo phân vùng mới, xóa, thay đổi loại và ghi thay đổi đều có sẵn trong menu.
Cảnh báo: Cũng như fdisk
và parted
, bạn nên tránh cố gắng phân vùng lại một ổ đĩa đang được gắn kết. cfdisk
sẽ hiển thị một thông báo lỗi màu đỏ nếu bạn cố gắng làm như vậy, nhằm bảo vệ dữ liệu của bạn.
Màn hình cfdisk trong terminal Linux hiển thị giao diện phân vùng thân thiện
7. mkfs: Định Dạng và Tạo Hệ Thống Tệp
Sau khi bạn đã tạo các phân vùng trên ổ đĩa, chúng sẽ vô dụng cho đến khi bạn định dạng chúng với một hệ thống tệp. Hệ thống tệp xác định cách các tệp thực sự sẽ được lưu trữ trên ổ đĩa. Đây là lúc lệnh mkfs
(make filesystem) phát huy tác dụng. Nó sẽ thiết lập cấu trúc hệ thống tệp trên phân vùng đã chọn.
Trong hầu hết các trường hợp, chương trình cài đặt Linux sẽ tự động thực hiện việc này. Tuy nhiên, nếu bạn đang sử dụng một bản phân phối kỹ thuật hơn như Arch Linux hoặc đã thêm một ổ đĩa mới vào hệ thống, bạn sẽ cần sử dụng mkfs
thủ công.
Có nhiều hệ thống tệp khác nhau mà bạn có thể sử dụng, nhưng Ext4 là một trong những lựa chọn phổ biến nhất vì nó được hỗ trợ rộng rãi và đáng tin cậy. Để thiết lập một phân vùng Ext4 mới, bạn sử dụng mkfs.ext4
:
sudo mkfs.ext4 /dev/sdaX
Thay “X” bằng số hiệu phân vùng bạn muốn định dạng (ví dụ: /dev/sda1
). Cực kỳ cẩn thận khi sử dụng lệnh này, vì nó sẽ xóa toàn bộ dữ liệu trên phân vùng được chỉ định.
Môi trường cài đặt Arch Linux với kết quả lệnh mkfs.ext4, định dạng phân vùng
mkfs
là một lệnh định dạng ổ đĩa Linux quan trọng, chuẩn bị phân vùng sẵn sàng cho việc lưu trữ dữ liệu.
8. Các Tiện Ích Hệ Thống Tệp (Filesystem Utilities)
mkfs
là một ví dụ điển hình về các tiện ích đĩa đi kèm với các hệ thống tệp cụ thể. Đây là những công cụ được thiết kế để hoạt động với các hệ thống tệp riêng biệt chứ không phải với toàn bộ Linux.
Một ví dụ điển hình là e2fsprogs
, một bộ tiện ích được thiết kế cho họ hệ thống tệp Extended Filesystem, trong đó Ext4 là phiên bản mới nhất.
Hầu hết các tiện ích đi kèm với e2fsprogs
chủ yếu dành cho các nhà phát triển và người bảo trì bản phân phối. Tuy nhiên, có một tiện ích mà bạn có thể gặp là fsck
(file system consistency check), phát âm là “fisk”. fsck
chạy khi khởi động và kiểm tra xem hệ thống đã tắt sạch sẽ hay chưa. Nếu hệ thống không tắt đúng cách (ví dụ: mất điện đột ngột), nó sẽ cố gắng đưa hệ thống tệp trở lại trạng thái nhất quán. May mắn thay, trên các hệ thống hiện đại, quá trình này diễn ra nhanh chóng nhờ việc sử dụng journal để theo dõi các thay đổi đối với hệ thống tệp.
Bạn có thể chạy fsck
thủ công trên một phân vùng chưa được gắn kết để kiểm tra và sửa lỗi:
sudo fsck /dev/sdaX
Các hệ thống tệp khác cũng có fsck
và các tiện ích tương tự, chẳng hạn như xfs_repair
cho XFS hoặc btrfs check
cho Btrfs.
fsck
là một công cụ sửa lỗi hệ thống tệp Linux mạnh mẽ giúp đảm bảo tính toàn vẹn dữ liệu.
9. sfdisk: Công Cụ Phân Vùng Tự Động Hóa (Scripting)
sfdisk là một công cụ tương tự như các tiện ích phân vùng đĩa khác mà bạn đã thấy. Tuy nhiên, một điểm khác biệt chính của sfdisk
là nó được thiết kế để sử dụng trong các script. Các nhà phát triển bản phân phối có thể sử dụng nó để tự động hóa việc tạo phân vùng, nhưng nếu bạn thường xuyên thêm và loại bỏ ổ đĩa, bạn cũng có thể tự mình sử dụng nó để tự động hóa việc phân vùng lại đĩa.
sfdisk
cho phép bạn xuất và nhập bảng phân vùng dưới dạng một tệp văn bản, giúp dễ dàng sao lưu hoặc triển khai lại cấu hình phân vùng.
Để hiển thị bảng phân vùng:
sudo sfdisk -l /dev/sda
Để sao lưu bảng phân vùng:
sudo sfdisk -d /dev/sda > sda.bak
Và để khôi phục (cực kỳ cẩn thận):
sudo sfdisk /dev/sda < sda.bak
Cũng như các công cụ phân vùng khác, đây là một lệnh mà bạn không muốn sử dụng trên một hệ thống tệp đã được gắn kết. Chương trình sẽ tự động hủy bỏ với một thông báo lỗi màu đỏ tươi nếu bạn cố gắng làm như vậy.
sfdisk liệt kê các phân vùng trong terminal Linux, minh họa khả năng tự động hóa
sfdisk
là một lệnh tự động hóa phân vùng Linux cực kỳ hữu ích cho các tác vụ lặp đi lặp lại hoặc triển khai hàng loạt.
10. partprobe: Cập Nhật Thông Tin Phân Vùng Cho Kernel
partprobe
là một tiện ích thông báo cho kernel Linux về những thay đổi đối với bảng phân vùng. Nếu bạn đã sử dụng một trong các công cụ phân vùng được đề cập trước đó (như fdisk
, parted
, cfdisk
, sfdisk
) để thay đổi cấu trúc phân vùng của ổ đĩa, kernel có thể chưa được thông báo về những thay đổi này.
Trong nhiều trường hợp, bản phân phối của bạn sẽ tự động xử lý chi tiết này. Tuy nhiên, nếu bạn đã thực hiện các thay đổi thủ công đối với ổ đĩa hoặc phân vùng của mình, bạn có thể sử dụng công cụ này để cập nhật kernel đang chạy mà không cần phải khởi động lại hệ thống. Điều này đặc biệt hữu ích khi bạn muốn kernel nhận diện ngay lập tức một phân vùng mới hoặc đã sửa đổi.
Để chạy partprobe
trên một thiết bị cụ thể:
sudo partprobe /dev/sda
Hoặc để cập nhật tất cả các thiết bị:
sudo partprobe
Lệnh này thường không có nhiều đầu ra. Trong Linux, việc một chương trình không hiển thị gì sau khi chạy thường là dấu hiệu cho thấy nó đã thực hiện công việc của mình một cách thành công. partprobe
là một lệnh cập nhật kernel Linux cho thông tin phân vùng, đảm bảo hệ thống hoạt động chính xác sau khi thay đổi đĩa.
Kết Luận
Việc nắm vững 10 lệnh và công cụ quản lý ổ đĩa Linux mà tinhoccongnghe.net đã trình bày là chìa khóa để bạn kiểm soát hoàn toàn hệ thống lưu trữ của mình. Từ việc giám sát không gian đĩa với df
và du
, đến phân vùng chi tiết bằng fdisk
, parted
, cfdisk
và sfdisk
, hay quản lý phân vùng swap với swapon
/swapoff
và định dạng hệ thống tệp với mkfs
, mỗi công cụ đều đóng một vai trò quan trọng trong việc duy trì và tối ưu hóa hiệu suất hệ thống Linux của bạn.
Hãy luôn ghi nhớ tầm quan trọng của việc thực hành cẩn thận và sao lưu dữ liệu trước khi thực hiện bất kỳ thay đổi nào liên quan đến phân vùng. Với kiến thức và kinh nghiệm từ bài viết này, bạn sẽ tự tin hơn trong việc xử lý mọi tác vụ quản lý ổ đĩa, biến mình thành một chuyên gia thực thụ.
Bạn đã sử dụng những lệnh nào để quản lý ổ đĩa trên Linux? Hãy chia sẻ kinh nghiệm hoặc bất kỳ câu hỏi nào của bạn trong phần bình luận bên dưới. Đừng quên khám phá thêm các bài viết hữu ích khác về công nghệ và Linux tại tinhoccongnghe.net để nâng cao kiến thức của mình!