<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mundo Geek &#187; comandos</title>
	<atom:link href="http://mundogeek.net/etiqueta/comandos/feed/" rel="self" type="application/rss+xml" />
	<link>http://mundogeek.net</link>
	<description>Mundo geek, bitácora sobre todo lo geek: software, gadgets, tecnología, internet, ...</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:09:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>10 comandos útiles para Linux que probablemente no conocías</title>
		<link>http://mundogeek.net/archivos/2009/03/10/10-comandos-utiles-para-linux-que-probablemente-no-conocias/</link>
		<comments>http://mundogeek.net/archivos/2009/03/10/10-comandos-utiles-para-linux-que-probablemente-no-conocias/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 12:30:38 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=2708</guid>
		<description><![CDATA[La cantidad de comandos y funcionalidades que tenemos disponible en la consola de Linux es tal que es probable que nunca lleguemos a dominarla completamente. En esta entrada veremos 10 comandos que puede que no conocieras y que te pueden ser de utilidad en alguna que otra ocasión. pgrep: busca procesos en ejecución basándose en [...]]]></description>
			<content:encoded><![CDATA[<p>La cantidad de comandos y funcionalidades que tenemos disponible en la consola de Linux es tal que es probable que nunca lleguemos a dominarla completamente. En esta entrada veremos 10 comandos que puede que no conocieras y que te pueden ser de utilidad en alguna que otra ocasión.<br />
<span id="more-2708"></span></p>
<ol>
<li><code>pgrep</code>: busca procesos en ejecución basándose en el nombre u otros atributos. Para obtener el PID de todos los procesos del usuario root, por ejemplo:
<p class="code">pgrep -u root</p>
<p>Comparado con la forma habitual de hacerlo:</p>
<p class="code">ps -ef | egrep &#8216;^root &#8216; | awk &#8216;{print $2}&#8217;</p>
</li>
<li><code>pstree</code>: muestra la lista de los procesos en ejecución en forma de árbol.</li>
<li><code>bc</code>: 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 comandos:
<p class="code">echo -e &#8220;sqrt(16)\nquit\n&#8221; | bc -q -i</p>
</li>
<li><code>split</code>: 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 &#8220;ficherogrande&#8221; en partes de 2MB, usando como nombre para los ficheros ficherogrande_aa, ficherogrande_ab, etc:
<p class="code">split -b 2m ficherogrande ficherogrande_</p>
</li>
<li><code>nl</code>: son las siglas de <em>number of lines</em> (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.</li>
<li><code>mkfifo</code>: 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 <code>ls</code> en la tubería:
<p class="code">mkfifo tuberia<br />
ls &gt; tuberia</p>
<p>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:</p>
<p class="code">head tuberia</p>
</li>
<li><code>ldd</code>: muestra las librerías compartidas de las que depende un programa. Para el comando java del JRE/JDK, por ejemplo:
<p class="code">ldd /usr/bin/java<br />
	linux-gate.so.1 =>  (0xb7f8b000)<br />
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7f44000)<br />
	libjli.so => /usr/lib/jvm/java-6-sun-1.6.0.10/jre/bin/../lib/i386/jli/libjli.so (0xb7f3b000)<br />
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f36000)<br />
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dd8000)<br />
	/lib/ld-linux.so.2 (0xb7f71000)</p>
</li>
<li><code>col</code>: ¿quieres guardar la salida de una página de manual como texto plano?
<p class="code">PAGER=cat<br />
man less | col -b &gt; less.txt</o></li>
<li><code>xmlwf</code>: ¿necesitas comprobar si un archivo XML está bien formado?
<p class="code">curl -s &#8216;http://bashcurescancer.com&#8217; &gt; bcc.html<br />
xmlwf bcc.html</p>
</li>
<li><code>lsof</code>: muestra una lista de los archivos abiertos. Recordad que en Linux también se utilizan archivos para representar cosas como directorios o sockets, por lo que es posible listar todas las conexiones TCP con algo como:
<p class="code">lsof | grep TCP</p>
</li>
</ol>
<p><a href="http://bashcurescancer.com/10-linux-commands-youve-never-used.html">Vía</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2009/03/10/10-comandos-utiles-para-linux-que-probablemente-no-conocias/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Encuentra el comando que estás buscando</title>
		<link>http://mundogeek.net/archivos/2007/05/25/encuentra-el-comando-que-estas-buscando/</link>
		<comments>http://mundogeek.net/archivos/2007/05/25/encuentra-el-comando-que-estas-buscando/#comments</comments>
		<pubDate>Fri, 25 May 2007 08:14:49 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2007/05/25/encuentra-el-comando-que-estas-buscando/</guid>
		<description><![CDATA[Entrada para novatos. Imaginemos que no supiéramos cómo renombrar un archivo o directorio en la consola; podríamos buscar el comando que necesitamos en Google, pero hay una forma mucho mejor, y que no requiere de tener conexión a Internet: el comando apropos. apropos busca el texto que le indiques en las descripciones de las páginas [...]]]></description>
			<content:encoded><![CDATA[<p>Entrada para novatos.</p>
<p>Imaginemos que no supiéramos cómo renombrar un archivo o directorio en la consola; podríamos buscar el comando que necesitamos en Google, pero hay una forma mucho mejor, y que no requiere de tener conexión a Internet: el comando apropos.</p>
<p>apropos busca el texto que le indiques en las descripciones de las páginas man de los comandos instalados. En este ejemplo en concreto podríamos escribir apropos rename (rename=renombrar) con lo que obtendríamos:</p>
<p class="code">zootropo@Genua:~$ apropos rename<br />
btrename (1)         &#8211; change the suggested filename inside a bittorrent file<br />
btrename.bittorrent (1) &#8211; change the suggested filename inside a bittorrent file<br />
dpkg-name (1)        &#8211; rename Debian packages to full package names<br />
mv (1)               &#8211; move (rename) files<br />
prename (1)          &#8211; renames multiple files<br />
rename (1)           &#8211; renames multiple files<br />
XStoreName (3)       &#8211; set or read a window&#8217;s WM_NAME property<br />
XStoreNamedColor (3) &#8211; set colors</p>
<p>Como veis el comando que buscábamos es mv.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2007/05/25/encuentra-el-comando-que-estas-buscando/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Los 10 comandos linux que más utilizas</title>
		<link>http://mundogeek.net/archivos/2007/05/21/los-10-comandos-linux-que-mas-utilizas/</link>
		<comments>http://mundogeek.net/archivos/2007/05/21/los-10-comandos-linux-que-mas-utilizas/#comments</comments>
		<pubDate>Mon, 21 May 2007 07:45:20 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2007/05/21/los-10-comandos-linux-que-mas-utilizas/</guid>
		<description><![CDATA[Si introducís esta orden en la línea de comandos os mostrará una lista ordenada de los comandos que más utilizáis, con el número de veces que se utilizó cada uno (visto en la bitácora de un desarrollador de Debian ligeramente paranoico). history&#124;awk &#8216;{print $2}&#8217;&#124;awk &#8216;BEGIN {FS=&#8221;&#124;&#8221;} {print $1}&#8217;&#124;sort&#124;uniq -c&#124;sort -rn&#124;head -10 history muestra una lista [...]]]></description>
			<content:encoded><![CDATA[<p>Si introducís esta orden en la línea de comandos os mostrará una lista ordenada de los comandos que más utilizáis, con el número de veces que se utilizó cada uno (visto en la <a href="http://www.hermann-uwe.de/blog/the-top-ten-unix-shell-commands-you-use" title="Los 10 comandos linux que más utilizas">bitácora de un desarrollador de Debian ligeramente paranoico</a>).</p>
<p class="code">history|awk &#8216;{print $2}&#8217;|awk &#8216;BEGIN {FS=&#8221;|&#8221;} {print $1}&#8217;|sort|uniq -c|sort -rn|head -10</p>
<p>history muestra una lista de todos los comandos que hemos ejecutado recientemente (utilizado por bash y otras shells para mostrar el comando anterior y posterior al pulsar las teclas de flecha arriba y flecha abajo, al usar !! para ejecutar el comando anterior, etc) siendo los que tienen los números más pequeños los más antiguos. Se utiliza awk para quedarnos con el comando en sí, sin argumentos ni flags. Utiliza sort para ordenar la lista de comandos alfabéticamente. Después uniq, que dada una lista en la que tenemos n líneas idénticas sucesivas deja sólo una de las líneas, añadiendo el número de líneas iguales que había antes (flag -c) al comienzo de la línea. Se vuelve a ordenar la lista de forma que la ordenación sea por el número de veces que se ejecutó el comando, que ahora es la primera cadena de la línea (-n para que sea ordenación numérica), y de mayor a menor (-r, reversed). Por último, se utiliza head para mostrar las 10 (-10) primeras líneas.</p>
<p>Este es mi resultado:</p>
<p class="code"><code>224&nbsp; sudo<br />
184 &nbsp;ls<br />
108 &nbsp;cd<br />
 58 &nbsp;&nbsp;aptitude<br />
 49 &nbsp;&nbsp;gedit<br />
 37 &nbsp;&nbsp;rm<br />
 36 &nbsp;&nbsp;man<br />
 27 &nbsp;&nbsp;exit<br />
 19 &nbsp;&nbsp;javac<br />
 16 &nbsp;&nbsp;python</code></p>
<p>A vosotros seguramente os salgan números más pequeños porque por defecto bash sólo guarda los últimos 500. Para que guardara 1000 modificaríamos el .bashrc poniendo la variable HISTSIZE a 1000:</p>
<p class="code">echo &#8220;export HISTSIZE=1000&#8243; >> ~/.bashrc</p>
<p>Y esto es todo. Si queréis convertir esto en un meme que me reporte <a href="http://frikipedia.es/friki/Numeros_megamolones_y_absolutamente_antimatematicos_(NMAA)">un gritón</a> de enlaces, me parece bien.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2007/05/21/los-10-comandos-linux-que-mas-utilizas/feed/</wfw:commentRss>
		<slash:comments>91</slash:comments>
		</item>
	</channel>
</rss>

