Công cụ phổ biến nhất để xem dung lượng ổ đĩa đã sử dụng trên Linux và Unix là du (Viết tắt bởi Disk Usage) được dùng rộng rãi để tìm xem file hay folder nào đang chiếm dung lượng ổ đĩa nhiều nhất. Ngoài ra có rất nhiều công cụ khác (Kể cả CLI và GUI) để làm việc này. Hôm nay chúng ta sẽ cùng tìm hiểu tới công cụ duf Duf là một công cụ dòng lệnh để kiểm tra dung lượng sử dụng của ổ đĩa trên các hệ thống Linux và Unix. Nó hiển thị chi tiết về mức sử dụng ổ đĩa thành một bảng với 9 cột. Ngoài ra bạn có thể xuất kết quả dưới dạng JSON Nếu phần kết quả quá lớn thì chiều rộng của Terminal sẽ tự động tăng. Bạn có thể sắp xếp kết quả theo total size, filesystem type, used and free space, mount point và inode. Bạn có thể hiện/ẩn/loại trừ một device khỏi kết quả Cài đặt DufTrên ArchDuf đã được hỗ trợ trên AUR, các bạn có thể cài đặt qua một công cụ hỗ trợ AUR như Yay: yay -S duf Trên các hệ thống hỗ trợ Deb (Debian/Ubuntu/…)Tải về file .deb tại đây sudo apt install gdebi sudo gdebi duf_0.3.1_linux_amd64.deb Trên các hệ thống hỗ trợ Rpm (Fedora/CentOS/…)Tải về file .rpm tại đây sudo rpm -Uvh duf_0.3.1_linux_amd64.rpm Build từ mã nguồn GoĐảm bảo máy các bạn đã cài sẵn Go git clone https://github.com/muesli/duf.git cd duf go build Sử dụng DufCác bạn chạy lệnh duf trên Terminal. Và kết quả sẽ được xuất ra như hình Sẽ có 9 thông số sau được xuất ra - total number of mounted devices,
- mount point,
- total size of the root partition,
- total size of used and free disk space,
- total disk usage in percentage,
- filesystem type,
- filesystem name etc.
Nếu muốn xuất ra thêm nhưng thông số như pseudo, duplicate, hay inaccessible file systems thì chạy lệnh duf --all Là một admin hệ thống, bạn luôn muốn chắc chắn rằng bạn có đủ không gian đĩa để cho máy chủ hoạt động tốt không? Thật may mắn, Linux hỗ trợ rất nhiều lệnh giúp bạn kiểm tra điều đó. Trong bài viết này, chúng ta cùng tìm hiểu 2 lệnh cơ bản là root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 6 và root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 7.Lệnh df Lệnh “df” viết tắt của “disk filesystem“, nó được dùng để lấy toàn bộ thông tin về lượng ổ cứng khả dụng và lượng ổ cứng đã dùng của các file hệ thống trên linux. Cách đơn giản nhất để kiểm tra dung lượng đĩa là ta sử dụng lệnh root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 8:root@ubuntusrv:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 461408 0 461408 0% /dev
tmpfs 98512 1252 97260 2% /run
/dev/sda2 20508240 3974648 15468788 21% /
tmpfs 492552 0 492552 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 492552 0 492552 0% /sys/fs/cgroup
/dev/loop0 91264 91264 0 100% /snap/core/7917
/dev/loop1 90624 90624 0 100% /snap/core/7270
tmpfs 98508 0 98508 0% /run/user/1000
Trong đó: - filesystem: tên filesystem có thể trùng với phân vùng đĩa.
- 1K-blocks: Số lượng khối (block) có trong filesystem có kích thước 1Kb.
- Used: Số lượng 1K-block được sử dụng trong filesystem.
- Available: Số lượng 1K-block đang có sẵn.
- Use%: Phần trăm đĩa đã sử dụng trong filesystem.
- Mounted on: Nơi mount.
Lệnh root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 8 được đi kèm với một số tùy chọn để hiển thị nội dung rõ ràng và thân thiện với người dùng hơn. Tùy chọn df <option> path 0 cho ta một cái nhìn trực quan hơn khi đọc các thông số ở chế độ chi tiết : bytes, megabytes và gigabytes.root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000
Kiểm tra dung lượng đĩa với các trường hợp cụ thể Để kiểm tra space của một đĩa/phân vùng cụ thể, bạn sử dụng lệnh root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 8 với cú pháp:df <option> path
Một số ví dụ: - Kiểm tra dung lượng đĩa của phân vùng
root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
Bạn có thể thêm cờ df <option> path 2 đi kèm lệnh df:df -h --output='field1', 'field2' /
- Kiểm tra kích thước và phần trăm đĩa đã sử dụng, ta gõ lệnh:
root@ubuntusrv:~# df -h --output='size','pcent' /
Size Use%
20G 21%
Danh sách tất cả các cột có sẵn để lọc cùng với lệnh df: df <option> path 3, df <option> path 4, df <option> path 5, df <option> path 6, df <option> path 7, df <option> path 8, df <option> path 9, root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
0, root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
1, root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
2, root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
3 và root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
4.Kiểm tra Inode usage trong Linux Trong Linux các tệp được liên kết chặt chẽ với các inode trong filesystem. Hệ thống của bạn đang quản lý một bảng inode (inode table), nơi các mục nhập trỏ đến các khối dữ liệu trên đĩa vật lý của bạn. Tuy nhiên bảng inode này bị giới hạn về kích thước cho nên bạn có thể hết các mục inode trước khi hết dung lượng đĩa. Tóm lại nếu hệ thống của bạn xử lý quá nhiều tệp, thì nó không thể phân bổ thêm không gian cho các tệp mới, ngay cả khi đĩa của bạn có sẵn 30GB. Để kiểm tra lượng inode đã sử dụng, ta dùng lệnh root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 8 đi kèm cờ root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
6root@ubuntusrv:~# df --inodes
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 115352 446 114906 1% /dev
tmpfs 123138 719 122419 1% /run
/dev/sda2 1310720 74765 1235955 6% /
tmpfs 123138 1 123137 1% /dev/shm
tmpfs 123138 3 123135 1% /run/lock
tmpfs 123138 18 123120 1% /sys/fs/cgroup
/dev/loop0 12829 12829 0 100% /snap/core/7917
/dev/loop1 12823 12823 0 100% /snap/core/7270
tmpfs 123138 10 123128 1% /run/user/1000
Với tùy chọn df <option> path 0 bạn có thể đọc thông tin dễ dàng hơn:root@ubuntusrv:~# df -h --inodes /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 1.3M 74K 1.2M 6% /
Lệnh du root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
8 là một công cụ dòng lệnh được cung cấp bởi Linux, nhằm báo cáo dung lượng ổ đĩa được sử dụng bởi các thư mục và file. root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
8 là viết tắt của từ “disk usage”. Đây là công cụ chính để phân tích không gian ổ đĩa trong dòng lệnh.Cú pháp: du <option> <path|file>
du <option> <path1> <path2> <path3>
root@ubuntusrv:~# du ~/.bashrc
4 /root/.bashrc
Mặc định kích thước hiển thị là kilobytes, tuy nhiên bạn có thể thay đổi sang định dạng size khác với việc sử dụng tùy chọn df -h --output='field1', 'field2' /
1. Ví dụ ở đây tôi muốn hiển thị sang kích thước megabytes.root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 0Kích thước size sẽ được làm tròn với số gần nhất. Trong trường hợp này, kích thước tệp df -h --output='field1', 'field2' /
0 không phải là 1Mb nhưng nó được làm tròn tự động. Bạn cũng có thể chọn hiển thị thông tin kích thước dễ đọc hơn với đơn vị kilobytes:root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 1Tùy chọn df <option> path 0 có thể đi kèm với df -h --output='field1', 'field2' /
4 để lấy kích thước thực của file đó.root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 2Kiểm tra dung lượng đĩa đã sử dụng cho thư mục Bạn có thể kiểm tra dung lượng đĩa được sử dụng cho thư mục bằng lệnh root@ubuntusrv:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.8G 15G 21% /
8 với tên đường dẫn cụ thể. Tuy nhiên trong một vài trường hợp bạn không muốn nhìn thấy output của tất cả file hoặc thư mục riêng lẻ, bạn có thể sử dụng tùy chọn df -h --output='field1', 'field2' /
6. Ví dụ dưới đây, tôi muốn kiểm tra dung lượng đĩa đã sử dụng cho thư mục /home hoặc /var/log.root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 3Ý nghĩa của các tùy chọn: df -h --output='field1', 'field2' /
7: dùng để tóm tắt, nó sẽ hiển thị tổng số đường dẫn được cung cấp thay vì hiển thị danh sách tất cả các tệp và thư mục.df <option> path 0: để con người có thể đọc được, nó sẽ hiển thị kết quả với các đơn vị.df -h --output='field1', 'field2' /
9: đối với tổng số lớn, nếu bạn chỉ định nhiều đường dẫn, nó sẽ tổng hợp chúng để tạo ra tổng số lớn cho chúng.
Kiểm tra dung lượng đĩa đã sử dụng cho images và text Trong một vài trường hợp, bạn có thể muốn kiểm tra không gian đĩa sử dụng cho các file text và hình ảnh của bạn. root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 4Hoặc các file text: root@ubuntusrv:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 451M 0 451M 0% /dev
tmpfs 97M 1.3M 95M 2% /run
/dev/sda2 20G 3.8G 15G 21% /
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7917
/dev/loop1 89M 89M 0 100% /snap/core/7270
tmpfs 97M 0 97M 0% /run/user/1000 5Như vậy tôi đã chia sẻ một vài thao tác với lệnh df, du để kiểm tra dung lượng đĩa được sử dụng trong một số trường hợp khác nhau. Bạn đọc có thể tham khảo thêm một vài tùy chọn đi kèm của các lệnh bằng cách gõ root@ubuntusrv:~# df -h --output='size','pcent' /
Size Use%
20G 21%
0 hoặc root@ubuntusrv:~# df -h --output='size','pcent' /
Size Use%
20G 21%
1. Chúc các bạn thành công! |