Чем файловая система / организация Linux отличается от Windows?

9

Одна из вещей, которая действительно замедляет меня в освоении Linux, - это огромная разница между файловой системой в Linux и Windows. До последних 3-4 лет я использовал только системы Windows, и только последние 2-3 месяца я действительно работал над привыканием к Linux. Я думаю, что одна вещь, которая действительно беспокоит меня в этот момент, это то, что я чувствовал, что могу найти практически все, что хотел, когда начал копаться в различных папках в Windows. Я привык к тому, какие вещи были размещены, где и когда. У меня нет этого с Linux. Я изучаю несколько вещей, таких как папка / opt, где устанавливаются большинство сторонних программ ... но мое понимание ограничено.

Кеннет
источник
2
Вы можете быть заинтересованы в pathname.com/fhs/pub/fhs-2.3.html
ninjalj
Это потрясающе!
Кеннет

Ответы:

15

Взгляните на Стандарт Иерархии Файловой Системы (FHS), который является стандартом организации структуры каталогов . Я сильно подозреваю, что большинство (все?) Linux-систем более или менее следуют этому.

tshepang
источник
Голосуйте за ссылки на полезную документацию, это более полезно, чем длинный ответ. Единственная проблема состоит в том, что не каждый инструмент / команда / программа следует за этим = /
D4RIO
11

В некоторых дистрибутивах * nix (протестированных в OpenBSD и Ubuntu) может быть полезна страница man для иерархии файловой системы.

$ man hier

Конечно, это будет зависеть от платформы и уровня актуальности страниц справочника. Страница man (в Ubuntu) также ссылается на стандарт иерархии файловой системы, на который был указан ранее.

Я не нашел подобную ручную запись на солярисе.

В общем, разные дистрибутивы Linux могут свободно размещать вещи там, где они хотят, поэтому это может быстро запутать. Большинство исполняемых файлов, которые устанавливает система (либо как часть базовой системы, либо через менеджер пакетов), в конечном итоге окажутся где-то в вашем пути по умолчанию (обычно в / usr / bin / usr / sbin / usr / local / bin / usr / local / sbin) хотя некоторые дистрибутивы используют / opt, / usr / share / bin, среди других. Можно провести параллель с папкой «Program Files» в Windows. Папка «Windows» может быть похожа на / usr / lib / usr / include / usr / share и другие. Ваша папка «Мои документы» в некоторой степени параллельна вашей домашней директории в linux (/ home / user) с приятным добавлением, что большинство пользовательских конфигураций для таких программ, как firefox, thunderbird и т. Д., Живут здесь, что делает переход на новую систему довольно безболезненным.

Проблема с этими параллелями в том, что они не совсем точны. Windows и Linux разные в этом отношении.

Лучший способ продвинуться вперед - продолжать изучать систему, как вы, вероятно, сделали, когда впервые начали использовать окна, ломать вещи, исправлять их, задавать вопросы по пути.

Гейб.
источник
5

В Windows, когда вы устанавливаете программу, она создает папку в Program Files, которая содержит все. Он содержит двоичные файлы, библиотеки, файлы ресурсов и т. Д. В Linux двоичные файлы обычно включаются /usr/bin, библиотеки включаются /usr/lib, а ресурсы включаются /usr/share. В частности, как файл значка, который будет входить /usr/share/icons. Шрифты можно найти в /usr/share/fonts. Вводятся заголовки разработки /usr/includeи, наконец, файлы конфигурации /etc.

Этот макет имеет несколько интересных преимуществ. Размещая библиотеки /usr/lib, гораздо проще делить библиотеки между приложениями. В Windows обычно каждая программа устанавливает свой собственный набор библиотек в Program Files, и другое приложение может установить ту же самую библиотеку, поэтому теперь у вас есть две точные копии файла .dll. Это также добавляет согласованности в структуру файловой системы. В Windows вы знаете, что у программы будет папка в Program Files, но нет никакой гарантии, как она будет расположена внутри этой папки. Может быть, исполняемые файлы будут в bin/папке, а может и нет. Может быть, у него будет conf/папка, а может и нет.

jonescb
источник
1
Следует учитывать, что существует несколько каталогов двоичных файлов в зависимости от их назначения. У вас есть /bin(общего назначения, системные двоичные файлы), /usr/bin(пользовательские программы, иногда связанные с ними /opt), /sbin(двоичные файлы суперпользователя, административные инструменты, этот
каталог
Большой недостаток компоновки, где части приложения пишутся повсюду, это когда у вас записаны общие файлы, а затем вы хотите удалить одно из приложений. Затем вы попадаете в ад DLL, от которого успешно удалились окна.
Καrτhικ