IMPORTANTE:

  • POR TU SEGURIDAD LEE TODO ANTES DE EJECUTAR ALGUN COMANDO.
  • DE PREFERENCIA DEJA UNA COPIA DE SEGURIDAD DE TODOS TUS ARCHIVOS EN OTRA CARPETA.
  • SI COPIAS Y PEGAS LOS COMANDOS ASEGURATE QUE ESTAS USANDO LAS DOBLES COMILLAS NORMALES Y NO LAS DOBLES COMILLAS INVERTIDAS (ESTE BLOG INVIERTE LAS COMILLAS NORMALES A COMILLAS INVERTIDAS).

Para buscar y eliminar archivos desde la consola de linux, podemos usar el comando find y algunos operadores.

Casi todo los tutoriales y ejemplos en la red nos dicen como buscar algo desde la consola, pero nadie dice, como buscar todo excepto algo; como ejemplo, imaginemos que tenemos una carpeta con muchos subdirectorios, que a su vez pueden tener mas subdirectorios y dentro de ellos archivos de todo tipo: html, css, gif, jpg, js, php, etc., y queremos eliminar todo lo que exista en ese directorio y todos sus subdirectorios excepto los archivos jpg.

Leyendo un poco respecto del comando find me encontre con el operador -not

Ejemplo:

find . -type f -not -iname “*.jpg*”

find . = busca recursivamente en el directorio actual (recursivamente = en todos sus subdirectorios)
-type f = busca solo archivos (no considera directorios ni ligas simbolicas)
-not -iname = busca todo ignorando mayúsculas o minúsculas excepto….

Entonces el comando anterior lo que hace es que busca en el directorio actual y todos sus subdirectorios, todos los archivos excepto los jpg’s.

Si el comando anterior lo complementamos con:

-exec rm -f {} \;

Quedaría asi:

find . -type f -not -iname “*.jpg*” -exec rm -f {} \;

Entonces buscaría todo los archivos del directorio y sus subdirectorios excepto jpg’s y los eliminaría.

En otras palabras, después de ejecutar el comando anterior, tendríamos dentro de la carpeta actual y sus subdirectorios, solo archivos jpg’s.

IMPORTANTE: No ejecutes este comando en tu home, por obvias razones :D, puedes quedarte sin archivos jajajaja, ESTE COMANDO SOLO ES UTIL PARA EL EJEMPLO DADO, Y ASEGURATE DE EJECUTARLO DENTRO DE LA CARPETA CORRECTA Y DE PREFERENCIA DEJA UNA COPIA DE SEGURIDAD DE TODOS TUS ARCHIVOS EN OTRA CARPETA.

:D

Saludos