Saya tahu bahwa df -hl
menampilkan daftar semua partisi saya dengan ukurannya, penggunaannya sebagai persentase, dan ruang yang tersedia.
Jika saya ingin menampilkan ukuran dan penggunaan hanya dalam persentase sda2
dan sda3
, misalnya, bagaimana saya bisa memberi tahu Linux (Ubuntu) untuk memeriksanya, jumlahkan dan perlihatkan kepada saya?
ubuntu
command-line
user32398
sumber
sumber
Jawaban:
Untuk
df
menghitung total, gunakan--totals
opsi. Jika Anda ingin total hanya lebih dari beberapa drive pilih, tentukan sebagai argumen.Contoh (dan output dari komputer saya)
Ini adalah total untuk semua pemasangan lokal:
Membatasi beberapa drive (perhatikan bahwa jika jalur yang ditentukan bukan titik pemasangan yang tepat, titik pemasangan yang mengandung paling dekat digunakan [lihat catatan di akhir] ):
atau menggunakan
dev
nama:Kustomisasi lebih lanjut
Jika Anda ingin membuat daftar semua mount kecuali yang 'spesial', Anda dapat menggunakan
-x
opsi untuk mengecualikan berdasarkan tipe partisi. (Gunakan-T
opsi untuk menampilkan jenisnya.)Secara pribadi, untuk penggunaan interaktif, saya menggunakan alias bash berikut (ditambahkan ke
~/.bash_aliases
) untuk mengecualikan mount 'non-fisik'.Catatan
Menentukan jalur dalam titik pemasangan kadang-kadang dapat menghasilkan hasil yang berbeda dengan menentukan jalur persis ke titik pemasangan. Sebagai contoh, pada laptop saya, saya menggunakan
sshfs
untuk me-mount server file (lokal) saya.Root server (
/
) dipasang di~/.server-root
. Namun, di server, disk sudah terpasang/disks/*
, yangdf
(pada laptop) tidak 'tahu' tentang.Jelas
df
dapat mendaftar penggunaan disk pada tunggangan yang berbeda di server, jika diberikan jalur yang tepat. Namun, ini menunjukkan "Filesystem" dan "Mounted on" yang sama untuk semua path, karena (saya percaya) itu adalah satu-satunya titik mount (terkait dengansshfs
mount ini ) di tabel mount kernel lokal.Hal lain: Tidak benar-benar terkait dengan pertanyaan, tetapi terkait dengan jawaban sebelumnya untuk pertanyaan itu.
Menambahkan angka dengan
awk
skrip (atau yang serupa), seperti yang dilakukan beberapa jawaban yang diposting sebelumnya, bukan ide yang baik ketika menggunakan-h
bendera. Ini karena penanganan khusus diperlukan. Anda tidak bisa hanya melakukansize+=$2;
untuk bidang yang ada418M
di satu baris dan12G
di baris lain dan dapatkan sesuatu yang bermanfaat darinya ...Sebagai contoh dengan
awk
, menambahkan500M
untuk10.2G
hasil510.2 dari apa?
Jelas ada masalah di sini. Jadi, hanya sebagai tip untuk diingat , ketika melakukan perhitungan (otomatis) pada output
df
(dan lain-lain yang dapat menggunakan angka 'dapat dibaca manusia' ) . Pastikan Anda tidak menggunakan-h
flag dan input ke skrip perhitungan dinormalisasi (misalnya menjadi byte, blok, KB, atau apa pun) dan lakukan 'penskalaan tampilan' di bagian akhir. Tidak sulit, di sebagian besar bahasa scripting dan pemrograman, untuk menambahkan sesuatu seperti:di mana nilainya dalam byte dan ambang adalah nilai pada urutan 1000. Hasil dari metode ini adalah Anda dapat dengan mudah menyetelnya untuk menghasilkan nilai cetakan (tidak termasuk awalan) dalam rentang yang diinginkan dan dengan sejumlah digit signifikan untuk Anda memilih. Dibandingkan dengan casing dengan utilitas standar dengan
-h
sakelar, di mana formatnya sering diperbaiki.Tentu saja, perhitungan ini seringkali dapat dibuat lebih efisien dan / atau elegan, tetapi itu adalah pertanyaan untuk bahasa spesifik yang digunakan. Terus terang, jika digunakan dalam skrip pengguna yang dijalankan hanya sekarang dan kemudian untuk melihat secara interaktif beberapa informasi, efisiensi sebenarnya bukan masalah.
sumber
Saya pikir Anda menginginkan jumlah keduanya
size
danuse%
sumber
size+=$1
) untuk pertanyaan ini. Metode ini benar-benar tidak kompatibel dengan-h
opsidf
.Anda akan menggunakan alat seperti
awk
:Dimana:
/^\/dev\/sd[ab]/
adalah pola untuk memfilter hanya garis yang dimulai dengan/dev/sda
atau/dev/sdb
{ sum+=$5 }
tambahkan bidang kelima untuk setiap kecocokan dari pola di atasAnda dapat menemukan beberapa
awk
referensi bermanfaat di wiki Awk.info .sumber
sumber
size
,% used
, danavailable
. Tidak hanya% yang digunakan. @Mdpc juga memiliki metode yang lebih baik untuk memilih drive, tetapi jika Anda ingindf -hl | awk '/sda2/{print $2,$5,$4}'
Jika Anda menginginkannya dengan peringatan, saya melakukannya dengan IFTTT, Telegram Dan WebHooks (Yang semuanya gratis)
sumber