Domingo, Septiembre 24, 2017

Búsqueda de archivos en la línea de comandos

Busqueda-archivos-linea-comandos

Desafortunadamente en Linux, al menos en Ubuntu, la búsqueda por defecto de archivos por interfaz gráfica no es la forma más útil de encontrarlos.

Con sólo una pequeña cantidad de paciencia puedes encontrar archivos de forma rápida y sencilla usando la línea de comandos, y sus opciones para esto son realmente poderosas si deseas aprender un poco sobre ello.

Locate

El comando fácil y rápido se denomina “locate”. Para usar este comando en el terminal simplemente escribe:

$ locate -i palabraabuscar

Esto buscará todos los archivos y directorios con “palabraabuscar” en el nombre,  -i significa que la búsqueda no distingue entre mayúsculas y minúsculas.

Los resultados son instantáneos porque el sistema ha creado una base de datos (también conocida como índice) para indicarte dónde se encuentran los archivos. El único problema es que los archivos recién creados o movidos no se pueden encontrar correctamente hasta la próxima actualización de la base de datos y no tiene muchas opciones para elegir para su búsqueda.

Fuerza locate para actualizar la base de datos /index se realiza con sudo updatedb y no toma mucho tiempo.

Ejemplo:

$ locate -i omgubuntu.desktop

Find

Hay un comando mucho más potente disponible llamado “find”.

Puedes decir “find” dónde buscar, qué criterios utilizar en la búsqueda y qué acciones tomar una vez que haya encontrado lo que estás buscando.

La sintaxis de “find”:

$ find <where to start searching> <search criteria> <actions to take>

Si no agregas ningún parámetro, find buscará por defecto el directorio de trabajo actual (o “.”). No usará criterios de búsqueda (por defecto mostrará todos los archivos) y -print (que, a pesar de su nombre, “Imprime”, los resultados en pantalla) como la única acción a tomar.

Dos ejemplos:

 $ sudo find / -type f -mmin -10

Este ejemplo encontrará (comenzando en el directorio raíz, o /, y recursivamente subdirectorios de búsqueda) todos los archivos normales (-tipo f significa archivos normales, sin esto encontrará archivos normales + archivos especiales + directorios) que fueron modificados menos de diez minutos (-mmin -10), y luego mostrar los resultados para ti.

Esto sería útil si sabes que editaste un archivo recientemente, pero no sabes dónde lo pusiste, o tienes que buscar un archivo de registro para un programa que se rompió.

Puedes agregar sudo aquí porque find no busca archivos en / ni en directorios que el usuario actual no tiene permisos, y devolverá mensajes de error si no eres un sudoer – sólo ten cuidado.

 $ find ~ -iname "*new*" -exec mv -v {} /media/current-projects/ \;

Esto encontrará todo en tu directorio home (~) con un nombre, insensible a mayúsculas (-iname), que contiene new (“* new *”) y ejecuta (-exec) un movimiento (mv) de los resultados / media / current-projects / (\; es requerido por -exec para mostrar el final del comando que se va a ejecutar). Así que todos tus archivos se moverán al mismo lugar. mv -v muestra los resultados del comando move con (-v) erbose messages.

Otra advertencia con -exec, aunque es potente, cuando se usa sin cuidado puede sobrescribir todo el directorio de inicio o todo el disco. ¡Ten cuidado!

Catfish es una opción gráfica

Para aquellos que simplemente no pueden prescindir de una interfaz gráfica de usuario, puede encontrar el programa Catfish en los repositorios. Esto permite tanto localizar como encontrar desde un front-end gráfico, pero es muy limitado en opciones.

Si deseas obtener el máximo poder de búsqueda, tendrás que ejecutarlo desde la línea de comandos.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 79 invitados y ningún miembro en línea

Contador de Visitas

8967334
Hoy Hoy 802
Ayer Ayer 1115
Esta semana Esta semana 7845
Este mes Este mes 27200
Total de Visitas Total de Visitas 8967334

Día con más
visitantes

07-19-2017 : 1525

Gracias por su visita