.bash_aliases

Programacion en Bash

Moderadores: frank, dxfiles

Responder
Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

.bash_aliases

Mensaje por hugo » Jue, 10 Feb 2011, 19:50

Instalando una nueva computadora como servidor, he querido simplificarme un poco la vida con algunos alias, y se me ocurrió que probablemente sería una buena idea crear un hilo para alias útiles.

De momento aportaré dos de los que he encontrado más útiles:

Búsqueda de un comando en el historial

Código: Seleccionar todo

alias hs="history | egrep -i"
Con este alias, puedo hacer algo como hs mount y se mostrarán las entradas del historial donde aparecen comandos relacionados con mount, por ejemplo:

Código: Seleccionar todo

 69  sudo mount -r /dev/sdb1 /media/usb0
168  sudo umount /dev/sdb1
Entonces sabiendo que el comando que deseo es el número 69, para ejecutarlo solo tengo que poner:

Código: Seleccionar todo

!69
Scripts de gestión de servicios

Código: Seleccionar todo

for service in `cd /etc/init.d/; ls`; do
   alias "rc${service}"="/etc/init.d/${service}";
done
Con este alias, puedo ejecutar cualquier script de la carpeta /etc/init.d/ simplemente poniéndole el prefijo rc, por ejemplo:

Código: Seleccionar todo

rcsquid restart
Anímense a contribuir con sus alias favoritos!
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Avatar de Usuario
KZKG^Gaara
Mensajes: 463
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: /dev/kzkggaara
Contactar:

Re: .bash_aliases

Mensaje por KZKG^Gaara » Vie, 11 Feb 2011, 09:30

Dejo los que uso:

Código: Seleccionar todo

alias install='sudo apt-get install'
alias update='sudo apt-get update'
alias upgrade='sudo apt-get upgrade'
alias remove='sudo apt-get remove'
alias purge='sudo apt-get purge'
alias autoremove='sudo apt-get autoremove'
alias aptsearch='aptitude search'
alias fdisk='sudo fdisk -l'
alias rcconf='sudo rcconf'
alias apache='sudo /etc/init.d/apache2'
alias e='exit'
alias isomount='sudo mount -t iso9660 -o loop'
alias freespace='df -h'
alias bluetooth='sudo /etc/init.d/bluetooth'
alias samba='sudo /etc/init.d/samba'
alias nmapscan='sudo nmap -O -sS -PN'
alias nmapscan2='sudo nmap -vAPN'
alias conkyedit='nano /usr/local/bin/star_conky'
alias sources.list='sudo nano /etc/apt/sources.list'
alias extraeaudio='mplayer -vo null -dumpaudio -dumpfile'
alias peso='du -bsh' 
alias alert_helper='history|tail -n1|sed -e "s/^\s*[0-9]\+\s*//" -e "s/;\s*alert$//"'
alias alert='notify-send -i /home/kzkggaara/Pictures/Iconos/openterm.png "[$?] $(alert_helper)"'
alias botones='gconftool -s --type=string /apps/metacity/general/button_layout close,minimize,maximize:'
alias sshpc1='ssh kzkggaara@192.168.151.201'
alias connect='sudo "/home/kzkggaara/My Stocks/./connect.sh"'
alias monitoroff='xset dpms force off'
~~» KZKG^Gaara «~~
Usuario #518082 de GNU/Linux
Windows ha detectado que no tiene teclado... presione [F9] para continuar.

Avatar de Usuario
Hyuuga_Neji
Mensajes: 320
Registrado: Jue, 17 Mar 2011, 15:38
Ubicación: Abreus,Cienfuegos
Contactar:

Re: .bash_aliases

Mensaje por Hyuuga_Neji » Dom, 10 Abr 2011, 09:44

Agradezco sus aportes pero a mi particualrmente no me gusta utilizar muchos los alias puesto que casi nunca estoy en una terminal especifica y si me adapto a trabajar con mis alias entonces cuando me cambio de pc o voy a otro lugar tengo que opnerme a crear toda la serie de alias nuevas

No obstante una vez que te ¨asientas¨ en un pc entonces si son muy utiles los alias.... si tengo tiempo revisare mis viejos manuales para crear un alias capaz de montar nuevos proyectos en el servidor apache y asi ahorrarme tener que ir a los archivos de configuracion cada vez que vaya a montar un proyecto nuevo

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: .bash_aliases

Mensaje por hugo » Mar, 10 May 2011, 19:29

Acabo de percatarme de que Squeeze trae una adaptación del script service de Redhat (aparentemente recibido como aporte de Ubuntu), está en /usr/sbin/service.

De modo que ahora puedo reemplazar el alias que anteriormente estaba usando por algo mas sencillo, como esto:

Código: Seleccionar todo

alias sv='sudo service'
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: .bash_aliases

Mensaje por hugo » Jue, 25 Abr 2013, 06:57

Hace un momento batallaba con el comando du para ver el tamaño de los subdirectorios de una ruta dada, hasta que se me ocurrió hacer esto:

Código: Seleccionar todo

alias du1='du --block-size=1K --max-depth=1 | sort -k1 -nr | awk '\''{printf "%.3f MiB\t%s\n", $1/(1024), $2}'\'''
Además, otro que había hecho hace algún tiempo, muy útil por ejemplo para cuando se descarga un sitio mediante wget o se salvan páginas desde Linux que luego es necesario abrir desde Windows (lo que hace es renombrar recursivamente en el directorio donde se ejecute todos los nombres de archivos y directorios, reemplazando los espacios y además los caracteres que Windows no admite por el guión bajo):

Código: Seleccionar todo

alias fixnames='find . -depth -regextype posix-extended -regex '\''.*(\s+|:+|\\+|>+|<+|"+|\*+|\?+|\|+).*'\'' -execdir rename '\''s/(\s+|:+|\\+|>+|<+|"+|\*+|\?+|\|+)/_/g'\'' "{}" \;'
Otros sueltos:

Código: Seleccionar todo

alias m='sudo multitail --follow-all'
alias fdl='sudo fdisk -l | grep "Disk /"'
alias usb='sudo lsusb -vvv | grep -iE "(bus.*device.*|id(vendor|product)|i(manufacturer|product)|binterface((sub)?class|protocol))"'
alias getpage='wget -e robots=off -b --no-parent --convert-links --adjust-extension --page-requisites --span-hosts --no-directories --no-host-directories --restrict-file-names=windows'
alias getsite='wget -e robots=off -b --mirror --no-parent --convert-links --adjust-extension --page-requisites --no-host-directories --restrict-file-names=windows'
alias 7z9='7za a -mx=9 -ms=on'
Además, algunas funciones:

Código: Seleccionar todo

ERRPARAM="Parámetros incorrectos.\n"

function winfileversion () {
  if [ $# -eq 1 ] ; then
    strings -e l "$1" | sed -e :a -e '/FileVersion$/N; s/FileVersion\n/FileVersion /; ta' | grep FileVersion' 
  else
    echo -e $ERRPARAM
  fi
}

function man2pdf () {
  if [ $# -eq 1 ] ; then
    man -t "$1" | ps2pdf - "$1".pdf
  else
    echo -e $ERRPARAM
  fi
}

function mkcd () {
  if [ $# -eq 1 ] ; then
    sudo mkdir "$1" && cd "$1"
  else
    echo -e $ERRPARAM
  fi
}

function cdl () {
  if [ $# -eq 1 ] ; then
    cd "$1" && ls
  else
    echo -e $ERRPARAM
  fi
}

function p () {
  if [ $# -eq 0 ] ; then
    sudo ps ax | less
  elif [ $# -eq 1 ] ; then
    sudo ps ax | egrep -i $1 | egrep -v "egrep --color=auto -i $1"
  else
    echo -e $ERRPARAM
  fi
}

function h () {
  if [ $# -eq 0 ] ; then
    history | tail -25
  elif [ $# -eq 1 ] ; then
    history | grep -i "$1"
  else
    echo -e $ERRPARAM
  fi
}
(Como podrán notar, la función h ahora reemplaza a mi anterior alias hs, pues tiene la ventaja de que si se invoca sin parámetros, devuelve simplemente una pantalla con los últimos comandos tecleados)
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Responder