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
Waktu Pembaruan :ntpdate[3108]:soket NTP sedang digunakan, keluar
getent passwd hanya menampilkan pengguna lokal