Comandos útiles en Ubuntu

Hoy vamos a ver unos cuantos comandos bastante útiles para Ubuntu. No iremos sobre aquellos comandos básicos, sino algunos que puede que sean menos conocidos. Queremos especificar que son para Ubuntu ya que es posible que no funcionen en alguna otra distribución Linux, como por ejemplos los relacionados con repositorios:

tail -F <Nombre de archivo>

Este comando puede ser muy útil para leer logs. Imprime por pantalla en tiempo real el fichero que pasemos como entrada. Si utilizamos grep de la siguiente forma:

tail -F <Nombre de archivo> | grep "<frase a buscar>"

sólo se imprime la frase que coincida con la cadena en el archivo.

sudo apt-get install <nombre del programa>

Apt-get es el famoso programa para instalar otros programas que se encuentren en los repositorios. Recuerda que para usarlo debe ser root (sudo). Para encontrar el nombre a introducir, nos basta con una rápida búsqueda en internet poniendo el comando y el nombre del programa después.

gnome-open <nombre del archivo>
[/code]
Cuando queremos abrir directamente un archivo desde la máquina de comandos y no sabemos que programa puede abrirlo, podemos usar este comando, que abre el archivo con el programa por defecto


find . -name "*" -exec <comando> <parámetros> {} \;

Con este otro comando podemos hacer una búsqueda recursiva y aplicar otro comando sobre todos los archivos que haya en la carpeta que nos encontremos y en sus subcarpetas. Por ejemplo, podríamos buscar todas las apariciones de la palabra "include" en todos las librerías de uno de nuestros programas de la siguiente forma:

find . -name "*.h" -exec grep -H -i "include" {} \;

Con el flag -H imprimimos el nombre del archivo antes de cada ocurrencia, y con -i nos evitamos la distinción entre mayúsculas y minúsculas.

history | grep <comando a buscar>

Cuando no recordamos el uso de un comando que hemos usado recientemente, podemos usar este truco para ver como fue usado por última vez, si es que aún se encuentra dentro de nuestro historial. Por ejemplo, si no recordamos el nombre de un servidor al que nos conectamos hace poco por ssh, podemos probar algo como esto:

history | grep ssh

Y obtenemos todas las últimas conexiones ssh que hemos realizado.

cat <nombre archivo> | more

Cuando intentamos imprimir en pantalla archivos demasiado grandes, podemos usar el comando more, el cual nos permite ver el archivo desde el principio e ir bajando línea a línea pulsando Enter.

Si sabes algún comando que no sea tan conocido pero aún así bastante útil, no dudes en colaborar en los comentarios!

Un saludo!

El archivo .bashrc

Este archivo de configuración, para los que estamos acostumbrados a usar el entorno Shell, es de vital importancia y conocerlo nos simplificará mucho la vida a los que trabajamos bajo alguna distribución Linux. Suele encontrarse en nuestro $HOME, pero por si acaso podemos buscarlo con el siguiente comando:


find / -name .bashrc

Lo primero de todo es saber que, en cuanto abramos una Shell Linux, este archivo se ejecutará. Por lo tanto podemos configurar nuestra Shell con todo lo que se nos ocurra poner dentro.

Entre todas las opciones que podemos configurar en nuestro entorno Shell, una es la asignación de variables, por ejemplo de la siguiente forma:


export WORKDIR=$HOME/directoriotrabajo

De esta forma podemos hacer algo como:


cd $WORKDIR

para ir directamente a nuestro directorio de trabajo, que es allí donde tendremos nuestro entorno. También podemos asignar alias, lo cual es de tremenda utilidad; aquí van unos cuantos alias bastante útiles:


## Volver a directorio anterior
alias ..='cd ..'
## Volver dos directorios atrás
alias ...='cd ../..'
## Comando history sustituido por h
alias h='history'
## Ejecutar apt-get con permisos root
alias apt-get='sudo apt-get'
## salida de ls ordenada en tiempo de modificación
alias ls='ls -talr'
## Por si no equivocamos al escribir cd ..
alias cd..='cd ..'
## Borrar logs del directorio de trabajo
alias rmlogs='rm -rf $WORKDIR/logs'
## Ejecutar script que configura variables de entorno
alias setVar='$WORKDIR/scripts/setVar.sh'
## Preguntar antes de borrar archivo
alias rm='rm -i'

Como vemos, los alias nos dan mucha funcionalidad y nos permite ahorrar mucho tiempo.  Otra gran funcionalidad del archivo .bashrc es agrandar la cantidad de comandos que quedan almacenados en el historial. Si ejecutamos lo siguiente:

history

Obtendremos un historial de los últimos comandos que hemos ejecutado. Si usamos el siguiente código:

history | grep ssh

Obtendremos todas las conexiones ssh que hemos hecho últimamente. La parte mala, es que a veces necesitamos echarle un ojo a comandos que ya han sido borrados del historial. Para ello, podemos cambiar el número de comandos que se guardan modificando la siguiente línea:

HISTSIZE=50000

Con esto, los últimos 50.000 comandos serán guardados. Si te hacen falta más, siempre puedes cambiar el número a tu gusto!

Un saludo!