Тип файла обычно определяется с помощью file. Его manсостояния:
файл - определить тип файла
Но вы также можете в определенной степени использовать type. Сравните два списка ниже для:
script.plскрипт Perl
not_a_script, пустой файл
Вот один из сценариев:
$ ls
script.pl
$ file script.pl
script.pl: Perl script text executable
$ type script.pl
bash: type: script.pl: not found
$ type ./script.pl
./script.pl is ./script.pl
И вот один для пустого файла:
$ ls not_a_script
not_a_script
$ file not_a_script
not_a_script: empty
$ type not_a_script
bash: type: not_a_script: not found
$ type ./not_a_script
bash: type: ./not_a_script: not found
Как видите, typeможете определить, является ли файл исполняемым. Это определение типа файла или нет? Ну ... По-другому, что fileобеспечивает. Описание typeвстроенного в человека Баша следующее:
введите [-aftpP] name [name ...]
Без параметров укажите, как каждое имя будет интерпретироваться, если оно используется в качестве имени команды.
Правильный ответ на вопрос в книге должен быть, на мой взгляд file, потому что это то, о чем он manговорит, и это то, что прохождение тестов. Или, другими словами, мой первый выбор file.