<?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; archivos</title>
	<atom:link href="http://casidiablo.net/tag/archivos/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>Recuperar archivos eliminados usando Foremost [configuración manual]</title>
		<link>http://casidiablo.net/restaurar-archivos-eliminados-accidentalmente/</link>
		<comments>http://casidiablo.net/restaurar-archivos-eliminados-accidentalmente/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 05:58:39 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[archivos]]></category>
		<category><![CDATA[carving]]></category>
		<category><![CDATA[eliminados]]></category>
		<category><![CDATA[ext2]]></category>
		<category><![CDATA[ext3]]></category>
		<category><![CDATA[ext4]]></category>
		<category><![CDATA[foremost]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[recuperar]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[undelete]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3487</guid>
		<description><![CDATA[¡Hola a todos! Hace un par de días perdí la partición donde tenía mi /home. Afortunadamente pude recuperar el 98% de los archivos que necesitaba. Es decir, en realidad no me interesaba recuperar imágenes, música, etc&#8230; lo único importante era recuperar los archivos PHP con los que había estado trabajando. Aclaro esto puesto que esta [...]]]></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%252Frestaurar-archivos-eliminados-accidentalmente%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Recuperar%20archivos%20eliminados%20usando%20Foremost%20%5Bconfiguraci%C3%B3n%20manual%5D%22%20%7D);"></div>
<p style="text-align: justify;">
<p style="text-align: justify;">¡Hola a todos! Hace un par de días perdí la partición donde tenía mi /home. Afortunadamente pude recuperar el 98% de los archivos <em>que necesitaba</em>. Es decir, en realidad no me interesaba recuperar imágenes, música, etc&#8230; lo único importante era recuperar los archivos PHP con los que había estado trabajando.</p>
<p style="text-align: justify;">Aclaro esto puesto que esta entrada se va a enfocar en la configuración manual de <a href="http://foremost.sourceforge.net/">Foremost</a>, un programa para hacer carving, de tal manera que rescatemos solamente aquello que realmente nos interesa. Existen otros programas, pero este fue el que realmente me ayudó en esos momentos de pánico.</p>
<p style="text-align: justify;">¿Cómo funciona? Foremost trabaja con imágenes generadas con dd o particiones directamente, y se basa en el análisis de encabezados y footers de los archivos para &#8216;extraer&#8217; lo que se pueda salvar.</p>
<div class="nota"><strong>Importante:</strong> si has eliminado accidentalmente algún archivo lo primero, después de blasfemar un rato, es evitar hacer cualquier tipo de escritura de datos sobre la misma. Esto es porque tus datos en realidad aún están allí, y el único riesgo que tienen de ser eliminados es que se sobrescriban datos en el mismo sector en donde se encuentran.</div>
<p><span id="more-3487"></span></p>
<p style="text-align: justify;">Dicho esto, tienes dos opciones:</p>
<ul style="text-align: justify;">
<li>Si tienes otra partición con suficiente espacio para almacenar un backup de la partición a ser tratada, puedes usar el comando dd y luego trabajar sobre esa imagen. <a href="http://casidiablo.net/crear-un-backup-o-imagen-del-disco-duro/">En esta entrada se explica con más detalle cómo hacer esto</a>.</li>
<li style="text-align: justify;">Si no tienes espacio (tal como me ocurrió a mi), puedes trabajar directamente sobre la partición (i.e. el archivo /dev/sdaX ó /dev/hdbX, etc.). Solo ten en mente que NO deberías montar dicha partición, al menos no en modo de lectura-escritura.</li>
</ul>
<p style="text-align: justify;">
<h3>Instalación de Foremost</h3>
<p style="text-align: justify;">La instalación es bastante sencilla ya que Foremost se incluye en prácticamente todos los repositorios de cualquier distribución. Así que puedes usar tu gestor de paquetes preferido. Siendo tan sencilla la instalación por repositorios, solo me queda mostrar la instalación manual que es incluso más sencilla&#8230; descargamos la última versión de Foremost (1.5.6 al momento de escribir esta entrada), descomprimimos, compilamos e instalamos:</p>
<div class="consola">wget http://foremost.sourceforge.net/pkg/foremost-1.5.6.tar.gz<br />
tar xfzv foremost-1.5.6.tar.gz<br />
cd foremost-1.5.6<br />
make &amp;&amp; make install</div>
<p style="text-align: justify;">
<h3>Ejemplo básico de uso de Foremost</h3>
<p style="text-align: justify;">El siguiente comando de ejemplo es un de los tantos cientos de miles que te encontrarás en la red&#8230; no me enfocaré mucho en este aspecto porque ya se encuentra muy bien documentado:</p>
<div class="consola">foremost -t pdf -i imagen.iso -o pdfs-recuperados</div>
<p style="text-align: justify;">Básicamente le estamos diciendo al Foremost que busque archivos de tipo PDF en el archivo de imagen (creado con dd) imagen.iso y que los guarde en pdfs-recuperados. Lo único que nos interesa recalcar en este punto es que Foremost tiene un set de archivos predefinidos de los cuales conoce su header y footer (como los PDFs en este caso); este set se compone de los archivos más comunes (imágenes  y videos en diferentes formatos, archivos de office, zips, etc.) Pero&#8230; ¿qué pasa con otro tipo de archivos menos comunes? Tranquilo, ya vamos para allá <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: justify;">
<h3>Ejemplo de configuración del Foremost</h3>
<p style="text-align: justify;">Foremost puede ser configurado mediante un archivo (por defecto: <code>/etc/foremost.conf</code>) de tal manera que no tengamos que especificar el tipo de archivo a buscar y, lo que es mejor, podemos definir nuestros propios tipos de archivos. En nuestro ejemplo, te meterás en mis zapatos, te imaginarás que has perdido el trabajo de tres días y que tu objetivo es rescatar unos cuantos archivos de PHP.</p>
<p style="text-align: justify;">Entonces&#8230; ¿por donde comenzar? Bien&#8230; lo primero es echar un vistazo al archivo /etc/foremost.conf en donde puedes encontrar patrones de búsqueda para diferentes tipos de archivo (de hecho, son las que usa Foremost cuando usamos el flag <code>-t</code>). La sintáxis de estos patrones es sencilla y consta de una sola línea; esta línea tiene los siguientes parámetros separados por espacios o tabulaciones:</p>
<ul>
<li>Extensión del archivo&#8230; ¿debo explicar esto?</li>
<li>Definir si se debe hacer distinción entre mayúsculas y minúsculas al buscar el header y footer del archivo. Pon &#8216;y&#8217; si deseas que sea case-sensitive o &#8216;n&#8217; en caso contrario.</li>
<li>Tamaño máximo del archivo.</li>
<li>Encabezado: lo que se debe buscar en los encabezados de los archivos; puede ser especificado en texto plano o, mejor aún, en hexadecimal.</li>
<li>Footer (opcional): lo que se debe buscar al final de los archivos; puede ser especificado en texto plano o, mejor aún, en hexadecimal.</li>
</ul>
<p style="text-align: justify;">Por ejemplo, este es uno de los que se encuentra configurados por defecto en el Foremost:</p>
<p><code>jpg          y          20000000          \xff\xd8\xff\xe1          \xff\xd9</code></p>
<p style="text-align: justify;">Básicamente busca archivos con extensión .jpg y con un tamaño máximo de 20000000 bytes. Además especifica uno de los posibles encabezados que un archivo tipo JPEG puede tener (<code>\xff\xd8\xff\xe1</code>) y su footer (<code>\xff\xd9</code>).</p>
<p style="text-align: justify;">Como puedes ver, el encabezado y el footer pueden ser especificados en hexadecimal. Esto es bastante útil ya que en muchos casos no necesitamos simples archivos de texto sino que podríamos querer recuperar uno binario. En cualquier caso, es recomendable usar hexadecimal&#8230; pero ¿cómo se qué debo poner? Bien&#8230; recuerda que tu misión es recuperar los archivos PHP, así que&#8230; ¿qué tal si creamos uno para ver cómo se ve en hexadecimal?</p>
<p style="text-align: justify;">Creamos entonces un archivo con el siguiente contenido y lo guardamos como <em>test.php</em>:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
if($meLoTire){
	echo &quot;o_O mode-panic:on&quot;;
}
?&gt;</pre>
<p style="text-align: justify;">Ahora debemos abrir este archivo con algún editor hexadecimal. Si usas Gnome, Ghex es una buena opción (sino, también)&#8230; lo instalas desde los repositorios y con él abres el archivo que acabas de crear&#8230; este lucirá así:</p>
<p><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/ghex.png"><img class="aligncenter size-full wp-image-3499" title="ghex" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/ghex.png" alt="ghex" width="640" height="469" /></a></p>
<p style="text-align: justify;">¡Ahora ya podemos configurar Foremost como expertos, puesto que ya sabemos qué hexadecimales poner! Cada caracter del archivo que creamos equivale a un valor en hexadecimal y nos interesa enfocarnos en la representación hexadecimal de &#8220;&lt;?php&#8221; puesto que así comienzan los archivos en los que estamos interesados.</p>
<p style="text-align: justify;">Así que para este caso, los hexadecimales son 3C, 3F, 70, 68 y 70. Por lo tanto podemos crear un nuevo patrón dentro de /etc/foremost.conf que luzca algo así:</p>
<p><code>php y 100000 \x3C\x3F\x70\x68\x70</code></p>
<p style="text-align: justify;">Si queremos ser más precisos podemos especificar el footer:</p>
<p><code>php y 100000 \x3c\x3f\x70\x68\x70 \7d\0a\3f\x3e</code></p>
<p style="text-align: justify;">Fíjate que he definido un footer bastante concreto que hará que Foremost busque archivos que finalicen con un &#8216;}&#8217; seguido de un &#8216;Enter&#8217; (retorno de carro) y finalmente con &#8220;?&gt;&#8221;. Una vez hayamos terminado de configurar los patrones con los que queramos iniciar la búsqueda, guardamos y cerramos el archivo.</p>
<p style="text-align: justify;">Puesto que es el archivo por defecto no es necesario especificarlo al momento de ejecutar Foremost. Esto por supuesto implica que puedes crear un archivo con patrones en cualquier otro lado, y en tales casos debes referencialo con el flag -c. ¡Que comience el carving!</p>
<div class="consola">foremost -i /dev/sda1 -o ~/recuperados/</div>
<p style="text-align: justify;">Como puedes ver, no especificamos ningún tipo  de archivo así que Foremost se enfocará en aquellos configurados en el archivo .conf. Además, en este caso estamos especificando directamente la partición. Esto podría llevar un rato, así que tienes tiempo de leer algo entretenido ¿qué tal esta bonita <a href="http://www.gentoo.org/doc/en/vi-guide.xml">guía sobre Vi</a>? ¿o esta otra sobre un hermoso <a href="http://www.gentoo.org/doc/en/gentoo-freebsd.xml">Gentoo/BSD</a>?</p>
<p style="text-align: justify;">Una vez Foremost haya terminado su trabajo&#8230; el tuyo apenas comienza. Aunque Foremost es un excelente programa, los resultados no pueden ser 100% confiables (¿hay algo que lo sea?). Y para empeorar las cosas, Foremost NO recupera los nombres de los archivos. En vez de ello, crea una secuencia de archivos numéricos con la extensión; cosas como 8392383874.php ó 239492782.php ¿chévere, no?</p>
<p style="text-align: justify;">Todo parece que pasaremos un buen rato jugando con nuestro querido amigo GREP; y es que este maravilloso comando puede ser realmente útil en estos casos. Así que aquí van algunos comandos que te podrían servir:</p>
<ul>
<li style="text-align: justify;"><code>grep busqueda changos.ext</code><br />
Busca la cadena &#8216;busqueda&#8217; dentro del archivo changos.ext</li>
<li style="text-align: justify;">¿qué tal una búsqueda en todos los archivos? Esto podría servir para nuestro caso de los PHP:<br />
<code>cat *.php | grep -l cosa_a_buscar</code></li>
<li style="text-align: justify;">¿y si queremos buscar un string en varios archivos que se encuentran en diferentes directorios? Este comando es de los que más uso a diario:<br />
<code>find /ruta/ -exec grep -l cosa_a_buscar {} \;</code></li>
</ul>
<p style="text-align: justify;">
<h3>Cosas por considerar</h3>
</p>
<p style="text-align: justify;">
<ul>
<li style="text-align: justify;">Existe una gran probabilidad que los datos recuperados no estén del todo bien formados. Por ejemplo, podrían tener &#8220;basura&#8221; dentro. Esto es posible de corregir en archivos de texto, ya que solo necesitas un editor decente y un par de minutos para &#8220;ver qué te sirve&#8221;.</li>
<li style="text-align: justify;">Si los archivos recuperados tienen basura dentro, es mejor usar editores de texto en consola que no se quejan tanto al momento de editarlos. Gedit simplemente no los abre.</li>
<li style="text-align: justify;">Algunas veces los archivos quedan fragmentados; esto es, en un archivo recuperado queda una parte de lo que buscas, y en otro queda el restante. Por esto, es bastante útil que uses herramientas como Meld (excelente por cierto).  Considera este ejemplo de la vida real: en el archivo blablaa.php tenía parte inicial del archivo mientras que en blebelbel.php tenía el resto:</li>
</ul>
<p style="text-align: center;"><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/meld_1280.png"><img class="size-full wp-image-3501 aligncenter" title="meld_640" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/meld_640.png" alt="meld_640" width="640" height="331" /></a></p>
<p style="text-align: justify;">Esto es difícil de notar &#8216;a ojo&#8217;, por lo que puedo decir que Meld me salvó el trasero una vez más (y de paso se ganó una donación). Así, combinando el trabajo de Foremost y la ayuda de Meld pude recuperar prácticamente todo lo que necesitaba.</p>
<p style="text-align: justify;">Pero, te repito, si fuesen archivos binarios los que quieres rescatar la cosa sería mucho más difícil. En este caso, &#8216;la basura&#8217; se puede identificar fácilmente dentro del archivo, y de la misma manera se puede eliminar. En una archivo binario sin embargo es un poco más difícil.</p>
<p style="text-align: justify;">
<h3>Otros buenos programas con propósitos similares</h3>
</p>
<p style="text-align: justify;">
<ul>
<li><a href="http://www.cgsecurity.org/wiki/PhotoRec">TestDisk (aka, PhotoRec)</a></li>
<li><a href="http://www.digitalforensicssolutions.com/Scalpel/">Scalpel</a></li>
<li><a href="http://www.student.dtu.dk/~s042078/magicrescue/">Magic Rescue</a></li>
<li><a href="http://www.sleuthkit.org/autopsy/desc.php">Sleuth Kit y Autopsy</a></li>
<li><a href="http://www.sleuthkit.org/">Sleuthkit</a></li>
</ul>
<p><br/><br/><br/></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/restaurar-archivos-eliminados-accidentalmente/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Guardando datos temporalmente con tmpfs</title>
		<link>http://casidiablo.net/guardar-datos-en-memoria-ram/</link>
		<comments>http://casidiablo.net/guardar-datos-en-memoria-ram/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 12:51:40 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[almacenar]]></category>
		<category><![CDATA[archivos]]></category>
		<category><![CDATA[temporal]]></category>
		<category><![CDATA[tmpfs]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2787</guid>
		<description><![CDATA[Hace algunas semanas leí una pequeña entrada aquí (de esta fuente), acerca de cómo usar el TMPFS (sistema de ficheros temporal) para guardar datos temporalmente en la memoria RAM. Puesto que el tema me parece interesante, me gustaría ampliarlo un poco aquí. La mayoría de distribuciones, al iniciar, montan un tmpfs dentro de la carpeta [...]]]></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%252Fguardar-datos-en-memoria-ram%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Guardando%20datos%20temporalmente%20con%20tmpfs%22%20%7D);"></div>
<p style="text-align: justify;">Hace algunas semanas leí una pequeña entrada <a href="http://phyx.wordpress.com/2008/12/10/almacenar-archivosdirectorios-en-la-memoria-con-tmpfs/">aquí</a> (<a href="http://www.howtoforge.com/storing-files-directories-in-memory-with-tmpfs">de esta fuente</a>), acerca de cómo usar el TMPFS (sistema de ficheros temporal) para guardar datos temporalmente en la memoria RAM. Puesto que el tema me parece interesante, me gustaría ampliarlo un poco aquí.</p>
<p style="text-align: justify;">La mayoría de distribuciones, al iniciar, montan un tmpfs dentro de la carpeta /dev/shm. Esto lo podemos comprobar ejecutando el comando <code>mount</code> con lo que veremos, entre otras cosas, la siguiente línea:</p>
<p><code>shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)</code></p>
<p style="text-align: justify;">Esto quiere decir que, podemos copiar datos en la carpeta <code>/dev/shm</code> y que serán almacenados en memoria RAM lo cual significa que, al apagar nuestro PC, los datos serán eliminados.</p>
<p style="text-align: justify;">Por lo general, la cantidad máxima de datos que puedes almacenar en /dev/shm es la mitad de la memoria RAM que tengas. Aun así, puedes montar tu propio sistema tmpfs en la carpeta que desees.</p>
<h3>Ejemplo&#8230;</h3>
<p style="text-align: justify;">Vamos a crear una carpeta en donde guardaremos datos temporales, usando tmpfs, con un tamaño de 1 MB. Lo primero es crear la carpeta, por ejemplo:</p>
<div class="consola">$ mkdir /home/usuario/temporal</div>
<p style="text-align: justify;">Ahora, montamos el sistema de archivos tmpfs:</p>
<div class="consola"># mount -t tmpfs -o size=1M,mode=0755 tmpfs /home/usuario/temporal</div>
<p style="text-align: justify;">Eso es todo. Ahora podemos realizar las cosas que deseemos con dicha carpeta, con la certeza que al reiniciar el PC los datos ya no estarán allí. Esto es bastante útil por varias razones; la primera es cuando estamos manipulando datos temporales (magnífico poder de deducción el que tengo), y segundo porque la escritura de datos en memoria RAM es mucho más rápida que en disco duro.</p>
<h3>Redimensionar punto de montaje</h3>
<p style="text-align: justify;">Si queremos redimensionar un directorio montado con tmpfs, basta con ejecutar el siguiente comando:</p>
<div class="consola"># mount -o remount,size=3G /dev/shm</div>
<p class="command" style="text-align: justify;">Además, si deseamos saber cuánto espacio disponible tenemos en un directorio con tmpfs, ejecutamos el siguiente comando:</p>
<div class="consola">$ df -h /directorio/tmpfs</div>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/guardar-datos-en-memoria-ram/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>pyRenamer, renombrar de archivos en masa</title>
		<link>http://casidiablo.net/pyrenamer-renombrar-lotes-de-ficheros/</link>
		<comments>http://casidiablo.net/pyrenamer-renombrar-lotes-de-ficheros/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 18:36:31 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[programas]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[archivos]]></category>
		<category><![CDATA[pygtk]]></category>
		<category><![CDATA[pyrenamer]]></category>
		<category><![CDATA[renombrar]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2054</guid>
		<description><![CDATA[pyRenamer es una excelente aplicación desarrollada con PyGtk que nos permite renombrar lotes de archivos en masa. Tiene un montón de características interesantes que hacen realmente fácil el proceso de renombramiento: Renombramiento en base a patrones o expresiones regulares (usando variables como numeraciones, fechas, números aleatorios, etc.) Reemplazo de caracteres Inserción y eliminación de caracteres [...]]]></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%252Fpyrenamer-renombrar-lotes-de-ficheros%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22pyRenamer%2C%20renombrar%20de%20archivos%20en%20masa%22%20%7D);"></div>
<p style="text-align: center;"><img src="http://casidiablo.net/wordpress/wp-content/uploads/2008/10/pyeenamer.gif" alt="" /></p>
<p style="text-align: justify;"><a href="http://www.infinicode.org/code/pyrenamer/">pyRenamer</a> es una excelente aplicación desarrollada con <a href="http://casidiablo.net/tag/pygtk/">PyGtk</a> que nos permite renombrar lotes de archivos en masa. Tiene un montón de características interesantes que hacen realmente fácil el proceso de renombramiento:</p>
<ul style="text-align: justify;">
<li>Renombramiento en base a patrones o expresiones regulares (usando variables como numeraciones, fechas, números aleatorios, etc.)</li>
<li>Reemplazo de caracteres</li>
<li>Inserción y eliminación de caracteres</li>
<li>Renombramiento de archivos de audio e imágenes basado en sus metadatos</li>
<li>Nos permite previsualizar cómo quedarían nuestros archivos antes de renombrarlos</li>
</ul>
<p style="text-align: justify;">Para instalarlo y usarlo basta con ejecutar el siguiente par de comandos:</p>
<div class="consola">$ sudo apt-get install pyrenamer<br />
$ pyrenamer</div>
<h3>Bonus+</h3>
<p>Me comenta <a href="http://www.coplec.org">Tonny</a> de un proyecto suyo llamado <a href="http://www.coplec.org/?q=2008/07/22/jrenamer"><strong>JRenamer</strong></a>. Dicho programa es similar al pyRenamer, y tiene prácticamente todas sus características, con la ventaja de estar en <a href="http://casidiablo.net/java/">Java</a>, por lo que es multiplataforma.</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/pyrenamer-renombrar-lotes-de-ficheros/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Mover archivos a la papelera de reciclaje desde la consola</title>
		<link>http://casidiablo.net/mover-ficheros-papelera-reciclaje-linea-comandos/</link>
		<comments>http://casidiablo.net/mover-ficheros-papelera-reciclaje-linea-comandos/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 18:20:05 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[archivos]]></category>
		<category><![CDATA[borrar]]></category>
		<category><![CDATA[ficheros]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=1943</guid>
		<description><![CDATA[Cuando usamos el comando rm para borrar un archivo, éste desaparece &#8220;para siempre&#8221;, por mucho que lo busquemos en la papelera de reciclaje. Así he perdido bastantes archivos, por eso de andar de afán Aunque evitarlo es bastante sencillo, según leo en Conociendo Linux, pues lo único que debemos hacer es crear un comando que [...]]]></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%252Fmover-ficheros-papelera-reciclaje-linea-comandos%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Mover%20archivos%20a%20la%20papelera%20de%20reciclaje%20desde%20la%20consola%22%20%7D);"></div>
<p style="text-align: justify;"><img style="float:left;" src="http://img525.imageshack.us/img525/7398/gnomedevtrashfullwb6.png" alt="linux papelera" />Cuando usamos el comando <strong>rm</strong> para borrar un archivo, éste desaparece &#8220;para siempre&#8221;, por mucho que lo busquemos en la papelera de reciclaje.</p>
<p style="text-align: justify;">Así he perdido bastantes archivos, por eso de andar de afán <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Aunque evitarlo es bastante sencillo, según <a href="http://conociendolinux.wordpress.com/2008/10/04/papelera-de-reciclaje-en-la-linea-de-comandos-alias/">leo en Conociendo Linux</a>, pues lo único que debemos hacer es crear un comando que mueva los archivos a la papelera, en vez de eliminarlos del disco duro, usando por supuesto el comandola <code>alias</code>.</p>
<p style="text-align: justify;">Por ejemplo, vamos a crear el comando <code>borrar</code>, lo definiriamos desde el terminal de la siguiente manera:</p>
<div class="consola">alias borrar=&#8221;mv -t ~/.local/share/Trash/files –backup=t&#8221;</div>
<p style="text-align: justify;">Después de ello podremos usar el alias <code>borrar</code> para mover los archivos a la papelera, por ejemplo:</p>
<div class="consola">borrar archivo</div>
<p style="text-align: justify;">Para que podamos usar este alias siempre que iniciemos nuestra máquina, tenemos que agregar la declaración de alias en una línea dentro del archivo <code>/home/tu_usuario/.bashrc</code> y <abbr class="tooltip">reiniciar la consola</abbr>.</p>
<h3>Bonus +</h3>
<p style="text-align: justify;">Podríamos además crear el un alias para vaciar la papelera de reciclaje, cuando estemos seguros que no hay archivos importantes allí dentro:</p>
<div class="consola">alias vaciar=&#8221;rm -rf ~/.local/share/Trash/files&#8221;</div>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/mover-ficheros-papelera-reciclaje-linea-comandos/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

