Buscar un fichero de nuestro VPS desde el terminal

Buscar un fichero de nuestro VPS desde el terminal

Como sabrás, al contratar un servidor VPS, dispones de acceso root a tu servidor. Este acceso lo puedes realizar desde la consola o terminal de tu equipo o usando una aplicación para conectar por SSH, como por ejemplo Putty. En el artículo de hoy, queremos mostraros algunos comandos muy útiles en el caso de que necesites buscar un fichero en tu servidor, bien sea un fichero en concreto o bien alguna cadena de texto dentro de los propios ficheros.

Ejemplos para buscar un fichero concreto por su nombre

Supongamos que deseas localizar un fichero en concreto, por ejemplo php.ini para hacer algún cambio en la configuración de tu servidor, y no recuerdas su ubicación. En este caso desde la consola o terminal de tu equipo o desde Putty puedes usar el comando find. Éste te ayudará a localizar dicho fichero y te mostrará la ruta (o rutas en el caso de que existan varios) donde se encuentra. La estructura básica del comando find sería:

find -name "archivo_a_buscar"

Usando esta forma se busca el nombre exacto del fichero. En el caso de que no recuerdes si el nombre posee mayúsculas o minúsculas, puedes la opción -i para que no se tengan en cuenta durante la búsqueda. La estructura quedaría:

find -iname "archivo_a_buscar"

Finalmente, si quieres buscar en una carpeta en concreto, para no tener que acceder a dicha carpeta a lanzar el comando, puedes indicar la ruta a buscar directamente mediante desde find:

find /"ruta" -name "archivo_a_buscar"

Recuerda que en estos ejemplos, debes modificar lo que esta entre comillas.

Usar find para realizar búsquedas por tipo

En el caso de que necesites localizar un tipo especial de elemento, puedes usar la opción -type. Esta opción localizará únicamente el tipo que hayamos especificado. Las opciones son las siguientes:

  • – type f : buscará archivos (comportamiento habitual)
  • – type d : localizará unicamente directorios o carpetas
  • – type l : sirve para encontrar enlaces simbólicos

La estructura para buscar una determinada carpeta sería:

find -type d -name "carpeta_a_buscar"

Cómo buscar una cadena de texto dentro de un fichero

Esta segunda opción nos es muy útil para localizar una determinada cadena de texto por todos los ficheros de nuestro servidor. La utilidad revisa el contenido de cada uno de los archivos y localiza la cadena de texto que hemos indicado.

Nos puede ayudar, por ejemplo para localizar un determinado mensaje que nos aparece en nuestra web y queremos saber que fichero lo genera. O bien, para localizar un parámetro en alguno de los ficheros de configuración de una utilidad de nuestro servidor. El comando a usar en este caso será grep. La estructura básica de esta utilidad sería:

grep  [opciones]  [cadena a buscar]  [ruta]

Opciones para buscar con grep

Algunas de las opciones mas comunes para usar con grep serán:

  • – r : buscará de forma recursiva partiendo de la ruta indicada
  • – i : no distingue entre mayúsculas o minúsculas
  • – l : mostrará el nombre del archivo donde se encuentra la cadena buscada

Ejemplos para realizar búsquedas con grep

grep -r "texto_a_buscar" httpdocs/

Si estamos en nuestra carpeta raíz, el comando grep nos buscaría el texto indicado de entre todos los ficheros que se encuentran bajo la carpeta httpdocs.

grep -i "texto_a_buscar" "fichero"

En este caso, buscaríamos la cadena «texto_a_buscar» dentro del fichero que hemos especificado.

grep -irl "texto_a_buscar" /

De esta forma, buscaremos la cadena de texto indicada, por todo el disco de nuestro servidor, mostrándonos para cada item encontrado, el fichero donde se encuentra.

Facebooktwitter