54 lines
1.0 KiB
Plaintext
54 lines
1.0 KiB
Plaintext
# Bash Functions
|
||
|
||
mkcd()
|
||
{
|
||
mkdir -p -- "$1" && cd -P -- "$1"
|
||
}
|
||
|
||
# determine size of a file or total size of a directory
|
||
function fs() {
|
||
if du -b /dev/null > /dev/null 2>&1; then
|
||
local arg=-sbh;
|
||
else
|
||
local arg=-sh;
|
||
fi
|
||
if [[ -n "$@" ]]; then
|
||
du $arg -- "$@";
|
||
else
|
||
du $arg .[^.]* ./*;
|
||
fi;
|
||
}
|
||
|
||
|
||
# use Git’s colored diff when available
|
||
hash git &>/dev/null;
|
||
if [ $? -eq 0 ]; then
|
||
function diff() {
|
||
git diff --no-index --color-words "$@";
|
||
}
|
||
fi;
|
||
|
||
## system administration
|
||
|
||
### service files
|
||
sysedit() {
|
||
local svc="$1"
|
||
sudo systemctl edit --full "$svc"
|
||
|
||
read -p "Reload + restart $svc? [y/N]: " ans
|
||
if [[ "$ans" == "y" ]]; then
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl restart "$svc"
|
||
fi
|
||
}
|
||
sysadd() {
|
||
local svc="$1"
|
||
sudo systemctl edit "$svc"
|
||
|
||
read -p "Reload + restart $svc? [y/N]: " ans
|
||
if [[ "$ans" == "y" ]]; then
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl restart "$svc"
|
||
fi
|
||
}
|