Câu hỏi này đã có câu trả lời ở đây:
- Tiện ích Linux để tìm các tệp / thư mục lớn nhất [đã đóng] 17 câu trả lời
Trong Linux, tôi đang tìm kiếm một lệnh để liệt kê tệp lớn nhất và / hoặc các thư mục lớn nhất trong một thư mục.
Câu hỏi này đã có câu trả lời ở đây:
Trong Linux, tôi đang tìm kiếm một lệnh để liệt kê tệp lớn nhất và / hoặc các thư mục lớn nhất trong một thư mục.
Câu trả lời:
Từ bất kỳ thư mục:
du -a | sort -n -r
Lệnh sau cho bạn thấy một cấp độ của các thư mục và kích thước của chúng
du --max-sâu = 1 / đường dẫn | sắp xếp -r -k1,1n
Nếu một trong số họ thực sự thoát ra (người cuối cùng trong danh sách là lớn nhất do sort -r
), sau đó bạn chạy lại lệnh trên thư mục đó, rồi tiếp tục cho đến khi bạn tìm thấy thư mục / tệp vi phạm.
Nếu tất cả những gì bạn muốn là mười tập tin lớn nhất chỉ cần làm
tìm / nhà -type f -exec du -s {} \; | sắp xếp -r -k1,1n | cái đầu
sort -r
hay không. Có cách nào để có được số lượng lớn nhất ở đầu?
sort
hoặc là sort -r
. Tôi có hiểu lầm làm thế nào các -r hoạt động? Tôi đoán nó không phải là một vấn đề lớn. Ví dụ của bạn rất hữu ích và giúp tôi biết thông tin tôi cần.
sort
Tôi có ( sort (GNU coreutils) 8.13
trong Ubuntu 12.04.3) tùy chọn -r
không hoạt động nếu -n
ngay lập tức làm theo -k
( -k1,1n
). Thứ tự tùy chọn này hoạt động: sort -rnk1,1
.
Một tiện ích gọi là ncdu
sẽ cung cấp cho bạn thông tin bạn đang tìm kiếm.
sudo apt-get install ncdu
Trên OS X, nó có thể được cài đặt bằng Homebrew:
brew install ncdu
Hãy thử một lớp lót sau (hiển thị 20 tệp lớn nhất trong thư mục hiện tại):
ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20
hoặc với kích thước có thể đọc được của con người:
ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20
Lệnh thứ hai hoạt động đúng trên OSX / BSD (như
sort
không có-h
), bạn cần cài đặtsort
từcoreutils
.
Vì vậy, những bí danh này rất hữu ích để có trong RC tập tin (mỗi khi bạn cần):
alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'
du -sh /path * | sort -nr | grep G
G cho GIG (để loại bỏ các tệp / thư mục nhỏ hơn)
G
trong tên tập tin.