From 846da4cb0d119337e46608362fd565e9be07fb07 Mon Sep 17 00:00:00 2001 From: Nika Zhenya Date: Wed, 7 Dec 2022 11:00:42 -0800 Subject: [PATCH] Init --- README.md | 3 + aliases.sh | 366 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 369 insertions(+) create mode 100644 README.md create mode 100644 aliases.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..0403267 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Aliases + +Aquí están los aliases perrones. diff --git a/aliases.sh b/aliases.sh new file mode 100644 index 0000000..3b15358 --- /dev/null +++ b/aliases.sh @@ -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 +} \ No newline at end of file