Como sabéis existen blogs llenos de personas que saben mucho y que copian/pegan cosas en el terminal para que aparezcan cosas que no interesan a nadie y que lo denominan «modo ninja». Porque usar el terminal, esa cosa «negra o blanca» (según lo tengáis configurada) y escribir comandos se considera ser un experto, se puede ligar más en los bares (si lo abrís y hacéis el paripé) y te llaman todos tio guay.

Así que hoy os demostramos el «modo ninja» en el cual podremos sacar, a traves de una consulta ramplona y simplona de SQL de una de las bases de datos que, en este caso, guarda y almacena un historial de descargas del equipo.

Así que si queréis ser un verdadero ninja a ojos de vuestros amigos, abrid un terminal y escribid:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent'

Que, para los que quereis un paso más, os indicamos que sqlite3 es una «base de datos» (o el motor de una base de datos) hija/herencia de MySQL y promocionada por, entre otros ahora, el diablo Oracle que hace cosas malas.

Con el comando sqlite3 lo que hacemos es ejecutar el «motor» pasandole como parametros la ruta donde esta el fichero (en este caso ficheros porque usa el comodin * que busca todo caracteres -en plural- de los ficheros que comiencen con com.apple.LaunchServices.QuarantineEventsV) de la base de datos ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* que se encuentra dentro de vuestra librería, en las preferencias de nuestro usuario.

A continuación ejecuta el comando de SQL SELECT que hace una consulta simplona al campo de la base de datos LSQuarantineDataURLString que huele (por URLString) a que contiene las URLs de la tabla LSQuarantineEvent que contiene (por el nombre) todos los eventos de la cuarentena del sistema de las descargas.

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select * from LSQuarantineEvent'

Captura de pantalla 2013-01-15 a la(s) 19.51.37

Es decir, lo que se hace es una consulta a una base de datos local del usuario de cuarentenas de ficheros (podeis ver en las Preferencias del Sistema > Seguridad y Privacidad > Activáis el candado > Avanzado) donde revisa si las descargas son buenas (podéis ver buscando algún post acerca de esta característica), a la tabla de eventos de cuarentena y ahí al campo donde se almacenan las URLs que comprueba.

Captura de pantalla 2013-01-15 a la(s) 19.54.06

Como ampliación y por si os mola o queréis quedar como el maestro ninja y tras consultar cualquier manual de SQL en el que se explique el comando SELECT podeis sacar todo el contenido de la tabla donde esta desde el identificador del fichero, la preferencia asociada a dicha descarga (vamos con que se abre), el navegador usado entre otras cosas.

Captura de pantalla 2013-01-15 a la(s) 20.05.47

O si sois muy de así, podéis usar (ahora que sabéis la ubicación y el nombre del fichero que contiene la base de datos) algún gestor de base de datos que abra SQLite (o aquí) y toquetearla o ver el resto de tablas y tal. Por lo de estar por encima del maestro de los ninjas, pero que os bajara unos niveles de gurucismo al usar una aplicación gráfica para ver la base de datos… lo comido por lo servido.

Es decir, este es un post idiota que no vale para nada salvo para vanagloriarme (en este caso yo) de la de conocimientos que, en este caso, no valen para nada, pero que frente a un usuario que no sabe más que abrir Safari para entrar en Facebook le hará creer que soy un guru sabiondo experto ninja habiendo en este mundo cientos de miles de millones de personas con este conocimiento y que, por supuesto, no son consideradas gurus en absoluto.

Así que ya sabéis, no os fiéis de los que se llaman gurus, porque son del montón y sus opiniones son tan poco validas como las vuestras.

Mucha menos información: OSXDialy