Поиск по сайту:

Учебное пособие по работе с файлами Linux для начинающих (5 примеров)


На этой странице

  1. Файловая команда Linux
  2. Q1. Как использовать команду файла?
  3. Вопрос 2. Как проверить несколько файлов?
  4. Вопрос 3. Как заставить файл отображать только тип вывода?
  5. Q4. Как увидеть файлы типа MIME?
  6. В5. Как изменить разделитель в выводе?
  7. Заключение

При работе в командной строке Linux могут быть случаи, когда вы столкнетесь с файлом, который является архивом (скажем, файлом .zip), но его расширение (или его отсутствие) говорит об обратном. В такие времена команда file оказывается полезной, поскольку позволяет определить фактический тип файла.

В этом руководстве мы обсудим основы работы с командой file на нескольких простых для понимания примерах. Но прежде чем мы это сделаем, стоит упомянуть, что все упомянутые здесь примеры были протестированы на компьютере с Ubuntu 18.04 LTS.

Файловая команда Linux

Как уже упоминалось в начале, команда file в Linux позволяет вам увидеть тип файла, с которым вы имеете дело. Ниже приведен его синтаксис:

file [OPTIONS] file1 file2 ....

И вот как это объясняет справочная страница инструментов:

     file tests each argument in an attempt to classify it.  There are three
     sets of tests, performed in this order: filesystem tests, magic tests,
     and language tests.  The first test that succeeds causes the file type to
     be printed.

     The type printed will usually contain one of the words text (the file
     contains only printing characters and a few common control characters and
     is probably safe to read on an ASCII terminal), executable (the file con?
     tains the result of compiling a program in a form understandable to some
     UNIX kernel or another), or data meaning anything else (data is usually
     “binary” or non-printable).  Exceptions are well-known file formats (core
     files, tar archives) that are known to contain binary data.  When adding
     local definitions to /etc/magic, make sure to preserve these keywords.
     Users depend on knowing that all the readable files in a directory have
     the word “text” printed.  Don't do as Berkeley did and change “shell
     commands text” to “shell script”.

Ниже приведены несколько примеров в стиле вопросов и ответов, которые должны дать вам лучшее представление о том, как работает команда file.

Q1. Как использовать команду файла?

Просто, просто запустите файл с именем файла в качестве входных данных. Например:

file test

Поскольку test — это каталог в моей системе, команда file сказала мне именно это. Вот результат, который он произвел:

test: directory

Q2. Как проверить несколько файлов?

Это также довольно прямолинейно. Просто передайте имена файлов в качестве входных данных, подобно тому, как мы это делали в предыдущем примере.

Вот пример:

file test test.txt .local

И вот вывод этой команды:

test:     directory
test.txt: ASCII text
.local:   directory

Q3. Как заставить файл отображать только тип вывода?

Как вы можете видеть в выводе команды file до сих пор, вывод содержит две вещи: имя файла и его тип. Однако, если вы хотите, вы можете сделать так, чтобы file просто выводил текст. Это можно сделать с помощью параметра командной строки -b.

Например, следующая команда:

file -b test

произвел следующий вывод в моей системе:

directory

Q4. Как увидеть файлы типа MIME?

Чтобы просмотреть MIME-тип файла, используйте параметр командной строки -i. Вот пример:

Q5. Как изменить разделитель в выводе?

Как мы обсуждали выше, в режиме по умолчанию команда file выводит имя файла, за которым следует его тип. Обе эти детали разделены двоеточием (:). Однако при желании вы можете изменить этот разделитель с помощью параметра командной строки -F.

Например:

file -F " +" test

произвел следующий вывод:

test + directory

Заключение

В заключение, напильник — важный инструмент, который должен быть у вашего котенка. Мы только коснулись поверхности, так как инструмент предлагает гораздо больше возможностей с точки зрения параметров командной строки. Как только вы закончите с тем, что мы здесь обсуждали, вы можете перейти на справочную страницу команды файла, чтобы узнать больше об этом.