No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

5D
3H
33M
5S

Comandos de b煤squeda

14/23
Recursos

A veces necesitas localizar varios archivos del mismo tipo que ocupan espacio innecesario en tu disco duro.

Por ejemplo, algunos programas que funcionan desde la consola, como npm, guardan sus errores en archivos de extensi贸n 鈥.log鈥 y si no est谩s pendiente de eliminarlos se van acumulando en tu disco duro.

驴Cu谩les son los comandos de b煤squeda en la terminal?

Para encontrar archivos de forma efectiva, usa el comando find, el cual buscar谩 en la ruta que le indiques el tipo de archivos que necesitas. Su sintaxis es:

find [rutaDesdeDondeEmpezarBuscar] [opciones]

Segmentar por el nombre (-name)

Veamos un ejemplo, voy a buscar en mi carpeta home todos los archivos que tenga una extensi贸n 鈥.png鈥.

find ./ -name *.png
ejemplo-comando-name.png

El punto indica que debe empezar desde la carpeta en la que est谩 y la opci贸n -name es para especificar el nombre que debe buscar.

Segmentar por el tipo (-type)

Tambi茅n puedes segmentar por el tipo, si es un archivo o si es un directorio utilizando la opci贸n -type, el cual acepta f para archivos, d para directorios y l para enlaces simb贸licos.

Si quieres usar m谩s de una opci贸n lo separas por comas.

find ./ -type f -name "f*"
usar-comando-type-terminal.png

Esto me muestra todos los archivos que comiencen con la letra 鈥渇鈥.

Veamos un ejemplo buscando archivos y directorios.

find ./ -type f,d -name "D*"
buscar-archivos-direcorios-con-comando-type-terminal.png

Segmentar por tama帽o (-size)

Con la opci贸n -size podemos segmentar por tama帽o ingresando el peso que queremos buscar. Esta opci贸n tiene un uso un tanto especial. Primero que todo hay que colocar la unidad de peso c para byte, k para Kilobyte, M para Megabyte y G para Gygabyte.

Entonces, si escribes en la terminal:

find ./ -size 4k

Buscar谩 los archivos que pesen exactamente 4kb. Pero claro, atinar el peso exacto de un archivo no es para nada sencillo, as铆 que podemos especificar que sea ese peso en adelante con el s铆mbolo + o de ese peso para abajo con el s铆mbolo -.

find ./ -size +4k

Busca los archivos que pesen 4kb o m谩s.

find ./ -size -4k

Busca los archivos que pesen 4kb o menos.

Buscar vac铆os (-empty)

Para buscar los archivos vac铆os usamos la opci贸n empty que es f谩cil de usar, no tienes que especificarle nada, solo escribirla.

Por ejemplo, si quisiera buscar todas las carpetas vac铆as, habr铆a que escribir:

find ./ -type d -empty
como-buscar-carpetas-vacias-en-la-terminal.png

Limitar la b煤squeda (-maxdepth -mindepth)

Puede que no queramos buscar en absolutamente todas las carpetas del sistema, sino que queremos 煤nicamente un pedacito. Para eso limitamos la profundidad de carpetas a la que el comando debe buscar, esto se hace con la opci贸n -maxdepth seguido de la profundidad.

find ./ -type d -maxdepth 2

Continuando, a veces ya conocemos m谩s o menos la estructura de nuestras carpetas, as铆 que nos queremos saltar niveles, por lo que le asignamos una profundidad m铆nima al comando.

find ./ -type d -mindepth 2

Una 煤ltima cosa, es recomendable pasar el output al comando less, as铆:

find ./ | less

De esta forma podr谩s usar esa interfaz de less para buscar tus archivos.

Tabla de comandos de b煤squeda

Opci贸n Funci贸n
-size Busca por el peso
-mindepth Asigna una profundidad m铆nima
-maxdepth Asigna una profundidad m谩xima
-type Busca por el tipo de archivo
-name Busca por el nombre del archivo

Ejercicio de pr谩ctica

El h谩bito hace al monje y la terminal al buen programador.

Crea el comando find para cada uno de estos casos:

  1. Busca tus archivos mayores a 100Mb, con una profundidad m谩xima de 4, que comiencen por la letra d.
  2. Busca los archivos que tengan extensi贸n 鈥.pdf鈥 con una profundidad m铆nima de 2.
  3. Busca todas las carpetas que comiencen por la letra 鈥淎鈥 con una profundidad m谩xima de 5, que est茅n vac铆as.
  4. Busca todo lo que tenga una letra 鈥渏鈥 que pese m谩s de 1b. Luego guarda la salida en un archivo llamado 鈥淟osArchivosJ.txt鈥 y cuando termine de hacer todo eso imprime un mensaje que diga 鈥淐omando terminado con 茅xito鈥.

Profundiza tus conocimientos: 驴qu茅 es un comando?

Contribuci贸n creada por: Miguel Gonzalez.

Aportes 859

Preguntas 103

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Hay otro comando que no se vio en esta clase MUY interesante 馃憖.
.
Este es el comando whereis (en espa帽ol: 驴d贸nde est谩?), este comando es algo similar a which, pero mucho mejor. Este comando localiza los ficheros binarios, fuentes y p谩ginas del manual de un programa, es decir, podemos decir que hace algo as铆 como una 鈥渂煤squeda mucho m谩s profunda鈥, me encanta porque puedes saberlo casi todo sobre la ubicaci贸n de un programa 馃槃.
.
Adicionalmente, find es uno de esos comandos que m谩s amo con toda mi vida, ya puse un ejemplo usando find en una clase anterior, pero es que es un comando muy bueno! A modo de an茅cdota, una vez me pasaron un archivo鈥 escondido entre un mont贸n de carpetas, s铆, una carpeta dentro de otra, dentro de otra, y al lado otras 10 carpetas m谩s鈥 驴qu茅 hice? us茅 el comando find 馃憖. Ventajas se saber usar la terminal, 隆y ahora t煤 tambi茅n sabes usarla! 馃槃

<h3>Reto:</h3>
find ~ -type f -name '*.txt' > ./Developer/term/misarchivosdetexto.txt && cowsay "Archivos guardados exitosamuuuuuente" | lolcat
// Y para abrirlo 
cat Developer/term/misarchivosdetexto | lolcat

Banderas del comando find
Banderas b谩sicas:

  • -name: Realiza una b煤squeda por nombre de archivo.
  • -iname: Realiza una b煤squeda por nombre de archivo sin tomar en cuenta las may煤sculas o min煤sculas.
  • -type: Realiza una b煤squeda por tipo de archivo, f(files) y d(directories) que son los m谩s comunes.
  • -size: Realiza una b煤squeda por el tama帽o de archivo y/o directorio.

Banderas de tiempo鈴

  • mmin: B煤squeda por tiempo en minutos.
  • mtime: B煤squeda por tiempo en d铆as.

M谩s banderas馃憖

  • -maxdepth: Despu茅s de est谩 bandera se pone el n煤mero de niveles de profundidad en los que queremos realizar la b煤squeda
  • -empty: Realiza una b煤squeda de archivos y/o directorios vac铆os.
  • -perm: B煤squeda de archivos por permisos.
  • -not: Retorna los resultados que no coinciden con la b煤squeda.
  • -delete: Est谩 bandera se coloca al final del comando, eliminara los resultados de la busqueda(鈿狅笍Hay que tener mucho cuidado al usarla).

Hay muchas m谩s banderas, pero esas son las que me parecieron m谩s 煤tiles.
.
Ejemplos:
A continuaci贸n pondr茅 unos cuantos ejemplos de las banderas mencionadas anteriormente.
.

B煤squeda de todos los archivos con el permiso 644 a partir del directorio actual con una profundidad de 2 niveles.

find . -perm 644 -maxdepth 2

.
B煤squeda de archivos vac铆os a partir del directorio actual.

find . -type f -empty

.
B煤squeda de todos los archivos .log, todos los resultados ser谩n eliminados.

find . -type d -iname "*.log" -delete   

.
Para este aporte use como referencia algunas clases y aportes del curso pasado, as铆 como tambi茅n conocimientos propios, dejo los link de referencia por si quieren verlo m谩s a fondo(est谩n en ingl茅s):
Link 1
Link 2
Espero que les sea de ayuda, 馃挌 si te ayudo.

find ./ -name '*.txt' > text_docs.txt && echo "Files saved succesfully"

Para los que usan zsh deben ingresar el wildcard entre comillas:

'*.txt'

Notas 馃槃
Comandos de b煤squeda

  • Es una de las partes mas interesantes de la terminal, ya que nos permite buscar archivos de manera eficiente y espec铆fica 馃挮.
  • which <programa> Busca en todas las rutas del PATH para encontrar donde est谩 alojado alg煤n archivo binario 馃敘.
  • find <ruta inicial> -name <archivo> Nos permite encontrar un archivo a partir de una ruta inicial, y dentro de todas las carpetas que surjan de ese inicio 馃尣.
    • Algo muy cool es que podemos usar wildcards para hacer mas eficiente la b煤squeda 馃攳.
    • find <ruta inicial> -type <tipo> -name <nombre> podemos especificar el tipo de archivo, d 鈫 directorio, f 鈫 documento.
    • find <ruta inicial> -size <tama帽o><unidad> podemos buscar tama帽os mayores a un determinado tama帽o, por ejemplo, de 20M (megas).
  • Soluci贸n al reto: find ./ -name *.txt -type f -size 1M > mis_archivos_texto.txt | echo "archivos guardadados exitosamente"

Para los que no les funcione el comando find por algo como:

find: paths must precede expression: `Developer'
find: possible unquoted pattern after predicate `-name'?

Deben de poner el nombre entre comillas dobles o simples '' o "" como el siguiente ejemplo

find ./ -type d -name "[[:upper:]]*"

Para encontrar todos los directorios los cuales sus nombres comiencen con may煤scula

Para los usuarios que usen zsh:

El archivo o directorio que desean buscar, debe estar entre comillas simples:

find ./ -name ' *.txt '

鉁 Las herramientas de b煤squeda de archivos, son de gran utilidad a medida que pasa el tiempo.

Para buscar en que carpeta tenemos m谩s archivos pesados mediante una interfaz grafica desde la terminal, pueden instalar Ncdu, a mi me facilito mucho la administraci贸n de archivos:
(Recomiendo ponerle un alias, ya que el nombre ncdu para mi me es dif铆cil de recordar)
url: https://dev.yorhel.nl/ncdu/man
![](

Reto:

find ./home/ *.txt > my_txt_documents.txt && echo 'my_txt_documents.txt created'

13. Comandos de b煤squeda:

Les comparto los comandos aprendidos en clase:

  1. which : Busca la ubicacion de un archivo.
  2. find : Para encontrar archivos.

Ejemplos con find:

  1. find ./ -type d -name Documents
  2. find ./ f -type f -name *.log
  3. find ./ -size 20M

Cuidado porque cuando us茅 el comando busco literalmente en todo mi disco xD (estoy usando WSL).

Desconoc铆a el poder de find.

Podr铆amos encontrar por ejemplo directorios vac铆os:

$ find ./ -type d -empty

Fuente

Us茅 este comando para borrar todos los node_modules en el directorio donde pongo mis proyectos y funcion贸.
Creo que hay que tener cuidado de no ejecutarlo en la ra铆z porque creo que pueden borrar las dependencias instaladas de forma global

find . -type d -name node_modules -exec rm -rf {} \;

Les comparto mis apuntes, espero le sirva. 馃槃

Comandos de b煤squeda

Estos nos ayudan a buscar archivos o directorios (se pueden filtrar) dependiendo su extensi贸n, nombre, ubicaci贸n, etc.

.log

Son archivos de texto plano que recopilan normalmente la informaci贸n de un archivo en ejecuci贸n.

Por ejemplo cuando Google Chrome se est谩 ejecutando crea un archivo .log para ver las p谩ginas que visitamos, si hay errores en el sistema, etc.

Estos archivos llegan a ser molestos y hay que borrarlos.

Buscar archivos .log en la terminal

$ find [punto de partida] -type f -name *.log

which

Nos ayuda buscar la ruta de nuestros binarios, lo busca en toda la ruta del path.

$ witch [comando o ejecutable]

find

Nos permite encontrar un archivo, lo primero que recibe es la ruta desde donde va a buscar el archivo.

El comando find es uno de los m谩s vers谩tiles que podemos encontrar en la terminal, a trav茅s de sus diferentes opciones podemos realizar diferentes tipos de b煤squedas.

Tiene una opci贸n especial que es exec una vez terminada la b煤squeda, nos permite ejecutar un comando.

Funciona bien el shell bash tal como en la clase en zsy hay que colocarle '' a lo que tratamos de buscar.

En caso de que no funcione el comando tratemos de colocarle comillas simple a lo que se est谩 buscando

$ find [punto de partida] [opcion] [archivo o directorio]
$ find [punto de partida] [opcion] '[archivo o directorio]'

-name: Va a buscar por nombre.

Ejemplo

$ find . -name file

Wildcards

$ find . -name *.txt 

Pipes operator

$ find . -name *.txt | less

Operadores

-type: Busca por tipos y este tiene dos argumentos.

f: Solamente busca files o archivos.

d: Solamente busca directorios.

$ find [punto de partida] -type [argumentos de type] [opcion] [archivo o directorio]

#Ejemplo
$ find . -type d -name Platzi

-size: Busca por tama帽o de archivo.

$ find [punto de partida] -size tama帽o

#Ejemplo
$ find . -size 20M

Les comparto mis apuntes del mismo curso pero del 2019

locate

Es una herramienta que nos permite hacer una b煤squeda en todo nuestro sistema de archivos simplemente diciendo el nombre de un archivo que buscamos.

Instalar locate

$ sudo apt install mlocate # si no funciona usamos solamente "locate" en vez de "mlocate"

Actualizar la base de datos

locate funciona mediante una base de datos que tiene que ser expl铆citamente actualizada peri贸dicamente, caso contrario los archivos no se encuentran.

$ sudo updatedb

Usando locate

locate archivoABuscar

whereis

Este se usa para ubicar archivos binarios o sea comandos.

$ whereis comando

Nos muestra la ruta en donde se ubica el comando que buscamos tambi茅n podemos encontrar las m谩quinas del manual del comando.

find

Lo que hace es buscar dentro de un 谩rbol de directorios, de donde le indiquemos que comience, utilizando una serie de criterios.

-perm xxx: quiere decir con los permisos xxx.

$ find lugarDeBusqueda -user nombreDelUsuario -perm permisosEnNumeros

# Ejemplo
find . -user galeedgutierrez -perm 700

Este ejemplo que acabamos de ver nos muestra los archivos que pertenezcan al usuario X, ubicados en cierto directorio con los permisos que le indiquemos.

Buscar solamente archivos

-type f: quiere decir que solo busque archivos.

-mtime Xtime: quiere decir cierta cosa que se halla modificado en un tiempo X.

$ find lugarDeBusqueda -type f -mtime tiempoEnDias

Hacer algo con los archivos encontrados ejemplo

$ find . -type f -mtime +7 -exec cp {} ./backup/ \;

Este comando copia todos los archivos encontrados, cuya 煤ltima modificaci贸n fue hace m谩s de 7 d铆as, al directorio backup.

$ find /home -type f -name '*.txt' | tee 'Mis archivos de texto en home.txt' && echo "Archivos guardados con exito"

Comandos de b煤squeda
Nos sirven para encontrar archivos y directorios, dependiendo su ext. Nombre, ubicaci贸n, etc.

  • which 鈥榓rchivo鈥 : nos busca los archivos binarios en la ruta de PATH

  • find 鈥榬utaInicialDeBusqueda鈥 -name 鈥榥ombreDelArchivo鈥: nos permite encontrar un archivo seg煤n la ruta indicada y el nombre.

  • find 鈥榬utaInicialDeBusqueda鈥 -name *.鈥檈xtencion鈥 : nos permite buscar los archivos seg煤n la extencion desde la ruta indicada, en este caso se usa wildcards

  • find 鈥榬utaInicialDeBusqueda鈥 -type 鈥榝d鈥 name鈥檔ombreDelArchivo鈥 : type nos permite segmentar por f (files) o d (directorios)

  • find 鈥榬utaInicialDeBusqueda鈥 -size 鈥榯ama帽oYUnidadDeMedida鈥: busqueda por tama帽o del archivo

Encontrar la ruta de nuestros archivos binarios con 鈥渨hich鈥

$ which <mi binario>

$ which ping
/usr/bin/code
$ which code
/usr/bin/code
$ which vi
/usr/bin/vi

Encontrar un directorio con 鈥渇ind鈥

- Buscar todos los directorios que se llamen file:
	$ find ./ -name file

- Buscar todos los archivos que se llamen file.txt:
	$ find ./ -name file.txt

- Buscar todos los archivos con extensi贸n .html:
	$ find ./ -name *.html

Buscar solo directorios llamados 鈥渟andbox鈥

$ find ./ -type d -name sandbox

Buscar solo archivos llamados 鈥渄ata鈥

$ find ./ -type f -name data
$ find ./ -type f -name data.* # si tiene extensi贸n

Buscar solo archivos de extension 鈥.log鈥

$ find ./ -type f *.log

Buscar archivos por tama帽o:

$ find ./ -size 20M

coloco esto porque veo que muchos entendieron mal el find (no queda muy claro en el video), por eso siempre hay qu茅 hacer pruebas con cada comando y leer otros foros:
la definici贸n de find est谩 mala, find no comienza a buscar desde la ruta inicial, busca desde el directorio actual pero la direcci贸n que devuelve est谩 escrita desde la ruta inicial. la soluci贸n al reto que muchos han publicado solo funciona si la ubicaci贸n actual es el home
en mi github estoy guardando toda la informaci贸n con las pruebas que he hecho para quienes quieran leerla, tambi茅n est谩n los enlaces de donde saqu茅 alguna informaci贸n. tienen qu茅 tener cuidado porque en el tiempo que llevo en platzi he visto que a los cursos les falta mucha profundidad. si no buscan por cuenta propia van a quedar con conceptos malos y muy al aire. la 煤nica forma de entender como funciona cada comando es usandolo y haciendo pruebas.
https://github.com/koyomi-san/terminal/blob/main/comandos.txt

Al ejecutar find ./ -name *.txt si tuvieron el siguiente error:

find: paths must precede expression: `archivo.txt'
find: possible unquoted pattern after predicate `-name'?

Solo tienen queue agregar comillas a la wildcard, o sea, ejecutarlo as铆:
find ./ -name "*.txt"
Pueden leer un poco m谩s aqu铆: https://stackoverflow.com/questions/6495501/find-paths-must-precede-expression-how-do-i-specify-a-recursive-search-that

馃敤 Mi soluci贸n al reto:

find ./ -type f -name "*.txt" | tee misArchivos.txt && echo "Archivos guardados"

Reto:

find /Users/bri/Documents -type f -name "*.txt" > txtarchivos.txt && echo "archivos guardados exitosamente" >echo.txt

Reto

 find ~ -name "*.txt" > archivosDeTexto.txt && cowsay "Se guardaron los archivos :)"|lolcat
cat archivosDeTexto.txt|lolcat

El reto

El reto cumplido

Cuando el profesor menciona que buscara todos los archivos mayoras a 20 MB, en realidad esta buscando los archivos que pesan 20 Mb aprox, para los mayores a 20 MB seria

find ./ -size +20M

y para archivos menores a 20 MB

find ./ -size -20M

Hola a todos, fui recopilando todos los comandos de la Terminal y sus descripciones, las compart铆 en Github para que puedas verlas, copiarlas y/o modificarlas
https://github.com/SuKuShaing/ComandosDeGit/blob/main/ComandosTerminalLinux.txt

En Ubuntu, si tienen alg煤n problemas de permisos denegados se puede realizar el reto usando sudo como lo dejo a continuaci贸n:

sudo find $HOME -type f -name 鈥*.txt鈥 > my-search.txt && echo 鈥淎rchivos guardados con 茅xito鈥

Mi soluci贸n al reto:

find /home -name *.txt && touch misDocumentosDeTexto.txt | echo "archivos guardados exitosamente"```

en zsh la wildcard en el find no funciona si no se pone entre comillas deberia quedar asi el comando en zsh

find ./ -name '*.js'

la explicacion a esto esta en esta imagen ya que no pude poner la url de la pagina al no ser un sitio seguro

por si quieren buscar la pagina esta es la url

el nombre a buscar debe estar entre comillas simples en algunas versiones de ubuntu la sintaxis seria find ./ -name 鈥榝ile鈥

solucion al reto

find ./ -name 鈥*.txt鈥 > archivostext.txt && echo 鈥淎rchivos guardados exitosamente鈥

esto fue lo que hice

find ./ -name *txt | tee files_conTXT.txt && echo files guardados

Esta es mi solucion:

find . -type f -name '*.txt' | > myDocuments.txt && echo 'archivos guardados exitosamente' && bat myDocuments.txt

Busca todos los archivos y los exporta a mydocuments.txt y muestra un mensaje que los archivos fueron guardados exitosamente y los muestra con bat, que es como cat pero con alas.

 find ./ -type f -name "*.txt" > /home/user/misdocumentosdetexto.txt && echo "El programa se ha ejectuado correctamente"


Reto cumplido 馃槂

驴Cumple este comando con el reto?

find ./ -type f -name *.txt > mytxtfiles.txt | echo "search completed"

Les comparto esto panitas鈥

find ./ -type f -name *.txt | tee text.txt && echo deadmau5 nd chill

Hay comandos que nos ayudan a encontrar archivos e incluso podemos filtrarlos dependiendo su extension, su nombre o ubicaci贸n.

wich cd

Este comando nos ayuda a encontrar la ubicaci贸n de nuestros binarios en las rutas que tengamos guardadas en el PATH.

find ./ -name file

Este comando lo que hace es primero buscar EN LA RUTA QUE SELECCIONEMOS por el nombre (-name) todos los archivos que se llamen 鈥渇ile鈥. Pero tambi茅n podemos utilizar wildcards

find ./ -name *.txt

Otro modificador de Find es que podemos de buscarlos por el tipo de archivo donde tenemos 2 tipos de archivos, 鈥渇鈥 & 鈥渄鈥 files o directories

find ./ -type d -name Documents

En este comando vemos como busca en la carpeta home todos los directorios de tipo Documents.

Tambien podemos buscar por tama帽o, si queremos buscar los mayores a 20MB podemos usar

find ./ -size 20M

Reto:

find Documents/ -type f -name "*.txt" > documentos_texto.txt && echo "Archivos guardados exitosamente" 

pdta: Empec茅 la busqueda desde el directorio Documents

find ./ -name *.txt > misDocumentosDeTexto.txt && echo 鈥渁rchivos guardados exitosamente鈥

find ./ -type f -name *.txt > file.txt && cowsay "Archivos guardados"
 ____________________
< Archivos guardados >
 --------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Listo, reto cumplido!

find ./ -name "*.txt" > misDocumentosDeTexto && echo "guardado con exito"

Los ejercicios de RECURSOS

  1. Busca tus archivos mayores a 100Mb, con una profundidad m谩xima de 4, que comiencen por la letra d.
    find /mnt/c/Users/kboss/ -maxdepth 4 -type f -size +100M -name 'd*'
    find /mnt/c/Users/kboss/ -maxdepth 4 -type f -size +10M -name 'd*'
    
    Lo busque con menos peso por que no encontraba nada 馃槄
  2. Busca los archivos que tengan extensi贸n 鈥.pdf鈥 con una profundidad m铆nima de 2.
    find /mnt/c/Users/kboss/ -mindepth 2 -type f -name '*.pdf'
    
  3. Busca todas las carpetas que comiencen por la letra 鈥淎鈥 con una profundidad m谩xima de 5, que est茅n vac铆as.
    find /mnt/c/Users/kboss/ -maxdepth 5 -type d -name 'A*' -empty
    
  4. Busca todo lo que tenga una letra 鈥渏鈥 que pese m谩s de 1b. Luego guarda la salida en un archivo llamado 鈥淟osArchivosJ.txt鈥 y cuando termine de hacer todo eso imprime un mensaje que diga 鈥淐omando terminado con 茅xito鈥.
    find /mnt/c/Users/kboss/Documents/ -size +1b -name '*j*' > /mnt/c/Users/kboss/Documents/Github/intro-termial/04-find/LosArchivosJ.txt && echo 'Comando terminado con 茅xito'
    

Para los que usen bash ( parece raro porque es la misma shell que se usa en clase, pero me paso). Deben validar la busqueda con comillas. Si no, no les toma los parametros de busqueda.

Asi:
find ./ -name 鈥*.txt鈥

Igual para -type

A veces, dudas de ti mismo, y de repente te ponen un reto en platzi鈥 Y lo superas, y te quedas como 鈥溌縴o hice eso?鈥濃 Me pasa mucho鈥 y lo peor es que lo hago, y vuelve y me pasa XD

En WSL sino uso 鈥溾 al usar name. no funciona.
Un ejemplo de como usarlo si presentan el mismo error

find ./ -name "*.log"

Por algun motivo, estando en ubuntu, cuando el profe le da a buscar por el nombre a todos los archivos .txt lo tuve que poner entre comillas y ahi si funciono, no se si les pasara lo mismo 馃

Excelente explicaci贸n

para el caso de linux ubuntu 22.04, los comandos cambian, en mi caso quiero buscar todos los archivos que tengo con la wildcard *.php:

find / -iname *.php

find ./ -name *.txt ./User/Documentos/busquedas/logbusqueda.log && echo "ya esta loco"

Mi soluci贸n al reto!

<find  ./ -type f -name *.txt > ./Escritorio/Platzi/misDocumentosDeTexto.txt && echo "Archivos guardados exitosamente"> 

Aqui mi aporte del ejercicio

Realizando el reto, pero en lugar de echo, con el adornito aprendido

Solucion del reto:

find ./ -type f -name *.txt > ArchivosDeTexto.txt; echo "Archivos guardados exitosamente"

Lo pude hacer y se crea el archivo con el nombre de cada uno de los archivos terminados en .txt

find ./ -type f -name *.txt > archivostexto.txt | echo trabajo hecho 

find ./ *.txt | ls > misarchivosdehtml.txt | echo archivos guarda
dos exitosamente | cowsay | lolcat

Gente logre esto tan raro.

Ac谩 mi soluci贸n al reto:

find ~ -name *.txt > archivosencontrados.txt && echo "Archivos guardados"
 find ./ -name *.txt | tee misDocumentos.txt | echo "Archivos Guardados exitosamente"

Aqui va mi humilde aporte, aunque cambie el echo por la vaquita parlanchina 鈾 XD

find $HOME -name "*.txt" | tee "Mis documentos de texto.txt" | echo "Archivos guardados exitosamente" 

Aqui mi solucion al reto!

find ./ -type f -name *.txt | tee output.txt && echo "text files saved successfully"

Encuentra todos los elementos de tipo 鈥渇ile鈥 que terminen con 鈥.txt鈥, luego pasa el output al siguiente comando que escribira este mismo en un archivos llamado 鈥渙utput.txt鈥, si y solo si la ejecucion del pipe line fue exitosa, entonces imprime un mensaje 鈥渢ext files saved successfuly鈥

find ./ -type f -name *.txt > misArchivos.txt && echo "Archivos guardados exitosamente"
cedetb-Blade : /home/vi04877$  echo "Archivos guardados exitosamente"        <
Archivos guardados exitosamente
cedetb-Blade : /home/vi04877$ ls -l misArchivos.txt
-rw-rw-rw-    1 D1537.VI04877      D1537         11 Apr 23 16:09 misArchivos.txt
cedetb-Blade : /home/vi04877$ cat misArchivos.txt
./hola.txt
find ~ -type f -name "*.txt" > txt_files.txt && echo "Archivo guardado"; less txt_files.txt  


:~$ find ./ -name '*.txt' | tee DocumentosTextos.txt ; echo "Archivos creados existosamente"
:~$ less DocumentosTextos.txt
find ./ -type f -name *txt > misarchivos.txt && echo "Archivo creado"

Creo que lo hice bien 馃槄馃槂

Aunque no entend铆 por qu茅 hay que usar las comillas para que funcione, sin ellas no me arrojaba nada, por lo menos con los .txt

find ./ -type f -name "*.txt" > misarchivos.txt ; echo "Tipos de a
rchivo guardados con exito"
  • Reto

find ./ -type f -name *.txt > actividad.txt; cowsay 鈥渁rchivos guardados exitosamente鈥 | lolcat


< archivos guardados exitosamente >

    \   ^__^
     \  (oo)\_______
        (__)\       )\/\
            ||----w |
            ||     ||

find ./ -type f -name *.txt >> mis-archivos-txt.txt | echo archivos guardados con 茅xito

.log es la extensi贸n para un archivo generado de manera autom谩tica que contiene un registro de los eventos de cierto software. Ahora entiendo por qu茅 cuando genero pdfs con el comando pdflatex se crean estos archivos en la carpeta.

$ find ./ -name *.txt

Reto con colorcitos

B煤squeda por fecha
Si quieres buscar archivos en funci贸n de su fecha de acceso y las registros de fecha de modificaci贸n, Linux te ofrece las herramientas para hacerlo. Hay 3 registros de tiempo de los cuales Linux realiza seguimiento en los archivos:

  • Tiempo de acceso (-atime) 鈥 Fecha m谩s reciente en que el archivo fue le铆do o escrito.

  • Tiempo de modificaci贸n (-mtime) 鈥 Fecha m谩s reciente en que se modific贸 el archivo.

  • Hora de cambio (-ctime) 鈥 Fecha m谩s reciente en que se actualizaron los metadatos del archivo.

B煤squeda por tama帽o
Linux te brinda la opci贸n de buscar archivos seg煤n sus tama帽os. La sintaxis b谩sica para buscar archivos por tama帽o es:

find <startingdirectory> -size <size-magnitude> <size-unit>

Puedes especificar las siguientes unidades de tama帽o:

c 鈥 bytes
k 鈥 kilobytes
M 鈥 megabytes
G 鈥 gigabytes
b 鈥 trozos de 512 bytes

En en enlance se encuentra mejor detalla la informaci贸n y la manera en la que se utliza los comandos https://www.hostinger.mx/tutoriales/como-usar-comando-find-locate-en-linux/

Reto de EXET (ni idea como se escribe)

find ./ -name *.txt > misDocumentosDeTexto.txt | echo 鈥淎rchivo guardado con exito鈥

Hola, les comparto mi reto.

隆Reto cumplido amigos馃槉!

Paso para recordarles que para ver el manual de comandos pueden ayudarse del comando

man

por ejemplo

man find

te animo a probarlo, recuerda que no eres una maquina, siempre ocupa la logica para ayudarte con el prop贸sito de resolver problemas, Saludos.

As铆 quedo mi versi贸n del reto de la clase aplicando pipes, redirecciones y encadenamientos, espero les sirva!!

cowsay 'Lista de archivos' >> resultado.txt && find ./ -type f -name '*.txt' >> resultado.txt && cowsay 'Lista de archivos guardados exitosamente' | lolcat && less resultado.txt | lolcat

En UBUNTU 20.04 el comando que me funcion贸 en vez de:

find ./  -name  *.txt

fue este:

find . -name "*.txt"
find Documents/ *.txt > lista_archivos.txt | echo 鈥淎rchivos guardados exitosamente鈥 | cat lista_ar*

Reto:

find ./ -name 鈥*.txt鈥 > archivos_de_texto2.txt && echo 鈥淎rchivos guardados e
xitosamente鈥!!!鈥

Aqui mi aporte


find ./Documents/user_files/  -name *.pdf > my_pdfs && cowsay 'Saved Successfully' | lolcat

find ./ -name *.txt > misArchivos.txt && echo 鈥淎rchivos guardados con exito鈥

Me complace decir que este es un reto superado:

$ find ./ -type f -name "*.log" | tee ./Documents/LOG/backup.log; echo "Archivos Guardados Exitosamente"   

La ejecuci贸n consiste en tres instrucciones:

$ find ./ -type f -name 鈥*.log鈥

  • tee ./Documents/LOG/Log.txt

echo 鈥淎rchivos Guardados Exitosamente鈥

La primera instrucci贸n pasa como par谩metro a la 2da trav茅s de redirecion (stdinput / stdoutput).
La tercera instrucci贸n espera la ejecuci贸n de la 2da por un operador de control 鈥,鈥 (asincronismo).

[email protected]:~$ find ./ -name *.txt >> mistxt.txt && echo "txt guardados exitosamente"
txt guardados exitosamente

Reto:

  1. Buscar todos los archivos .txt en el home
  2. Guardar el output en un archivo .txt
  3. Mostrar un mensaje que muestre 鈥渁rchivos guardados exitosamente鈥

Hacer 1, 2 y 3 en un comando es el reto de la clase

Soluci贸n:

find ./ -name *.txt > misArchivos.txt && echo "archivos guardados exitosamente"

Hola amigos, las siguientes instrucciones me funcionaron para vel reto:

# find *.txt > filesList.txt && echo "recopilacion correcta"

En donde *find .txt encontrara todos los .txt dentro del directorio > redirigira el output al archivo filesList.txt y && sera condicional AND para posteriormente ejecutar echo 鈥渞ecopilacion correcta鈥 solo si el comando anterior no devuelve error

find ./ -name *.txt > ~/myTxt/mytxt | mv ~/myTxt/ && figlet Los archivos han sido guardados corrctamente | lolcat

![](

Cumpliendo el reto:

find $HOME -name *.txt | tee findText.txt && cowthink 'B煤squeda guardada con 茅xito'

Para practicar un poquito usamos variables de entorno, comando tee y el cowthink (que es su hermanito del cowsay)鈥 馃槈馃槈馃槈

Fue bastante curioso pues sent铆a que me estaba costando aprender el tema pero lo hice bastante r谩pido. As铆 que gracias por las clases

[email protected]:~$ sudo find ./ -type f -name *.txt > ~/Escritorio/outputfind.txt; echo 隆Archivo creado exitosamente!

> 隆Archivo creado exitosamente!


[email protected]:~$ head -n 1 ~/Escritorio/outputfind.txt 
./.config/BraveSoftware/Brave-Browser/Default/Service Worker/CacheStorage/3fb5937a/index.txt```

Respuesta al reto:

$find ./ -type f -name *.txt > documentos_txt.txt; echo "Archivos guardados correctamente"