140 lines
2.4 KiB
Bash
140 lines
2.4 KiB
Bash
#! /bin/sh
|
|
# posix compatible utility functions
|
|
|
|
mountpoints() {
|
|
case "$(uname -s)" in
|
|
Linux|FreeBSD)
|
|
df -P | awk 'NR>1 {print $6}'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_fs() {
|
|
case "$(uname -s)" in
|
|
Linux|FreeBSD)
|
|
df -P "$1" | awk 'NR>1 {print $1}'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# returns the size in 1K blocks
|
|
df_blocks() {
|
|
case "$(uname -s)" in
|
|
Linux|FreeBSD)
|
|
df -Pk "$1" | awk 'NR>1 {print $2}'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_blocks_used() {
|
|
case "$(uname -s)" in
|
|
Linux|FreeBSD)
|
|
df -Pk "$1" | awk 'NR>1 {print $3}'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_blocks_avail() {
|
|
case "$(uname -s)" in
|
|
Linux|FreeBSD)
|
|
df -Pk "$1" | awk 'NR>1 {print $4}'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_blocks_capacity() {
|
|
case "$(uname -s)" in
|
|
Linux|FreeBSD)
|
|
df -Pk "$1" | awk 'NR>1 {print $5}'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_has_inodes() {
|
|
case "$(uname -s)" in
|
|
Linux)
|
|
df -i "$1" | awk 'NR>1 { if ($5 == "-") print 0; else print 1 }'
|
|
;;
|
|
FreeBSD)
|
|
df -i "$1" | awk 'NR>1 { if ($8 == "-") print 0; else print 1 }'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_inodes() {
|
|
case "$(uname -s)" in
|
|
Linux)
|
|
df -i "$1" | awk 'NR>1 { print $2 }'
|
|
;;
|
|
FreeBSD)
|
|
df -i "$1" | awk 'NR>1 { print $6+$7 }'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_inodes_used() {
|
|
case "$(uname -s)" in
|
|
Linux)
|
|
df -i "$1" | awk 'NR>1 { print $3 }'
|
|
;;
|
|
FreeBSD)
|
|
df -i "$1" | awk 'NR>1 { print $6 }'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_inodes_free() {
|
|
case "$(uname -s)" in
|
|
Linux)
|
|
df -i "$1" | awk 'NR>1 { print $4 }'
|
|
;;
|
|
FreeBSD)
|
|
df -i "$1" | awk 'NR>1 { print $7 }'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
df_inodes_capacity() {
|
|
case "$(uname -s)" in
|
|
Linux)
|
|
df -i "$1" | awk 'NR>1 { print $5 }'
|
|
;;
|
|
FreeBSD)
|
|
df -i "$1" | awk 'NR>1 { print $8 }'
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|