Penggunaan disk untuk hanya menampilkan partisi tertentu?

0

Saya ingin hanya dapat menunjukkan penggunaan disk untuk partisi tertentu dalam GB dan% setelahnya. Pada dasarnya abaikan swap, tmpfs, dll.

Saya juga ingin menjumlahkan jumlah penggunaan disk dan mengurangi dari total untuk mendapatkan ruang kosong.

Saat ini saya memiliki sesuatu seperti ini, tetapi tidak yakin bagaimana menggunakan awk dan memilih partisi yang ingin saya hitung.

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

Ini untuk sistem debian.

Edit:

Jadi saya tahu saya dapat menggunakan / untuk membatasi hasil, namun, ini hanya menunjukkan saya berapa banyak yang gratis.

df -h / | awk '{ a = $4 } END { print a }'
debianusr
sumber
Kenapa tidak sederhana saja grep?
gronostaj
Tidak terbiasa dengan perintah
debianusr
"Saya juga ingin menjumlahkan jumlah penggunaan disk dan mengurangi dari total untuk mendapatkan ruang kosong." . Bagaimana itu berbeda dari apa df -h sudah menyediakan di Avail kolom?
John1024
df harus menerima mountpoint sebagai argumen. Bahkan bisa berupa direktori atau file di bawah mountpoint. Alat kemudian akan menampilkan informasi hanya untuk mountpoint yang sesuai. Cobalah: df -h /tmp atau df -h /dev/urandom. Anda dapat menentukan beberapa argumen dengan cara itu.
Kamil Maciorowski
Kamu tahu ada df -x tmpfsbenar
grawity

Jawaban:

1

Saya tidak yakin apa yang ingin Anda lakukan awk, tetapi Anda menyulitkan ekspresi tidak perlu. Yang Anda butuhkan untuk mengeluarkan sistem file, ruang kosong, dan persentase hunian adalah:

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

Namun, ini tidak akan menyelaraskan header dengan data. Untuk mempertahankan penyelarasan, gunakan sesuatu seperti:

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

Di sini saya telah menggunakan bidang pertama yang luas karena disk sistem saya terdaftar oleh UUID. Untuk menampilkan persentase ruang kosong alih-alih hunian, Anda dapat menggunakan:

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

Dalam hal ini % tanda diabaikan dalam ekspresi aritmatika. Saya tidak tahu df bulatkan persentase ke bilangan bulat terdekat, seperti yang saya asumsikan. Jika dibulatkan, maka 100-$5 akan ditangkap, jadi gunakan saja 99-$5 untuk mendapatkan ruang kosong dibulatkan.

AFH
sumber
0

Pertanyaannya tidak menunjukkan dengan tepat apa output yang diinginkan tetapi tampaknya ini cocok dengan yang Anda inginkan:

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

String Filesystem disertakan sehingga output menunjukkan tajuk kolom ramah-manusia. Itu /dev/ string disertakan karena menghilangkan sistem udev dan tmpfs.

John1024
sumber