Differences between version 4 and previous revision of CyberLeo/Scraps/duso.
Other diffs: Previous Major Revision, Previous Author
Newer page: | version 4 | Last edited on Sunday, 6 July 2014 1:43:33 | by CyberLeo | Revert |
Older page: | version 3 | Last edited on Sunday, 6 July 2014 0:51:36 | by CyberLeo | Revert |
@@ -1,29 +1,18 @@
Compute a sorted disk usage analysis using du, without including filesystem mountpoints
<code brush="bash">
-case $(uname -s) in
-Linux)
- duso(
) {
- sudo sh
-e <<
"EOF
"
-
mnt="$(stat -c %m
.)"
-
LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent
-
do
-
[ "$(stat -c %m
"${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}"
-
done | xargs -0 du -sx | sort -bn
+duso() {
+ sudo sh -es <<"EOF"
+
case $(uname -s) in
+
Linux) statfs="stat -c %m" ;;
+ FreeBSD
) statfs="stat
-f %d
" ;;
+ *) echo "Unknown platform $(uname -s)
" ;;
+ esac
+
mnt="$(${statfs}
.)"
+
LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent
+
do
+
[ "$(${statfs}
"${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}"
+
done | xargs -0 du -sx | sort -bn
EOF
-
}
- ;;
-FreeBSD)
- duso() {
- sudo sh -e <<"EOF"
- mnt="$(stat -f %d .)"
- LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent
- do
- [ "$(stat -f %d "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}"
- done | xargs -0 du -sx | sort -bn
-EOF
- }
- ;;
-*) echo "Unknown platform $(uname -s)" ;;
-esac
+}
</code>
version 4
Compute a sorted disk usage analysis using du, without including filesystem mountpoints
duso() { sudo sh -es <<"EOF" case $(uname -s) in Linux) statfs="stat -c %m" ;; FreeBSD) statfs="stat -f %d" ;; *) echo "Unknown platform $(uname -s)" ;; esac mnt="$(${statfs} .)" LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent do [ "$(${statfs} "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}" done | xargs -0 du -sx | sort -bn EOF }