| Formulario de acceso |
|---|
| Anuncios |
|---|
|
|
| Búsquedas en el árbol de directorios |
|
|
| miércoles, 18 de enero de 2006 | ||
|
La búsqueda de ficheros y contenido en un sistema linux es tan imprescindible como en cualquier otro. Por eso, conocer adecuadamente los comandos a nuestra disposición para llevar a buen fin esta tarea es de estricta obligatoriedad tanto para el usuario como para el administrador. La búsqueda de ficheros y contenido en un sistema linux es tan imprescindible como en cualquier otro. Por eso, conocer adecuadamente los comandos a nuestra disposición para llevar a buen fin esta tarea es de estricta obligatoriedad tanto para el usuario como para el administrador. Buscando el nombre del fichero find es el comando por excelencia para la búsqueda de ficheros en un árbol de directorios en un sistema linux. Dejando a un lado el extenso manual que acompaña a este viejo conocido de dicho sistema, nos centraremos en aportar ejemplos claros de utilización del mismo. Así, un ejemplo claro de utilización sería la búsqueda de un fichero, por ejemplo file.txt , empezando dicha búsqueda desde el directorio actual: find . -name file.txt -print Por supuesto, podemos hacer uso de comodines en nuestras búsquedas. En este caso, acotaremos la ocurrencia entre comillas: find . -name "fil*" -print Si el árbol de directorios es muy grande, el comando find se puede volver algo lento. Para caso en los que sea necesario buscar un fichero en todo el árbol de directorios, haremos uso del comando locate. Este comando realiza búsquedas basadas en una base de datos y no directamente sobre el sistema de ficheros. Eso sí, la fiabilidad de este comando depende de lo actualizada que esté la base de datos de consulta. Por ejemplo, en un sistema Fedora, dicha base de datos ha de ser actualizada desde las tareas del cron, las cuales a su vez son ejecutadas desde el fichero /etc/updatedb.conf. También es posible ejecutar a mano el comando updatedb para tener actualizada dicha base de datos al segundo. El uso del comando locate es tan simple como esto: locate file
La verdadera potencia de find se hace patente en conjunción con otros comandos del sistema operativo como grep. Con la unión de estos dos comandos podemos encontrar casi cualquier cosa en nuestro sistema de ficheros. Por ejemplo, vamos a suponer que no recordamos el nombre del fichero que estamos buscando, pero sí que recordamos que contenía las palabras "Comunicado urgente". Haciendo uso de find y grep obtendremos un listado de coincidencias por pantalla de esta manera: find . -type f | xargs grep "Comunicado urgente" O imaginemos que queremos dar con la coincidencias de todo aquello que no contenga cierta cadena en el nombre del fichero: find . ! -name "*.o" ! -name "*.c" -print Esto listará todo aquello que no contenga ".o" ni ".c" en su nombre. O podemos hacer uso directamente del comando grep: grep -i "Comunicado" 'find . -type f -print' Como podemos observar, las combinaciones de comandos son muy variadas, dando una potencia inusitada a nuestras búsquedas de datos en el sistema de ficheros. Todo dependerá de un uso adecuado de los mismos y, cómo no, de nuestra imaginación y habilidad.
Sólo los usuarios registrados pueden escribir comentarios. Powered by AkoComment 2.0! |
||
| < Anterior | Siguiente > |
|---|







