Cách lấy kích thước của thư mục hoặc tệp trên Linux Chuyên mục Devops 2023-05-11 1.4k Lượt xem 8 Lượt thích 0 Bình luận
Đôi khi bạn cần xử lý các sự cố như gỡ lỗi tại sao dung lượng ổ đĩa của máy chủ đột nhiên đầy. Để tìm ra điều đó, rất hữu ích để kiểm tra kích thước của các tệp hoặc thư mục nhất định. Trong hướng dẫn này, tôi sẽ chỉ cho bạn hai cách nhanh chóng để cho phép Linux liệt kê kích thước của các thư mục và tệp nhất định.
Cách tìm kích thước của thư mục trong Linux
Đầu tiên, chúng ta muốn tìm các thư mục rất lớn. Để làm như vậy, điều hợp lý là điều hướng đến thư mục chính của bạn (cd ~). Sau đó, chúng ta có thể chạy lệnh sau để liệt kê kích thước tệp của tất cả các thư mục trong đó, để chúng ta có thể phát hiện các thư mục lớn:
du -h . --max-depth=1
20K ./.ssh
343M ./.npm
8.0K ./.aws
303M ./.cache
542M ./staging.example.com
3.0G ./app.example.com
20K ./.local
32K ./.config
641M ./staging.example.com-deploy
4.2G ./example.com
8.9G .
Trước hết, lệnh này làm gì?
"du" là base command
"-h" báo cho lệnh hiển thị kích thước tệp ở định dạng con người có thể đọc được (như KB, MB và GB)
"." báo với lệnh là chúng ta muốn bắt đầu từ thư mục hiện tại
"--max-depth=1" cho lệnh biết rằng nó chỉ nên liệt kê các tệp và thư mục trong thư mục hiện tại. Nếu bị bỏ qua, nó sẽ liệt kê kiểm tra đệ quy mọi thư mục và liệt kê mọi tệp mà nó tìm thấy, điều này rõ ràng là không hữu ích cho chúng ta lúc này.
Tiếp theo, kết quả cho chúng ta biết điều gì?
Đầu tiên, tổng kích thước thư mục là 8,9 GB. Đó là lớn
Tiếp theo, có một số thư mục lớn hơn, mỗi thư mục chiếm vài trăm MB, như thư mục staging.example.com và staging.example.com-deploy.
Cuối cùng, có hai thư mục lớn là thư mục app.example.com và example.com. Những thư mục chúng ta sẽ cần phải điều tra. Bạn có thể cd vào các thư mục này, chạy lại lệnh tương tự để tìm các thư mục lớn, v.v.
Cách tìm kích thước tệp trong Linux
Chúng ta có thể sử dụng lệnh trên để tìm kích thước tệp trong Linux. Tuy nhiên, có một cách thứ hai cũng chỉ hoạt động đối với các tệp. Cách đó là sử dụng lệnh ls.
ls -lsah .
4.0K drwxr-xr-x 15 user user 4.0K Feb 9 16:34 .
4.0K drwxr-xr-x 13 user user 4.0K Jan 5 10:01 ..
48K -rw-rw-r-- 1 user user 48K Feb 26 2022 .editorconfig
4.0K -rw-rw-r-- 1 user user 1.6K Jan 5 20:07 .env
4.0K -rw-rw-r-- 1 user user 1.2K Apr 11 2022 .env.example
4.0K drwxrwxr-x 8 user user 4.0K Feb 9 16:33 .git
4.0K -rw-rw-r-- 1 user user 111 Feb 24 2022 .gitattributes
4.0K -rw-rw-r-- 1 user user 437 Jan 23 19:17 .gitignore
4.0K -rw-rw-r-- 1 user user 194 Feb 24 2022 .styleci.yml
4.0K -rwxrwxr-x 1 user user 1.7K Feb 24 2022 artisan
4.0K drwxrwxr-x 3 user user 4.0K Feb 24 2022 bootstrap
4.0K -rw-rw-r-- 1 user user 151 Feb 25 2022 clear-compiled
4.0K -rw-rw-r-- 1 user user 3.6K Jan 25 17:56 composer.json
476K -rw-rw-r-- 1 user user 474K Feb 9 16:33 composer.lock
4.0K drwxrwxr-x 2 user user 4.0K Feb 9 16:33 config
4.0K drwxrwxr-x 4 user user 4.0K Nov 3 12:24 database
4.0K drwxrwxr-x 4 user user 4.0K Feb 24 2022 lang
...
Tôi đã cắt bớt kết quả một chút, nhưng đây rõ ràng là một thư mục có ứng dụng Laravel trong đó. Lệnh ls -lsah làm gì?
Lệnh ls liệt kê tất cả các tệp và thư mục trong thư mục hiện tại
-lsah bao gồm 4 cờ riêng biệt:
Cờ -l cho biết liệt kê các tệp trong một danh sách dọc được sắp xếp gọn gàng để có thể hiển thị thêm thông tin
Cờ -s báo cho lệnh hiển thị kích thước tệp ở định dạng con người có thể đọc được như KB, MB và GB
Cờ -a yêu cầu lệnh cũng liệt kê các tệp ẩn bắt đầu bằng phần mở rộng .
Cờ -h là bổ sung cho các kích thước có thể đọc được của con người
Như bạn có thể nhận thấy, lệnh này hoạt động hiệu quả đối với các tệp đơn giản. Tuy nhiên, đối với các thư mục, nó sẽ luôn hiển thị 4.0KB. Không phải tất cả các thư mục đều có cùng kích thước, vậy tại sao lại như vậy? Lý do là 4.0KB đại diện cho kích thước cần thiết trên đĩa để lưu trữ siêu thông tin về chính thư mục đó, chẳng hạn như tên và vị trí của thư mục. Đó là lý do tại sao 4.0KB ít nhiều giống nhau cho mọi thư mục, nhưng nó không nói lên điều gì về nội dung.
Kết thúc
Tôi hy vọng điều này hữu ích và nó sẽ giúp bạn tìm và gỡ lỗi các tệp và thư mục lớn trên máy chủ của mình.
Bình luận (0)