#Shopt
shopt -s autocd     #Permite realizar cambio de directorio poniendo solo la ruta del directorio
shopt -s cdspell    #Corrige automáticamente errores tipográficos en nombres de directorios al hacer cd


#Alias
alias cls="echo -ne '\033c'" #Limpia historial de scroll terminal
alias ..="cd .."
alias ...="cd ../.."
alias ...="cd ../../.."

alias dpkgs="dpkg -l|grep -i "  #Busca un paquete en los paquetes instalados

alias ls="ls -CF"
alias lsl="ls -lhFA | less"
alias ll="ls -lha"
alias la="ls -la"

alias fhere="find . -name "
alias df="df -Tha --total"
alias free="free -mt"
alias du="du -ach | sort -h"
alias psg="ps aux | grep -v grep | grep -i -e VSZ -e"
alais mkdir="mkdir -pv"

#Alias correctores
alias cd..="cd .."
alias lscpi=lspci
alias sl="ls"

function mkdircd () { mkdir -p "[email protected]" && eval cd "\"\$$#\""; }

#Alias para conexión a máquina virtual
alias ubuntu="VBoxManage startvm \"Ubuntu 14.04.3 LTS\";sleep 20; ssh [email protected]"

#Descarga recursiva de una URL, ignorando index y carpeta padre
#
#   rwget <num_dir> <url>
#   <num_dir> Número de directorios superiores a descartar
rwget () {
	wget -r --no-parent -nH --cut-dirs=$1 --reject="index.html*" $2
}

#Automaticación de extracción
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
}


# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    alias dir='dir --color=auto'
    alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi