GNU/Linux >> Belajar Linux >  >> Linux

du -x masih memeriksa sistem file yang terpasang saat menggunakan wildcard

Anda masih dapat memfilternya menggunakan mountpoint (jika tersedia di sistem Anda):

for a in /*; do mountpoint -q -- "$a" || du -s -h -x "$a"; done

Jika mountpoint tidak tersedia kecuali stat adalah (sementara stat masih bukan POSIX, ini mungkin lebih umum), Anda harus membandingkan stat keluaran secara manual:

rootdevice="$(stat -c %D /)"
for a in /*; do [ "$rootdevice" = "$(stat -c %D -- "$a")" ] && du -s -h -x "$a"; done

Saya kira Anda benar. Anda sebenarnya mengatakan du /dev , du /sys , du /usr , du /home jadi opsi "-x" tidak ada artinya.

Mengapa Anda tidak mengulanginya? Misalnya. find / -maxdepth 1 | egrep -v home|media akan mencantumkan semua dir kecuali rumah dan media. Kemudian Anda dapat menyalurkan output ke while ulangi ke du itu.

find / -maxdepth 1 | egrep -v home|media | while read f; do
  du -s -h -x "$f"; 
done

Linux
  1. 10 Contoh Praktis Menggunakan Wildcard untuk Mencocokkan Nama File di Linux

  2. Bagaimana cara menjalankan banyak perintah saat menggunakan find?

  3. Penggunaan / saat menggunakan cd

  1. Kekurangan Saat Menggunakan Chroot Dalam Komputasi Kinerja Tinggi?

  2. Menggunakan Dns Sekunder Saat Pencarian Gagal Di Primer?

  3. Kapan /tmp dibersihkan?

  1. Format Cookie Saat Menggunakan Wget?

  2. Mengapa Garis Miring Balik Tunggal Ditampilkan Saat Menggunakan Kutipan?

  3. Dapatkan mtime file tertentu menggunakan Bash?