Однородность файлов Linux

Как это происходит, если вы находитесь в папке с различными файлами — изображениями, бинарными исполняемыми файлами, скриптами, даже каталогами, zip-файлами, почти обо всем – как это происходит, когда вы нажимаете ls -l , вы получаете результат что похоже (для формы) для всех файлов?

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

И как получится, что файлы, которые вы ожидаете, не будут иметь никакого отношения к Unix или Linux, не представляют проблемы? Есть ли как препроцессор файловой системы для работы с файлами из мира Windows? Или файлы, которые кросс-платформенные, что это не нужно? (Это было бы что-то!)

Есть ли способ увидеть этот скрытый (?) Слой? (Даже HTML (не говоря уже о Lisp и т. Д.) Трудно понять, просто прочитав об этом, но когда вы это видите, вы сразу поймете.)

  • Создание контейнера с файлами изображений
  • В чем преимущества Btrfs для конечных пользователей?
  • невозможно смонтировать раздел - как я могу его устранить?
  • Сценарий Bash для вывода пути на флеш-накопитель USB
  • Посмотрите, какое монтирование файловой системы используется с -t auto
  • EXT3: Если размер блока равен 4K, почему ls -l показывает размеры файлов ниже этого?
  • Изменение размера (увеличения) основного раздела ОС
  • Как настроить систему Arch Linux для автоматического монтирования внешнего жесткого диска, когда он подключен?
  • 2 Solutions collect form web for “Однородность файлов Linux”

    Вы получили почти точно правильные ответы. Вам просто нужны детали.

    По большей части (исключение специальных файлов) каждый файл обрабатывается точно так же, и каталоги (например, «папки») могут быть фактически реализованы в виде файлов. Файлы на самом деле всего лишь серия блоков диска. «Метаданные», которые вы пишете, называются «inodes» (см. Раздел « Что такое Superblock, Inode, Dentry, File и What is inode на этом сайте»). Каталоги (или «папки») – это просто способ сопоставления имени файла с inode. Метаданные, кроме имени (тип файла, разрешения, владельцы и т. Д.), Живут в inode. Эти метаданные находятся в двоичной форме, в основном для компактности и скорости доступа: синтаксический анализ XML или даже любого другого текстового формата займет слишком много времени.

    Вы можете увидеть текстовое представление метаданных файла с помощью команды stat /bin/cat : stat /bin/cat вас заинтересовать. stat – это команда GNU, поэтому она не будет общедоступной, но большинство дистрибутивов Linux должны иметь ее.

    Что касается «чужих» файлов, то концепция файла / inode / directory происходит от времени, когда изменчивость операционных систм была намного больше, чем сегодня. Разработчики Unix и его исходной файловой системы имели большой опыт работы с тем, что сегодня будет считаться очень странными операционными системами и файловыми системами. Концепция file / inode / directory почти наверняка воплощает в себе все их переживания, и поэтому мягкие вариации в «том, что является файлом», который обеспечивают сегодня более однородные ОС, на самом деле не проблема. Для получения этого от 20 лет назад см. «Файловая система» принадлежит в ядре . Немного более свежий пример см. В разделе Hideoous Name . Это сообщение в блоге Russ Cox, также прочитайте статью Роб Пайка в блогах, а также. Вы получите от него просветление.

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

    Для каждого файла система также хранит некоторые метаданные . Метаданные не зависят от содержимого файла; на самом деле вы можете сказать, что контент является одним из этих элементов метаданных (но его обычно рассматривают отдельно, потому что контент имеет переменный размер и потенциально может быть очень большим). Какие метаданные хранятся, зависит от типа файловой системы . Файловые системы Unix обычно предоставляют то, что вы видите в ls : разрешениях, времени модификации и т. Д. Имя файла также является частью метаданных со слегка особым статусом: оно уникально, т. Е. Не может быть двух файлов с одинаковым именем (в том же каталоге).

    Файлы организованы в каталогах . Каталог может содержать обычные файлы, подкаталоги и некоторые специальные типы файлов, такие как символические ссылки . Существует каталог, называемый корневым каталогом, который все каталоги являются подкаталогами n раз удалены.

    Путь к файлу указывает, как найти его, начиная с корневого каталога. Каждому каталогу, который нужно пройти, задается поочередно, переходя от корня вниз, с косой чертой / символами после каждого имени каталога. Например, /usr/bin/env означает запуск в корневом каталоге / , перейдите в поддиректорию usr , перейдите в подкаталог bin и найдите элемент env в этом подкаталоге.

    Когда вы указываете содержимое каталога, ядро (включая драйверы файловой системы) выполняет задание чтения байтов, представляющих каталог на диске, и преобразует их в список имен файлов, метаданных и содержимого. Программа ls вызывает функцию opendir для открытия каталога, а затем делает повторные вызовы readdir для чтения каждой записи в каталоге по очереди, то есть для получения списка имен файлов в этом каталоге (включая подкаталоги и другие специальные файлы). В ls -l программе ls требуется больше информации о файле, чем просто имя, поэтому он также вызывает stat для извлечения метаданных каждого файла.

    Некоторые операционные системы позволяют просматривать представление на диске на диске с любой программой просмотра текста, такой как cat . Однако Linux не позволяет вам. Вы можете использовать программу debugfs для изучения файловой системы (используйте ее только в режиме только для чтения!).

    Interesting Posts

    Объединить jq-выход в строку с разделителями-запятыми

    Будет ли эта команда работать, если соединение с удаленным сервером будет потеряно?

    Устанавливать хранилище с хоста в bhyve VM

    AIX 6.1, начиная xhost + из inittab во время загрузки

    Мистификация не найдена при входе в систему

    Не удается войти через диспетчер дисплея в Debian Jessie

    Почему startx зависает, если у меня нет подключения к Интернету в OpenBSD

    Есть ли какой-то пароль по умолчанию для нового пользователя в Linux?

    Сортировка файла по второй колонке

    найти каталоги с определенными шаблонами приводит к ошибке отказа от разрешения и никакого результата

    поиск и подглаживание (и подстановочные знаки)

    Установите другую версию Maven из версии, предоставленной Ubuntu

    Живой / загрузочный Kali linux с секционированного жесткого диска USB (Mac / OS X)?

    Объединить вывод нескольких независимых процессов в другом терминале

    Как синхронизировать двунаправленные 2 папки между Synology Nas и компьютером Debian?

    Linux и Unix - лучшая ОС в мире.