2019-07-11 13:26:24 +02:00
|
|
|
# Creates an archive (*.tar.gz) from given directory.
|
|
|
|
function maketar() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; }
|
|
|
|
|
|
|
|
# Create a ZIP archive of a file or folder.
|
|
|
|
function makezip() { zip -r "${1%%/}.zip" "$1" ; }
|
|
|
|
|
2019-10-04 16:27:08 +02:00
|
|
|
function extract() {
|
2019-07-11 13:26:24 +02:00
|
|
|
if [ -z "$1" ]; then
|
|
|
|
# display usage if no parameters given
|
|
|
|
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
|
|
|
|
else
|
2019-10-04 16:27:08 +02:00
|
|
|
if [ -f "$1" ] ; then
|
|
|
|
case "$1" in
|
|
|
|
*.tar.bz2) tar xvjf "$1" ;;
|
|
|
|
*.tar.gz) tar xvzf "$1" ;;
|
|
|
|
*.tar.xz) tar xvJf "$1" ;;
|
|
|
|
*.lzma) unlzma "$1" ;;
|
|
|
|
*.bz2) bunzip2 "$1" ;;
|
|
|
|
*.rar) unrar x -ad "$1" ;;
|
|
|
|
*.gz) gunzip "$1" ;;
|
|
|
|
*.tar) tar xvf "$1" ;;
|
|
|
|
*.tbz2) tar xvjf "$1" ;;
|
|
|
|
*.tgz) tar xvzf "$1" ;;
|
|
|
|
*.zip) unzip "$1" ;;
|
|
|
|
*.Z) uncompress "$1" ;;
|
|
|
|
*.7z) 7z x "$1" ;;
|
|
|
|
*.xz) unxz "$1" ;;
|
|
|
|
*.exe) cabextract "$1" ;;
|
2019-07-11 13:26:24 +02:00
|
|
|
*) echo "extract: '$1' - unknown archive method" ;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
echo "$1 - file does not exist"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# jump directorys upwards until it hits a directory with multiple folders
|
|
|
|
function up() {
|
|
|
|
local d=""
|
2019-10-04 16:28:53 +02:00
|
|
|
limit="$1"
|
2019-07-11 13:26:24 +02:00
|
|
|
for ((i=1 ; i <= limit ; i++))
|
|
|
|
do
|
2019-10-04 16:28:53 +02:00
|
|
|
d="$d/.."
|
2019-07-11 13:26:24 +02:00
|
|
|
done
|
2019-10-04 16:28:53 +02:00
|
|
|
d=$(echo "$d" | sed 's/^\///')
|
2019-07-11 13:26:24 +02:00
|
|
|
if [ -z "$d" ]; then
|
|
|
|
d=..
|
|
|
|
fi
|
2019-10-04 16:28:53 +02:00
|
|
|
cd "$d"
|
2019-07-11 13:26:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# create an directory and directly cd into it
|
2019-10-04 16:28:53 +02:00
|
|
|
function mcd() {
|
|
|
|
mkdir -p "$1"
|
|
|
|
cd "$1"
|
2019-07-11 13:26:24 +02:00
|
|
|
}
|
|
|
|
|
2019-10-06 21:36:59 +02:00
|
|
|
# Weather in your terminal, optionally take the city in argument (e.g: VPN)
|
|
|
|
function meteo() {
|
|
|
|
curl "http://wttr.in/$1" # Bonus: try to see the weather on 'moon'
|
|
|
|
}
|
2019-10-27 18:35:50 +01:00
|
|
|
|
|
|
|
# Use Vim as an Info reader with a plug-in
|
|
|
|
function vinfo() {
|
|
|
|
page="$1"
|
|
|
|
shift
|
|
|
|
node="${*// /\ }"
|
|
|
|
echo vim "+Info $page $node" "+only"
|
|
|
|
vim "+Info $page $node" "+only"
|
|
|
|
}
|