60 lines
1.6 KiB
Plaintext
60 lines
1.6 KiB
Plaintext
|
# 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" ; }
|
||
|
|
||
|
function extract {
|
||
|
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
|
||
|
if [ -f $1 ] ; then
|
||
|
# NAME=${1%.*}
|
||
|
# mkdir $NAME && cd $NAME
|
||
|
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 ;;
|
||
|
*) 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=""
|
||
|
limit=$1
|
||
|
for ((i=1 ; i <= limit ; i++))
|
||
|
do
|
||
|
d=$d/..
|
||
|
done
|
||
|
d=$(echo $d | sed 's/^\///')
|
||
|
if [ -z "$d" ]; then
|
||
|
d=..
|
||
|
fi
|
||
|
cd $d
|
||
|
}
|
||
|
|
||
|
# create an directory and directly cd into it
|
||
|
function mcd () {
|
||
|
mkdir -p $1
|
||
|
cd $1
|
||
|
}
|
||
|
|