PDF de programación - FIND, BUSQUEDAS EN LA CONSOLA DE COMANDOS

Imágen de pdf FIND, BUSQUEDAS EN LA CONSOLA DE COMANDOS

FIND, BUSQUEDAS EN LA CONSOLA DE COMANDOSgráfica de visualizaciones

Publicado el 22 de Junio del 2017
618 visualizaciones desde el 22 de Junio del 2017
10,6 KB
2 paginas
Creado hace 18a (31/08/2005)
FIND, BUSQUEDAS EN LA CONSOLA DE COMANDOS

Los diferentes entornos gráficos de Linux ofrecen al usuario gran cantidad de
herramientas para la administración del sistema y una de estas tareas es la búsqueda de
archivos o directorios. KDE por ejemplo nos ofrece su Kfind para estos menesteres, pero
con este manual veremos como desde la linea de comandos y de forma sencilla,
podemos hacer las mismas búsquedas acotándolas a lo que estemos buscando
exactamente.

La sintaxis del comando find es la siguiente:

find [ruta- de- acceso...] [expresión]

La expresión por defecto suele ser -print, o sea enviar la salida del comando a la salida
estándar. Veamos un ejemplo:

user@linux:~> find /home/user/ -type d -name "Documents" -print
/home/ user/Documents

Vamos a analizar esto y veremos como es fácil de entender. En primer lugar le indicamos
a find la ruta de búsqueda, que en este caso es /home/user, luego le decimos que es lo
que tiene que buscar exactamente con la opción -type d, directorio, a continuación el
nombre del directorio con -name "Documents" y finalmente lo que queremos hacer con
ello, que en este caso es que se muestre en pantalla, -print.

Tomemos de nuevo el mismo comando pero ahora vamos a introducir un nuevo
parámetro con el cual vamos a especificar aun mas nuestra búsqueda:

user@linux:~> find /home/user/ -type d -size +10k -name "*" -print
/home/ user/fotos/
/home/ user/Mail/

Ahora buscamos todos los directorios con cualquier nombre ( -name “*” ) cuyo peso
exceda de +10k. Vamos a ver este otro comando:

user@linux:~> find /home/user/Documents/ -type f -atime +5 -name "*" -print
/home/ user/Documents/ssh /article278.shtml.html
/home/ user/Documents/ssh /ch09s04.html

Lo que hacemos aquí es buscar archivos ( -type f ) de cualquier nombre ( -name “*” ), a
los cuales no se haya accedido en los últimos 5 días ( -atime +5 ). Bien, pues ahora y con
este mismo comando vamos a hacer algo en concreto, para ello nos valdremos de la
opción -exec:

user@linux:~> find /home/user/Documents/ -type f -atime +5 -name "*" -exec cp {} /
tmp \;

Lo que hemos conseguido con este comando es que los dos archivos a los cuales no se
había accedido en los últimos 5 días, sean copiados al directorio /tmp, gracias a la
expresión -exec cp {} /tmp \; , donde los caracteres {} son sustituidos por los archivos que
se están buscando, a continuación le decimos el destino, /tmp , y por último \;, no mal

interpretándose “;” gracias a la barra invertida “\”.
Si en lugar de usar la opción -exec hubiéramos utilizado -ok, el shell nos pediría
confirmación antes de ejecutar cada acción:

user@linux:~> find /home/user/Documents/ -type f -atime +5 -name "*" -ok cp {} /tmp
\;
< cp ... /home/user/Documents/ssh/article278.shtml.html> ? y
<cp ... /home/ user/Documents/ssh /ch09s04.html> ? y

Find es muy útil a la hora de ayudarnos en el mantenimiento del sistema, por ejemplo, si
queremos saber que archivos pertenecientes a un antiguo usuario que ha sido expulsado
de nuestro sistem a, para borrarlo y ahorrar espacio, procederíamos de la siguiente
manera como usuario root:

linux:/home /user # find /home/ -type f -user usuario -name "*" -print
/home/ usuario/prueba /file
/home/ usuario/.mime.types
/home/ usuario/.profile
/home/ usuario/.sversionrc
...

Y por supuesto también podemos buscar cosas que pertenezcan a un determinado
grupo:

linux:/home /user # find /home/ -type l -group users -name "*" -print
/home/ usuario/OpenOffice.org1.1/user/temp /java/a
/home/ usuario/OpenOffice.org1.1/user/temp /java/b
/home/ usuario/OpenOffice.org1.1/user/temp /java/c
/home/ usuario/OpenOffice.org1.1/setup
/home/ usuario/OpenOffice.org1.1/soffice
...

Lo que hemos hecho ahora es buscar enlaces ( -type l ) que pertenezcan al grupo users
que se encuentren en la ruta especificada. Ni que decir tiene que si el listado que nos
aparece fuera muy grande podríamos utilizar canalizaciones hacia otros comandos para
poder ver mejor el resultado de nuestra búsqueda:

linux:/home /user # find /home/ -type l -group users -name "*" -print | less

En definitiva find es una potente arma en manos del administrador, capaz de encontrar
cualquier cosa sin necesidad de gráficos. Para mas información consultar la
correspondiente página man.
  • Links de descarga
http://lwp-l.com/pdf4559

Comentarios de: FIND, BUSQUEDAS EN LA CONSOLA DE COMANDOS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad