This commit is contained in:
perro tuerto 2022-12-07 11:00:42 -08:00
commit 846da4cb0d
2 changed files with 369 additions and 0 deletions

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# Aliases
Aquí están los aliases perrones.

366
aliases.sh Normal file
View File

@ -0,0 +1,366 @@
# Alias
## Variables de ambiente
VENV=.venv
## Eliminación de alias previos
unalias -a
## Atajos
alias .1='cd ..'
alias .2='cd ../..'
alias .3='cd ../../..'
alias c='cat'
alias e='emacs -nw'
alias g='geany'
alias l='lsd -l'
alias o='okular'
alias s='scribus'
alias t='tree'
alias v='vim'
alias cdd='cd ~/Descargas'
alias cdn='cd ~/Nubes'
alias cdr='cd ~/Repositorios'
alias docs='cd ~/Documentos'
alias documentos='docs'
alias descargas='cdd'
alias repos='cdr'
alias nubes='cdn'
alias cpd='docker cp'
alias permisos='stat -c "Permiso %a | Creación %w | Modificación %y | %n" *'
## Atajos SSH
alias agroteso='ssh agroteso'
alias aml='ssh aml'
alias aml-stats='ssh aml "sudo docker stats -a"'
alias cuates='ssh cuates'
alias prolibreros='ssh prolibreros'
alias prolibreros-tunel='ssh prolibreros -D 1234 "sudo docker stats -a" | dotacat'
## Personalizaciones
alias mv='mv -v'
alias rm='rm -v'
alias cp='cp -rv'
alias df='df -h'
alias du='du -sh'
alias sed='sed -zr'
alias ssh='ssh -o ServerAliveInterval=30'
alias free='free -h'
alias diff='diff --color'
alias mkdir='mkdir -p'
alias rsync='rsync -varuh --progress'
alias perl-rename='perl-rename -v'
alias pip='pip3'
alias python='python3'
alias ipython='ipython3'
## Acciones
alias buscar="grep -REin --color=always --exclude-dir={.git,.venv,.pytest_cache,__pycache__,\*egg-info}"
alias search="buscar"
alias rastrear='fd'
alias trace='rastrear'
alias rastrear-todo='find / -iname'
alias trace-all='rastrear-todo'
alias copiar='xclip -selection clipboard <'
alias copy='copiar'
alias recargar='source $HOME/.zshrc'
alias refresh='recargar'
alias install='instalar'
alias uninstall='desinstalar'
alias remove='desinstalar'
alias update='actualizar'
alias upgrade='actualizar'
## A modo de programitas
alias alv='rm -rf'
alias doc2md='pandoc --markdown-headings=atx -V lang=es'
alias mi-ip='curl https://ipapi.co/json'
alias my-ip='mi-ip'
alias pecas-legacy="sudo docker start pecas && sudo docker exec -it pecas /bin/zsh -l"
alias pacman-limpiar='echo "Limpiando caché…" && sudo pacman -Scc && echo "\nEliminando paquetes huérfanos…" && sudo pacman -Rs $(pacman -Qqdt)'
alias pacman-clean='pacman-limpiar'
alias docker-limpiar='sudo docker system prune -a'
alias docker-clean='docker-limpiar'
alias añadir-fuentes='font-add'
alias tiempo='/usr/bin/t'
## Lolcat :D
alias stats='zsh_stats | dotacat'
alias neofetch='neofetch | dotacat'
## Monerías
alias arcoiris='journalctl --no-pager | dotacat'
alias matrix='tmatrix --mode=dense -f 0,5 -C magenta'
alias acuario='asciiquarium'
alias tren='sl'
alias fantasma='oneko &'
## Detecta tipo de distribución
distro-name () {
DIST_NAME=$(awk -F= '/^NAME/{print $2}' /etc/os-release)
echo $DIST_NAME | sed 's/"//g'
}
## Actualizador
actualizar () {
DIST=$(distro-name)
case $1 in
alias | aliases)
echo "Actualizando alias"
curl -o $HOME/.oh-my-zsh/custom/aliases.zsh \
https://pad.programando.li/ruweb:wiki:archlinux:config:aliases/download
recargar
;;
paquetes | packages)
echo "Actualizando paquetes"
if [[ ${DIST} = "Arch Linux" ]]; then
sudo pacman -Syy
sudo pacman -S archlinux-keyring
else
sudo apt update
fi
;;
todo | sistema | all | system)
echo "Actualizando sistema"
if [[ ${DIST} = "Arch Linux" ]]; then
yay -Su
else
sudo apt upgrade
fi
;;
-h | --help | help | ayuda)
echo "actualizar: utilidad para hacer actualizaciones.
Uso:
actualizar [OPT]
Opciones:
alias | aliases Actualiza alias.
paquetes | packages Actualiza repositorio de paquetes.
-h | --help | help | ayuda Despliega esta ayuda.
todo | sistema | all | system Actualiza el sistema.
vacío Actualiza el sistema con actualización previa de paquetes.
Ejemplos:
actualizar alias
actualizar paquetes
actualizar -h
actualizar todo
actualizar"
;;
*)
actualizar alias
actualizar paquetes
actualizar sistema
;;
esac
}
## Instalador
instalar (){
DIST=$(distro-name)
if [[ ${DIST} = "Arch Linux" ]]; then
yay -Syy $@
else
sudo apt install $@
fi
}
## Desinstalador
desinstalar (){
DIST=$(distro-name)
if [[ ${DIST} = "Arch Linux" ]]; then
yay -Rss $@
else
sudo apt purge $@
sudo apt clean
sudo apt autoremove
fi
}
## Gestión de alias
aliases () {
ALIAS_FILE=~/.oh-my-zsh/custom/aliases.zsh
case $1 in
ver | see)
c $ALIAS_FILE
;;
editar | edit)
v $ALIAS_FILE
;;
-h | --help | help | ayuda)
echo "aliases: utilidad para hacer gestionar alias.
Uso:
aliases [OPT]
Opciones:
ver | see Muestra contenido de archivo de alias.
editar | edit Edita alias.
-h | --help | help | ayuda Despliega esta ayuda.
vacío Uso regular de 'alias'.
Ejemplos:
aliases ver
aliases editar
aliases -h
aliases"
;;
*)
alias
;;
esac
}
### Un árbol que es a tree lo que lsd es a ls
tre () {
DEPTH=1000
DIR="."
if [ -d "${@:$#}" ]; then
DIR="${@:$#}"
fi
while getopts ":L:" opt; do
case $opt in
L) DEPTH=$OPTARG
;;
\?) echo "Opción inválida -$OPTARG" >&2
;;
esac
done
lsd -l --tree --size=short --blocks=size,name --depth=$DEPTH $DIR
}
## Instalador de fuentes
font-add () {
FONT_DIR=$HOME/.fonts
if [ ! -d "$FONT_DIR" ]; then
mkdir $FONT_DIR
fi
cp $@ $FONT_DIR
fc-cache -fv
}
## Conversor de imágenes o documentos con ImageMagick o Pandoc
convertir () {
echo "convertir FORMATO1 a FORMATO2 [con pandoc]"
for file in *.$1; do
echo "$file => $file.$3"
if [ "$#" -eq 5 ]; then
doc2md $file -o $file.$3
else
convert -flatten $file $file.$3
fi
done
}
## Gestiona archivos MD
md () {
case $1 in
formatear | format | f)
pandoc --reference-links --reference-location=document \
--columns=80 -o $2 $2 ;;
convertir | convert)
pandoc --markdown-headings=atx --standalone \
-V lang=es -o $4 $2 ;;
leer | read | ver | cat | c)
glow -w 80 -p $2 ;;
-h | --help | help | ayuda)
echo "
md: utilidad para hacer gestionar archivos Markdown.
Uso:
md [OPT]
Opciones:
formatear | format Da formato al archivo.
convertir | convert Convierte el archivo.
leer | read | ver | cat Muestra el archivo.
-h | --help | help | ayuda Despliega esta ayuda.
Ejemplos:
md formatear archivo.md
md convertir archivo.md a archivo.html
md ayuda
" ;;
esac
}
## Desactiva o activa virtualenv
check_venv () {
VENV_ACT=$VENV/bin/activate
type deactivate &>/dev/null && deactivate
if [ -f "$VENV_ACT" ]; then
source $VENV_ACT
fi
}
check_venv # Ejecuta cuando se carga
## Agrega y arranca virtualenv
venv () {
virtualenv $VENV
check_venv
}
## Modifica comportamiento de cd
cd () {
builtin cd $1
check_venv
}
## Embellece y verifica código
pymp () {
FORMAT=false
CHECK=true
case $1 in
-f | formatear | format)
black --line-length 80 ${@:$#} ;;
-h | --help | help | ayuda)
CHECK=false
echo "
pymp: utilidad para enchular código de Python.
Uso:
pymp [OPT] [FILE|DIR]
Opciones:
-f | formatear | format Da formato a los archivos.
-h | --help | help | ayuda Despliega esta ayuda.
Ejemplos:
pymp archivo.py
pymp formatear .
pymp ayuda
" ;;
esac
if [ ! -d "${@:$#}" ] && [ ! -f "${@:$#}" ]; then
echo "ERROR: último argumento debe ser un fichero, ¿lo escribiste correctamente?"
return 1
fi
if [ "$CHECK" = true ]; then
flake8 --max-line-length 80 ${@:$#}
vulture ${@:$#}
fi
}