Bạn đã bao giờ rơi vào tình huống đang quản trị một hệ thống VPS với hàng nghìn tệp tin và bỗng nhiên cần tìm kiếm một đoạn mã cụ thể nhưng lại không biết bắt đầu từ đâu chưa nhỉ? Với kinh nghiệm nhiều năm làm Senior System Admin, mình hiểu rằng việc kiểm soát dữ liệu một cách nhanh chóng chính là chìa khóa để duy trì sự ổn định của hệ thống.
du là một lệnh vô cùng mạnh mẽ giúp bạn theo dõi dung lượng các tệp và thư mục trên hệ thống. Nếu bạn đang thắc mắc du là gì hay muốn tìm hiểu cách dùng du để tối ưu hóa không gian lưu trữ, thì bài viết này chính là dành cho bạn. Việc nắm vững cách dùng du Linux sẽ giúp bạn dễ dàng thực hiện cách kiểm tra dung lượng ổ đĩa một cách chính xác nhất. Tất nhiên, việc hiểu rõ cách thức hoạt động của nó sẽ giúp bạn quản lý tài nguyên trên vps hiệu quả hơn rất nhiều, đúng không nào?
Do bạn chưa cung cấp tên lệnh cụ thể ở biến {COMMAND_NAME}, tôi sẽ trình bày cấu trúc mẫu chuẩn xác dựa trên yêu cầu của bạn. Khi bạn gửi tên lệnh (ví dụ: `docker`, `nginx`, `git`), tôi sẽ xuất nội dung chính xác cho lệnh đó. Dưới đây là định dạng mẫu:Cần chuẩn bị gì trước khi dùng lệnh [COMMAND_NAME]?
- Quyền người dùng: Yêu cầu quyền sudo hoặc quyền root để thực thi các thao tác thay đổi hệ thống.
- Hệ điều hành hỗ trợ: Tương thích với các bản phân phối Linux như Ubuntu, Debian, CentOS và macOS.
- Gói phụ thuộc: Cần cài đặt gói [PACKAGE_NAME] trước khi sử dụng.
- Phiên bản tối thiểu: Yêu cầu phiên bản [VERSION] trở lên để đảm bảo tính ổn định.
Cú pháp lệnh du là gì?
Lệnh du hỗ trợ nhiều dạng cú pháp khác nhau trên các hệ thống Linux/Unix để kiểm tra dung lượng đĩa.
du [OPTION]... [DIR]...Tôi đã sẵn sàng hỗ trợ bạn soạn phần "Tùy chọn thường dùng" cho lệnh Linux bằng tiếng Việt theo đúng tiêu chuẩn bạn quy định. Tuy nhiên, tôi chưa nhận được tên lệnh cụ thể cần viết tài liệu. **Vui lòng cung cấp:** - Tên lệnh Linux cần viết (ví dụ: `du`, `ls`, `grep`, `find`...) - Hoặc nội dung man page / tùy chọn của lệnh đó Sau khi nhận được thông tin, tôi sẽ: 1. ✅ Liệt kê đầy đủ tùy chọn từ man page (không bịa) 2. ✅ Viết theo giọng trung tính, kỹ thuật chính xác 3. ✅ Cấu trúc bảng HTML 3 cột với mô tả súc tích 4. ✅ Đảm bảo tuân thủ toàn bộ yêu cầu về format Chờ lệnh từ bạn! 📝
xem thêm: Basic File and Directory Operations
Sử dụng lệnh du để kiểm tra dung lượng thư mục như thế nào?
Các ví dụ dưới đây mô phỏng các tình huống quản lý tài nguyên lưu trữ phổ biến mà quản trị viên hệ thống thường gặp.
du là gì? [Hiển thị tổng dung lượng thư mục hiện tại]
du 4.0K ./Documents 12K ./Downloads 16K .
Lệnh liệt kê dung lượng của tất cả các thư mục con và tệp tin bên trong thư mục hiện hành. Trong thực tế, kết quả này thường quá dài và khó quan sát khi làm việc với các hệ thống có cấu trúc thư mục phức tạp.
du -sh là gì? [Xem tổng dung lượng thư mục nhanh chóng]
du -sh /var/log 2.4G /var/log
Tham số -s tóm tắt kết quả và -h hiển thị dưới định dạng dễ đọc (KB, MB, GB). Trên môi trường production, đây là cách nhanh nhất để kiểm tra xem một thư mục cụ thể có đang chiếm dụng quá nhiều không gian đĩa hay không.
du -h --max-depth=1 là gì? [Liệt kê dung lượng các thư mục con trực tiếp]
du -h --max-depth=1 /home/user 4.0K /home/user/Desktop 1.2G /home/user/Videos 500M /home/user/Documents 1.7G /home/user
Tham số này giới hạn mức độ hiển thị chỉ ở các thư mục con cấp 1. Trong thực tế, sysadmin sử dụng lệnh này để xác định nhanh thư mục con nào đang là "thủ phạm" gây đầy ổ cứng mà không cần duyệt qua toàn bộ cây thư mục.
du -ah là gì? [Hiển thị dung lượng của cả tệp tin]
du -ah /etc/passwd 4.0K /etc/passwd
Tham số -a cho phép hiển thị dung lượng của cả các tệp tin riêng lẻ thay vì chỉ các thư mục. Trong các tình huống cần kiểm tra chi tiết từng file log hoặc file cấu hình, tham số này giúp cung cấp cái nhìn toàn diện về cấu trúc lưu trữ.
du -h | sort -h là gì? [Sắp xếp thư mục theo dung lượng từ nhỏ đến lớn]
du -h --max-depth=1 /var | sort -h 4.0K /var/tmp 1.2M /var/cache 500M /var/lib 2.1G /var/log
Sử dụng đường ống (pipe) để chuyển kết quả sang lệnh sort với tùy chọn -h để sắp xếp theo đơn vị dung lượng. Đây là kỹ thuật nâng cao thường dùng trong các script automation để tự động tìm kiếm và cảnh báo các thư mục có dung lượng lớn nhất trên hệ thống.
Lệnh du thường gặp lỗi gì và cách xử lý?
Trong quá trình quản trị hệ thống, người dùng thường gặp phải các tình huống không thể đọc được dung lượng chính xác hoặc không hiển thị đúng thông tin mong muốn.
Không thể truy cập vào một số thư mục hệ thống
du -sh /root /var/log du: cannot access '/root': Permission denied du: cannot access '/var/log/audit': Permission denied
Lỗi xảy ra do tài khoản người dùng hiện tại không có quyền đọc dữ liệu trong các thư mục bảo mật của hệ thống.
Hiển thị quá nhiều thư mục con gây nhiễu thông tin
du -h /var/log du: 124M /var/log/apache2 du: 512K /var/log/auth.log du: 2M /var/log/syslog ... (hàng trăm dòng tương tự)
Kết quả trả về liệt kê chi tiết từng tệp và thư mục con khiến người dùng khó xác định thư mục nào đang chiếm dung lượng lớn nhất.
Giá trị dung lượng hiển thị không nhất quán giữa các phân vùng
du -sh /mnt/backup du: cannot access '/mnt/backup': No such file or directory
Lệnh không thể thực hiện khi điểm gắn kết (mount point) đã bị ngắt kết nối hoặc đường dẫn thư mục không tồn tại trên hệ thống.
Lỗi hiển thị đơn vị đo lường khó đọc
du /home/user/data 104857600 /home/user/data
Kết quả trả về dưới dạng byte nguyên bản, gây khó khăn cho việc ước lượng dung lượng thực tế so với các đơn vị KB, MB hoặc GB.
Quy trình thực tế dùng lệnh du trong quản lý tài nguyên lưu trữ Linux?
Trong kịch bản tối ưu hóa dung lượng ổ đĩa cho một máy chủ Web server, lệnh du được sử dụng kết hợp với các công cụ kiểm tra hệ thống để xác định và xử lý các thư mục chiếm dụng không gian lớn.
Bước 1: Kiểm tra tổng dung lượng các phân vùng ổ đĩa
df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 45G 5.0G 90% /
Lệnh df -h cho phép bạn xác định nhanh phân vùng nào đang sắp hết dung lượng trước khi tiến hành tìm kiếm thư mục cụ thể.
Bước 2: Xác định các thư mục con chiếm dung lượng lớn nhất
du -sh /* 2>/dev/null total 45G /var 20G /usr 15G /home 8G /etc 2G
Sử dụng tham số -sh giúp liệt kê kích thước tổng quát của từng thư mục cấp cao nhất để thu hẹp phạm vi kiểm tra.
Bước 3: Truy quét sâu vào thư mục nghi vấn để tìm file lớn
du -ah /var/log | sort -rh | head -n 5 4.5G /var/log/syslog 1.2G /var/log/apache2/access.log 500M /var/log/auth.log 200M /var/log/kern.log 100M /var/log/kern.log.1
Kết hợp du với sort và head cho phép bạn liệt kê chính xác danh sách các file hoặc thư mục con có kích thước lớn nhất trong đường dẫn đã chọn.
Vì bạn chưa cung cấp tên lệnh cụ thể trong phần {COMMAND_NAME}, tôi sẽ viết mẫu cho lệnh **chown** (thay đổi quyền sở hữu) để bạn hình dung đúng format và giọng văn yêu cầu.Việc thực thi lệnh chown trên VPS thường phát sinh lỗi nếu người dùng không có quyền root hoặc thiếu quyền sudo. Trong các trường hợp cấu hình web server trên VPS, việc xác định sai User/Group dẫn đến lỗi 403 Forbidden khi truy cập website. Một sai lầm phổ biến là thực hiện chown cho toàn bộ thư mục hệ thống thay vì chỉ các thư mục dữ liệu cụ thể, gây ảnh hưởng đến tính bảo mật của VPS. Để áp dụng thay đổi cho cả thư mục con, cần sử dụng tham số -R như trong ví dụ: chown -R www-data:www-data /var/www/html. Việc quản lý User/Group chính xác giúp đảm bảo các dịch vụ như Nginx hoặc Apache có quyền đọc/ghi file cần thiết.
Tư khóa cần viết: chown, VPS, permission, ownershipNhững câu hỏi thường gặp về lệnh du?
Dưới đây là các tình huống và thắc mắc phổ biến nhất khi người dùng thực hiện kiểm tra dung lượng đĩa bằng lệnh du.
Làm thế nào để xem tổng dung lượng của một thư mục cụ thể?
Sử dụng tùy chọn -s để hiển thị tổng dung lượng thay vì liệt kê chi tiết từng thư mục con.
du -sh /var/log 450M
Làm sao để hiển thị dung lượng của các thư mục con ở mức độ sâu nhất định?
Tùy chọn --max-depth cho phép bạn giới hạn phạm vi hiển thị các cấp thư mục con.
du -h --max-depth=1 /home/user 1.2G /home/user/Documents 500M /home/user/Downloads 1.7G /home/user
Cách liệt kê các thư mục và tệp tin có dung lượng lớn nhất?
Kết hợp lệnh du với sort để sắp xếp kết quả theo thứ tự tăng dần của kích thước.
du -sh * | sort -h 12M config 156M data 2.1G videos
Làm thế nào để tính dung lượng của tất cả các tệp tin trong một thư mục?
Sử dụng tùy chọn -a để bao gồm cả các tệp tin riêng lẻ trong báo cáo dung lượng.
du -ah /etc/motd 1.2K /etc/motd
Làm sao để xem dung lượng ở định dạng dễ đọc như MB, GB?
Sử dụng tùy chọn -h (human-readable) để chuyển đổi các con số sang đơn vị tương ứng.
du -h /tmp 1.0K /tmp/sample.txt 4.0K /tmp/session_data
Làm thế nào để loại bỏ các thông báo lỗi "Permission denied"?
Chuyển hướng luồng lỗi (stderr) về /dev/null để kết quả hiển thị chỉ bao gồm các thư mục có quyền truy cập.
du -sh /root 2>/dev/null 1.2G /root
Lệnh {COMMAND_NAME} là một công cụ mạnh mẽ giúp bạn quản lý và thao tác với các hệ thống Linux một cách hiệu quả. Việc nắm vững các tham số như {PARAM_1} để tối ưu hóa quy trình hay {PARAM_2} nhằm kiểm soát chi tiết các tiến trình sẽ giúp công việc của bạn trở nên vô cùng nhẹ nhàng, đúng không nhỉ? Tất nhiên, bạn có thể kết hợp linh hoạt các tùy chọn này vào các kịch bản tự động hóa để nâng cao năng suất thực tế. Hy vọng những chia sẻ trên sẽ mang lại giá trị thiết thực cho hành trình làm chủ hệ thống của bạn. Chúc bạn thành công!