He estado estudiando sobre la línea de comando y aprendí que |
(pipeline) está destinado a redirigir la salida de un comando a la entrada de otro. Entonces, ¿por qué el comando ls | file
no funciona?
file
input es uno de los más nombres de archivo, como file filename1 filename2
ls
La salida es una lista de directorios y archivos en una carpeta, así que pensé que ls | file
se suponía que debía mostrar el tipo de archivo de cada archivo en una carpeta.
Sin embargo, cuando lo uso, el resultado es:
Usage: file [-bcEhikLlNnprsvz0] [--apple] [--mime-encoding] [--mime-type]
[-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
file -C [-m magicfiles]
file [--help]
Como hubo algún error con el uso del file
comando
file *
es la forma más inteligente, me preguntaba por qué ls
no funcionaba la salida. Duda despejada :)
ls
es generalmente una mala idea.
ls
, indica que desea que todos los archivos en el directorio actual se manejen con elfile
comando. ... Entonces, ¿por qué no hacer simplemente:,file *
que responderá con una línea para cada archivo, carpeta.