Skip to content

Instantly share code, notes, and snippets.

@CyberShadow
Last active June 14, 2022 20:33
Show Gist options
  • Select an option

  • Save CyberShadow/10c1c1f66ba3808fdaf9497b22f5896c to your computer and use it in GitHub Desktop.

Select an option

Save CyberShadow/10c1c1f66ba3808fdaf9497b22f5896c to your computer and use it in GitHub Desktop.
#!/bin/bash
set -eEuo pipefail
if [[ $EUID -ne 0 ]] ; then exec sudo "$0" "$@" ; fi
dir=/tmp/mNPJYwnwQt
btdu=${BTDU:-btdu}
mkdir "$dir"
trap 'rmdir "$dir"' EXIT
(
cd "$dir"
dd if=/dev/zero count=0 bs=1G seek=1 of=img
trap 'rm img' EXIT
mkfs.btrfs img
(
mkdir m
trap 'rmdir m' EXIT
(
mount img m
trap 'while ! umount m ; do : ; done' EXIT
(
cd m
dd if=/dev/zero of=a bs=1M count=512
sync
exec {fd}>>a
rm a
sync
"$btdu" --headless --du --min-resolution=1M .
exec {fd}>&-
)
)
)
)
#!/bin/bash
set -xeEuo pipefail
if [[ $EUID -ne 0 ]] ; then exec sudo "$0" "$@" ; fi
dir=/tmp/JatknXf9Z3
btdu=${BTDU:-btdu}
mkdir "$dir"
trap 'rmdir "$dir"' EXIT
(
cd "$dir"
dd if=/dev/zero count=0 bs=1G seek=1 of=img
trap 'rm img' EXIT
mkfs.btrfs img
(
mkdir m
trap 'rmdir m' EXIT
(
mount img m
trap 'while ! umount m ; do sleep 0.1 ; done' EXIT
(
cd m
dd if=/dev/urandom of=a bs=256M count=1
sync
dd if=/dev/urandom of=a seek=1 bs=1M count=254 conv=notrunc
sync
exec {fd}>>a
rm a
sync
"$btdu" --headless --du --min-resolution=1K .
exec {fd}>&-
)
)
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment