Câu hỏi Sử dụng đĩa để chỉ hiển thị các phân vùng đã chọn?


Tôi muốn có thể chỉ hiển thị mức sử dụng đĩa cho các phân vùng cụ thể trong GB và% sau. Về cơ bản bỏ qua trao đổi, tmpfs, v.v.

Tôi cũng muốn tổng hợp số lượng sử dụng đĩa và trừ khỏi tổng số để có được không gian trống.

Ngay bây giờ tôi có một cái gì đó như thế này, nhưng không chắc chắn làm thế nào để sử dụng awk và chọn phân vùng tôi muốn đếm.

df -h | awk '$5 ~ /\%$/ print $1 " " $5}'

Đây là một hệ thống debian.

Chỉnh sửa:

Vì vậy, tìm ra tôi có thể sử dụng / để giới hạn kết quả, tuy nhiên, điều này chỉ cho tôi thấy bao nhiêu là miễn phí.

df -h / | awk '{ a = $4 } END { print a }'

0
2017-07-03 21:06


gốc


Tại sao không đơn giản grep? - gronostaj
Không quen thuộc với lệnh - debianusr
"Tôi cũng muốn tính tổng số tiền sử dụng đĩa và trừ đi tổng số để có được dung lượng trống.". Điều đó khác với những gì df -h đã cung cấp trong Avail cột? - John1024
df nên chấp nhận một điểm tham chiếu như một đối số. Nó thậm chí có thể là một thư mục hoặc một tệp bên dưới điểm gắn kết. Sau đó, công cụ sẽ hiển thị thông tin cho điểm lắp thích hợp. Thử nó: df -h /tmp hoặc là df -h /dev/urandom. Bạn có thể chỉ định nhiều đối số theo cách đó. - Kamil Maciorowski
Bạn biết đấy df -x tmpfs, đúng? - grawity


Các câu trả lời:


Tôi không chắc bạn đang cố gắng làm gì với awk, nhưng bạn đang phức tạp biểu hiện không cần thiết. Tất cả những gì bạn cần để xuất hệ thống tệp, dung lượng trống và dung lượng phần trăm là:

df -h /|awk '{ print $1, $4, $5 }'

Tuy nhiên, điều này sẽ không căn chỉnh tiêu đề với dữ liệu. Để bảo vệ căn chỉnh, hãy sử dụng một cái gì đó như:

df -h /|awk '{ printf "%-60s %6s %6s\n", $1, $4, $5 }'

Ở đây tôi đã sử dụng một trường rộng đầu tiên vì đĩa hệ thống của tôi được liệt kê bởi UUID. Để hiển thị phần trăm dung lượng trống thay vì số người dùng, bạn có thể sử dụng:

df -h /|awk '{ printf $5=="Use%"?"%-60s %6s   Free%%\n":"%-60s %6s %6s%%\n", $1, $4, 100-$5 }'

Trong trường hợp này, % ký hiệu bị bỏ qua trong biểu thức số học. Tôi không biết df làm tròn tỷ lệ phần trăm thành số nguyên gần nhất, như tôi đã giả định. Nếu nó tròn xuống thì 100-$5 sẽ được làm tròn lên, vì vậy thay vào đó hãy sử dụng 99-$5 để có được không gian trống được làm tròn xuống.


1
2017-07-05 09:26





Câu hỏi không hiển thị chính xác những gì đầu ra mong muốn nhưng điều này dường như phù hợp với những gì bạn muốn:

df -h | grep -E --color=never 'Filesystem|/dev/'

Chuỗi Filesystem được bao gồm để đầu ra hiển thị các tiêu đề cột thân thiện với con người. Các /dev/ chuỗi được bao gồm bởi vì nó loại bỏ các hệ thống udev và tmpfs.


0
2017-07-03 21:53