Uczyłem się o linii poleceń i dowiedziałem się, że |
(potok) ma przekierowywać dane wyjściowe z polecenia do wejścia innego. Dlaczego więc to polecenie ls | file
nie działa?
file
input jest jedną z wielu nazw plików, takich jak file filename1 filename2
ls
wyjście to lista katalogów i plików w folderze, więc pomyślałem, że ls | file
powinien pokazać typ pliku każdego pliku w folderze.
Jednak gdy go używam, dane wyjściowe są następujące:
Usage: file [-bcEhikLlNnprsvz0] [--apple] [--mime-encoding] [--mime-type]
[-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
file -C [-m magicfiles]
file [--help]
Ponieważ wystąpił błąd podczas używania file
polecenia
file *
to najmądrzejszy sposób, po prostu zastanawiałem się, dlaczego użycie ls
wyjścia nie działa. Wątpliwości wyjaśnione :)
ls
jest generalnie złym pomysłem.
ls
, oznacza to, że chcesz, aby wszystkie pliki w bieżącym katalogu były obsługiwane za pomocąfile
polecenia. ... Dlaczego więc nie po prostu zrobić:,file *
który odpowie linią dla każdego pliku, folderu.