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!

IDE libres

Muchos de los entornos de desarrollo para programadores son Software Libre. Esto facilita a cualquier persona el aprendizaje de lenguajes de programación y, además, la posibilidad de colaborar en proyectos de Software Libre. Y es que los IDEs más usados están liberados bajo licencias libres. Algunos ejemplos son los siguientes:

Eclipse: Uno de los IDEs más famosos, multiplataforma y con soporte para una gran variedad de lenguajes de programación, aún que está centrado principalmente en Java. Además tiene la posiblidad de incluir plug-ins para añadir funcionalidades, como incluir el sistema de control de versiones o facilitar la documentación de proyectos. Es dirigido por la Fundación Eclipse y se compone de una comunidad que lo mantiene en constante desarrollo. Actualmente se compone de más de 2 millones de líneas de código, la mayoría en Java, y el coste que se ha estimado que valdría crear un IDE como Eclipse es de más de 80 millones de dólares.

NetBeans: Compite en la lucha con Eclipse por ser el IDE más usado para el lenguaje Java, aún que también se puede programar en otros lenguajes como PHP o Python. Tiene un número de líneas de código muy parecido al de Eclipse, y también es desarrollado en su mayoría en Java, por lo que la estimación del coste es tal proyecto es muy similar.

Dev C++: Este IDE está centrado en programación en C y C++ y usa una versión del popular compilador GCC, el cual fue desarrollado por Richard Stallman. Está creado en Delphi.

Kdevelop: Diseñado para el sistema operativo GNU/Linux, en especial para el entorno gráfico KDE, aún que también funciona en Gnome. En realidad es un conjunto de herramientas que componen un IDE; por ejemplo, el compilador es GCC y el editor de texto Kate, también desarrollado para KDE. Se centra principalmente en C/C++.

MonoDevelop: Para el entorno .NET, este IDE, el cual es un fork de SharpDevelop, es ampliamente usado, a pesar de que hasta el momento el más usado para este lenguaje de programación es el creado por Windows.

BlueFish: Es un editor de HTML, enfocado a la edición de webs interactivas. La estimación del coste de tal proyecto es de 1.5 millones de Dólares.

Eso es todo, un saludo!