Vamos a ver algunos de los comandos que nos pueden resultar útiles cuando queremos buscar un archivo y/o carpetas en linux, desde consola.
- locate
locate archivo.php
Este comando buscar en una “especie de base de datos” donde tiene la ruta de los fichero y así resulta mucho más rápido encontrar los ficheros o carpetas que si se tiene que recorrer toda la estructura de directorios.
Hay que tener en cuenta que la “base de datos” del locate puede estar obsoleta. Para actualizarla debemos usar este comando (lo pondré en segundo plano con “&” porque le puede costar en ejecutarse).
updatedb &
- find
El comando find sirve para buscar ficheros y directorios pero es muy complejo y tiene muchas opciones, de las cuales sólo explicare algunas.
La ruta de acceso por defecto es el directorio actual (representado con un “. “) y la expresión por defecto es –print. A la hora de buscar, puedes especificar muchos parámetros:
- el nombre (-name xxx)
- Si es un archivo o carpeta (-type f –type d)
- Los permisos que tiene (-perm nnn)
- El usuario al que pertenece (-user usuario1)
- El grupo al que pertenece (-group grupo1)
- Si el fichero está vacio (-empty)
- El tamaño (-size n[cwbkMG]) siendo
‘b’ para bloques de 512-byte (este es el de por defecto)
‘c’ para bytes
‘w’ para two-byte words
‘k’ para Kilobytes (1024 bytes)
‘M’ para Megabytes (1048576 bytes)
‘G’ para Gigabytes (1073741824 bytes)find . -size 21k
- Modificados los datos en las últimas X*24h (- dtime n)
- Accedidos en las últimas X*24h (- atime n)
find . -name tureceta*
find . -type f -name tureceta* find . -type d -name tureceta*
find . -type d -perm 777
find . -type f -user usuario1
find . -type f -group grupo1
find . -type f -empty
find . -tipe f -dtime 2 (en las últimas 48h = 2*24)
find . -tipe f -atime 2 (en las últimas 48h = 2*24)
Recordar que con la ayuda y con el man del comando tendréis toda la información
find --help
man find
- whereis
Buscar la localización de un fichero binario, fuente o man
[root@server ~]# whereis grep grep: /bin/grep /usr/share/man/man1/grep.1.gz /usr/share/man/man1p/grep.1p.gz
Buscar la localización de un fichero binario o ejecutable
[root@sever ~]# which grep /bin/grep