Trong thế giới công nghệ hiện đại, đặc biệt là với người dùng và quản trị viên hệ thống Linux, việc thành thạo các lệnh quản lý ổ đĩa Linux là kỹ năng không thể thiếu. Cho dù bạn đang cài đặt một hệ điều hành Linux mới, bổ sung thêm thiết bị lưu trữ, hay chỉ đơn giản là muốn kiểm tra tình trạng hệ thống, những công cụ dòng lệnh này sẽ giúp bạn kiểm soát hoàn toàn các ổ cứng (HDD) và ổ đĩa thể rắn (SSD) của mình. Bài viết này, được biên soạn bởi các chuyên gia tại trithuccongnghe.net, sẽ cung cấp một cái nhìn toàn diện về các lệnh và tiện ích quản lý ổ đĩa quan trọng nhất trên Linux, giúp bạn tối ưu hóa hiệu suất và đảm bảo an toàn dữ liệu.
Hiểu Rõ Dung Lượng Ổ Đĩa với df và du
Kiểm tra dung lượng lưu trữ là bước cơ bản đầu tiên trong quản lý ổ đĩa. Linux cung cấp hai lệnh mạnh mẽ là df và du để thực hiện tác vụ này, mỗi lệnh phục vụ một mục đích riêng biệt.
1. Lệnh df: Kiểm Tra Dung Lượng Trống Của Hệ Thống Tệp
Lệnh df (disk free) cho phép bạn xem tổng dung lượng, dung lượng đã sử dụng và dung lượng còn trống của tất cả các hệ thống tệp đã được gắn kết (mounted filesystem). Đây là công cụ hữu ích để nhanh chóng đánh giá không gian lưu trữ tổng thể trên máy chủ hoặc máy tính cá nhân của bạn.
Để xem không gian trống của tất cả các thiết bị đã gắn kết:
df
Để xem không gian trống của một thiết bị cụ thể hoặc một thư mục (ví dụ: thư mục gốc /):
df /
Theo mặc định, df báo cáo kích thước theo đơn vị khối (block), có thể gây khó hiểu. Để có kết quả “dễ đọc” (human-readable) với các đơn vị như Gigabyte (GB) hoặc Megabyte (MB), bạn nên sử dụng tùy chọn -h:
df -h
Kết quả df -h trong terminal Linux, hiển thị dung lượng trống dễ đọc
Kết quả df -h sẽ giúp bạn dễ dàng theo dõi và lập kế hoạch sử dụng dung lượng lưu trữ, một yếu tố then chốt để duy trì hiệu suất hệ thống.
2. Lệnh du: Xác Định Kích Thước Tệp và Thư Mục
Khác với df, lệnh du (disk usage) tập trung vào việc báo cáo không gian mà các tệp và thư mục chiếm dụng trong một đường dẫn cụ thể. Lệnh này cực kỳ hữu ích khi bạn cần tìm kiếm các tệp hoặc thư mục lớn đang chiếm dụng nhiều không gian, giúp bạn giải phóng bộ nhớ hiệu quả.
Khi không có đối số, du sẽ liệt kê kích thước của các tệp và thư mục con trong thư mục hiện tại. du hoạt động theo cơ chế đệ quy, nghĩa là nó sẽ liệt kê cả các tệp trong thư mục con, sau đó là các thư mục con của thư mục con đó, và cứ tiếp tục như vậy. Điều này có thể tạo ra lượng đầu ra rất lớn trên các hệ thống Linux có nhiều thư mục lồng nhau.
Tương tự như df, bạn có thể sử dụng tùy chọn -h để hiển thị kích thước theo định dạng dễ đọc:
du -h
Bạn có thể kết hợp du với các lệnh khác như head hoặc sort để tìm các thư mục lớn nhất:
du -h | head
Đầu ra của lệnh du -h kết hợp với head trong terminal Linux, hiển thị kích thước file/thư mục
Việc nắm vững du giúp bạn kiểm soát tốt hơn việc sử dụng không gian đĩa ở cấp độ chi tiết, đảm bảo tài nguyên được phân bổ hợp lý.
Phân Vùng Ổ Đĩa với fdisk, GNU Parted và cfdisk
Phân vùng là quá trình chia ổ đĩa thành các phần logic, mỗi phần có thể hoạt động như một ổ đĩa riêng biệt. Đây là bước quan trọng khi cài đặt hệ điều hành hoặc thêm ổ đĩa mới.
3. Lệnh fdisk: Công Cụ Phân Vùng Cổ Điển
fdisk là một trong những công cụ cơ bản và lâu đời nhất để quản lý bảng phân vùng trên Linux. Đâ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 thường yêu cầu một phân vùng riêng và bạn có thể muốn có thêm phân vùng swap.
Bạn có thể sử dụng fdisk để tạo các phân vùng cho các thư mục cụ thể như /home. Mặc dù nhiều chương trình cài đặt tự động sử dụng fdisk hoặc các công cụ tương tự ở chế độ nền, bạn vẫn có thể cần dùng đến nó khi cài đặt các bản phân phối “kỹ thuật” hơn như Arch Linux, hoặc khi phân vùng ổ đĩa ngoài, ổ đĩa bổ sung, hay thậm chí là USB cứu hộ.
Để liệt kê bảng phân vùng của một ổ đĩa (ví dụ: /dev/sda):
sudo fdisk /dev/sda
Lệnh fdisk hiển thị bảng phân vùng ổ cứng trong terminal Linux
Lưu ý cực kỳ quan trọng: Không sử dụng fdisk để phân vùng lại một ổ đĩa đã được gắn kết (mounted drive). Điều này có thể dẫn đến mất dữ liệu nghiêm trọng. Hãy đảm bảo bạn đang thao tác trên một ổ đĩa chưa được gắn kết hoặc đang trong môi trường cứu hộ.
4. GNU Parted: Công Cụ Phân Vùng Hiện Đại Hơn
GNU Parted là một công cụ phân vùng mạnh mẽ khác từ dự án GNU, được thiết kế để cung cấp giao diện thân thiện hơn và giúp ngăn ngừa các thao tác nguy hiểm có thể gây mất dữ liệu. Các menu và tùy chọn của Parted thường dễ hiểu hơn so với fdisk.
Để chạy parted trên một thiết bị (thay X bằng tên thiết bị, ví dụ: /dev/sda):
sudo parted /dev/sdaX
GNU Parted hiển thị bảng phân vùng trong terminal Linux
Cũng như fdisk, bạn nên tránh phân vùng một ổ đĩa đã được gắn kết để bảo vệ dữ liệu.
5. cfdisk: Giao Diện Người Dùng Dựa Trên Văn Bản (TUI)
cfdisk là một phiên bản “thân thiện với người dùng” khác của fdisk, đặc biệt hữu ích cho những ai ưa thích giao diện người dùng dựa trên văn bản (Text User Interface – TUI) hoặc giao diện “curses”. Nó hoạt động tương tự như các chương trình toàn màn hình khác như Vim, cho phép bạn điều hướng qua các menu để liệt kê và tạo phân vùng mới thay vì sử dụng các lệnh khó nhớ.
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.
Để chạy cfdisk trên một ổ đĩa:
sudo cfdisk /dev/sda
Màn hình cfdisk trong terminal Linux, hiển thị giao diện phân vùng thân thiện
Lời cảnh báo về việc không phân vùng ổ đĩa đã gắn kết vẫn luôn đúng. cfdisk thường hiển thị một thông báo màu đỏ tươi nếu bạn cố gắng thực hiện hành động này.
Quản Lý Bộ Nhớ Hoán Đổi (Swap) và Hệ Thống Tệp
Bộ nhớ hoán đổi và hệ thống tệp là hai thành phần thiết yếu cho hoạt động ổn định và hiệu quả của hệ thống Linux.
6. swapon và swapoff: Bật/Tắt Bộ Nhớ Hoán Đổi
“Hoán đổi” (swapping) là một cơ chế mà hệ thống Linux sử dụng một phần ổ đĩa (thường là một phân vùng riêng biệt) để lưu trữ các mảnh của bộ nhớ làm việc (RAM) khi RAM vật lý bị đầy. Điều này cho phép máy tính sử dụng nhiều bộ nhớ hơn so với RAM vật lý có sẵn, mặc dù hiệu suất sẽ giảm.
Trên hầu hết các bản phân phối Linux, việc quản lý swap được tự động hóa. Tuy nhiên, nếu bạn đang sử dụng các bản phân phối như Arch Linux hoặc Gentoo, bạn có thể cần thực hiện thủ công. Bạn cũng có thể sử dụng các lệnh này khi thêm ổ đĩa mới. Sau khi thiết lập phân vùng swap, bạn có thể kích hoạt nó bằng swapon:
sudo swapon /dev/sdX
Để vô hiệu hóa một phân vùng swap:
sudo swapoff /dev/sdX
Kết quả lệnh swapoff trong terminal Linux
Bạn có thể sử dụng tùy chọn -a để bật hoặc tắt tất cả các phân vùng swap được định nghĩa trong tệp /etc/fstab.
7. Lệnh mkfs: Tạo Hệ Thống Tệp
Sau khi đã 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ữ thực tế 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.
Thông thường, chương trình cài đặt sẽ tự động lo liệu việc này. Tuy nhiên, nếu bạn đang cài đặt một bản phân phối “kỹ thuật” hoặc thêm một ổ đĩa mới vào hệ thống, bạn sẽ cần sử dụng mkfs.
Có nhiều loại hệ thống tệp khác nhau, nhưng Ext4 là một trong những lựa chọn phổ biến nhất vì khả năng tương thích rộng và độ tin cậy cao. Để 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
Môi trường cài đặt Arch Linux với đầu ra của lệnh mkfs.ext4
Hãy luôn cẩn thận khi sử dụng lệnh này, vì nó sẽ định dạng và xóa toàn bộ dữ liệu trên phân vùng đã chọn.
8. Tiện Ích Hệ Thống Tệp (Filesystem Utilities) – fsck
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ế để làm việc với các hệ thống tệp riêng biệt 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à duy trì bản phân phối. Tuy nhiên, một tiện ích mà bạn có thể gặp là fsck (file system consistency check), đọc là “fisk”. Lệnh này chạy khi khởi động hệ thống và kiểm tra xem hệ thống tệp đã được tắt sạch sẽ hay chưa. Nếu không (ví dụ: do mất điện đột ngột), fsck sẽ cố gắng khôi phục tính nhất quán cho hệ thống tệp. 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 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ự.
Các Công Cụ Nâng Cao và Thông Báo Kernel
Ngoài các lệnh cơ bản, Linux còn cung cấp các công cụ chuyên biệt hơn và tiện ích để thông báo cho nhân hệ điều hành về những thay đổi.
9. Lệnh sfdisk: Phân Vùng Tự Động Hóa Với Script
sfdisk là một công cụ phân vùng khác tương tự như các tiện ích bạn đã thấy. Một điểm khác biệt chính của sfdisk so với các công cụ khác là nó được thiết kế để sử dụng trong các tập lệnh (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. 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 sfdisk để tự động hóa việc phân vùng lại ổ đĩa.
Để liệt kê bảng phân vùng với sfdisk:
sudo sfdisk -l /dev/sda
Liệt kê phân vùng bằng sfdisk trong terminal Linux
Một lần nữa, đây là công cụ 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ẽ báo lỗi và hủy bỏ nếu bạn cố gắng.
10. Lệnh partprobe: Cập Nhật Kernel Về Thay Đổi Phân Vùng
partprobe là một tiện ích thông báo cho nhân Linux về các thay đổi trong 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, nhân hệ điều hành có thể chưa được thông báo về bất kỳ thay đổi nào. Trong nhiều trường hợp, bản phân phối của bạn sẽ tự động lo liệu chi tiết này. 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 nhân đang chạy mà không cần khởi động lại.
Ví dụ, để chạy partprobe trên một phân vùng cụ thể:
sudo partprobe /dev/sda1
Thường thì partprobe sẽ không hiển thị nhiều đầu ra, nhưng trên Linux, việc một chương trình không hiển thị gì cả thường là dấu hiệu cho thấy nó đã hoàn thành công việc của mình một cách thành công.
Kết Luận
Việc nắm vững các lệnh quản lý ổ đĩa Linux là một kỹ năng không thể thiếu đối với bất kỳ ai làm việc với hệ điều hành này. Từ việc kiểm tra dung lượng trống với df và du, đến phân vùng ổ đĩa với fdisk, GNU Parted, cfdisk, hay quản lý swap và hệ thống tệp với swapon, swapoff, mkfs và fsck, mỗi lệnh đều đóng vai trò quan trọng trong việc duy trì và tối ưu hóa hệ thống của bạn.
Tại trithuccongnghe.net, chúng tôi cam kết mang đến những kiến thức công nghệ chính xác, chuyên sâu và dễ hiểu nhất cho cộng đồng tại Việt Nam. Hy vọng bài viết này đã cung cấp cho bạn những thông tin hữu ích và thiết thực. Hãy thường xuyên truy cập trithuccongnghe.net để cập nhật thêm nhiều hướng dẫn chuyên nghiệp và nâng cao kiến thức công nghệ của bạn!