Рассказать о типах файлов в ОС Linux
Обновлено: 21.11.2024
«Сколько типов файлов существует в Linux/Unix и какие они? Это частый вопрос каждому человеку, который начинает изучать Linux. Хорошо, почему так важно знать типы файлов?
Ответ: Это потому, что Linux рассматривает все как файл. Когда вы начинаете работать с Linux/Unix, вам приходится иметь дело с различными типами файлов (linux/unix), чтобы эффективно ими управлять
Сколько типов файлов существует в Linux/Unix?
По умолчанию в Unix есть только 3 типа файлов. Они..
Специальные файлы (эта категория имеет 5 подтипов.)
На практике у нас всего 7 типов (1+1+5) файлов в Linux/Unix. А в Солярисе у нас 8 типов. И вы можете увидеть указание типа файла в самой левой части команды «ls -l».
Вот эти типы файлов.
К вашему сведению, есть еще один тип файлов, называемый файлом двери (D), который присутствует в Sun Solaris, как упоминалось ранее. Дверь — это специальный файл для межпроцессного взаимодействия между клиентом и сервером (всего 8 типов на машинах Unix). Мы узнаем о различных типах файлов в приведенной ниже последовательности для каждого типа файла.
Объяснение обычного типа файла в Linux
Это файлы, которые отмечены «-» в выводе команды ls -l в начале строки. И эти файлы.
Как создавать обычные файлы в Linux/Unix?
Ответ: Используйте команду touch/vi, операторы перенаправления и т. д.
Как мы можем перечислить обычные файлы?
Пример списка обычных файлов:
Объяснение типа файла каталога в Linux/Unix
Файлы этого типа содержат обычные файлы/папки/специальные файлы, хранящиеся на физическом устройстве. Файлы этого типа будут выделены синим цветом, а ссылка больше или равна 2.
Пример списка каталогов.
Как их создать?
Ответ: используйте команду mkdir
Блокировать тип файла в Linux
Эти файлы аппаратные, большинство из них находятся в /dev.
Как их создать?
Ответ: Используйте команду fdisk или создайте виртуальный раздел.
Как мы можем перечислить их в моем текущем рабочем каталоге?
ls -l | группа ^b
Пример списка заблокированных файлов (чтобы вы могли увидеть эти файлы, они расположены в /dev).
Файлы устройств персонажей в Linux
Обеспечивает последовательный поток ввода или вывода. Ваши терминалы являются классическим примером для этого типа файлов.
Как мы можем составить список файлов персонажей в моем текущем рабочем каталоге?
ls -l | группа ^c
Пример списка файлов персонажей (расположенных в /dev)
Файлы канала в Linux/Unix
Другое название канала — «именованный» канал, который иногда называют FIFO. FIFO расшифровывается как «First In, First Out» и относится к свойству того, что порядок входящих байтов такой же, как и исходящих. «Имя» именованного канала на самом деле является именем файла в файловой системе.
Как их создать?
Ответ: используйте команду mkfifo.
Как мы можем составить список файлов персонажей в моем текущем рабочем каталоге?
ls -l | группа ^p
Пример списка файлов каналов
файлы символических ссылок в Linux
Это файлы, связанные с другими файлами. Они либо каталог/обычный файл. Номер инода для этого файла и его родительских файлов одинаковы. В Linux/Unix доступно два типа файлов ссылок, т. е. мягкая и жесткая ссылка.
Как их создать?
Ответ: используйте команду ln
Как мы можем перечислить связанные файлы в моем текущем рабочем каталоге?
ls -l | группа ^l
Файлы сокетов в Linux
Файл сокета используется для передачи информации между приложениями в целях связи
Как их создать?
Ответ: Вы можете создать файл сокета, используя системный вызов socket(), доступный в
Пример программирования на C
Вы можете обратиться к этому файлу сокета с помощью sockfd. Это то же самое, что и дескриптор файла, и вы можете использовать системные вызовы read(), write() для чтения и записи из сокета.
Как мы можем перечислить файлы Socket в моем текущем рабочем каталоге?
ls -l | группа ^s
Пример списка файлов сокетов.
srw-rw-rw- 1 root root 0 2010-02-15 09:35 /dev/log
Совет для вас, ребята. Как найти нужный тип файла?
Ответ: используйте команду find с параметром -type. Например, если вы хотите найти файл сокета, просто используйте команду ниже. find / -type s Если вы хотите найти связанный файл, то как? Найти / -введите l
В Linux все рассматривается как файл. В UNIX семь стандартных типов файлов: обычные, каталоги, символические ссылки, специальные FIFO, специальные блочные, специальные символы и сокеты. В Linux/UNIX нам приходится иметь дело с файлами разных типов, чтобы эффективно управлять ими.
- Обычные файлы
- Файлы каталога
- Специальные файлы
Самый простой способ узнать тип файла в любой операционной системе – посмотреть на его расширение, такое как .txt, .sh, .py и т. д. Если у файла нет расширения, в Linux можно использовать файл полезность.В этой статье мы продемонстрируем примеры файловых команд для определения типа файла в Linux.
Чтобы узнать типы файлов, мы можем использовать команду file.
Синтаксис: файл [OPTION…] [FILE…]
Вы можете запустить следующую команду, чтобы проверить версию файловой утилиты:
Мы можем проверить тип файла, введя следующую команду:
Мы можем передать список файлов в одном файле и указать с помощью параметра -f, как показано ниже:
Используя параметр -s, мы можем прочитать специальный файл блока или символа.
При использовании параметра -b имена файлов не добавляются к строкам вывода
При использовании параметра -F в качестве разделителя будет использоваться строка вместо «:».
Использование параметра -L будет следовать символическим ссылкам (по умолчанию, если установлено POSIXLY_CORRECT):
Мы можем использовать параметр –extension, чтобы распечатать разделенный косой чертой список допустимых расширений для найденного типа файла.
Для получения дополнительной информации и вариантов использования вы можете использовать следующую команду:
Мы также можем использовать команду ls для определения типа файла.
Синтаксис:
Типы файлов и объяснение
Обычные файлы
Обычные файлы — это обычные файлы в системе, содержащие программы, тексты или данные. Он используется для хранения такой информации, как текст или изображения. Эти файлы расположены в каталоге/папке. Обычные файлы содержат все читаемые файлы, такие как текстовые файлы, файлы Docx, программные файлы и т. д., двоичные файлы, файлы изображений, такие как JPG, PNG, SVG и т. д., сжатые файлы, такие как ZIP, RAR и т. д.
Пример:
Или мы можем использовать команду «file *», чтобы узнать тип файла
Файлы каталога
Единственной задачей файлов каталогов является хранение других обычных файлов, файлов каталогов и специальных файлов, а также связанной с ними информации. Этот тип файла будет обозначен синим цветом со ссылками, большими или равными 2. Файл каталога содержит запись для каждого файла и подкаталога, которые он содержит. Если у нас есть 10 файлов в каталоге, у нас будет 10 записей в файле каталога. Мы можем перемещаться между каталогами с помощью команды cd
Мы можем узнать файл каталога с помощью следующей команды:
Мы также можем использовать команду файла *
Специальные файлы
1. Блокировать файлы:
Блочные файлы действуют как прямой интерфейс к блочным устройствам, поэтому их также называют блочными устройствами. Блочное устройство — это любое устройство, которое выполняет операции ввода и вывода данных в единицах блоков. Эти файлы являются аппаратными файлами, и большинство из них находятся в каталоге /dev.
Мы можем узнать файл блокировки с помощью следующей команды:
Мы также можем использовать команду файла:
2. Файлы символьных устройств:
Символьный файл — это аппаратный файл, который считывает/записывает данные в файле посимвольно. Эти файлы обеспечивают последовательный поток ввода или вывода и обеспечивают прямой доступ к аппаратным устройствам. Терминал, последовательные порты и т. д. являются примерами файлов этого типа.
Мы можем найти файлы символьных устройств следующим образом:
Мы можем использовать команду file, чтобы узнать тип файла:
3. Файлы каналов:
Другое название канала — «именованный» канал, который иногда называют FIFO. FIFO расшифровывается как «First In, First Out» и относится к свойству того, что порядок входящих байтов такой же, как и исходящих. «Имя» именованного канала на самом деле является именем файла в файловой системе. Этот файл отправляет данные от одного процесса к другому, чтобы процесс-получатель считывал данные в порядке поступления.
Мы можем узнать файл канала с помощью следующей команды:
Мы можем использовать команду file , чтобы узнать тип файла:
4. Файлы ссылок на символы:
Файл символьной ссылки — это тип файла в Linux, который указывает на другой файл или папку на вашем устройстве. Файлы символьных ссылок также называются Symlink и похожи на ярлыки в Windows.
Мы можем найти файл ссылки на символ с помощью следующей команды:
Мы можем использовать команду file, чтобы узнать тип файла:
5. Файлы сокетов:
Сокет — это специальный файл, который используется для передачи информации между приложениями и обеспечивает связь между двумя процессами. Мы можем создать файл сокета, используя системный вызов socket(). Файл сокета находится в /dev корневой папки, или вы можете использовать команду find / -type s для поиска файлов сокета.
Найти тип любого файла или группы файлов с помощью команды «файл»
- Университет Буффало
- Университет Денвера
- Пенсильванский университет
Бывший автор Lifewire Юрген Хаас – разработчик программного обеспечения, специалист по данным и поклонник операционной системы Linux.
Крис Селф (Chris Selph) — сертифицированный CompTIA преподаватель технологии и профессиональный преподаватель информационных технологий. Он также работает администратором сети и сервера и выполняет обслуживание и ремонт компьютеров для многочисленных клиентов.
Что нужно знать
- Используйте команду файла, за которой следует имя файла.
- Для нескольких файлов введите команду файла, а затем целевые файлы. Или используйте текстовый редактор, чтобы создать файл со списком имен файлов.
- В Linux фактический тип файла может полностью отличаться от того, что может подразумевать его расширение.
Linux не использует расширения файлов; скорее, тип файла является частью имени файла. В этой статье объясняется, как узнать истинный тип файла в Linux.
Как использовать команду «файл»
Команда file имеет следующую форму:
Например, чтобы проверить тип заголовка файла touch.svg, выполните следующую команду:
Вывод примерно такой:
touch.svg: изображение масштабируемой векторной графики SVG
Разные типы файлов дают разные результаты, например:
- Тип файла ODS: электронная таблица OpenDocument
- Тип файла PDF: PDF-документ, версия 1.4
- Тип файла CSV: текст ASCII, очень длинные строки, с индикаторами строки CRLF.
Обработка нескольких файлов
По умолчанию команда файла работает с одним файлом. Однако вы можете указать имя файла, содержащее список файлов, которые должны быть обработаны командой файла.
Например, откройте файл с именем testfiles с помощью редактора nano и добавьте в него следующие строки:
- /etc/пароль
- /etc/pam.conf
- /etc/opt
Сохраните файл и выполните следующую файловую команду:
файл -f тестовые файлы
Вывод будет примерно таким:
- /etc/passwd: текст ASCII
- /etc/pam.conf: текст ASCII
- /etc/opt: каталог
Еще один способ — запустить команду file один раз, но с указанием нескольких целей. Например:
файл /etc/passwd /etc/pam.conf /etc/opt
Вывод будет примерно таким:
- /etc/passwd: текст ASCII
- /etc/pam.conf: текст ASCII
- /etc/opt: каталог
Стандартные подстановочные знаки тоже работают. Например, чтобы проверить все файлы в текущем рабочем каталоге, используйте:
Чтобы проверить наличие каталогов, начинающихся с буквы D (с учетом регистра), попробуйте следующее:
Результаты могут быть, например, "Рабочий стол", "Документы" и "Загрузки".
Сжатые файлы
Когда вы запускаете команду file для сжатого файла, вы видите что-то вроде этого:
- file.zip: данные ZIP-архива, версия не ниже 2.0 для извлечения
Хотя этот результат говорит о том, что файл является архивным, вы не знаете его содержимого. Загляните внутрь zip-файла, чтобы увидеть типы файлов в сжатом файле. Следующая команда запускает команду file для файлов внутри ZIP-файла:
файл -z имя файла
Теперь на выходе отображаются типы файлов в архиве.
Как работает команда «файл»
Команда file запускает три набора тестов для файла:
- Тесты файловой системы
- Магические тесты
- Языковые тесты
Первый набор тестов, возвращающий правильный ответ, предлагает тип файла для печати.
Тесты файловой системы проверяют результат системного вызова stat. Программа проверяет, является ли файл пустым и является ли он специальным файлом. Если тип файла найден в системном заголовочном файле, он возвращается как допустимый тип файла.
Волшебные тесты проверяют содержимое файла и, в частности, несколько байтов в начале, что помогает определить тип файла. Для сопоставления файла с его типом используются различные файлы, которые хранятся в:
- /etc/магия
- /usr/share/misc/magic.mgc
- /usr/share/misc/магия
Заключительные тесты — это языковые тесты. Файл проверяется на предмет того, является ли он текстовым. Проверяя первые несколько байтов файла, тест определяет, является ли файл форматом ASCII, UTF-8, UTF-16 или другим форматом, который идентифицирует файл как текстовый файл. Когда набор символов выведен, файл тестируется на разных языках.
В этом руководстве рассматриваются различные типы файлов в Linux. Узнайте, какие типы файлов поддерживает Linux, и как определить тип файла в Linux.
Тип файла помогает нам определить тип содержимого, сохраненного в файле. Linux поддерживает семь различных типов файлов. Эти типы файлов: обычный файл, файл каталога, файл ссылки, специальный файл символов, специальный файл блока, файл сокета и файл именованного канала.
В следующей таблице представлено краткое описание этих типов файлов.
Тип файла | Описание | ||||||||||||||||
Обычные или обычные файлы | Содержат данные различного типа содержимого например, текст, сценарий, изображение, видео и т. д. | ||||||||||||||||
Файлы каталогов | Содержат имена и адреса других файлов. | tr>||||||||||||||||
Блочные или символьные специальные файлы | Представляют файлы устройств, такие как жесткие диски, мониторы и т. д. | ||||||||||||||||
Связать файлы | Указать или отразить другие файлы | ||||||||||||||||
Файлы сокетов | Обеспечить взаимодействие между процессами | ||||||||||||||||
Файлы именованных каналов | Разрешить процессам отправлять данные другим процессам или получать данные от других процессов. | < /tr> таблица>
Символ | Значение |
- | Обычный или обычный файл | tr>
d | Файл каталога |
l | Файл ссылки |
b | Специальный файл блокировки |
p | Файл именованного канала |
c | Специальный файл символов |
s | Файл сокета |