Eliminando ficheros inútiles de manera recursiva

En algunos casos mientras redactamos, codificamos o trabajamos en algunos editores de texto se van generando ficheros temporales que puede irse acumulando en nuestros directorios, estos suelen ser utiles en aquellos casos en los cuales las aplicaciones terminan de manera inesperada, seguramente podremos recuperar los ultimos cambios hechos al utilizar este tipo de ficheros, o en el caso de los ficheros core, nos pueden servir en aquellos casos en los cuales alguna funcion de nuestros programas no funciona como deberia y genera una violacion de segmento, los ficheros core nos pueden facilitar el analisis en la busqueda de los posibles errores en la funcion.

En muchas ocasiones nos encontramos que estos ficheros temporales se encuentran dispersos en algunos directorios y el hecho de borrarlos uno a uno suele ser un proceso mas bien tedioso. Por la razon mencionada anteriormente podriamos hacernos la siguiente pregunta, ¿es posible automatizar el proceso de eliminacion de ficheros “inutiles” de manera recursiva?, la respuesta es si.

El siguiente script nos ayudara servira para lograr lo que deseamos.

#!/bin/bash

#Borrar de manera recursiva los ficheros inutiles.

echo Directorio Raiz: $PWD
echo Procesando...

find $PWD \( -name \*~ -or -name \*.o -or -name \*\# -or -name core \) -exec rm -vf {} \;

echo Listo!

En el codigo mostrado anteriormente el comando que realiza todo el trabajo por nosotros es find, voy a explicar brevemente que hace este comando.

El comando find necesita de un camino o ruta y de una expresion regular para lograr encontrar alguna coincidencia al recorrer el arbol de directorios cuya raiz es el camino especificado, find evaluara de izquierda a derecha las expresiones indicadas, tomando en cuenta las reglas de precedencia en los operadores, al conocer el resultado (cierto o falso) find continuara con el siguiente fichero.

Dentro del comando find encontrara el uso de ciertas opciones, entre las cuales cabe mencionar las siguientes:

  • -or: Representa el o logico, es equivalente a utilizar la opcion -o.
  • -exec: Ejecuta la orden especificada siempre y cuando find haya encontrado alguna concordancia con la expresion regular, por lo tanto se devuelve valor cierto. Las ordenes seran aquellos argumentos que siguen a -exec hasta que encontrar el caracter ; (punto y coma). Si desea ser consultado antes de realizar la ejecucion al encontrarse alguna coincidencia, es preferible hacer uso de la opcion -ok.
  • -name: Especifica la base del nombre del fichero que deseamos buscar, no es necesario especificar el directorio, hace distincion entre mayusculas y minusculas. Se puede hacer uso de metacaracteres.
  • {}: Cadena que es reemplazada por el nombre del fichero que se esta procesando en ese instante.

Puede copiar el script mostrado arriba, supongamos que lo ha llamado rmnull, debe moverlo dentro del directorio /usr/local/bin/ (haciendolo como superusuario). Posteriormente debe otorgarle permisos de ejecucion.

$ sudo mv rmnull /usr/local/bin/
chmod +x /usr/local/bin/rmnull

Ahora bien, para hacer uso del script simplemente debera teclear en consola rmnull, el directorio raiz sera el directorio en el que se encuentre actualmente. Veamos un ejemplo de ejecucion del script.

milton@omega:~$ touch file# file.o file~ pruebas/file# pruebas/file~ pruebas/core
milton@omega:~$ pwd
/home/milton
milton@omega:~$ rmnull
Directorio Raiz: /home/milton
Procesando...
«/home/milton/Desktop/find.txt~» borrado
«/home/milton/pruebas/file#» borrado
«/home/milton/pruebas/file~» borrado
«/home/milton/pruebas/core» borrado
«/home/milton/file#» borrado
«/home/milton/file.o» borrado
«/home/milton/file~» borrado
Listo!

En el ejemplo de ejecucion hago uso del comando touch para crear los ficheros especificados (en caso de no existir), estos archivos en principio se encuentran vacios y con permisos de lectura y escritura para el dueño del fichero, grupo al pertenece el dueño y demas usuarios. Posteriormente hago uso del comando pwd para conocer mi ubicacion actual, a continuacion “invoco” al script rmnull quien hara el trabajo de limpieza de manera automatizada.

3 min read

Plugin generador del protocolo sitemap de Google en WordPress

El protocolo Sitemap de Google es un dialecto de XML para resumir la información relevante acerca de nuestras entradas, este sistema puede resultar una manera muy fácil de mejorar la cobertura de nuestras páginas en el índice de Google, por medio de Sitemaps informaremos cuando se realizan cambios o actualizaciones en nuestros medios. También se permite establecer de manera aproximada el tiempo que tardaremos en realizar cambios en las páginas incluidas.

Si utilizas WordPress, ya está disponible Google Sitemaps Generator, plugin que ofrece ciertas características que hacen de él una buena opción. Algunas de ellas son:

  • Fácil de instalar.
  • Provee una interfaz de usuario en la cual podrá personalizar ciertos parámetros como prioridades en las entradas, frecuencias de cambios, entre otros.
  • Genera un fichero XML estático en el directorio del Blog, tanto la ruta como el nombre del fichero es personalizable.
  • Calcula la prioridad de cada entrada, basándose en el número de comentarios (es posible desactivar esta característica).
  • El fichero XML es reconstruido automáticamente si cambia, edita, crea, o publica una entrada.

Vía: Blogging Pro.

~1 min read

Feedness libera su código

Feedness es una aplicación que te permite gestionar tus canales o feeds, por lo cual podrás leer y gestionar los contenidos de las páginas que ofrecen sus artículos en XML. Esto implica que puedes manejar todos tus canales favoritos desde una misma aplicación, sin necesidad de visitar dichos sitios, lo cual optimiza el tiempo de lectura de tus noticias a diario manteniendote constante actualizado a través del notificador disponible.

Walter Kobylanski anuncia la liberación del código de feedness, según el anuncio uno de los motivos por los cuales han tomado esta decisión se debe al parcial estancamiento en el desarrollo de la aplicación.

Sin embargo, nuestro estudio ha cambiado desde el lanzamiento, las cosas han mejorado mucho y hace ya más de 3 meses que no paramos de trabajar en proyectos para clientes. En consecuencia, hemos visto como feedness ha quedado paralizado en términos de desarrollo mientras que cada día tenemos más personas que utilizan este servicio.

Feedness es liberado bajo la licencia MIT, por cual podrá:

Cualquier persona puede obtener el software y la documentación asociada gratuitamente, sin ninguna restricción, siendo posible usarlo, modificarlo, copiarlo, hacerlo público, sub-licenciarlo o venderlo - entre otras posibilidades - siempre y cuando se mantengan la noticia de la licencia en los lugares donde se encuentra.

Si deseas colaborar con el proyecto, toda la información que busca al respecto estará disponible en OpenFeedness.

1 min read

KDE 3.4.1 disponible en Kubuntu

KDE 3.4.1 ahora está disponible en Kubuntu, distribución que integra todas las características de Ubuntu Linux, pero está basada en el entorno de escritorio KDE. Puedes descargar los paquetes necesarios al agregar al fichero /etc/apt/sources.list el siguiente repositorio.

<code>deb http://kubuntu.org/hoary-kde341 hoary-updates main</code>

Tienes a disposición otra alternativa.

<code>deb http://download.kde.org/stable/3.4.1/kubuntu hoary-updates main</code>

Estos paquetes también están disponibles para la versión en desarrollo Breezy.

~1 min read