martes, octubre 24, 2006

Comandos útiles en Unix y Linux

Hace poco dí un cursillo pràctico de Solaris (SUN Microsystems) y preparé unos apuntes para que tuvieran una especie de chuleta y facilitar así la atención mientras explicaba. Entre varias cosas, les puse una serie de comandos muy útiles para el día a día, por lo que creo que a más de un@ le puede interesar. Los pongo a continuación:

# encontrar todos los archivos en /usr excluyendo algunos
find /usr | egrep -v "/usr/var|/usr/tmp|/usr/local"
# ejecutar comando para todos los ítems de la stdin
xargs -n 1 command
# escribir ítems separados por espacios en blanco en renglones
xargs -n 1 echo|
# extraer líneas con un determinado patrón
grep -e patrón|
# extraer el tercer campo separado por : (archivo passwd, etc.)
cut -d: -f3 -|
# extraer el tercer campo separado por espacios en blanco
awk '{ print $3 }' |
# extaer el tercer campo separado por tabulaciones
awk -F'\t' '{ print $3 }' |
# eliminar retrocesos y convertir tabulaciones en espacios
col -bx |
# transformar las tabulaciones
expand -|
# ordenar y eliminar duplicados
sort -u|
# concatenar líneas en una sola línea
tr '\n' ' '|
# eliminar CR (retornos de carro)
tr '\r' ''|
# convertir mayúsculas en minúsculas
tr 'A-Z' 'a-z'|
# transformar cada línea en un comentario
sed 's/^/# /'|
# eliminar .ext
sed 's/\.ext//g'|
# mostrar la segunda línea
sed -n -e 2p|
# mostrar las primeras 2 líneas
head -n 2 -|
# mostrar las últimas 2 líneas
tail -n 2 -|
# Lanzar un proceso muy lento
nice -19 top
# Lanzar un proceso muy rápido
nice --20 cdrecord -v -eject speed=2 dev=0,0 disk.img

Os pongo también algo de chroot, pues creo que os puede ser útil:

El programa chroot, chroot(8), nos permite ejecutar diferentes instancias de un entorno GNU/Linux en un único sistema, simultáneamente y sin reiniciar.
Asimismo, uno puede ejecutar un programa que consuma gran cantidad de recursos (por ejemplo, apt-get o dselect) bajo el chroot de una máquina anfitrión veloz, montando en ella una máquina auxiliar lenta (máquina satélite) mediante NFS en modo lectura/escritura, siendo el punto de montaje el directorio chroot.
Se puede crear fácilmente un entorno chroot para otra distribución Linux. Instale un sistema en una partición aparte usando el instalador de otra distribución. Si su partición raíz se encuentra en /dev/hda9:

main # cd / ; mkdir /otra-dist
main # mount -t ext3 /dev/hda9 /otra-dist
main # chroot /otra-dist /bin/bash

- When the road is defined, the travel is more beautiful, baby -