Я новичок в Linux, так что извините за возможную путаницу, с которой вы можете столкнуться в этом вопросе.
Из того, что я понимаю, файловая система определяет, как раздел хранит / управляет файлом, с такими стандартами, как ext2, ext3, reiserfs, xfs и т. Д. Иногда я вижу, что люди, кажется, ссылаются на каждое " directory
" как
/boot filesystem
/usr/bin filesystem
/root filesystem
/bin filesystem
Почему мы называем это filesystems
?
Если каждый из них является раздел, что меня смущает , потому что, насколько я знаю, /usr
и , как /usr/bin
правило, в том же разделе, но я видел людей , относится к обоим /usr filesystem
и /usr/bin filesystem
.
Если filesystem
здесь это эквивалентно Windows directory
, мне не ясно, поскольку файловая система - это нечто большее, чем просто каталоги. Также, насколько я знаю, у Linux нет directory
концепции; все файлы.
/root
, я думаю, что это отвергается, учитывая сложность ситуация.Ответы:
Как я писал в https://superuser.com/a/293160/38062 :
Проблема здесь заключается в слове «файловая система». В мирах POSIX / Unix / Linux это означает несколько разных вещей.
/
ядре операционной системы и представленную прикладным программным обеспечением. Под этим значением люди говорят, например, об операционных системах POSIX, имеющих «одно дерево файловой системы »./usr
файловой системы ». "/usr
" здесь - это (ожидаемая) точка монтирования тома или (в некоторых схемах разбиения) его метка идентификации./proc
» или « с помощью TMPFS файловой системы для/tmp
».Вы видите значение №1, когда видите «
/usr/bin
файловую систему». Это дерево файловой системы с корнем в каталоге/usr/bin
. Да, Linux очень делает есть понятие каталогов.Значение № 2 и значение № 3 - это то, что вы неправильно читаете. Люди не говорят о
/usr/bin
наборе данных на диске, разграниченном нарезкой / разбиением диска. При этом речь не идет о/usr/bin
конкретном типе драйвера файловой системы или конкретном формате тома диска.дальнейшее чтение
источник
Конечно, Linux использует концепцию каталогов. Концепция каталогов такая же, как в Windows.
Понятие файловых систем также очень похоже на то, что используется в Windows. Windows обычно использует NTFS или FAT - Linux обычно использует ext2, ext3, ext4 и т. Д., В этом вся разница.
Отличие состоит в том, что в Linux файлы / каталоги из всех доступных разделов организованы в одно дерево. В Windows вы обращаетесь к различным разделам, используя букву, например, «a:», «c:», в Linux полный путь к любому доступному файлу начинается с «/» - корневого каталога. Например, на вашем жестком диске есть отдельный раздел с файлами, восстановленными для загрузки системы: вы запускаете команду «mount» с соответствующими аргументами, и содержимое этого раздела становится доступным по пути «/ boot /». Таким образом, например, пути "/ boot" и "/ home" могут ссылаться на данные в разных разделах, эти разделы могут иметь разные файловые системы. Вероятно, вызвало ваше недоразумение.
Каталоги, которые физически расположены на одном и том же разделе, всегда будут иметь одинаковую файловую систему. Когда кто-то говорит о файловой системе какого-либо каталога, на самом деле речь идет о файловой системе раздела, в котором расположен этот каталог.
(Незначительное и, возможно, несущественное исправление: иногда файловая система является виртуальной, и нет соответствующего раздела. Например, «/ proc» содержит что-то, очень похожее на файлы, но эти «файлы» являются виртуальными, они не находятся на любой жесткий диск и содержит информацию о запущенных процессах. И есть специальная файловая система "procfs", которая обеспечивает обычный файловый интерфейс для этих данных)
источник
Диск разделен на один или несколько разделов . Для Windows обычно есть только один, может быть, с разделом восстановления, где-то скрывающимся. Раздел - это логически непрерывная область диска, например, «секторы с 1 по 10 000 000».
На раздел может быть встроена файловая система. Для Windows это NTFS или FAT; для Linux это одна из
ext
версий или другие варианты.Внутри файловой системы находятся файлы и каталоги. В Linux есть каталоги, я понятия не имею, откуда у вас такая идея.
Как операционная система представляет пользователю несколько разделов на нескольких дисках? В Windows это делается с помощью букв дисков :
C:
иD:
т. Д. В Linux нет букв дисков, и все выполняется с помощью точек монтирования : в определенном каталоге перенаправьте доступ к другой файловой системе. (+) Часто, если вы вставляете компакт-диск или флешка появится где-то под/media
или/mnt
./usr
и/usr/bin
обычно будет в той же файловой системе, но не обязательно. Люди могут иметь в виду «файловую систему, которая содержит/usr/bin
каталог», когда они используют эту фразу.(+) Вы можете сделать это и с точками соединения NTFS, но люди редко делают это. Пока у них не заканчиваются буквы дисков.
источник
Можно хранить всю систему Linux в одном разделе, причем все подкаталоги находятся в одной файловой системе.
Также возможно распределить его по нескольким разделам, причем определенные поддеревья каталогов находятся в разных файловых системах. Например, это общее положить
/home
,/tmp
,/usr
и/var
на отдельных файловых системах. Чтобы ответить на один из ваших вопросов, иногда/usr/bin
будет и собственная файловая система.Есть преимущества этой схемы. Например, если
/var
заполнено большим количеством электронных писем, остальная часть системы не затрагивается. Аналогично, если одна файловая система повреждена из-за сбоя или чего-то еще, другие файловые системы все еще исправны, и систему проще восстановить.Когда система загружается, сначала доступна только корневая файловая система. Хранящиеся там программы запускаются во время процесса загрузки. Одна из этих программ
mount
запускается несколько раз, используя данные из файла/etc/fstab
, таблицы файловой системы. Возьмем один пример: изначально/home
это просто обычный каталог в корневой файловой системе. Затем мы запускаем эту команду как root:Это говорит системе, что файловая система в разделе
/dev/sda7
должна быть смонтирована в каталоге/home
. Так что теперь все в этой файловой системе считается под/home
.Вы можете увидеть, что сейчас установлено, запустив
df
.источник
Мы иногда называем их так
filesystems
, потому что иногда эти каталоги являются точками монтирования. Вот вам и единственный вопрос, который вы задали ...filesystem
может ссылаться на две разные вещи ... или на самом деле две очень разные аспекты одного и того же:Концепция файлов и каталогов является метафорой. Для компьютера есть только данные, а все носители - это не что иное, как устройства, которые могут хранить данные. Некоторые устройства допускают чтение и запись данных (например, HDD), другие устройства позволяют только чтение данных (например, CD-ROM), и есть даже устройства, которые разрешают только запись данных (например, принтер). Мы используем метафору файла и каталога для структурирования данных, чтобы мы могли получить доступ к небольшим фрагментам данных, а не ко всем одновременно.
Файловые системы, которые мы помещаем на носитель, например ext4, xfs, fat, выполняют структурирующую часть. Мы используем их для размещения меток на порциях данных (файлов) и для получения согласованного структурированного списка всех меток (каталогов). Структурированный список на самом деле является деревом. Наиболее важным аспектом является то, что дерево имеет ровно одно начало, его корень. Поддержание этой структуры и обеспечение доступности и доступности данных - это довольно сложная задача, поэтому не существует только одного вида файловой системы.
Другой аспект файловых систем заключается в том, что задача ОС состоит в том, чтобы сделать данные, хранящиеся на устройствах хранения, доступными для всех программ. Это достигается двумя вещами:
ОС предлагает ровно один (программный) интерфейс для доступа и взаимодействия с файлами и каталогами. Для программ / процессов не имеет значения, является ли файловая система на устройстве хранения ext2, xfs, fat или чем-то еще. Программы / процессы обращаются к файлам и каталогам единообразным способом.
ОС организует все носители, то есть их файловые системы, в одну подчиненную структуру. Программы получают доступ к файлам и каталогам через эту подчиненную структуру и не должны напрямую взаимодействовать с устройствами хранения. Таким образом, программы не должны заботиться о том, на каком устройстве фактически находятся данные. Эта структура высшего уровня часто упоминается как «виртуальная файловая система» ядра.
Добавление файловой системы устройства хранения в виртуальную файловую систему называется «монтированием» файловой системы. Когда ваш Linux запускается, ядро создает виртуальную файловую систему (VFS). Сразу после создания он пуст и состоит только из его точки входа, то есть его корня, транскрибированного
/
. Затем ядро монтирует файловую систему в корне VFS. Это либо виртуальный диск, либо непосредственно файловая система в разделе на жестком диске. Поскольку он добавляется в корень VFS, этот раздел часто называют корневой файловой системой.Теперь наступает момент, когда линии размываются, и мы видим, что файловые системы на устройствах хранения и VFS ядра на самом деле являются двумя аспектами одной и той же задачи ОС: при монтировании корневой файловой системы VFS содержит много файлов и каталогов, которые все существует в корневом разделе. Однако каждый каталог может стать «точкой монтирования». Точка монтирования - это место, где VFS помещает точку входа в файловую систему на устройстве хранения. Это означает, что всякий раз, когда мы монтируем файловую систему в каталоге, мы сообщаем VFS, что вместо доступа к данным, хранящимся в этом каталоге, мы предпочитаем доступ к данным на другом устройстве хранения. Точки монтирования обычно представляют собой пустые каталоги, поэтому мы не делаем данные недоступными, монтируя другие файловые системы сверху.
Когда вы устанавливаете свою ОС, вам решать, хотите ли вы поместить все данные в одну файловую систему, которая затем станет вашей корневой файловой системой, или вы хотите разделить ваши данные между несколькими файловыми системами. Последнее требует, чтобы ваша ОС монтировала все отдельные файловые системы, чтобы сделать все данные доступными. Как вы делите вещи - это вопрос того, как вы проектируете свою систему. Вот почему иногда каталоги, которые вы знаете по вашей установке, называются файловыми системами.
Для компьютеров, которые мы обычно имеем дома, разделение вашей установки на несколько файловых систем больше не требуется. Тем не менее могут быть веские причины для этого, но это выходит за рамки этой публикации.
Чтобы сохранить оставшуюся часть этой публикации короткой: разделы являются еще одним средством структурирования данных на устройствах хранения. С разделами один выделяет непрерывное пространство хранения от физического устройства хранения и предлагает их как отдельные устройства хранения к ОС (на которой можно поместить файловые системы для монтирования в VFS). Одной из причин этого может быть то, что у вас есть только один жесткий диск, но он хочет использовать много разных файловых систем. Раздел, в котором находится корневая файловая система, часто называют корневым разделом.
источник
Вы делаете немного путаницы.
Filesystem
обозначает механизм, с помощью которого файлы размещаются и организуются на запоминающем устройстве или в большой памяти, например на жестком диске или компакт-диске, а в некоторых случаях также в оперативной памяти.Даже окно использования файловых систем , такие как
NTFS
или, ранее,FAT
.В вашем примере показана распространенная практика для систем linux и unix - иметь собственную систему, состоящую из разных файловых систем, смонтированных в каталогах с именем точка монтирования. Это позволяет в случае проблем ограничить ущерб одной или более, но не всем файловым системам.
Таким образом, FS не эквивалентен каталогу, а также в Linux есть каталоги, которые представляют собой особый вид файла
источник