Solapas principales

Jun 8, 2013

Comando locate

 

Hasta el momento de escribir esta entrada, no recuerdo haber utilizado el comando locate con argumentos. Creo que mucha gente hace lo mismo así que vamos a ver unos cuantos ejemplos para ampliar un poco las posibilidades de este comando.

Como muchos ya sabéis, el comando locate permite hacer búsquedas de una cadena de texto en todo el sistema de forma prácticamente instantánea. Estas búsquedas no se hacen directamente contra los filesystem sino contra una base de datos (/var/lib/mlocate/mlocate.db) que se actualiza periódicamente mediante updatedb (en un cron). Dependiendo de la periodicidad de actualización de la base de datos los resultados serán más o menos fiables.

Vamos a ver unos ejemplos de argumentos que podemos pasar al comando locate para ampliar su funcionalidad.

Contar el número de resultados

Con el parámetro “-c” se muestra por pantalla el número de resultados de la consulta en lugar de la lista de ficheros y directorios:

locate -c .conf
1681

Buscar un nombre exacto

locate conf

En el caso anterior se mostrarán resultados tal que:

/tst/conf
/tst/confaaaa
/conf/test/prueba
/test/conf.test/prueba

... Para solucionarlo modificamos el comportamiento por defecto (–wholename) por –basename o “-b”, de modo que los resultados harán referencia únicamente al base name, o lo que es lo mismo, el último componente del path:

locate -b  "\conf"
/usr/share/speech-dispatcher/conf
/usr/src/linux-headers-3.2.0-23-generic/scripts/kconfig/conf

Hemos añadido la contrabarra para evitar convertir “conf” en el comportamiento por defecto de wildcards “*conf*”. Buscar con expresiones regulares: Podemos construir la búsqueda a partir de expresiones regulares. Eso sí, usando regexp no podemos incluir patrones (la cadena de texto), sólo la expresión regular. Podemos usar –regexp o -r:

locate -r .*info.*\.conf.*ms$
/var/lib/dpkg/info/dconf-gsettings-backend:i386.md5sums
/var/lib/dpkg/info/dconf-service.md5sums
/var/lib/dpkg/info/debconf-i18n.md5sums

... Resultados sensibles a mayúsculas/minúsculas El parámetro “-i” nos permite indicar que los resultados hagan caso omiso a mayúsculas/minúsculas. Búsqueda de resultados reales Como decía antes, locate utiliza una base de datos para hacer las consultas, no hace uso de los filesystem. Para evitar incongruencias en los resultados, por ejemplo con ficheros que ya han sido borrados y el comando updatedb no ha sido ejecutado todavía, utilizamos el parámetro –existing o -e:

locate -e conf

Como siempre, si os es interesante podéis revisar la página man de locate para encontrar más funcionalidades:

man locate

FUENTE ORIGINAL

Contenido por etiquetas

Linux Linux Tips Solución Linux Help Drupal Arch-Linux Media Front Terminal Videos Hacking Linux seguridad Manjaro Shell Servers Linux-Distro Consola Linux Guías Comandos Android Screencast Ubuntu Drush Windows Backtrack Joomla Mac OSX Command Line Xampp Compiz Fusion Debian Telefonía Skype Servidor Local ROOT Virtualmin Instalación Drupal 7 Cracking Media Youtube Webmin Views Sysmonitor Setup Server Samba PDF KDE Libros Kali Linux ownCloud Grub Joomla Seguridad Antergos ClamAv CyanogenMod Descargar Nivo Slider Elastix error Escritorio Drush_Make SCP Seguridad SEO servidor web SSH Top 500 Unix url canonica url Limpias Virtual Xampp 1.8.1 XFCE Youtube ROM PHP Rootear mysql apache Asterisk Boot Chrome dd Distros Drush Windows Centos Joomla 3.0 Iphone Metasploit MacOS Líder Noticias Katana Kali (bootstrap) 10 Millones 1and1 Acquia Ahorra Aircrack-ng Alsi Archserver .make Arranque bitacora sniffing sistema Sigram Shutter Secure Copy Script SA-CORE-2013-003 Redgum Redes red Sox Recovery Rarcrack Prestashop Piropos Geek PhpMyadmin PBX Papá Overlook Fing Open DNS Office Nube Real Estate ncdu SQL String Xwinwrap WPS Wol Wine Windows 10 winAUTOPWN Whatsapp Webform_Layout Webform Layout Webform Streaming Wake On Lan Views Horizontal Slider Viber Triple-Boot TinyMCE Tilt 3D Texto Telegram Tails Sustituir Supercomputadoras VMplayer Atraci Munich Migrar Fish firewall firestarter FINK Fing FDesktopRecorder fallo exec: 90: : Permission denied Enlaces Externos Encriptar FTP duff Drupal 8 Driver r8168 DARKY´S ROM CryptKeeper Conky compartir Códec CKEditor Cerebro Cain & Abel dselect MS-SQL g729 Galaxy S3 vs Iphone 5 Metasploitable MediaFront Media Vimeo LPS Line LAMP Kingsoft Office Joomla 2.5 Jdownloader Inyection SQL Galaxy S internal server error 500 Imagesloaded htaccess Horizontal Slider grep Google-Earth Gimp gh22ns50 GCP Galaxy S4 IMCE youtube-dl