|
Lunes, 25 de Mayo de 2009 06:10 |
|
Pensando en mi propio trabajo al usar sistemas del linux y de Unix, mucho del trabajo se basa alrededor de archivos, y cuando se está trabajando con los archivos, las herramientas como el comando find es muy útil.
Así que, he decidido juntar esta lista de ejemplos/de recetas del comando find que pondré al día de vez en cuando; en cuanto al comando find existen difrentes maneras de usarlo. Ejemplos:
- Cómo encontrar todos los archivos debajo del directorio actual que terminan con la extensión de .jsp:
- find. -type f -name "*jsp"
- Cómo encontrar todos los archivos con extension .jsp en el directorio de /users/al
- find /users/al -type f -name “*jsp”
- Cómo encontrar todos los archivos (no directorios) debajo del directorio actual y ejecutanado el comando ls - l :
- find . -type f - exec ls - l {} \;
- Cómo encontrar todos los directorios (no archivos) debajo del directorio actual y ejecutando el comando ls -l :
- find . -type d - exec ls - ld {} \;
Observe que la opción de d del comando del ls es necesario para la impresión el contenido del directorio, el cual no quiero a ver sus atributos del directorio.
Eliminacion de Archivos y Directorios. Como buscar todos los archivos en el directorio corriente que inicien con las letras "Poop" y que sean eliminados. Hay que tener cuidado con este comando ya que es muy peligroso y no es recomendable para los que apenas estan iniciando en este sistema de Linux o si es que se cuenta con un respaldo antes.
find . -type f -name "Poop*" - exec rm {} \;
Este comanso es aun mas peligroso, ya que encuentra todos los directorio que tienen como nombre CVS y los va eliminando junto con su contenido. Tener cuidado si no se cuenta con un respaldo previo.
find . -type d -name CVS -exec rm -r {} \; Aqui anexo algunas otras formas de usar el comando find
- Cambiar los permisos de todos los archivos y subdirectorios
for i in $( find . -type d ); do chmod 775 $i; done for i in $( find . -type f ); do chmod 664 $i; done
- Copiar todos los archivos de los subdirectorios a una sola carpeta/folder
for i in $( find . -type f ); do cp $i . ; done
- Descomprimir (Unzip) todos lo archivos en subfolders
for i in $( find . -type f ); do bzip2 -d $i; done
- Concatenate todos los archivos sql en todos los subfolders
for i in $( find . -type f -name '*.sql' ); do cat $i >> all.sql ; done
|
|
Última actualización el Lunes, 25 de Mayo de 2009 06:21 |