Kiểm tra dung lượng file trong linux

Đột nhiên một ngày, bạn gặp phải lỗi “Low Disk Space on Filesystem Root”, khi đó dung lượng ổ cứng của bạn đã cạn kiệt. Bạn cần phải giải phóng ổ cứng bằng việc xóa bớt dữ liệu đi. Vì vậy chúng ta cần tìm file hoặc thư mục đang chiếm dụng ổ cứng. Một số lệnh /command dưới đây sẽ giúp bạn thực hiện điều này.

Tìm thư mục chiếm nhiều dung lượng nhất | Find Largest Directories

Chúng ta sử dụng lệnh du Linux Command

du -a | sort -n -r | head -n 5

Tìm thư mục chiếm nhiều dung lượng nhất trên thư mục chỉ định / Find Biggest Files and Directories

sudo du -a /home | sort -n -r | head -n 5

Kiểm tra dung lượng mà thư mục đang chiếm

sudo du -sh /home

Tìm file đang chiếm dung lượng nhất / Find Out Top File Sizes Only

Chúng ta sử dụng lệnh find Linux Command

find -type f -exec du -Sh {} + | sort -rh | head -n 5

Nguồn: vinasupport.com

Hướng dẫn cách tìm file và thư mục [folder] chiếm dung lượng nhiều nhất trên VPS Linux để giải phóng bớt dung lượng ổ cứng VPS/Server. Nào, cùng tham khảo ngay 2 lệnh kiểm tra dung lượng thư mục Linux hay được sử dụng nhất dưới đây nhé.

1. Lệnh “du” trong Linux

Lệnh “du”là 1 trong những lệnh kiểm tra dung lượng thư mục Linux được sử dụng thường xuyên nhất. Ta sẽ tìm kiếm theo cách tuần tự các thư mục có dung lượng lớn. Đó là chương trình sẽ thống kê top các thư mục đang có dung lượng lớn nhất. Sau đó, chúng ta chỉ cần kiểm tra tuần tự các thư mục đang có dung lượng lớn đó.

Cấu trúc lệnh:

du -hs /path/ | sort -rh | head -n 10

Chú thích:

  • /path/: đường dẫn thư mục mà bạn muốn kiểm tra.
  • -h: in ra dung lượng thư mục /file theo format thuận tiện cho người đọc [MB, GB].
  • -s: chỉ hiển thị tổng dung lượng.
  • sort: lệnh dùng để sắp xếp ký tự.
  • -r: đảo ngược chiều output của lệnh sort.
  • -h: dùng để so sánh, sắp xếp các số theo kiểu dung lượng [2K, 1G,…]
  • head -n 10: lấy 10 dòng đầu tiên của output.

Xem ví dụ sau:

# du -hs /var/log/* | sort -rh | head -n 10

767M /var/log/nginx

183M /var/log/sa

46M /var/log/resources-monitor

9.1M /var/log/maillog-20170911

8.2M /var/log/maillog-20170903

8.0M /var/log/maillog-20170827

6.4M /var/log/maillog-20170917

4.8M /var/log/maillog

4.4M /var/log/messages-20170911

3.8M /var/log/messages-20170903

# du -hs /var/log/nginx/* | sort -rh | head -n 10

469M /var/log/nginx/domains

297M /var/log/nginx/vhost_error.log

1.1M /var/log/nginx/error.log

556K /var/log/nginx/access.log

2. Lệnh “find” trong Linux

Lệnh find trong Linux là một trong những lệnh khá mạnh trong việc tìm kiếm thư mục/file theo các thông tin cần được lọc. Cũng như là hỗ trợ lệnh khác xử lý các output đã được tìm thấy [-exec]. Với cấu trúc lệnh như dưới đây sẽ thống kê rất chi tiết các file/thư mục nào đang có dung lượng lớn nhất.

Cấu trúc lệnh

find /var/log/ -type f -exec du -Sh {} + | sort -rh | head -n 10

Chú thích:

  • type [ f | d ]: nếu bạn dùng option f, tức là bạn chỉ muốn tìm kiếm file và kiểm tra dung lượng file đã tìm thấy. Nếu bạn dùng option d thì bạn chỉ muốn tìm kiếm thư mục và kiểm tra dung lượng thư mục đó.

    Trên internet hiện nay, bạn sẽ tìm thấy nhiều công cụ để kiểm tra việc sử dụng dung lượng ổ cứng trong Linux. Tuy nhiên, Linux có một tiện ích tích hợp mạnh mẽ được gọi là “df”. Bài viết này sẽ giải thích cách để có được thông tin đầy đủ về việc sử dụng không gian đĩa trong Linux với sự giúp đỡ của lệnh “df” với các ví dụ thực tế của chúng. Vì vậy, bạn có thể hiểu rõ hơn về cách sử dụng lệnh df trong Linux.

    Lệnh “df” là gì?

     

    Lệnh “df” nghĩa là “disk filesystem”, nó được sử dụng để hiển thị tóm tắt đầy đủ về việc sử dụng không gian đĩa cứng còn sẵn và được sử dụng của hệ thống tập tin trên hệ thống Linux.

    1. Kiểm tra dung lượng ổ đĩa

    Lệnh “df” hiển thị thông tin về tên thiết bị, tổng số khối, tổng dung lượng đĩa, dung lượng đĩa đã sử dụng, dung lượng đĩa sẵn có và các mount point trên hệ thống tệp.

    # df

    Filesystem     1K-blocks Used Available Use% Mounted on

    udev             1530896 0   1530896 0% /dev

    tmpfs             308436 31964 276472  11% /run

    /dev/sda1       68626744 28711844  36385840 45% /

    tmpfs            1542172 4   1542168 1% /dev/shm

    tmpfs               5120 0 5120   0% /run/lock

    tmpfs            1542172 0   1542172 0% /sys/fs/cgroup

    tmpfs             308432 32 308400   1% /run/user/117

    tmpfs             308432 4 308428   1% /run/user/1000

     

    2. Hiển thị thông tin của tất cả dung lượng

    # df -a

     

    Filesystem     1K-blocks Used Available Use% Mounted on

    udev             1530896 0   1530896 0% /dev

    devpts                 0 0 0 – /dev/pts

    tmpfs             308436 31964 276472  11% /run

    /dev/sda1       68626744 28712036  36385648 45% /

    securityfs             0 0 0 – /sys/kernel/security

    tmpfs            1542172 4   1542168 1% /dev/shm

    tmpfs               5120 0 5120   0% /run/lock

    tmpfs            1542172 0   1542172 0% /sys/fs/cgroup

    cgroup                 0 0 0 – /sys/fs/cgroup/systemd

    tmpfs             308432 32 308400   1% /run/user/117

    tmpfs             308432 4 308428   1% /run/user/1000

    fusectl                0 0 0 – /sys/fs/fuse/connections

     

    3. Hiển thị dung lượng sử dụng theo đơn vị [K, M, G]

     

    Bạn có nhận thấy rằng các lệnh trên hiển thị thông tin dung lượng ổ cứng mặc định theo, không dễ đọc được. Vì chúng ta có thói quen đọc kích thước theo megabyte, gigabyte, vv.. vì nó rất dễ hiểu và dễ nhớ.

    # df -ha

     

    Filesystem         Size Used Avail Use% Mounted on

    /dev/sda3           18G 14G 3.4G 80% /

    proc                  0 0 0 – /proc

    sysfs                 0 0 0 – /sys

    devpts                0 0 0 – /dev/pts

    tmpfs              497M 112K 497M 1% /dev/shm

    /dev/sda1          190M 121M 60M 67% /boot

    none                  0 0 0 – /proc/sys/fs/binfmt_misc

    /home/ssh/key.img  9.7M 93K 9.1M 1% /tmp/ssh-mount

     

    4. HIển thị thông tin dung lượng theo Megabytes

     

    # df -m

    Filesystem     1M-blocks Used Available Use% Mounted on

    udev                1496 0 1496   0% /dev

    tmpfs                302 32 270 11% /run

    /dev/sda1          67019 28033 35540  45% /

    tmpfs               1507 1 1507   1% /dev/shm

    tmpfs                  5 0 5 0% /run/lock

    tmpfs               1507 0 1507   0% /sys/fs/cgroup

    tmpfs                302 1 302 1% /run/user/117

    tmpfs                302 1 302 1% /run/user/1000

     

    5. Hiển thị thông tin Inodes của file system

     

    Sử dụng option “-i” để hiển thị thông tin về số lượng inodes đã sử dụng và tỷ lệ phần trăm của chúng cho từng file system.

    # df -i

    Filesystem      Inodes IUsed IFree IUse% Mounted on

    udev            382724 316 382408    1% /dev

    tmpfs           385543 516 385027    1% /run

    /dev/sda1      4390912 226559 4164353    6% /

    tmpfs           385543 2 385541    1% /dev/shm

    tmpfs           385543 2 385541    1% /run/lock

    tmpfs           385543 15 385528    1% /sys/fs/cgroup

    tmpfs           385543 27 385516    1% /run/user/117

    tmpfs           385543 15 385528    1% /run/user/1000

     

    6. Hiển thị các loại file system

     

    Nếu bạn để ý những câu lệnh output ở phía trên, bạn sẽ nhìn thấy rằng không có liệt kê loại file system [ext4, xfs, ext3,..]. Để kiểm tra loại file system đang sử dụng ta sử dụng tùy chọn “T”

    # df -Th

    Filesystem     Type Size Used Avail Use% Mounted on

    udev           devtmpfs 1.5G     0 1.5G 0% /dev

    tmpfs          tmpfs 302M   32M 270M 11% /run

    /dev/sda1      ext4 66G   28G 35G 45% /

    tmpfs          tmpfs 1.5G 4.0K  1.5G 1% /dev/shm

    tmpfs          tmpfs 5.0M     0 5.0M 0% /run/lock

    tmpfs          tmpfs 1.5G     0 1.5G 0% /sys/fs/cgroup

    tmpfs          tmpfs 302M   32K 302M 1% /run/user/117

    tmpfs          tmpfs 302M 4.0K  302M 1% /run/user/1000

     

    7. HIển thị thông tin của lệnh “df”

     

    # df --help

    Usage: df [OPTION]… [FILE]…

    Show information about the file system on which each FILE resides,

    or all file systems by default.

     

    Mandatory arguments to long options are mandatory for short options too.

    -a, –all             include dummy file systems

    -B, –block-size=SIZE  use SIZE-byte blocks

    –direct          show statistics for a file instead of mount point

    –total           produce a grand total

    -h, –human-readable  print sizes in human readable format [e.g., 1K 234M 2G]

    -H, –si              likewise, but use powers of 1000 not 1024

    -i, –inodes          list inode information instead of block usage

    -k                    like –block-size=1K

    -l, –local           limit listing to local file systems

    –no-sync         do not invoke sync before getting usage info [default]

    -P, –portability     use the POSIX output format

    –sync            invoke sync before getting usage info

    -t, –type=TYPE       limit listing to file systems of type TYPE

    -T, –print-type      print file system type

    -x, –exclude-type=TYPE   limit listing to file systems not of type TYPE

    -v                    [ignored]

    –help     display this help and exit

    –version  output version information and exit

     

    Display values are in units of the first available SIZE from –block-size,

    and the DF_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.

    Otherwise, units default to 1024 bytes [or 512 if POSIXLY_CORRECT is set].

     

    SIZE may be [or may be an integer optionally followed by] one of following:

    KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.

     

    Report df bugs to bug-coreutils@gnu.org

    GNU coreutils home page:

     

    General help using GNU software:

    For complete documentation, run: info coreutils ‘df invocation’

     

    Như vậy bài viết này đã cung cấp thêm thông tin về lệnh kiểm tra dung lượng ổ cứng trên hệ thống server Linux. Hãy nhớ theo dõi và kiểm tra định kì dung lượng ổ đĩa đễ không gặp phải tình trạng đầy ổ đĩa gây lỗi server.

Chủ Đề