<?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>Linux, Java y programación &#187; comandos</title>
	<atom:link href="http://casidiablo.net/tag/comandos/feed/" rel="self" type="application/rss+xml" />
	<link>http://casidiablo.net</link>
	<description>Blog de Java, Programación y Linux</description>
	<lastBuildDate>Fri, 11 Nov 2011 05:41:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Códigos de shell script útiles en cualquier programa</title>
		<link>http://casidiablo.net/codigos-de-shell-script-utiles/</link>
		<comments>http://casidiablo.net/codigos-de-shell-script-utiles/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 03:23:46 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3588</guid>
		<description><![CDATA[A continuación voy a poner algunos snippets de código de shell script que me han sido siempre útiles cuando escribo algún script. La mayoríá funcinoan en cualquier shell de Unix, aunque algunos requieren que sean ejecutados por Bash. Evitar que usuarios sin privilegios ejecuten el script Algunos scripts realizan tareas administrativas por lo cual podríamos [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fcodigos-de-shell-script-utiles%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22C%C3%B3digos%20de%20shell%20script%20%C3%BAtiles%20en%20cualquier%20programa%22%20%7D);"></div>
<p style="text-align: justify;"><img src="http://casidiablo.net/wordpress/wp-content/uploads/2010/01/bash.png" alt="shell script" title="shell script" width="80" height="80" style="float:left;padding:5px;" />A continuación voy a poner algunos snippets de código de shell script que me han sido siempre útiles cuando escribo algún script. La mayoríá funcinoan en cualquier shell de Unix, aunque algunos requieren que sean ejecutados por <strong>Bash</strong>.</p>
<h3>Evitar que usuarios sin privilegios ejecuten el script</h3>
<p style="text-align: justify;">Algunos scripts realizan tareas administrativas por lo cual podríamos querer que solo el usuario root ejecute el script. En ese caso podemos usar algo como esto:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo &quot;Este script debe ser ejecutado por el usuario root&quot; 1&gt;&amp;2
    exit 1
fi</pre>
<h3>Permitir la ejecución del script solo a un usuario específico</h3>
<p style="text-align: justify;">De manera similar al código anterior, podríamos querer que solo un usuario específico ejecute el script. Lo hacemos así:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
AUTHORIZED_USER=&quot;usuario_permitido&quot;
if [ $USER != $AUTHORIZED_USER ]; then
    echo &quot;Este script debe ser ejecutado por el usuario $AUTHORIZED_USER&quot; 1&gt;&amp;2
    exit 1
fi</pre>
<h3>Verificar que un servicio/proceso se está ejecutando</h3>
<p style="text-align: justify;">Si queremos saber si existen procesos de algún servicio o programa ejecutándose podríamos usar este script (en este caso verifica que el demonio de Apache esté corriendo):</p>
<p><span id="more-3588"></span></p>
<pre class="brush: bash; title: ; notranslate">#!/bin/sh
SERVICE='httpd'
if ps ax | grep -v grep | grep $SERVICE &gt; /dev/null
then
    echo &quot;El servicio $SERVICE esta ejecutandose&quot;
else
    echo &quot;Chanfle! El servicio $SERVICE esta detenido&quot;
fi</pre>
<h3>Verificar que una variable esté asignada/tenga datos</h3>
<p style="text-align: justify;">Hay bastantes maneras de hacer esto en shell script&#8230; la que considero más sencilla y concisa es esta:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
FOO=
: ${FOO:?&quot;No existe la variable FOO o no tiene datos&quot;}
echo &quot;esto nunca se va a imprimir&quot;</pre>
<p style="text-align: justify;">El anterior script verifica si una variable existe y tiene datos; si esto no se cumple, el script se cierra. Podemos usar esta variación en donde solo comprobamos que la variable exista, sin importar si tiene datos o no:</code></p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
FOO=
: ${FOO?&quot;No existe la variable FOO&quot;}
echo &quot;esto si se va a imprimir&quot;</pre>
<h3>Crear un archivo de bloqueo</h3>
<p style="text-align: justify;">A veces debemos asegurarnos que el script no se ejecute dos o más veces simultáneas. Para ello podemos hacer uso de los archivos de bloqueo. Esta es una versión sencilla de un script que nos permite hacer esto:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
lockfile=/var/lock/loquesea.lock
if [ ! -e $lockfile ]; then
   touch $lockfile
   echo &quot;hago muchas cosas importantes aqui&quot;
   rm $lockfile
else
   echo &quot;ya hay otro proceso corriendo&quot;
fi</pre>
<p style="text-align: justify;">En este caso, se verifica que el archivo loquesea.lock exista. En caso de que exista, el script NO ejecuta sus tareas. Si no existe, crea el archivo, ejecuta las tareas que deba ejecutar y lo elimina.</p>
<p style="text-align: justify;">Pero, esto no es del todo fiable. ¿Qué pasaría si mientras nuestro script se está ejecutando es cerrado abruptamente (con Ctrl^c por ejemplo)? En ese caso el archivo de bloqueo no se borraría, y por lo tanto, no nos permitiría ejecutar el script de nuevo.</p>
<p style="text-align: justify;">Para cubrir esos casos, podríamos hacer uso del comando <strong><code>trap</code></strong> que nos permite ejecutar comandos en caso que nuestro script termine de manera inesperada. Esta es una versión más avanzada que además guarda dentro del archivo de bloqueo el PID del script que lo ejecuta:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
lockfile=/var/lock/loquesea.lock
if ( set -o noclobber; echo &quot;$$&quot; &gt; &quot;$lockfile&quot;) 2&gt; /dev/null;
then
    trap 'rm -f &quot;$lockfile&quot;; exit $?' INT TERM EXIT
    echo &quot;hago muchas cosas aqui tranquilamente&quot;
    rm -f &quot;$lockfile&quot;
    trap - INT TERM EXIT
else
    echo &quot;Ya hay otro proceso de este script ejecutandose&quot;
    echo &quot;corriendo con el PID: $(cat $lockfile)&quot;
fi</pre>
<p style="text-align: justify;">Entendamos un poco mejor el comando <strong><code>trap</code></strong>. La sintaxis del mismo es básicamente esta: <code>trap <strong>comando</strong> signal [signal ...]</code>; donde signal es la señal de terminación que quieres atrapar. Si quieres ver una lista de los signals disponibles puedes ejecutar el comando kill -l. Para el caso anterior se usaron los signals <code><strong>INT</strong></code> (captura la terminación producida por un Ctrl^c), <code><strong>TERM</strong></code> (terminación producida por el comando kill) y <code><strong>EXIT</strong></code> (terminación normal de un script, bien sea porque ya no hay más líneas que ejecutar o porque se encuentra con el comando exit).</p>
<h3>Menú de opciones</h3>
<p style="text-align: justify;">Para hacer un menú en donde permitimos al usuario seleccionar una serie de opciones podemos usar el siguiente esquema:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
clear
while :
do
 echo &quot; Escoja una opcion &quot;
 echo &quot;1. quien soy?&quot;
 echo &quot;2. cuanto espacio tengo&quot;
 echo &quot;3. que es esto?&quot;
 echo &quot;4. Salir&quot;
 echo -n &quot;Seleccione una opcion [1 - 4]&quot;
 read opcion
 case $opcion in
  1) echo &quot;este eres:&quot;;
     whoami;;
  2) echo &quot;tienes esto&quot;;
     df;;
  3) uname -r;;
  4) echo &quot;chao pues parcero&quot;;
     exit 1;;
  *) echo &quot;$opc es una opcion invalida. Es tan dificil?&quot;;
     echo &quot;Presiona una tecla para continuar...&quot;;
     read foo;;
esac
done</pre>
<h3>Pedir confirmación antes de ejecutar un script</h3>
<p>A veces es útil hacer que el usuario confirme la ejecución de un lote de sentencias, es decir, el típico mensaje que pide al usuario escribir <code><strong>yes</strong></code> o <code><strong>no</strong></code>. Esto lo podemos hacer así:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
while true; do
    echo
    read -p &quot;esta seguro de hacer lo que sea que vaya a hacer &quot; yn
    case $yn in
        yes ) break;;
        no ) exit;;
        * ) echo &quot;por favor responda yes o no&quot;;;
    esac
done
echo &quot;si se ejecuta esto es que aceptaste&quot;
</pre>
<h3>Fuentes de información</h3>
<ul>
<li><a href="http://stackoverflow.com/">StackOverflow - La más valiosa sin duda alguna</a></li>
<li><a href="http://www.davidpashley.com/articles/writing-robust-shell-scripts.html">Writing Robust Bash Shell Scripts</a></li>
<li><a href="http://www.cyberciti.biz/tips/shell-root-user-check-script.html">nixCraft</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/codigos-de-shell-script-utiles/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Chequear correos nuevos de Gmail desde la línea de comandos</title>
		<link>http://casidiablo.net/verificar-nuevos-mails-linea-comandos/</link>
		<comments>http://casidiablo.net/verificar-nuevos-mails-linea-comandos/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 13:00:26 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[línea]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3226</guid>
		<description><![CDATA[Un tip rápido para ver si tienes nuevos correos en Gmail usando una CLI. Basta con tener curl instalado (casi cualquier distro lo tiene instalado) y ejecutar este comando: curl -u nombreusuario &#8211;silent &#8220;https://mail.google.com/mail/feed/atom&#8221; &#124; perl -ne &#8216;print &#8220;\t&#8221; if //; print &#8220;$2\n&#8221; if /(.*)/;&#8217; Puedes crear un alias para acceso fácil; para ello, añades [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fverificar-nuevos-mails-linea-comandos%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Chequear%20correos%20nuevos%20de%20Gmail%20desde%20la%20l%C3%ADnea%20de%20comandos%22%20%7D);"></div>
<p>Un tip rápido para ver si tienes nuevos correos en Gmail usando una CLI. Basta con tener curl instalado (casi cualquier distro lo tiene instalado) y ejecutar este comando:<br />
<!--INFOLINKS_OFF-->
<div class="consola">curl -u nombreusuario &#8211;silent &#8220;https://mail.google.com/mail/feed/atom&#8221; | perl -ne &#8216;print &#8220;\t&#8221; if /<name>/; print &#8220;$2\n&#8221; if /<(title|name)>(.*)<\/\1>/;&#8217;</div>
<p><!--INFOLINKS_ON--><br />
Puedes crear un alias para acceso fácil; para ello, añades lo siguiente en el archivo <code>~/.bashrc</code>:<br />
<!--INFOLINKS_OFF-->
<div class="consola">alias revisarmail=&#8221;curl -u nombreusuario &#8211;silent &#8220;https://mail.google.com/mail/feed/atom&#8221; | perl -ne &#8216;print &#8220;\t&#8221; if /<name>/; print &#8220;$2\n&#8221; if /<(title|name)>(.*)<\/\1>/;&#8217;&#8221;</div>
<p><!--INFOLINKS_ON--><br />
De esa manera basta con ejecutar el comando revisarmail y poner tu password.</p>
<p>Visto en: <a href="http://www.commandlinefu.com/commands/view/3386/check-your-unread-gmail-from-the-command-line">commandlinefu</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/verificar-nuevos-mails-linea-comandos/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Comandos útiles para Linux</title>
		<link>http://casidiablo.net/comandos-utiles-linu/</link>
		<comments>http://casidiablo.net/comandos-utiles-linu/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 08:44:35 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[utiles]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=1912</guid>
		<description><![CDATA[¿Qué versión del kernel tengo? $ uname -r 2.6.17.13-smp ¿Qué versión de X tengo instalada? $ X -version 2&#62;&#38;1 &#124; sed ‘/^$/d’ &#124; head -n1 X Window System Version 6.9.0 ¿Tengo aceleración por hardware en mi placa de video? $ glxinfo &#124; grep “direct rendering” direct rendering: Yes  ¿Qué procesador(es) tiene mi compu? $cat /proc/cpuinfo [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fcomandos-utiles-linu%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Comandos%20%C3%BAtiles%20para%20Linux%22%20%7D);"></div>
<h3>¿Qué versión del kernel tengo?</h3>
<div class="consola">$ uname -r<br />
2.6.17.13-smp</div>
<h3>¿Qué versión de X tengo instalada?</h3>
<div class="consola">$ X -version 2&gt;&amp;1 | sed ‘/^$/d’ | head -n1<br />
X Window System Version 6.9.0</div>
<h3>¿Tengo aceleración por hardware en mi placa de video?</h3>
<div class="consola">$ glxinfo | grep “direct rendering”<br />
direct rendering: Yes </div>
<h3>¿Qué procesador(es) tiene mi compu?</h3>
<div class="consola">$cat /proc/cpuinfo | grep “model name”<br />
model name : Intel(R) Pentium(R) 4 CPU 3.00GHz<br />
model name : Intel(R) Pentium(R) 4 CPU 3.00GHz</div>
<p><span id="more-1912"></span></p>
<h3>¿Cuál es la frecuencia del(los) procesador(es)?</h3>
<div class="consola">$ cat /proc/cpuinfo | grep “cpu MHz”<br />
cpu MHz : 3000.586<br />
cpu MHz : 3000.586</div>
<h3>¿Que porcentaje del disco(s) esta usado/libre?</h3>
<div class="consola">$ df -h<br />
Filesystem Size Used Avail Use% Mounted on<br />
/dev/sda1 10G 6.5G 3.5G 65% /<br />
/dev/sda2 10G 4.9G 5.2G 49% /home</div>
<h3>¿Cual es la temperatura del CPU?</h3>
<div class="consola">$ cat /proc/acpi/thermal_zone/THRM/temperature<br />
temperature: 43 C</div>
<h3>¿Cual es el nombre de la maquina?</h3>
<div class="consola">$ hostname<br />
amd64</div>
<h3>¿Cual es la MAC de la placa de red?</h3>
<div class="consola">$ /sbin/ifconfig | awk ‘/HWaddr/ {print $5}’<br />
00:XX:XX:XX:XX:XX</div>
<h3>¿Cuanta memoria tiene disponible la compu?</h3>
<div class="consola">$ free -m | sed -n ‘2,2p’ | awk ‘{print $2 ” MB”}’<br />
494 MB</div>
<h3>¿Cuánta memoria está usando la compu?</h3>
<div class="consola">$ free -m | sed -n ‘3,3p’ | awk ‘{print $3 ” MB”}’<br />
297 MB</div>
<h3>¿Cuanta memoria está libre?</h3>
<div class="consola">$ free -m | sed -n ‘3,3p’ | awk ‘{print $4 ” MB”}’<br />
195 MB</div>
<h3>¿Hace cuanto que está prendida la compu?</h3>
<div class="consola">$ uptime | cut -d, -f1 | cut -d” ” -f3-</div>
<h3>¿Qué proceso está consumiendo más CPU?</h3>
<div class="consola">$ ps -eo pcpu,pid,user,args | sort -k1 -r -n | head -2<br />
%CPU PID USER COMMAND<br />
2.1 10346 zarpele /usr/lib/opera/9.27-20080331.6/opera -style Plastik</div>
<h3>¿Qué dispositivos tengo en los bus PCI?</h3>
<div class="consola">$ /sbin/lspci<br />
00:00.0 Host bridge: Intel Corporation 915G/P/GV/GL/PL/910GL Express Memory Controller Hub (rev 04)<br />
00:01.0 PCI bridge: Intel Corporation 915G/P/GV/GL/PL/910GL Express PCI Express Root Port (rev 04)<br />
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)<br />
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)<br />
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)<br />
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d3)<br />
00:1f.0 ISA bridge: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (rev 03)<br />
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)<br />
00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 03)<br />
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)</div>
<h3>¿Qué dispositivos tengo en los bus USB?</h3>
<div class="consola">$ /sbin/lsusb<br />
Bus 5 Device 1: ID 0000:0000<br />
Bus 3 Device 1: ID 0000:0000<br />
Bus 2 Device 1: ID 0000:0000<br />
Bus 1 Device 1: ID 0000:0000<br />
Bus 4 Device 2: ID 03f0:1d17 Hewlett-Packard<br />
Bus 4 Device 1: ID 0000:0000</div>
<h3>¿Cuál es el nombre de usuario que tengo?</h3>
<div class="consola">$ whoami<br />
zarpele</div>
<h3>¿A que grupos del sistema pertenezco?</h3>
<div class="consola">$ groups<br />
users floppy audio video cdrom</div>
<h3>¿Cuánto espacio de disco usa mi cuenta?</h3>
<div class="consola">du -sh $HOME<br />
3.6G /home/eternauta</div>
<h3>¿Que versión del compilador de C tengo instalado?</h3>
<div class="consola">$ gcc –version | head -n1<br />
gcc (GCC) 3.4.6</div>
<h3>¿Qué librerías utiliza el programa xxx (por ejemplo mplayer)?</h3>
<div class="consola">$ ldd /usr/bin/mplayer<br />
linux-gate.so.1 =&gt; (0xffffe000)<br />
libdvdnav.so.4 =&gt; /usr/lib/libdvdnav.so.4 (0xb7ecc000)<br />
libpthread.so.0 =&gt; /lib/tls/libpthread.so.0 (0xb7e9c000)<br />
libmad.so.0 =&gt; /usr/lib/libmad.so.0 (0xb7e87000)<br />
libdv.so.4 =&gt; /usr/lib/libdv.so.4 (0xb7e5f000)<br />
libtheora.so.0 =&gt; /usr/lib/libtheora.so.0 (0xb7e31000)<br />
libogg.so.0 =&gt; /usr/lib/libogg.so.0 (0xb7e2c000)<br />
libpng.so.3 =&gt; /usr/lib/libpng.so.3 (0xb7df1000)<br />
libz.so.1 =&gt; /usr/lib/libz.so.1 (0xb7ddf000)<br />
libjpeg.so.62 =&gt; /usr/lib/libjpeg.so.62 (0xb7dc2000)<br />
libasound.so.2 =&gt; /usr/lib/libasound.so.2 (0xb7d02000)<br />
libdl.so.2 =&gt; /lib/tls/libdl.so.2 (0xb7cfe000)<br />
libxmms.so.1 =&gt; /usr/lib/libxmms.so.1 (0xb7cf1000)<br />
libmpcdec.so.5 =&gt; /usr/lib/libmpcdec.so.5 (0xb7ce3000)</div>
<h3>¿Qué hora y día es hoy?</h3>
<div class="consola">$ date<br />
Fri Oct 3 12:56:14 ART 2008</div>
<h3>¿Tenés un calendario de este mes?</h3>
<div class="consola">$ cal<br />
October 2008<br />
Su Mo Tu We Th Fr Sa<br />
1 2 3 4<br />
5 6 7 8 9 10 11<br />
12 13 14 15 16 17 18<br />
19 20 21 22 23 24 25<br />
26 27 28 29 30 31</div>
<p><strong>Visto en <a href="http://www.zarpele.com.ar/2008/10/muchos-tips-en-consola/">Zarpele</a></strong></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/comandos-utiles-linu/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

