10 Comandos utilies en GNU/Linux

Enviado por keopx el Dom, 29/03/2009 - 19:15

pgrep: busca procesos en ejecución basándose sobre el nombre u otros atributos. Para obtener el PID (identidad de proceso) de todos los procesos del usuario root, por ejemplo:

pgrep -u root

Comparado con la forma habitual de hacerlo:

ps -ef | egrep '^root ' | awk '{print $2}'

pstree: muestra la lista de los procesos en ejecución en forma de árbol.

bc: un pequeño intérprete para el cálculo matemático. Podemos iniciar el intérprete e introducir las operaciones, escribirlas en un archivo de texto o incluso usar una tubería y pasarlas directamente desde la línea de mandatos:

echo -e "sqrt(16)\nquit\n" | bc -q -i

split: sencillo comando que, como su nombre indica, nos permite dividir un fichero en varias partes. En la siguiente orden, por ejemplo, se divide el archivo "ficherogrande" en partes de 2MB, usando como nombre para los ficheros ficherogrande_aa, ficherogrande_ab, etc:

split -b 2m ficherogrande LF_ficherogrande

nl: son las siglas de number of lines (número de líneas). Se utiliza, como es de esperar, para contar el número de líneas de un fichero. Útil, por ejemplo, si quieres saber cuánto te ha cundido el pasar todo el fin de semana programando.

mkfifo: crea una tubería con un nombre asociado. Veamos un pequeño ejemplo. Primero creamos una tubería mi-tuberia y almacenamos el resultado de un ls en la tubería:

mkfifo tuberia
ls > tuberia

Esto hará que se cree un archivo con el contenido almacenado en la tubería y que la consola permanezca bloqueada hasta que se se lea la salida de la tubería desde otra parte. Abrimos otra consola y escribimos:

head tuberia

ldd: muestra las librerías compartidas de las que depende un programa. Para el comando java del JRE/JDK, por ejemplo:

ldd /usr/bin/java
linux-gate.so.1 => (0xb7f8b000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7f44000)
libjli.so => /usr/lib/jvm/java-6-sun-1.6.0.10/jre/bin/../lib/i386/jli/libjli.so (0xb7f3b000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f36000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dd8000)
/lib/ld-linux.so.2 (0xb7f71000)

col: ¿quieres guardar la salida de una página de manual como texto plano?

PAGER=cat
man less | col -b > less.txt

xmlwf: ¿necesitas comprobar si un archivo XML está bien formado?

curl -s 'http://bashcurescancer.com' > bcc.html
xmlwf bcc.html

lsof: muestra una lista de los archivos abiertos. Recordad que en Linux también se utilizan archivos para representar cosas como directorios o zócalos (sockets), por lo que es posible listar todas las conexiones TCP con algo como:

lsof | grep TCP

Referencia:

http://www.alcancelibre.org/article.php/10-mandatos-utiles-linux

Añadir nuevo comentario

El contenido de este campo se mantiene privado y no se mostrará públicamente.

HTML Restringido

  • Etiquetas HTML permitidas: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.