File linux: Команда file — Linux FAQ
Команда file — Linux FAQ
Команда file предназначена для задействования одноименной утилиты, осуществляющей определение типов переданных элементов файловой системы (файлов, директорий, ссылок, именованных каналов и сокетов). Данная утилита исследует содержимое файлов, а не ограничивается проверкой их расширений.
Если говорить конкретно, утилита выполняет до трех проверок каждого из указанных пользователем элементов файловой системы. Первая проверка заключается в использовании системного вызова stat(), позволяющего получить доступ к содержимому структуры inode элемента файловой системы. Системный вызов обрабатывается ядром операционной системы и позволяет выяснить, является ли элемент файловой системы обычным файлом, директорией, символьной или жесткой ссылкой, именованным каналом или сокетом.
Если элемент файловой системы является обычным файлом или символьной или жесткой ссылкой, утилита читает заголовок файла и пытается идентифицировать его тип на основе магической последовательности байтов.
В том случае, если файл не содержит магической последовательности байтов, определяется тип содержимого файла. Эта проверка, к примеру, позволяет выяснить, является ли файл обычным текстовым файлом, файлом формата HTML или файлом исходного кода. Кроме того, утилита пытается распаковать файл архива и выяснить тип сжатого файла.
Базовый синтаксис команды выглядит следующим образом:
$ file [параметры] файл1 ...
Обычно утилита используется без каких-либо параметров, вместо имен файлов могут использоваться шаблоны. Параметр -k позволяет принудительно выполнить все проверки для получения максимального объема информации об объектах файловой системы. Параметр -b позволяет не выводить имена исследуемых объектов файловой системы, что полезно в случае сбора статистики о типах файлов. Параметр -F позволяет указать символ-разделитель имени файла и строки с информацией о его типе. Параметр -f предназначен для передачи утилите имени текстового файла в строках которого приводятся имена объектов файловой системы, которые необходимо исследовать. Если вам нужны MIME-типы файлов, а не описания их типов, вы можете воспользоваться параметром -i. Для того, чтобы не обновлять метку времени доступа к объектам файловой системы может использоваться параметр -p. Для исследования содержимого сжатых файлов может использоваться параметр -z.
Примеры использования
Простое исследование типов файлов
Для простого исследования типов файлов достаточно передать имена этих файлов утилите без использования каких-либо параметров:
$ file splash2280.jpg
splash2280.jpg: JPEG image data, JFIF standard 1.02, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 1280x1024, frames 3
$ file audiobook.ogg
audiobook.ogg: Ogg data, Vorbis audio, mono, 24000 Hz, ~40222 bps, created by: Xiph.Org libVorbis I
$ file file1.txt
file1.txt: ASCII text
$ file switchcase. c
switchcase.c: C source, UTF-8 Unicode text
$ file text.txt.bz2
text.txt.bz2: bzip2 compressed data, block size = 900k
$ file debian.patch
debian.patch: unified diff output, UTF-8 Unicode text
$ file /tmp/
/tmp/: sticky, directory
$ file /tmp/.ICE-unix/1558
/tmp/.ICE-unix/1558: socket
$ file /usr/lib/libnetpbm.so.10
/usr/lib/libnetpbm.so.10: symbolic link to libnetpbm.so.10.0
Исследование типов файлов из директории
Утилита file может обрабатывать множества файлов. Для этого достаточно использовать шаблоны командной оболочки:
$ file *.jpg
nolf228.jpg: JPEG image data, JFIF standard 1.02, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 800x600, frames 3
other: directory
splash2024. jpg: JPEG image data, JFIF standard 1.02, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 1024x768, frames 3
splash2280.jpg: JPEG image data, JFIF standard 1.02, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 1280x1024, frames 3
Исследование типов файлов из архива
Утилита может выводить информацию о типе первого файла из архива в случае использования параметра -z:
$ file splash.zip
splash.zip: Zip archive data, at least v2.0 to extract
$ file -z splash.zip
splash.zip: JPEG image data, JFIF standard 1.02, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 800x600, frames 3 (Zip archive data, at least v2.0 to extract)
Команда file В Linux
Команда file
в Linux отображает тип файла. Это полезно, когда вам нужно узнать тип файла, который вы никогда раньше не видели, или у файла нет расширения.
Синтаксис команды file в Linux
Синтаксис команды file
в Linux следующий:
file [OPTION] [FILE]
В качестве аргументов может использоваться одно или несколько имя файлов.
Как использовать команду «file» для поиска типа файла
Команда file
классифицирует файлы на основе серии тестов и определяет тип файла на основе первого успешного теста.
В простейшем виде, когда используется без каких-либо опций, команда file
отобразит имя файла вместе с типом файла:
file /etc/group
/etc/group: ASCII text
Чтобы показать только тип файла, используйте параметр -b
( --brief
):
file -b /etc/group
ASCII text
Как видно из вывода выше, файл /etc/group
представляет собой текстовый файл.
Как найти тип файла нескольких файлов
Вы можете передать в команду file
более одного файла :
file /bin/bash /opt/card. zip
Команда напечатает тип каждого файла в отдельном файле:
/bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=42602c973215ba5b8ab5159c527e72f38e83ee52, stripped /opt/card.zip: Zip archive data, at least v1.0 to extract
Он также принимает символы подстановки. Например, чтобы найти тип .jpg
каждого файла в текущем каталоге, вы запустите:
file *.jpg
imgage001.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 2083x1250, components 3 imgage031.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, comment: "Created with GIMP", baseline, precision 8, 1280x1024, components
Как просмотреть MIME-тип файла
Используйте опцию -i
( --mime
), чтобы определить mime-тип файла:
file -i /var/www/index. html
/var/www/index.html: text/html; charset=us-ascii
Заключение
К настоящему времени вы должны хорошо понимать, как использовать команду file в Linux. Для получения дополнительной информации по команде find
см. Справочную страницу file: https://linux.die.net/man/1/file.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Основные примеры команды file в Linux
Вот различные примеры использования команды file в Linux для определения фактического типа файла и сбора соответствующей информации.
Вы видели команды для создания файла в Linux. Вы также видели команду для удаления файла в Linux. Давайте поговорим о команде file в этой статье.
Что такое команда file в Linux и Unix?
Как вы узнаете тип файла? Позвольте мне догадаться, по его расширению, верно? Мы имеем в виду, если вы видите файл с именем MyData.csv, вы думаете, что файл в формате CSV.
Но расширения файлов в Linux и Unix не имеют реального значения. Вы можете назвать CSV-файл, ZIP-файл. Вы можете не использовать расширение вообще.
Команда file пригодится в таких ситуациях. Команда file в Linux определяет фактический тип файла, независимо от его расширения.
Он имеет простой синтаксис с несколькими опциями:
file [option] filename
Теперь, когда вы знаете синтаксис, давайте посмотрим, как использовать команду file.
Пример команды file в Linux
В простейшем виде вы можете использовать команду file с именем файла или путем к файлу, и он покажет тип файла.
file filename
Вот пример:
destroyer@andreyex: ~ / $ file cpluplus.cpp
cpluplus.cpp: C++ source, ASCII text
Давайте посмотрим, как можно использовать его с его параметрами.
Удалить имя файла из вывода
Вы можете использовать опцию -b, и в выходных данных будет показан только тип файла без имени файла. Это может быть полезно при написании сценариев.
file -b filename
Взгляните на тот же пример, который вы видели ранее:
destroyer@andreyex:~/$ file -b cpluplus.cpp
C++ source, ASCII text
Получить MIME-тип файла
Вы также можете отобразить MIME-тип файла благодаря опции -i.
file -i filename
Вот пример команды для видеофайла с информацией о типе MIME и без нее:
destroyer@ andreyex:~/$ file my_video.mp4
my_video.mp4: ISO Media, MP4 v2 [ISO 14496-14]
destroyer@ andreyex:~/$ file -i my_video.mp4
my_video.mp4: video/mp4; charset=binary
Вы можете комбинировать опции -b и -i.
Получить информацию о типе файла в файле архива
Если вы распаковали каталог и теперь у вас есть сжатый файл. Вы можете проверить несжатое содержимое, чтобы определить тип файла с опцией -z.
file -z compressed_file
Позвольте нам показать вам пример с опцией -z и без нее:
destroyer@ andreyex:~/$ file author-pro. zip
author-pro.zip: Zip archive data, at least v2.0 to extract
destroyer@ andreyex:~/$ file -z author-pro.zip
author-pro.zip: PHP script, ASCII text (Zip archive data, at least v2.0 to extract)
Используйте команду file с несколькими файлами
Файловая команда может быть запущена для нескольких файлов одновременно.
file file1 file2 file3
Вот пример для вас, чтобы вы могли увидеть это в действии:
destroyer@ andreyex:/$ file cpluplus.cpp andreyex.txt bash_script.sh
cpluplus.cpp: C++ source, ASCII text
andreyex.txt: ASCII text
bash_script.sh: Bourne-Again shell script, ASCII text executable
Используйте команду file с регулярным выражением
Если вы хотите использовать команду file для нескольких файлов, вам не всегда нужно указывать все имена файлов. Вы можете использовать регулярные выражения вместо.
Это действительно зависит от ваших требований и воображения, как вы могли бы использовать его. Я покажу несколько примеров.
Если вы хотите отобразить тип файла всех файлов в текущем каталоге, просто используйте это:
file *
Если вы хотите отобразить тип файла для всех файлов с определенным расширением, вы также можете сделать это:
file *.txt
Возможности безграничны. Хотите отобразить тип файла с именем, начинающимся с ‘a’? Использовать этот:
file [a]*
Другие параметры, которые вы можете использовать с командой file
Вот несколько других опций с командой file, которые вы можете использовать:
- -L: переходить по символическим ссылкам и сообщать тип файла назначения
- -f file_name: читать имена файлов построчно из заданного имени файла и сообщать об их типе файла
Есть и несколько других вариантов, но мы думаем, что вы изучили все основные примеры файловой команды Linux. Если у вас есть вопросы или предложения, дайте нам знать в разделе комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Linux file команда, классифицирующая файлы
file
использует несколько видов теста :
1: Если файл не существует, не может быть прочитан или его состояние файла не может быть определено, выходные данные должны указывать, что файл был обработан, но его тип не может быть определен.
Это будет вывод как cannot open file: No such file or directory
.
2: Если файл не является обычным файлом, его тип файла должен быть идентифицирован. Каталог типов файлов, FIFO, сокет, специальный блок и специальный символ должны быть идентифицированы как таковые. Другие определяемые реализацией типы файлов также могут быть идентифицированы. Если файл является символической ссылкой, по умолчанию ссылка должна быть разрешена, и файл должен проверять тип файла, на который ссылается символическая ссылка. (См.
-h
И-i
варианты ниже.)
Это будет выводиться как . : directory
и /dev/sda: block special
. Большая часть формата этого и предыдущего пункта частично определяется POSIX — вы можете положиться на определенные строки, находящиеся в выходных данных.
3: Если длина файла равна нулю, он должен быть идентифицирован как пустой файл.
Это foo: empty
.
4. Файловая утилита должна исследовать начальный сегмент файла и делать предположения при определении его содержимого на основе чувствительных к положению тестов. (Ответ не гарантированно будет правильным; см. Параметры -d, -M и -m ниже.)
5: файловая утилита должна проверить файл и сделать предположение при определении его содержимого на основе контекстных системных тестов по умолчанию. (Ответ не гарантированно будет правильным.)
Эти два используют идентификацию магического числа и являются наиболее интересной частью команды. Магическое число это специальная последовательность байт , которая находится в известном месте в файл , который идентифицирует его типа. Традиционно это место — первые два байта, но термин был расширен, чтобы включить более длинные строки и другие местоположения. Смотрите этот другой вопрос для более подробной информации о магических числах в file
команде.
У file
команды есть база данных этих номеров и тому, какому типу они соответствуют; эта база данных обычно находится /usr/share/mime/magic
и отображает содержимое файла в MIME-типы . Выходные данные там (часто часть, file -i
если вы не получаете его по умолчанию) будут определенным типом носителя или расширением. «Контекстно-зависимые тесты» используют такой же подход, но они немного размыты. Ничто из этого не может быть правильным, но они предназначены для хороших догадок.
file
также имеется база данных, сопоставляющая эти типы с именами, по которой он узнает, что файл, который он идентифицировал, application/pdf
может быть описан как PDF document
. Эти понятные человеку имена также могут быть локализованы на другой язык. Это всегда будет какое-то высокоуровневое описание типа файла, понятное человеку, а не машине.
Большинство различных результатов, которые вы можете получить, будут получены на этих этапах. Вы можете посмотреть в magic
файле список поддерживаемых типов и то, как они определены — моя система знает 376 различных типов. Указанные имена и поддерживаемые типы определяются вашей системой упаковки и конфигурации, и поэтому ваша система может поддерживать больше или меньше, чем у меня, но, как правило, их много. libmagic
также включает в себя дополнительные жесткие тесты в нем.
6: файл должен быть идентифицирован как файл данных.
Это foo: data
когда он ничего не понял в файле.
Есть и другие маленькие теги, которые могут появиться. Исполняемый файл ( +x
) будет включать » executable
» в выводе, обычно через запятую. file
Реализация может также знать дополнительные вещи о некоторых форматах файлы , чтобы иметь возможность описать дополнительные пункты о них, как и в вашем « PDF document, version 1. 4
».
Типы файлов Linux. Курс «Введение в Linux и Bash»
В GNU/Linux как и других Unix-подобных операционных системах понятие типа файла не связано с расширением файла (несколькими буквами после точки в конце имени), как это обстоит в Windows.
Unix-подобная ОС не следит за расширениями файлов. Задача связать расширения файла с конкретным пользовательским приложением, в котором этот файл будет открываться, видимо лежит на какой-либо дополнительной программе. В свою очередь пользовательское приложение анализирует структуру данный файла, расширение ему также безразлично.
Таким образом, среди файловых атрибутов, хранящихся в операционной системе на базе ядра Linux, нет информации о типе данных в файле. Там есть информация о более существенном разделении, связанном с тем, что в Unix-подобных системах все объекты – это файлы. Все объекты весьма разнообразны. Поэтому тип файла в Linux – это скорее тип объекта, но не тип данных как в Windows.
В операционной системе GNU/Linux существуют следующие типы файлов: обычные файлы, каталоги, символьные ссылки, блочные устройства, символьные устройства, сокеты, каналы. Каждый тип имеет собственное обозначение одним символом. Знание этих символов нам пригодится в дальнейшем при изучении командной оболочки Bash.
Обычные файлы (-)
Сюда относятся все файлы с данными, играющими роль ценной информации сами по себе. Linux все-равно текстовый перед ним файл, исполняемый или картинка. В любом случае это будет обычный (regular) файл. Все они обозначаются знаком минус «-«. Остальные типы файлов считаются специальными (special).
Каталоги (d)
В Linux каталог представляет собой такой тип файла, данными которого является список имен других файлов и каталогов, вложенных в данный каталог. Напрямую, то есть через какой-либо редактор, пользователь не может редактировать данные файла-каталога. Редактированием занимается ядро операционной системы, получая, в том числе от пользователя, команды создания файла, удаления и др.
В файле каталога осуществляется связь между именами файлов (словесного обозначения для людей) и их индексными дескрипторами (истинным именем-числом, которым оперирует ОС).
В Unix-подобных системах один и тот же файл может существовать под разными именами и/или в разных каталогах: все имена будут связаны с одним и тем же индексным дескриптором (механизм жестких ссылок).
Также следует, что файлы всегда должны содержаться в каталогах, иначе станут недоступны, так как нигде не будет содержаться записи о них.
Символьные ссылки (l)
Символьная ссылка – это файл, в данных которого содержится адрес другого файла по его имени (а не индексному дескриптору).
Выполнение символьной ссылки приводит к открытию файла, на который она указывает. Это аналог ярлыков в операционной системе Windows.
Если удалить исходный файл, то символьная ссылка продолжит существовать. Она по-прежнему будет указывать на файл, которого уже нет.
Символьные ссылки не содержат атрибутов файлов, на которые они указывают. У них есть собственные атрибуты.
Символьные (c) и блочные устройства (b)
Файлы устройств предназначены для обращения к аппаратному обеспечению компьютера (дискам, принтерам, терминалам и др.). Когда происходит обращение к файлу устройства, то ядро операционной системы передает запрос драйверу этого устройства.
К символьным устройствам обращение происходит последовательно (символ за символом). Примером символьного устройства может служить терминал.
Считывать и записывать информацию на блочные устройства можно в произвольном порядке, причем блоками определенного размера. Пример: жесткий диск.
Сокеты (s) и каналы (p)
Чтобы понять, что такое канал и сокет, необходимо понимание процессов в операционной системе. И каналы и сокеты организуют их взаимодействие. Пользователь с данными типами файлов почти не сталкивается.
Ключевым отличием канала от сокета является то, что канал однонаправлен. Через канал один процесс всегда передает данные второму, но не наоборот. Сокеты позволяют передавать данные в разных направлениях, т. е. осуществляют связь.
Также следует отметить, что канал представлен в структуре каталогов файлом, только если он именован. Когда возникают безымянные каналы, то они существуют только внутри ядра Linux.
Команда file
Хотя выше было сказано, что Линукс не делает предположение о типе данных в обычном файле, есть специальная утилита, которая выполняет эту задачу, – программа file. Для этого она анализирует начало содержимого файла и находит в нем специальные «сигналы», характерные для определенного типа – бинарного файла, текстового, изображения и др.
На скриншоте также показано, что расширение для программы file безразлично. Файл flag – копия flag.png, и программа успешно его идентифицировала как изображение.
Команда file имеет множество различных ключей.
В примере файл 2020.ods является символьной ссылкой на файл, находящийся в другом каталоге, о чем нам говорит команда file без ключей. С помощью ключа -L мы можем узнать тип файла, на который ссылается файл-ссылка.
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
Запись в файлы с помощью команды cat в Linux
Команда cat
представляет собой инструмент Unix, используемый для управления и отображения содержимого файлов. Команда получила свое название от слова «concatenate», потому что, помимо прочего, она может объединять файлы.
В этой статье мы рассмотрим несколько простых способов использования этой команды для записи текста в файл с примерами. Использование cat
очень простое, поэтому для продолжения работы не требуется никакого предварительного программирования или опыта работы с Unix.
Основы команд cat
Начнем с того, что мы просто опишем основы команды cat
, чтобы помочь вам, если вы никогда не использовали ее раньше или вам нужен краткий обзор.
Синтаксис
Синтаксис выглядит так:
cat [OPTION]. .. [FILE]...
Чтобы быстро найти синтаксис или параметры команды, запустите cat с параметром справки:
Или, вы можете использовать:
Эти команды должны отображать следующий список параметров:
-A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version output version information and exit
Отображение содержимого файла на стандартном выводе
Чтобы вывести содержимое файла на стандартный вывод, просто назовите файл, который хотите отобразить:
Если файл находится в другом каталоге, вам нужно указать его:
Мы ожидаем увидеть содержимое этого файла, распечатанное на стандартный вывод, в данном случае — терминал:
Это наиболее распространенное использование команды cat, поскольку она позволяет легко просматривать содержимое файла, не открывая текстовый редактор.
Запись текста в файл с помощью cat
Чтобы перенаправить вывод команды cat
из стандартного вывода в файл, мы можем использовать оператор перенаправления вывода >
:
cat filename1 > filename2
Это приведет к замене содержимого filename2
на содержимое filename1
, поэтому убедитесь, что он не содержит ничего, что вы бы не хотели потерять. Теперь filename2
содержит:
Оператор перенаправления вывода перенаправит вывод любой вызываемой нами команды. Например, давайте попробуем это с помощью команды pwd
, которая печатает имя текущего рабочего каталога:
Если мы посмотрим сейчас на testfile
:
Он содержит путь к текущему рабочему каталогу:
Если файл, на который вы перенаправляете, не существует, будет создан файл с таким именем:
cat filename1 > newfilename
Объединение файлов с помощью cat
Объединить несколько файлов с помощью cat
очень просто — просто перечислите файлы в желаемом порядке:
cat filename1 filename2 > outputfile
cat outputfile
Этот код берет файлы filename1
и filename2
, сцепляет их и выводит на новый outputfile
:
Content of filename1!
Content of filename2!
Стандартный ввод между файлами
Когда имя входного файла отсутствует в списке, cat
начинает чтение со стандартного ввода до тех пор, пока не достигнет EOF
(конца файла). Сигнал о конце файла отправляется ctrl+d
в командной строке:
$ cat > outputfile
Hello
World
$ cat outputfile
Это выведет:
Мы даже можем добавить текст из стандартного ввода между файлами, которые мы хотим объединить, используя -
, чтобы указать, где мы ожидаем стандартный ввод. Если у нас есть такие файлы, как filename1
, filename2
и filename3
, и нам нужен текст из стандартного ввода между filename1
и filename2
, мы должны написать:
$ cat filename1 - filename2 filename3 > output
Text from standard input!
$ cat output
Проверив output
, мы увидим что-то вроде:
Content of filename1!
Text from standard input!
Content of filename2!
Content of filename3!
Добавление файлов с помощью cat
В предыдущих примерах использование оператора перенаправления отбрасывало предыдущее содержимое файла output
. Что, если мы хотим добавить новый контент к старому? Для добавления файлов мы используем оператор >>
:
cat filename1 filename2 >> output
cat output
И это должно привести к:
Original output file contents.
Content of filename1!
Content of filename2!
Объединение содержимого всего каталога файлов с помощью cat
Чтобы объединить все содержимое всех файлов в каталоге, мы используем подстановочный знак *
:
cat /dir1/dir2/* > output
Чтобы объединить все содержимое всех файлов в текущем рабочем каталоге, мы будем использовать:
*
также можно использовать для объединения всех файлов с одинаковым расширением:
Перечисление номеров строк
Перечисление всех строк вывода осуществляется с помощью опции -n
:
cat -n filename1 filename2 filename3 > output
cat output
Что бы написать что-то вроде:
1 Content of filename1!
2 Content of filename2!
3 Content of filename3!
Напишите $ в конце каждой строки
В опции -E
знаменует конец каждой строки в файле с $
:
cat -E filename1 filename2 filename3 > output
cat output
Сортировка строк составных файлов по конвейеру
Это немного обман. Команда cat
не может сортировать, но для этого мы можем использовать конвейер. Команда канала (|
) используется для превращения вывода одной команды во ввод другой. Чтобы отсортировать строки файла, мы будем использовать обе cat
и еще одну команду sort
:
cat filename2 filename3 filename1 | sort > output
cat output
Это приводит к:
Content of filename1!
Content of filename2!
Content of filename3!
Вывод
Cat — это простой, но мощный инструмент Unix, который предустановлен в большинстве систем. Его можно использовать отдельно или в сочетании с другими командами с помощью каналов. Первоначально созданный Кеном Томпсоном и Деннисом Ритчи в 1971 году, cat
простой в использовании и интуитивно понятный функционал выдерживает испытание временем.
В этой статье мы изучили некоторые возможности использования команды cat
для записи текста в файлы, проверки содержимого, объединения и добавления файлов, а также для перечисления строк и их сортировки.
Как Переименовать Файл в Linux: Пошаговое Руководство
VPS
access_time
25 июня, 2020
hourglass_empty
3мин. чтения
Терминал командной строки является важным инструментом для администрирования серверов Linux. Он предоставляет пользователям этой ОС одни из лучших инструментов для повышения производительности, сохраняя при этом ресурсы вашей машины. Для того, чтобы эффективно использовать возможности Linux, вам нужно хорошо знать основы — простые команды, такие как переименование существующих файлов и папок. В этом руководстве мы покажем, как переименовать файл в Linux.
Как Переименовать Файл в Linux с Помощью Команды mv
Команда mv (сокращенно от «move») является одной из самых простых команд. Однако она выполняет две очень важные задачи при работе с файлами в Linux. Первая задача — перемещает файлы из одного места в другое, а вторая — переименовывает один или несколько файлов через терминал.
В первую очередь давайте посмотрим, как c помощью mv можно переименовать файл в Linux.
Для начала, мы обратимся к нашему серверу через командную строку, используя SSH (англ). Если вам нужны дополнительные инструкции по SSH, рекомендуем прочитать это руководство.
Чтобы получить доступ к нашему серверу, введите в свой терминал следующее:
ssh vash-user@vash-server
Если вместо сервера мы используем локальный компьютер, то нам придётся открыть терминал из главного меню.
Также нам важно узнать, как работает команда mv. Для этого мы запускаем команду, которая вызовет справку:
mv --help
Базовый синтаксис команды mv выглядит следующим образом:
mv [опция] [ИСХОДНЫЙ_ФАЙЛ]...[ДИРЕКТОРИЯ]
Вот список самых популярных опций mv:
- -f – не показывать сообщение перед перезаписью файла.
- -i – показывать предупреждающие сообщения перед перезаписью файла.
- -u – перемещать файл, только если он новый или не существует в месте назначения.
- -v – показать, что делает команда.
И параметры:
[ИСХОДНЫЙ_ФАЙЛ] — исходное местоположение файла
[МЕСТО_НАЗНАЧЕНИЯ] — каталог назначения.
Переименование Файла в Linux с Помощью Команды mv
Если мы хотим переименовать файл, мы можем сделать это так:
mv staroje_nazvanije_faila1 novoje_nazvanije_faila1
Допустим, что мы находимся в каталоге и у нас есть файл с именем file1.txt. Мы хотим изменить имя этого файла на file2.txt. В таком случае наша команда будет выглядеть так:
mv file1.txt file2.txt
Всё очень просто. Однако, если вы не в каталоге, вам нужно будет немного расширить команду. Вот её пример:
cd /home/user/docs/files mv file1.txt file2.txt
Как Переименовать Несколько Файлов с Помощью Команды mv
Команда mv может переименовать только один файл, но её можно использовать с другими командами для переименования нескольких файлов.
Давайте возьмём циклы find, for, или while и переименуем несколько файлов.
Например, чтобы изменить расширение всех файлов .txt на расширение .pdf, мы будем использовать следующую команду:
for f in *txt; do mv -- "$f" "${f%. txt}.pdf" done
Она создаст цикл (for), который найдёт все файлы с расширением .txt, и заменит каждое расширение .txt на .pdf. Наконец, команда завершит цикл (done).
Если вам нужны более продвинутые функции, тогда стоит ознакомиться с ещё одной командой — rename. О ней и пойдёт речь дальше.
Как Переименовать Файл в Linux с Помощью Команды Rename
С утилитой rename у вас будет немного больше контроля. Многие конфигурации Linux включают её по умолчанию. Но, если она не установлена, вы можете быстро это сделать с помощью простой команды.
Если вы используете Debian, Ubuntu, Linux Mint и их производные:
sudo apt install rename
Если же вы пользователь CentOS 7 или RHEL:
sudo yum install rename
Команда для установки rename в Arch Linux:
yay perl-rename ## or yaourt -S perl-rename
Теперь мы можем начать использовать команду rename. Её основной синтаксис выглядит так:
rename 's/staroje-nazvanije/novoje-nazvanije/' files
Команда выглядит сложнее, чем есть на самом деле.
В примере ниже мы создадим новую папку с именем filetorename и 5 файлов, используя для этого команду touch.
mkdir filetorename
cd filetorename
touch file{1..5}.txt
ls
С помощью последней команды ls вы можете просмотреть созданные вами файлы.
Если мы хотим переименовать только один файл с названием file1.txt, мы напишем следующую строку:
rename ‘s/file1/newfile1/’ file1.txt
Если же мы хотим изменить расширение всех файлов, например, на .php. Мы могли бы сделать это так:
rename ‘s/.txt/.php/’ *.txt
ls
Также мы можем указать другой каталог, где находятся файлы, которые вы хотите переименовать.
rename ‘s/.txt/.php/’ ФАЙЛ/ПУТЬ
Важно отметить, что rename использует регулярное выражение Perl, а это означает широкие возможности команды.
Наконец, неплохо было бы узнать опции команды. Для того, чтобы посмотреть весь их список, введите в терминале команду:
rename –help
Распространённые примеры использования команды rename:
- Преобразовать имена файлов в верхний регистр:
rename 'y/a-z/A-Z/' *
- Преобразовать имена файлов в нижний регистр:
rename 'y/A-Z/a-z/' *
- Заменить пробелы в именах файлов символами подчёркивания:
rename 'y/ /_/' *
Как Удалить Утилиту Remove
Если вы больше не хотите, чтобы команда rename была установлена в вашей системе, удалите её с помощью диспетчера ПО или из терминала.
Для Debian, Ubuntu, Linux Mint и производных:
sudo apt remove rename
Для CentOS и RHEL:
sudo yum remove rename
Вот и всё, rename удалено с вашей машины Linux.
Итоги
Переименование файлов с помощью терминала — простая и повседневная задача, но иногда от неё зависит очень многое. Знать, как переименовать файл в Linux, должен каждый администратор сервера.
Как мы уже поняли, есть две команды, которые могут это сделать. Одна проще другой, но обе выполняют задачу.
Рекомендуем вам и дальше исследовать возможности этих команд и улучшать качество вашего рабочего процесса.
Команда файла
в Linux с примерами
Команда файла
в Linux с примерами
файл Команда используется для определения типа файла. .file Тип может быть удобочитаемым (например, «ASCII text») или MIME-типом (например, «text / plain; charset = us-ascii»). Эта команда проверяет каждый аргумент, пытаясь разделить его на категории.
Он имеет три следующих набора тестов:
- проверка файловой системы: Этот тест основан на результате, возвращаемом системным вызовом stat .Программа проверяет, пуст ли файл или это какой-то особый файл. Этот тест заставляет напечатать тип файла.
- magic test: Эти тесты используются для проверки файлов с данными в определенных фиксированных форматах.
- языковой тест: Этот тест ищет определенные строки, которые могут появляться где угодно в первых нескольких блоках файла.
Синтаксис:
файл [опция] [имя файла]
Пример: Команда отображает тип файла
файл электронной почты.ру имя файла.jpeg файл Invoice.pdf файл exc.ods файл videosong.mp4
Опции:
- -b, –brief: Используется для отображения только типа файла в кратком режиме.
Синтаксис:
файл -b имя файла
Пример:
файл -b email.py файл -b input.txt файл -b os.pdf
Здесь мы видим этот тип файла без имени файла.
- * option: Команда отображает типы файлов всех файлов.
файл *
Вывод показывает все файлы в домашнем каталоге
- имя_директора / * параметр: Используется для отображения всех типов файлов в определенном каталоге.
Синтаксис:
имя_директора файла / *
Пример:
файл работа / *
Вывод показывает все файлы в определенном каталоге.
- [диапазон] * опция: Для отображения типа файлов в определенном диапазоне.
Синтаксис:
файл [диапазон] *
Пример:
файл [a-z] * файл [a-e] *
На выходе показан диапазон файлов.
- -c option: Вызывает контрольную распечатку проанализированной формы волшебного файла. Эта опция обычно используется вместе с флагом -m для отладки нового волшебного файла перед его установкой.
файл -c
Пример:
файл -c
- -f опция: Прочитать имена файлов для проверки из файла имен (по одному в строке) перед списком аргументов. Должен присутствовать либо namefile, либо хотя бы один аргумент filename; для проверки стандартного ввода используйте «-» в качестве аргумента имени файла.
Синтаксис:
файл -f -
- -F опция: Файл и тип файла разделяются : .Но мы можем изменить разделитель, используя параметр -F
Синтаксис:
файл -F "-" имя файла
Пример:
файл -F - input.txt файл -F + os.pdf
Выходные данные показывают, что типы файлов и файлов разделены на – и + .
- -i option: Для просмотра MIME-типа файла.
Синтаксис:
файл -i имя файла
Пример:
файл -i ввод. текст файл -i os.pdf
- -N option: Не заполнять имена файлов так, чтобы они выровнялись на выходе.
файл -N *
Пример:
файл -N *
- -s опция: Для специальных файлов
Синтаксис:
файл -s имя_файла
Пример:
файл / dev / sda файл -s / dev / sda файл / dev / sda5 файл -s / dev / sda5
- имен файлов: Отображает типы файлов нескольких файлов
Синтаксис:
имена файлов файлов
Пример:
ввод файла.txt .local Рабочий стол
- -z option: Попробуйте заглянуть внутрь сжатых файлов.
Пример:
файл -z flash.tar.gz
- –help option: Распечатать справочное сообщение и выйти.
|
|
Учебник по файловым командам Linux и Unix с примерами
Учебник по файловым командам Linux и Unix с примерами | Джордж Орнбо
Последнее обновление
Учебное пособие по использованию файлов, команд UNIX и Linux для определения типов файлов. Примеры одного файла, нескольких файлов, просмотра типов MIME и сжатых файлов.
Расчетное время чтения: 2 минуты
Оглавление
Что такое файловая команда в UNIX?
Команда file
определяет тип файла файла.Он сообщает тип файла в удобочитаемом формате (например, «ASCII text») или MIME-тип (например, «text / plain; charset = us-ascii»). Поскольку имена файлов в UNIX могут быть полностью независимыми от типа файла. файл
может быть полезной командой для определения того, как просматривать или работать с файлом.
Как определить тип файла в файле
Чтобы определить тип файла файла, передайте имя файла команде file
. Имя файла вместе с типом файла будет напечатано на стандартный вывод.
файл file.txt
file.txt: текст ASCII
Чтобы показать только тип файла, передайте опцию -b
.
файл -b file.txt
Текст ASCII
Команда file
может быть полезна, поскольку имена файлов в UNIX не имеют никакого отношения к их типу файла. Таким образом, файл с именем somefile.csv
на самом деле может быть zip-файлом. Это можно проверить с помощью команды file
.
файл somefile.csv
somefile.csv: данные архива Zip, по крайней мере v2.0 для извлечения
Как определить тип файла для нескольких файлов
Команда file
также может работать с несколькими файлами и выводит отдельную строку для стандартного вывода для каждого файла.
файл unix - *. Md
unix-cat.md: текст ASCII с очень длинными строками
unix-comm.md: текст ASCII с очень длинными строками
unix-cut. md: текст Unicode UTF-8
unix-exit-status.md: текст ASCII
unix-file.md: текст ASCII с очень длинными строками
Как просмотреть MIME-тип файла
Чтобы просмотреть MIME-тип файла, а не его удобочитаемый формат, используйте параметр -i
.
файл -i file.txt
file.txt: текст / простой; кодировка = us-ascii
Это можно комбинировать с опцией -b
, чтобы просто показать тип пантомимы.
файл -i -b файл.txt
текст / простой; кодировка = us-ascii
Как просматривать сжатые файлы без распаковки
Чтобы просмотреть сжатые файлы без их распаковки, передайте опцию -z
. В следующем примере файл foo.txt.gz
представляет собой сжатый с помощью gzip текстовый файл ASCII.
файл -z bar.txt.gz
bar.txt.gz: текст ASCII (данные, сжатые gzip, были "bar.txt", последнее изменение: среда, 7 сентября, 19:31:23 2016, из Unix)
Дополнительная литература
У вас есть обновления или предложения по этой статье?
Вы можете отредактировать его здесь и отправить мне запрос на перенос.
Теги
Недавние сообщения
Об авторе
Джордж Орнбо (George Ornbo) — инженер-программист из Бакингемшира, Англия.
Он является автором Sams Teach Yourself Go за 24 часа и Sams Teach Yourself Node.js за 24 часа. Его можно найти в большинстве обычных мест в виде фигур.
← http://shapeshed.com
Контент находится под лицензией Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
файл (1): определение типа файла — справочная страница Linux
Имя
файл — определить тип файла
Сводка
файл [ -bchikLNnprsvz0 ] [ —apple ] [ —mime-encoding ] [ —mime-type ] [ -e testname ] [ -F разделитель ]
[ -f namefile ] [ -m magicfiles ] файл…
файл -C [ -m magicfiles ]
файл [ —help ]
Описание
На этой странице руководства представлена версия 5. 04 команды file .
файл проверяет каждый аргумент в попытке его классифицировать. Есть три набора тестов, выполняемых в указанном порядке: тесты файловой системы, магические тесты и
языковые тесты. Первый успешный тест приводит к печати этого типа файла.
Напечатанный тип обычно содержит одно из слов , текст (файл содержит только печатные символы и несколько общих управляющих символов и является
вероятно безопасно читать на ASCII-терминале), исполняемый файл (файл содержит результат компиляции программы в форме, понятной некоторым UNIX
ядро или другое), или данных означает что-то еще (данные обычно являются «двоичными» или непечатаемыми). Исключение составляют широко известные форматы файлов (файлы ядра, tar
архивы), которые, как известно, содержат двоичные данные.При изменении волшебных файлов или самой программы убедитесь, что сохранил эти ключевые слова . Пользователи зависят от
зная, что все читаемые файлы в каталоге имеют напечатанное слово «текст». Не делайте того, что сделал Беркли, и замените «текст команд оболочки» на «сценарий оболочки».
Тесты файловой системы основаны на проверке результатов системного вызова stat (2). Программа проверяет, является ли файл пустым или это какой-то
специальный файл. Любые известные типы файлов, соответствующие системе, в которой вы работаете (сокеты, символические ссылки или именованные каналы (FIFO) в тех системах, которые
реализовать их) интуитивно понятны, если они определены в файле заголовка системы
Магические тесты используются для проверки файлов с данными в определенных фиксированных форматах.Канонический пример — исполняемый двоичный файл (скомпилированная программа).
a.out, формат которого определен в #include
и, возможно, #include
в стандартном каталоге include. У этих файлов есть «магический номер», хранящийся в определенном месте рядом с началом файла, который сообщает операционной системе UNIX.
система, что файл является двоичным исполняемым файлом, и какой из нескольких его типов. Концепция «магии» была применена к файлам данных путем расширения.Любой файл
с некоторым инвариантным идентификатором при небольшом фиксированном смещении в файл обычно можно описать таким образом. Информация, идентифицирующая эти файлы, считывается из
скомпилированный волшебный файл /usr/share/misc/magic.mgc или файлы в каталоге / usr / share / misc / magic , если скомпилированный файл не существует. В
Кроме того, если существует $ HOME / .magic.mgc или $ HOME / .magic , он будет использоваться вместо системных магических файлов. Если существует / etc / magic , он
будет использоваться вместе с другими волшебными файлами.
Если файл не соответствует ни одной из записей в волшебном файле, он исследуется, чтобы увидеть, является ли он текстовым файлом. ASCII, ISO-8859-x, не-ISO 8-бит
наборы символов расширенного ASCII (например, используемые в системах Macintosh и IBM PC), Unicode в кодировке UTF-8, Unicode в кодировке UTF-16 и наборы символов EBCDIC
можно различить по различным диапазонам и последовательностям байтов, которые составляют печатный текст в каждом наборе. Если файл проходит любой из этих тестов, его
сообщается набор символов. Файлы ASCII, ISO-8859-x, UTF-8 и расширенный ASCII идентифицируются как «текстовые», потому что они в основном доступны для чтения практически на любом
Терминал; UTF-16 и EBCDIC — это только «символьные данные», потому что, хотя они содержат текст, это текст, который требует перевода, прежде чем его можно будет прочитать.В
Кроме того, файл попытается определить другие характеристики файлов текстового типа. Если строки файла заканчиваются CR, CRLF или NEL, вместо
LF стандарта Unix, об этом будет сообщено. Также будут идентифицированы файлы, содержащие встроенные escape-последовательности или избыточное выделение.
Как только файл определит набор символов, используемый в файле текстового типа, он попытается определить, на каком языке написан файл. Язык
тесты ищут определенные строки (см. #include
), которые могут появляться в любом месте первых нескольких блоков файла. Например, ключевое слово .br указывает, что файл, скорее всего, является входным файлом troff (1),
так же, как ключевое слово struct указывает программу на C. Эти тесты менее надежны, чем две предыдущие группы, поэтому они выполняются в последнюю очередь. Язык
процедуры тестирования также проверяют наличие некоторого разнообразия (например, архивов tar (1)).
Любой файл, который не может быть идентифицирован как записанный ни в одном из перечисленных выше наборов символов, просто называется «данными».
Опции
-b , - краткое
- Не добавлять имена файлов к строкам вывода (краткий режим).
-C , —compile
Записать выходной файл magic.mgc , содержащий предварительно проанализированную версию файла или каталога magic.-c , —checking-printout
Вызывает проверочную распечатку проанализированной формы волшебного файла. Обычно это используется вместе с флагом -m для отладки нового волшебного файла перед
установка его.-e , —exclude testname
Исключить тест с именем testname из списка тестов, сделанных для определения типа файла. Допустимые названия тестов:apptype
Тип приложения EMX (только на EMX).text ‘Различные типы текстовых файлов (этот тест попытается угадать кодировку текста, независимо от настройки параметра «кодировка»).
кодировка
Различные кодировки текста для тестов мягкой магии.токенов ‘Ищет известные токены внутри текстовых файлов.
cdf ‘Печатает подробную информацию о файлах составных документов.
compress
Проверяет и просматривает сжатые файлы.elf ‘Печать сведений о файле ELF.
soft ‘Консультирует волшебные файлы.
tar ‘Проверяет файлы tar.
-F , —separator separator
Использовать указанную строку в качестве разделителя между именем файла и возвращенным результатом файла. По умолчанию «:».-f , —files-from namefile
Прочтите имена файлов для проверки из namefile (по одному в строке) перед списком аргументов. Либо namefile , либо хотя бы одно имя файла
аргумент должен присутствовать; для проверки стандартного ввода используйте ‘-‘ в качестве аргумента имени файла.-h , —no-dereference
параметр запрещает переход по символическим ссылкам (в системах, поддерживающих символические ссылки).Это значение по умолчанию, если переменная среды POSIXLY_CORRECT не является
определенный.-i , —mime
Заставляет команду file выводить строки типа mime, а не более традиционные, удобочитаемые человеком. Таким образом, он может сказать «текст / простой; charset = us-ascii ‘скорее
чем текст ASCII. Чтобы эта опция работала, файл изменяет способ обработки файлов, распознаваемых самой командой (например, многие текстовые файлы
типы, каталоги и т.д.) и использует альтернативный «волшебный» файл. (См. Раздел ФАЙЛЫ ниже).—mime-type , —mime-encoding
То же, что -i , но выводит только указанный элемент (s).-k , — продолжай
Не останавливайся на первом матче, продолжай. Последующие совпадения будут иметь перед строкой ‘\ 012-‘. (Если вам нужна новая строка, см. Параметр ‘-r’.)-L , —dereference
опция заставляет следовать символическим ссылкам, как опция с одинаковым именем в ls (1) (в системах, поддерживающих символические ссылки).Это значение по умолчанию, если среда
переменная POSIXLY_CORRECT определена.-m , —magic-file magicfiles
Укажите альтернативный список файлов и каталогов, содержащих magic. Это может быть отдельный элемент или список, разделенный двоеточиями. Если найден скомпилированный волшебный файл
вместо этого будет использоваться он вместе с файлом или каталогом.-N , —no-pad
Не заполнять имена файлов так, чтобы они выравнивались на выходе.-n , —no-buffer
Принудительно очищать стандартный вывод после проверки каждого файла.Это полезно только при проверке списка файлов. Он предназначен для использования программами, которым нужен тип файла
выход из трубы.-p , —preserve-date
В системах, поддерживающих utime (2) или utimes (2), попытайтесь сохранить время доступа к анализируемым файлам, чтобы сделать вид, что файл никогда читай их.-r , —raw
Не переводить непечатаемые символы в \ ooo. Обычно файл переводит непечатаемые символы в их восьмеричное представление.-s , —special-files
Обычно файл пытается только прочитать и определить тип файлов аргументов, которые отчеты stat (2) являются обычными файлами. Это предотвращает проблемы, потому что
чтение специальных файлов может иметь специфические последствия. Указание параметра -s приводит к тому, что файл также читает файлы аргументов, которые являются блочными или
специальные файлы символов. Это полезно для определения типов файловой системы данных в необработанных разделах диска, которые являются специальными блочными файлами.Этот вариант
также приводит к тому, что файл игнорирует размер файла, о котором сообщает stat (2), поскольку в некоторых системах он сообщает нулевой размер для необработанных разделов диска.-v , —version
Распечатать версию программы и выйти.-z , —uncompress
Попробуйте заглянуть внутрь сжатых файлов.-0 , —print0
Выводит нулевой символ ‘\ 0’ после конца имени файла.Приятно сократить (1) вывод. Это не влияет на разделитель, который все еще печатается.—help
Распечатать справочное сообщение и выйти.Файлы
/usr/share/misc/magic.mgc
Составленный по умолчанию список магии.
/ usr / share / misc / magic ‘Каталог, содержащий магические файлы по умолчанию.
Окружающая среда
Переменная окружения MAGIC может использоваться для установки волшебного имени файла по умолчанию. Если эта переменная установлена, то файл не будет пытаться открыть
$ ГЛАВНАЯ /.Магия . файл добавляет ‘.mgc’ к значению этой переменной при необходимости. Переменная среды POSIXLY_CORRECT управляет (в системах,
поддерживают символические ссылки), независимо от того, будет ли файл пытаться перейти по символическим ссылкам или нет. Если установлено, то файл , следует по символической ссылке, в противном случае — нет. Это
также управляется опциями -L и -h .
См. Также
magic (5), строк (1), od (1), hexdump (1,) файл (1posix)
Соответствие стандартам
Считается, что эта программа превосходит определение интерфейса System V для FILE (CMD), насколько это можно определить по неопределенному языку, содержащемуся в ней.Его поведение в основном совместимо с одноименной программой System V. Однако эта версия знает больше магии, поэтому она будет производить другие (хотя и более
точный) вывод во многих случаях.
Одно существенное различие между этой версией и System V заключается в том, что эта версия обрабатывает любые пробелы как разделители, поэтому пробелы в шаблоне
строки должны быть экранированы. Например,
> 10 строковый отпечаток языка (данные ImPRESS)
в существующем магическом файле необходимо изменить на
> 10 язык строк \ импресс (данные ImPRESS)
Кроме того, в этой версии, если строка шаблона содержит обратную косую черту, ее необходимо экранировать.Например
0 string \ beginindata Документ
Andrew Toolkit в существующем волшебном файле необходимо было бы изменить на
0 строка \\ beginindata Andrew Toolkit документ
SunOS версии 3.2 и более поздних версий от Sun Microsystems включает команду file , производную от System V, но с некоторыми расширениями. Моя версия отличается
от Солнца лишь незначительно. Он включает расширение оператора ‘&’, используемого, например, как
> 16 длинных и 0x7fffffff> 0 без удаления
Magic Directory
Записи волшебного файла были собраны из различных источников, в основном из USENET, и предоставлены разными авторами.Христос Зулас (адрес ниже) будет
собирать дополнительные или исправленные записи магического файла. Консолидация записей волшебных файлов будет периодически распространяться.
Порядок записей в волшебном файле имеет значение. В зависимости от того, какую систему вы используете, порядок их объединения может быть неправильным. Если
ваш старый файл . Команда использует волшебный файл, сохраните старый волшебный файл для сравнения (переименуйте его в /usr/share/misc/magic.orig
).
Примеры
$ файл файл.c файл / dev / {wd0a, hda} file.c: текст программы C файл: 32-разрядный исполняемый файл LSB ELF, Intel 80386, версия 1 (SYSV),
- динамически скомпонован (использует общие библиотеки), лишен
/ dev / wd0a: специальный блок (0/0)
/ dev / hda: специальный блок (3/0)
$ file -s / dev / wd0 {b, d}
/ dev / wd0b: data
/ dev / wd0d: загрузочный сектор x86
$ file -s / dev / hda {, 1,2,3,4,5,6,7,8,9,10}
/ dev / hda: загрузочный сектор x86
/ dev / hda1: Linux / i386 файловая система ext2
/ dev / hda2: загрузочный сектор x86
/ dev / hda3: загрузочный сектор x86, расширенная таблица разделов
/ dev / hda4: Linux / i386 файловая система ext2
/ dev / hda5: файл подкачки Linux / i386
/ dev / hda6: файл подкачки Linux / i386
/ dev / hda7: файл подкачки Linux / i386
/ dev / hda8: файл подкачки Linux / i386
/ dev / hda9: пустой
/ dev / hda10: пустой
$ файл -i файл. c файл / dev / {wd0a, hda}
file.c: text / xc
file: application / x-executable
/ dev / hda: application / x-not-regular-file
/ dev / wd0a: application / x -не-обычный-файл
История
В каждой UNIX есть команда file , по крайней мере, начиная с версии 4 исследования (справочная страница от ноября 1973 г.). Версия System V представила один
существенное изменение: внешний список типов магии. Это немного замедлило работу программы, но сделало ее более гибкой.
Эта программа, основанная на версии System V, была написана Яном Дарвином
Джон Гилмор значительно изменил код, сделав его лучше, чем первая версия. Джефф Коллиер обнаружил несколько недостатков и предоставил какой-то волшебный файл.
записи. Вклад оператора ‘&’ Роба МакМахона, [email protected], 1989.
Гай Харрис, [email protected], внес много изменений с 1993 года по настоящее время.
Первичная разработка и сопровождение с 1990 года по настоящее время Христосом Зуласом (christos@astron. com).
Изменено Крисом Лоутом, [email protected], 2000: обработать параметр -i для вывода строк типа mime, используя альтернативный волшебный файл и внутреннюю логику.
Изменено Эриком Фишером ([email protected]), июль 2000 г., для идентификации кодов символов и попытки определения языков файлов, отличных от ASCII.
Изменено Рубеном Томасом ([email protected]), 2007–2008 гг., Для улучшения поддержки MIME и объединения магии MIME и не-MIME, поддержки каталогов, а также файлов
magic, примените множество исправлений ошибок и улучшите систему сборки.
Список участников «волшебного» каталога (волшебных файлов) слишком велик, чтобы его можно было сюда включить. Ты знаешь кто ты есть; Спасибо. Перечислены многие участники
в исходных файлах.
Официальное уведомление
Авторские права © Ян Ф. Дарвин, Торонто, Канада, 1986–1999. Защищено стандартным авторским правом Berkeley Software Distribution; см. файл LEGAL.NOTICE в
исходное распространение.
Файлы tar.h и is_tar.c были написаны Джоном Гилмором из его общедоступной программы tar (1) и не подпадают под действие вышеуказанной лицензии.
Ошибки
Должен быть лучший способ автоматизировать создание файла Magic из всех глобусов в Magdir. Что это такое?
файл использует несколько алгоритмов, которые предпочитают скорость точности, поэтому можно ввести в заблуждение относительно содержимого текстовых файлов.
Поддержка текстовых файлов (в основном для языков программирования) упрощена, неэффективна и требует перекомпиляции для обновления.
Список ключевых слов в ascmagic, вероятно, принадлежит файлу Magic.Это можно сделать, используя какое-нибудь ключевое слово, например ‘*’ для значения смещения.
Пожаловаться на конфликты в записях магического файла. Сделать правило, что магические записи сортируются по смещению файла, а не по положению в волшебном файле?
Программа должна обеспечивать способ оценки «насколько хорошо» предположение. В конечном итоге мы удаляем догадки (например, «Из первых 5 символов файла), потому что» они
не так хороши, как другие предположения (например, «Группы новостей:» или «Обратный путь:»). Тем не менее, если остальные не оправдаются, можно использовать первое предположение.
Эта страница руководства, особенно этот раздел, слишком длинная.
Код возврата
файл возвращает 0 в случае успеха и ненулевое значение в случае ошибки.
Если файл, названный файловым операндом, не существует, не может быть прочитан или тип файла, названного файловым операндом, не может быть определен, это не
считается ошибкой, влияющей на статус выхода.
Наличие
Вы можете получить последнюю версию оригинального автора по анонимному FTP на ftp.Astron.com в каталоге /pub/file/file-X.YZ.tar.gz
BSD 9 октября 2008 г. BSD
Ссылка на
упаковка (1),
диск типа (1),
dsniff (8),
dstat (1),
enconv (1),
genisoimage (1),
Gentoo (1),
guestfish (1),
guestfs (3),
улейxregedit (1),
libmagic (3),
МИФ (4),
мимотип (1),
missidentify (1),
mkisofs (8),
PMCD (1),
об / мин файл (1),
суффиксов (7),
символическая ссылка (7),
типерулов (5),
unoconv (1),
virt-win-reg (1)
Открыть файл в Linux — javatpoint
Есть несколько способов открыть файл в системе Linux. Это довольно простой процесс просмотра содержимого файла, но если вы новый пользователь, это может вас беспокоить. Это не так просто, как открыть файл в Блокноте. Из терминала Linux вы должны иметь доступ к основным командам Linux. Есть несколько команд, например cat, ls , которые используются для чтения файлов с терминала.
В Linux мы можем отображать различные форматы файлов, такие как текстовый файл , аудиофайлы, видео, изображения, doc, pdf или любое другое содержимое файла.
Ниже приведены некоторые полезные способы открытия файла из терминала:
- Откройте файл с помощью команды cat.
- Откройте файл с помощью команды less.
- Откройте файл с помощью команды more.
- Откройте файл с помощью команды nl.
- Откройте файл с помощью команды gnome-open.
- Откройте файл с помощью команды head.
- Откройте файл с помощью хвостовой команды.
1.
Открыть файл с помощью команды cat
Это самый популярный и простой способ отображения содержимого файла. Он просто выводит содержимое файла на терминал. Он предоставляет множество вариантов, чтобы сделать его более конкретным. Чтобы подробнее узнать о команде cat, посетите Linux cat.
Чтобы отобразить содержимое файла, выполните команду cat следующим образом:
cat <имя файла>
Давайте создадим файл, чтобы понять, как открыть файл. Выполните следующую команду:
cat> Тест.текст
Это тестовый файл.
Приведенная выше команда создаст текстовый файл Test.txt. Есть несколько способов создать файл. Чтобы узнать, посетите Linux Create File.
Чтобы отобразить содержимое указанного выше файла, выполните следующую команду:
cat Text.txt
Рассмотрим вывод ниже:
Команда cat — очень полезная утилита для открытия файла, но главная проблема с ней в том, что она отображает содержимое файла на терминале. Если у нас большой файл, то это не лучший способ открыть файл. В такой ситуации будет удобна команда меньше , поскольку она отображает страницу за раз.
2. Открыть файл с помощью команды less
Команда меньше позволяет нам просматривать по одной странице за раз.
Чтобы отобразить содержимое файла, выполните команду less следующим образом:
меньше Test.txt
Приведенная выше команда будет отображать содержимое файла как страницу за раз.Чтобы просмотреть больше, прокрутите вывод. Рассмотрим вывод ниже:
Чтобы выйти из команды less, нажмите , клавишу «q» , и вы вернетесь в терминал. Чтобы получить более подробные сведения с помощью less command, посетите Linux less.
3. Открыть файл с помощью дополнительной команды
Команда Linux more также используется для отображения содержимого файла. Поскольку команда less автоматически регулирует высоту и ширину окна терминала, она обрезает содержимое по ширине терминала.
Используйте следующие клавиши для прокрутки вывода:
Нажмите кнопку ENTER для прокрутки страницы вниз построчно.
Нажмите на полосу ПРОБЕЛ , чтобы перейти на следующую страницу.
Нажмите клавишу ‘b’ , чтобы перейти на последнюю страницу.
Нажмите ‘/ key:’ для поиска строки.
Чтобы отобразить содержимое файла командой more, выполните ее следующим образом:
узнать больше Test.txt
Приведенная выше команда отобразит содержимое файла как ширину окна терминала.Рассмотрим вывод ниже:
Чтобы подробнее узнать о команде more, посетите Linux more.
4. Откройте файл с помощью команды nl
Команда nl отображает содержимое файла с номером строки. Это почти то же самое, что и команда cat. Основное различие между обеими командами заключается в том, что они добавляют номера строк при отображении вывода в терминале.
Чтобы отобразить содержимое файла с помощью команды nl, выполните следующую команду:
nl Test.текст
Приведенная выше команда отобразит содержимое файла с номером строки. Рассмотрим вывод ниже:
5. Откройте файл с помощью команды gnome-open
Для среды Linux на основе GNOME мы можем использовать команду gnome-open, чтобы открыть файл.
Если утилита gnome не установлена на нашем компьютере, мы можем установить ее, используя следующую команду:
sudo apt установить libgnome2-bin
Выполните указанную выше команду и введите пароль системного администратора для установки утилиты GNOME.
Теперь, чтобы отобразить содержимое файла, выполните следующую команду:
gnome-open Test.txt
Приведенная выше команда откроет файл с файловой системой по умолчанию. Рассмотрим приведенный ниже снимок файловой системы:
Есть и другие популярные среды Linux, такие как KDE DESKTOP, OS X UNIX и другие.
Для рабочего стола KDE выполните следующую команду:
kde-open <имя файла>
или,
xdg-open <имя файла>
Для OS X UNIX выполните следующую команду:
открыть <имя файла>
6.Откройте файл с помощью команды head.
Мы можем отобразить содержимое файла с помощью команды head , но она немного отличается от других. Он отображает первую часть файлов через стандартный ввод. По умолчанию он отображает первые десять строк файлов. Начинает чтение файла из головы (первая строка).
Чтобы открыть файл с помощью команды head, выполните следующую команду:
head <имя файла>
Приведенная выше команда отобразит содержимое указанного файла.Чтобы подробнее узнать о команде head, посетите Linux Head.
7. Откройте файл с помощью хвостовой команды.
Команда tail аналогична команде head. Разница между обеими командами в том, что она начинает чтение файла с хвоста (последней строки). Подобно команде head, она также по умолчанию отображает вывод последних десяти строк.
Чтобы открыть файл с помощью команды tail, выполните следующую команду:
хвост <имя файла>
Приведенная выше команда отобразит содержимое последней строки указанного файла.Чтобы получить более подробные сведения о команде tail, посетите Linux Tail.
Файл справки по командам Linux и примеры
Обновлено: 04.05.2019, Computer Hope
В Unix-подобных операционных системах команда file сообщает тип файла.
Этот документ относится к Linux версии файла .
Описание
Команда file проверяет каждый аргумент, пытаясь его классифицировать. Есть три набора тестов, выполняемых в указанном порядке: тесты файловой системы, магические тесты и языковые тесты.Первый успешный тест приводит к печати типа файла.
Напечатанный тип обычно будет содержать одно из слов текст (файл содержит только печатные символы и несколько общих управляющих символов и, вероятно, его безопасно читать на терминале ASCII), исполняемый файл (файл содержит результат компиляции программа в форме, понятной ядру), или данных, — что-то еще (обычно двоичное или непечатаемое). Исключение составляют хорошо известные форматы файлов (файлы ядра, архивы tar), которые, как известно, содержат двоичные данные.
Тесты файловой системы основаны на проверке результатов системного вызова stat. Программа проверяет, является ли файл пустым или это какой-то особый файл. Любые известные типы файлов, соответствующие системе, в которой вы работаете (сокеты, символические ссылки или именованные каналы (FIFO) в тех системах, которые их реализуют), интуитивно понятны, если они определены в файле заголовка системы
Магические тесты используются для проверки файлов с данными в определенных фиксированных форматах.Каноническим примером этого является двоичный исполняемый файл (скомпилированная программа) a.out , формат которого определен в
Если файл не соответствует ни одной из записей в волшебном файле, он проверяется на предмет текстового файла. ASCII, ISO-8859-x, 8-битные наборы символов расширенного ASCII, отличные от ISO (например, используемые в системах Macintosh и IBM PC), Unicode в кодировке UTF-8, Unicode в кодировке UTF-16 и наборы символов EBCDIC можно различить по различным диапазонам и последовательностям байтов, которые составляют печатный текст в каждом наборе. Если файл проходит любой из этих тестов, сообщается его набор символов. Файлы ASCII, ISO-8859-x, UTF-8 и расширенный ASCII идентифицируются как «текстовые», потому что они в основном доступны для чтения практически на любом терминале; UTF-16 и EBCDIC — это только «символьные данные», потому что, хотя они содержат текст, это текст, который требует перевода, прежде чем его можно будет прочитать.Кроме того, файл попытается определить другие характеристики файлов текстового типа. Если строки файла заканчиваются CR, CR LF или NEL, вместо стандартного для Unix LF, об этом будет сообщено. Также будут идентифицированы файлы, содержащие встроенные escape-последовательности или избыточное выделение.
Как только файл определил набор символов, используемый в текстовом файле, он попытается определить, на каком языке написан файл. Языковые тесты ищут определенные строки (см.
Любой файл, который не может быть идентифицирован как записанный ни в одном из перечисленных выше наборов символов, называется «данными».«
Синтаксис
файл [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname ] [-F separator ] [-f namefile ] [-m magicfiles ] файл ...
файл -C [-m magicfiles ]
файл [--help]
Опции
-b , — краткое | Не добавлять имена файлов к строкам вывода (краткий режим). | ||||||||||||||||||
-C , —компилировать | Напишите магию . Выходной файл mgc , содержащий предварительно проанализированную версию волшебного файла или каталога. | ||||||||||||||||||
-c , — контрольная распечатка | Вызывает контрольную распечатку проанализированной формы волшебного файла. Эта опция обычно используется вместе с флагом -m для отладки нового волшебного файла перед его установкой. | ||||||||||||||||||
-e , — исключить имя теста | Исключить тест с именем testname из списка тестов, сделанных для определения типа файла.Допустимые названия тестов:
| ||||||||||||||||||
-F , — разделитель разделитель | Используйте указанную строку разделитель в качестве разделителя между именем файла и возвращенным результатом файла.По умолчанию «: ». | ||||||||||||||||||
-f , —files-from namefile | Считайте имена файлов для проверки из файла имен (по одному в строке) перед списком аргументов. Должен присутствовать либо namefile , либо хотя бы один аргумент имени файла; чтобы проверить стандартный ввод, используйте « — » в качестве аргумента имени файла. Обратите внимание, что namefile разворачивается, и вложенные имена файлов обрабатываются, когда встречается этот параметр и до того, как будет выполнена дальнейшая обработка параметров.Эта опция позволяет обрабатывать несколько списков файлов с разными аргументами командной строки при одном и том же вызове файла. Таким образом, если вы хотите установить разделитель, вам нужно сделать это до того, как вы укажете список файлов, например: « -F @ -f namefile » вместо: « -f namefile -F @ ». | ||||||||||||||||||
-h , — без разыменования | запрещает переход по символическим ссылкам (в системах, поддерживающих символические ссылки). Этот параметр используется по умолчанию, если переменная среды POSIXLY_CORRECT не определена. | ||||||||||||||||||
-i , -mime | Заставляет команду file выводить строки типа mime, а не более традиционные, удобочитаемые человеком. Таким образом, он может сказать « текст / простой; charset = us-ascii ’, а не» ASCII text «. | ||||||||||||||||||
— MIME-тип , — Mime-кодирование | То же, что -i , но выводит только указанные элементы. | ||||||||||||||||||
-k , — в рабочем состоянии | Не останавливайся на первом матче, продолжай.Последующие совпадения будут иметь перед строкой « \ 012- ». (Если вам нужна новая строка, см. Параметр -r .) | ||||||||||||||||||
-l , — список | Распечатать информацию о силе каждого магического узора. | ||||||||||||||||||
-L , — разыменование | заставляет следовать символическим ссылкам, как параметр с одинаковым именем в ls (в системах, поддерживающих символические ссылки). Этот параметр используется по умолчанию, если определена переменная среды POSIXLY_CORRECT . | ||||||||||||||||||
-l | Показывает список отсортированных шаблонов в том порядке, который используется для сопоставления. | ||||||||||||||||||
-m , —magic-file magicfiles | Укажите альтернативный список файлов и каталогов, содержащих магию. Этот параметр может быть отдельным элементом или списком, разделенным двоеточиями. Если скомпилированный волшебный файл найден вместе с файлом или каталогом, он будет использоваться вместо него. | ||||||||||||||||||
-N , — без прокладки | Не дополняйте имена файлов так, чтобы они выровнялись на выходе. | ||||||||||||||||||
-n , — без буфера | Принудительно сбрасывать стандартный вывод после проверки каждого файла. Эта опция полезна только при проверке списка файлов. Он предназначен для использования программами, которым требуется вывод файлового типа из канала. | ||||||||||||||||||
-p , — дата сохранения | В системах, поддерживающих utime или utimes , попытаться сохранить время доступа к анализируемым файлам, чтобы сделать вид, что файл никогда их не читал. | ||||||||||||||||||
-r , — сырой | Не переводите непечатаемые символы на \ ooo . Обычно файл переводит непечатаемые символы в их восьмеричное представление. | ||||||||||||||||||
-s , — специальные файлы | Обычно файл пытается только прочитать и определить тип файлов аргументов, которые stat отчеты являются обычными файлами. Это предотвращает проблемы, потому что чтение специальных файлов может иметь специфические последствия.Указание опции -s заставляет файл также читать файлы аргументов, которые являются блочными или символьными специальными файлами. Эта опция полезна для определения типов файловой системы данных в необработанных разделах диска, которые являются блочными специальными файлами. Эта опция также заставляет файл игнорировать размер файла, о котором сообщает stat , поскольку в некоторых системах он сообщает нулевой размер для необработанных разделов диска. | ||||||||||||||||||
-v , — версия | Распечатайте версию программы и выйдите. | ||||||||||||||||||
-z , — разархивировать | Попробуйте заглянуть внутрь сжатых файлов. | ||||||||||||||||||
-0 , —print0 | Выведите нулевой символ ‘\ 0’ после конца имени файла, что полезно, если, например, вы хотите вырезать вывод. Эта опция не влияет на разделитель, который все еще печатается. | ||||||||||||||||||
— справка | Распечатайте справочное сообщение и выйдите. |
Примеры
файл *
Ниже приведен пример того, что может появиться при запуске файла с подстановочным знаком для всех файлов:
отключение.htm: текст документа HTML si.htm: текст HTML-документа side0.gif: данные изображения GIF, версия 89a, 107 x 18 robots.txt: текст ASCII с признаками конца строки CRLF routehlp.htm: текст HTML-документа rss: каталог setgid
файл * .txt
Ниже приведен пример того, что может появиться при выполнении вышеуказанного примера; запуск команды file , в которой перечислены все файлы, заканчивающиеся на .txt :
form. txt: новости или текст письма friend.txt: новости или текст письма ihave.txt: новости или текст письма индекс.txt: текст программы Java в формате ASCII, с очень длинные строки, с терминаторами строк CRLF jargon.txt: новости или текст письма news.txt: текст программы на языке C, не относящийся к ISO, с очень длинными строками, с терминаторами линии CRLF newsdata.txt: текст на английском языке в расширенном кодировке ASCII, отличный от ISO, с очень длинными строками, с терминаторами строк CRLF. qad.txt: новости или текст письма refrence.txt: новости или текст письма robots.txt: текст ASCII с признаками конца строки CRLF stopwords.txt: английский текст в формате ASCII с терминаторами строки CRLF yhelp.txt: новости или текст письма
ls — Вывести список содержимого каталога или каталогов.
Узнайте, как использовать команду Linux File — Полное руководство для начинающих
VPS
access_time
22 января 2020 г.
hourglass_empty
3min Read
Существует множество команд Linux, полезных как для начинающих, так и для опытных пользователей. Одной из таких команд является команда Linux file. Это типичное приложение в Linux, которое определяет, какие данные сохраняются в конкретном системном файле. Он сообщает тип файла в простом для понимания формате, также известном как тип MIME.В этом руководстве вы познакомитесь с основами использования команды Linux file и узнаете, как она может расширить возможности управления вашим VPS.
Имена файлов в UNIX могут быть полностью независимыми от типа файла, команда Linux file легко покажет, что это за тип! Будь то аудиофайл, электронная таблица открытого документа или файл текстового редактора, команда Linux file предоставит вам его тип в удобочитаемой форме.
Как использовать команду Linux File
Команда предлагает своим пользователям широкий спектр использования.Это помогает понять причины, по которым они не могут прочитать определенный файл в системе. Файл также помогает определить тип папки, сокета, FIFO (каналов) и помогает блокировать специальные файлы. Мы можем просматривать файлы нулевой длины в системе Linux только с помощью команды File.
Синтаксис команды файла Linux
Помните, что перед использованием команды вам необходимо получить доступ к вашему VPS с помощью SSH. Если у вас возникли проблемы, ознакомьтесь с нашим руководством по PuTTY. Базовый синтаксис команды file показан ниже:
файл [параметры] [имя файла]
- файл — указывает терминалу выполнить команду файла Linux.
- [параметры] — здесь вы можете добавить переменных к команде
- [имя файла] — это файл, который вы хотите проверить с помощью команды
После выполнения команды вы получите автоматический ответ от системы с описанием типа в стандартном формате вывода.Он также предоставит другую полезную информацию, такую как данные, хранящиеся в файле, размер файла или версию файла, который вы ввели.
Мы создали простой файл text.txt . Давайте воспользуемся самой простой формой команды Linux file:
file test. txt
В результате мы увидим, что файл является текстовым файлом ASCII.
Что использовать команду Linux File для
Команда File анализирует каждый аргумент для его классификации. В этой последовательности проводятся три набора тестов: тесты файловой системы, магические тесты и языковые тесты.Успешный первоначальный анализ позволяет определить тип файла.
Пользователи проводят тесты файловой системы, чтобы проверить результат системного вызова stat. Программа проверяет, является ли файл чистым или это какой-то особый тип файла. Он ищет любые известные типы файлов, относящиеся к системе, с которой вы работаете, если система указывает их в файле заголовка системы.
Магические тесты применяются к управляющим файлам с фиксированными данными. Команда file обычно использует базу данных для управления зондированием ведущих байтов.Эта база данных реализована в файле под названием magic, который обычно находится в devisers / file / magic или аналогичном. Эти файлы имеют магический номер, сохраненный в определенном месте рядом с началом файла, который показывает Linux и другим операционным системам, что файл является двоичным исполняемым файлом.
Как только файл определит набор символов, он попытается сделать вывод, на каком языке написан файл. Языковые тесты ищут специальные последовательности, которые могут появиться в любом месте первых нескольких сегментов файла.Эти тесты менее положительны, чем в предыдущих двух группах, поэтому их проводят позже.
Использование команды Linux File с параметрами
Команда file в Linux полезна, поскольку имена файлов в UNIX не связаны с их типом файла. Таким образом, файл с именем devisers.csv может быть zip-файлом. Следующая команда может проверить это:
файл devisers.csv
Если вы хотите только просмотреть тип файла, используйте в терминале опцию –b вместе с именем файла:
файл –b devisers.txt
Команда file также может работать с несколькими файлами, доступными в системе, и отображать вывод в отдельных строках для каждого файла. Для этого просто замените переменную подстановочным знаком — * :
файл * .txt
На выходе будет отображаться информация обо всех файлах .txt в текущем каталоге.
Параметр — i используется для просмотра MIME-типа файла, который не находится в читаемом формате. В командной строке команда будет выглядеть так:
file –i devisers.csv
Для просмотра специальных файлов используйте –s , которые позволяют пользователю читать файлы аргументов, которые не работают или содержат специальные символы. Он также предоставляет информацию о размере специальных файлов. Команда для просмотра специального файла выглядит следующим образом:
file –s txt.t
Не забудьте добавить имя фактического файла, который вы хотите проверить!
Резюме
Понятно, что команда Linux file — полезная утилита для множества способов создания длинных алгоритмов в соответствии с вашими потребностями.