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