La guía de estudio LPIC-1 Training and Evaluation Guide (Ghori Asghar, ISBN 978-1-7750621-0-3) contiene la siguiente pregunta ...
¿Cuál de los siguientes comandos se puede usar para determinar el tipo de archivo?
- (UN)
file- (SI)
type- (C)
filetype- (RE)
what
... y afirma que la respuesta es: "(B) type".
¿Pero no es "(A) file" la respuesta correcta?
Estoy empezando a dudar de todo el libro.

Respuestas:
Sí, parece que tu libro está equivocado.
El
filecomando le dice qué tipo de archivo es. Desde el archivo man: "archivo - determinar tipo de archivo".Algunos ejemplos:
El
typecomando se usa para saber si un comando está integrado o externo:fuente
typees incorporado en la mayoría de los shells, lo que nos dice qué es algo que se puede ejecutar (incorporado, alias, función, ejecutable, etc.). En su caso, está diciendo que no hay nadatest.shque pueda ejecutarse (ya sea en PATH, o como un builtin / function / alias, etc.).fileembargo, la respuesta no debería ser así . Actualizaré mi respuesta.El tipo de archivo normalmente se determina con
file. Susmanestados:Pero también puedes usar en cierta medida
type. Compare los dos listados a continuación para:script.pl, un script de Perlnot_a_script, un archivo vacíoAquí hay uno para el guión:
Y aquí hay uno para el archivo vacío:
Como puede ver,
typepuede determinar si un archivo es ejecutable. ¿Es eso una "determinación del tipo de archivo" o no? Bueno ... de una manera diferente a lo quefileproporciona. La descripción de latypeconstrucción en el hombre de Bash es la siguiente:La respuesta correcta a la pregunta en el libro debería estar en mi opinión
file, porque eso es lo quemandice, y de eso se trata pasar las pruebas. O en otras palabras, mi primera opción esfile.fuente