Encontré un comando en el script Bash en el que encontré:
find /var/log/abcd -type f
El comando anterior fue en el contexto de la limpieza de los archivos de registro. Se lo que findhace.
Después de haberlo visto -type f, busqué en la página del manual. Tengo que verlo en la página de manual de BASH_BUILTINS (1)
La descripción de la bandera -f bajo typecomando es: -
The -f option suppresses shell function lookup, as with the command builtin.
Las siguientes son mis preguntas:
- ¿De qué sirve
type? - ¿Cuál es el significado de la
-fbandera? - ¿De qué sirve usar
typecon elfindcomando?
[EDIT]: - Después de haber leído todos los comentarios y respuestas hasta ahora, me gustaría hablar de la causa de la mala interpretación de mi -type option in command findVs type command. Todo esto sucedió porque estaba asumiendo y hasta la fecha solo he visto las opciones cortas (Pruebas en el caso del findcomando) con un solo signo menos '-' , por ejemplo ls -l,. La mayoría de las veces he visto opciones largas con doble signo menos '-' , por ejemplo ls --version,.
fuente

typecomando incorporado no es utilizado porfind. La-typeopción defindhacer otra cosa. Veahelp typeyman findpara obtener sus respuestas.Respuestas:
En este caso
typeno tiene nada que ver con el bash incorporadotype, sino más adelante.Un poco sobre "tipo"
El
typecomando incorporado BASH le brinda información sobre los comandos. Así:La sintaxis es:
-t: solo tipo de impresión, si se encuentra-a: imprime todas las apariciones del comando, tanto incorporadas como otras.-p: imprime el archivo de disco que se ejecutará en la llamada al comando, o nada.Si miramos
time,killycatcomo ejemplo:Ahora, esto especifica que si está en un shell Bash y escribe
time some_cmd,timese usa bash builtin . Para usar el sistematimeque puedes hacer/usr/bin/time some_cmd.Una forma de uso frecuente para garantizar que se use el sistema, y no el comando incorporado, es mediante el uso
which.y luego usar
$ttpara llamar al sistematime.El comando en cuestión
En este caso,
-typees una opción para el comandofind. La opción toma un argumento de por el cual se especifica el tipo de entidad. EjemploHay más, verifique
man findel resto.Para buscar la opción específica que puede hacer (mientras está en el hombre):
Luego use
npara el siguiente hasta que lo encuentre.Un poco sobre el comando de shell
Esta es una interpretación un poco personal.
Algunas de las cosas que vale la pena mencionar, en este caso específico, son comandos, opciones, argumentos y canalizaciones.
Esto se usa de manera un tanto flexible, pero en mi vocabulario tenemos en resumen:
En una especificación de comando, los corchetes se usan para especificar opciones y, opcionalmente, menor / mayor que, se usan para especificar argumentos. Así:
Da
-a-by-scomo parámetros opcionales, yfileuno requerido.-tes opcional, pero si se especifica toma el argumento requeridobar. Los puntos representan que puede tomar varios archivos.Esta no es una especificación exacta, y a menudo
manohelpes necesaria para estar seguro.El posicionamiento de las opciones de argumentos y la entrada a menudo se pueden mezclar, pero generalmente es mejor mantener un enfoque basado en la posición, ya que algunos sistemas no manejan el posicionamiento mixto de los argumentos. Como ejemplo:
Ambos funcionan en algunos sistemas, mientras que el último no en otros.
En su comando exacto, todos los parámetros pertenecen, por lo
findtanto, si se pregunta si una propiedadman findes el lugar correcto para buscar. En los casos en los que necesita mirar las páginas del manual para el shell, etc. podría estar en, por ejemplo:El
-execes uno especial donde se-exec some_command {} \;dan todos los parámetrosfind, pero lasome_command {} \;parte se expande, dentrofinddesome_command string_of_found_entity.Más allá
Puede encontrar esto útil .
fuente
Debes mirar adentro
man find, no adentrohelp typeoman bash.typeenfindespecificará qué tipo de archivo necesita:Y
typeconstruir es algo completamente diferente y NO es el que se usa en el interiorfind.fuente
Buscaste en la página del manual equivocada, este no es el
type -fcomando, pero lafind -type fopción es bastante diferente, mira elfindmanual para obtener explicaciones adecuadas.fuente
-type fle dice a find que solo imprima archivos de tipo f, es decir, archivos simples, no directorios, no enlaces simbólicos y no archivos de dispositivo.man findluego busque la-fopción.fuente
Esta no es la página de manual correcta que estás viendo. Deberías estar usando
eso le dirá que con
-type fel-typepredicado selecciona solo los archivos normales.fuente