Trong thế giới của Linux, việc quản lý ổ đĩa là một kỹ năng cốt lõi, dù bạn đang cài đặt hệ điều hành trên một máy chủ mới hay thêm dung lượng lưu trữ cho một hệ thống hiện có. Các công cụ và lệnh dòng lệnh mạnh mẽ không chỉ giúp bạn kiểm soát hoàn toàn ổ cứng (HDD) và ổ thể rắn (SSD), mà còn đảm bảo hiệu suất và độ tin cậy của hệ thống. Bài viết này sẽ đi sâu vào 11 lệnh quản lý ổ đĩa Linux thiết yếu, giúp bạn thành thạo mọi khía cạnh từ kiểm tra không gian trống đến phân vùng và định dạng.
1. df: Kiểm Tra Dung Lượng Đĩa Trống
Lệnh df
(disk free) là công cụ đầu tiên và cơ bản nhất để kiểm tra dung lượng trống trên các thiết bị lưu trữ đã được mount. Khi chạy df
không đối số, nó sẽ hiển thị không gian khả dụng của tất cả các thiết bị đang được gắn kết.
Để xem không gian trống của thiết bị mà một thư mục cụ thể được mount, bạn chỉ cần chỉ định đường dẫn:
df /
Mặc định, df
báo cáo kích thước theo khối (blocks), đơn vị này có thể khác nhau tùy hệ thống. Để có đầu ra dễ đọc hơn, sử dụng tùy chọn -h
(human-readable), hiển thị dung lượng theo GB, MB, giúp bạn dễ dàng nắm bắt thông tin.
Ổ cứng và SSD trên bàn, minh họa các thiết bị lưu trữ.
2. du: Xem Dung Lượng Tệp và Thư Mục
Lệnh du
(disk usage) tương tự như df
nhưng tập trung vào việc báo cáo dung lượng mà các tệp và thư mục chiếm dụng trong một đường dẫn cụ thể. Nếu không có đối số, nó sẽ liệt kê các tệp trong thư mục hiện hành, rất hữu ích để xác định các tệp và thư mục lớn đang chiếm dụng nhiều không gian.
Ổ cứng ngoài kết nối qua bộ chuyển đổi USB trên bề mặt gỗ.
du
hoạt động đệ quy, tức là nó sẽ liệt kê tất cả các tệp trong thư mục con, và nếu có thêm thư mục con nữa, chúng cũng sẽ được đưa vào. Điều này có nghĩa là trên hầu hết các hệ thống Linux với nhiều thư mục con lồng nhau, du
có thể tạo ra một lượng lớn đầu ra. Giống như df
, bạn có thể sử dụng tùy chọn -h
để hiển thị kích thước theo đơn vị dễ đọc hơn.
3. fdisk: Công Cụ Phân Vùng Ổ Cứng Cổ Điển
fdisk
là một công cụ cơ bản và lâu đời trong Linux để phân vùng ổ cứng. Đây là một phần không thể thiếu trong bất kỳ quá trình cài đặt Linux nào, vì hệ điều hành này cần các phân vùng riêng và bạn cũng có thể muốn có một phân vùng swap.
Bạn có thể tạo các phân vùng riêng cho các thư mục cụ thể như thư mục /home
. Dù các chương trình cài đặt hiện đại thường sử dụng fdisk
(hoặc công cụ tương tự) ngầm, bạn có thể cần dùng đến nó khi cài đặt các bản phân phối Linux chuyên sâu hơn như Arch Linux, hoặc khi phân vùng ổ đĩa gắn ngoài hay USB khôi phục.
Lưu ý quan trọng: Không sử dụng fdisk
để phân vùng lại một ổ đĩa đã được mount. Thao tác này có thể dẫn đến mất dữ liệu nghiêm trọng.
4. GNU Parted: Phân Vùng Ổ Đĩa Thân Thiện Hơn
GNU Parted là công cụ phân vùng của dự án GNU, mang lại một giao diện thân thiện với người dùng hơn. Nó đượ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. Giao diện menu của Parted thường dễ hiểu hơn so với fdisk
.
Để chạy Parted, bạn sử dụng lệnh:
sudo parted /dev/sdaX
Thay thế “X” bằng tên thiết bị bạn muốn phân vùng. Một lần nữa, bạn nên tránh phân vùng một thiết bị đã được mount để đảm bảo an toàn dữ liệu.
Bảng phân vùng hiển thị trong GNU Parted trên terminal Linux, minh họa cấu trúc ổ đĩa.
5. swapon và swapoff: Quản Lý Phân Vùng Swap
swapon
và swapoff
là các công cụ để bật và tắt các thiết bị đã được cấu hình cho việc swapping (trao đổi). “Swapping” là quá trình mà hệ thống sử dụng một phần của ổ đĩa (thường là ổ cứng) để 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 dung lượng vật lý có sẵn, mặc dù phải đánh đổi bằng hiệu suất. Các phần của bộ nhớ được chia thành các trang (pages), được “swapped out” (sao chép từ RAM ra phân vùng swap) hoặc “swapped in” (sao chép trở lại RAM) khi cần thiết.
Thanh RAM máy tính đặt trên mặt bàn, tượng trưng cho bộ nhớ hệ thống.
Bạn có thể sử dụng các lệnh swapon
và swapoff
để bật hoặc tắt thiết bị swap theo ý muốn. Trên hầu hết các bản phân phối Linux, quá trình này được xử lý tự động. Tuy nhiên, nếu bạn đang sử dụng các bản phân phối như Arch hoặc Gentoo, bạn có thể phải thực hiện thủ công. Bạn cũng có thể dùng chúng khi thêm một ổ đĩa mới. Sau khi thiết lập phân vùng, bạn có thể kích hoạt nó bằng swapon
:
sudo swapon /dev/sdX
Để tắt phân vùng swap:
sudo swapoff /dev/sdX
Bạn có thể sử dụng tùy chọn -a
để bật hoặc tắt bất kỳ phân vùng swap nào được định nghĩa trong /etc/fstab
.
Ảnh chụp màn hình terminal Linux hiển thị lệnh swapoff và kết quả thực thi.
6. cfdisk: Phân Vùng Với Giao Diện Văn Bản Trực Quan
cfdisk
là một nỗ lực khác nhằm tạo ra một phiên bản fdisk
thân thiện với người dùng hơn. Đ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), hay còn 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 khó hiểu, 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. cfdisk
là một lựa chọn nhẹ nhàng thay thế cho các chương trình yêu cầu giao diện đồ họa như GParted.
Một lần nữa, bạn nên tránh cố gắng phân vùng lại một ổ đĩa đã được mount, và cfdisk
cũng hiển thị một thông báo lỗi màu đỏ tươi nếu bạn cố gắng làm vậy.
Giao diện cfdisk trong terminal Linux, hiển thị các tùy chọn quản lý phân vùng ổ đĩa.
7. mkfs: Định Dạng Hệ Thống Tệp
Khi bạn đã tạo các phân vùng, chúng sẽ vô dụng cho đến khi bạn biến chúng thành một hệ thống tệp. Sơ đồ hệ thống tệp xác định cách các tệp sẽ được lưu trữ trên ổ đĩa. Đây là lúc lệnh mkfs
(make filesystem) phát huy tác dụng. Lệnh này sẽ tạo ra cấu trúc hệ thống tệp trên phân vùng.
Thông thường, chương trình cài đặt sẽ xử lý việc này, nhưng bạn sẽ cần dùng mkfs
khi chạy các bản phân phối Linux chuyên sâu hoặc khi thêm một ổ đĩa mới vào hệ thống. Có nhiều hệ thống tệp 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, sử dụng mkfs.ext4
:
mkfs.ext4 /dev/sdaX
8. Các Tiện Ích Hệ Thống Tệp (Filesystem Utilities)
mkfs
là một ví dụ điển hình về loại 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 cụ thể thay vì Linux nói chung.
Một ví dụ điển hình là e2fsprogs
, được thiết kế cho họ hệ thống tệp Extended Filesystem, mà Ext4 là ví dụ 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. Một tiện ích mà bạn có thể gặp là fsck
(file system consistency check), được phát âm là “fisk”. Nó chạy khi khởi động và kiểm tra xem hệ thống có tắt sạch sẽ hay không. Nếu không (ví dụ, nếu nguồn điện bị ngắt thay vì sử dụng tùy chọn tắt máy), 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 vì chúng sử dụng nhật ký (journal) để theo dõi các thay đổi đối với hệ thống tệp. Các hệ thống tệp khác cũng có fsck
và các tiện ích tương tự.
9. sfdisk: Phân Vùng Cho Kịch Bản Tự Động
sfdisk là một công cụ tương tự như các công cụ phân vùng đĩa khác đã được đề cập. 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 kịch bản (scripts). 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à xóa ổ đĩ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.
Một lần nữa, đây là công cụ mà bạn không nên sử dụng trên một hệ thống tệp đã được mount. Chương trình sẽ tự hủy bỏ với một thông báo lỗi màu đỏ tươi khác nếu bạn cố gắng làm như vậy.
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ên, kernel có thể chưa được thông báo về bất kỳ thay đổi nào. Hầu hết thời gian, đây là một chi tiết mà bản phân phối của bạn sẽ tự xử lý. Tuy nhiên, nếu bạn đã thực hiện các thay đổi đố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 khởi động lại.
Ví dụ, để chạy nó trên một phân vùng:
sudo partprobe /dev/sda1
Không có nhiều đầu ra khi chạy lệnh này, nhưng trong Linux, dấu hiệu cho thấy một chương trình đã hoàn thành công việc của mình thường là việc nó không báo cáo gì cả.
Kết Luận
Việc nắm vững các lệnh quản lý ổ đĩa trong Linux là chìa khóa để duy trì một hệ thống ổn định, hiệu quả và an toàn. Từ việc kiểm tra dung lượng trống với df
và du
, đến việc phân vùng ổ đĩa bằng fdisk
, parted
, cfdisk
, và sfdisk
, hay định dạng hệ thống tệp với mkfs
, mỗi lệnh đều đóng một vai trò quan trọng. Hơn nữa, việc quản lý swap bằng swapon
và swapoff
, cùng với các tiện ích hệ thống tệp như fsck
và partprobe
để cập nhật kernel, hoàn thiện bộ công cụ cần thiết cho mọi quản trị viên.
Hãy nhớ luôn cẩn trọng khi thực hiện các thao tác quản lý ổ đĩa, đặc biệt là với các phân vùng đã được mount. Việc hiểu rõ chức năng và rủi ro của từng lệnh sẽ giúp bạn tránh những sự cố không mong muốn. Nâng cao kỹ năng quản lý ổ đĩa của bạn ngay hôm nay để trở thành một chuyên gia Linux thực thụ!
Bạn có lệnh quản lý ổ đĩa Linux yêu thích nào khác không? Hãy chia sẻ kinh nghiệm của bạn trong phần bình luận bên dưới!