Как понять структуру файловой системы Ubuntu?

В Windows, возможно, только несколько важных папок (под важными я имею в виду важные в моей логической картине файловой системы Windows) на установочном диске (в моем случае C:\). А именно Program Files и Windows. Я просто держусь подальше от папки Windows, и «добавить удаление программных файлов» достаточно для работы с папкой program files в Windows. Конечно, есть папка с именем Users, где пользователи (не администраторы) могут получить доступ только к своим папкам.

Таким образом, на определенном уровне в моей файловой системе Windows есть четкая картина. В Ubuntu, когда я добираюсь до места /, появляется огромный список папок, большинство из которых я понятия не имею, что они содержат. Папка /bin, кажется, эквивалентна папке Windows в Windows. Папка /usr выглядит как папка Users в Windows. Но даже папка /home выглядит так, как будто она может соответствовать всем требованиям.

Пожалуйста, поймите, что я понимаю, что Ubuntu (Linux) имеет другой характер, чем Windows, то есть нет необходимости быть точным эквивалентом функций Windows в Ubuntu. Все, что мне нужно, - это более четкое представление о файловой системе Ubuntu.

Этот вопрос является частью более крупного вопроса, который я разделяю, чтобы сделать его более ответственным. Оригинальный вопрос можно найти здесь:
http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in -ubuntu /

243
задан 29 January 2014 в 05:08

6 ответов

Вы можете прочитать об этом, например, в википедии. Отрывок:

Стандарт Иерархии файловой системы (FHS) определяет основные каталоги и их содержимое в операционных системах Linux. По большей части это формализация и расширение традиционной иерархии файловой системы BSD.

FHS поддерживается Linux Foundation, некоммерческой организацией, состоящей из основных поставщиков программного и аппаратного обеспечения, таких как HP, Red Hat, IBM и Dell. Текущая версия - 3.0, выпущенная 3 июня 2015 года.

Визуальное представление с кратким описанием:

enter image description here

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

Помните, что Unix и Linux были созданы как многопользовательские системы, а Windows была создана для одного пользователя. Все остальное можно объяснить из этой идеи. Вы можете объяснить каждый каталог, думая о том, что он многопользовательский и безопасный.

3 примера:

  • Вы увидите, что файлы и каталоги, которые предназначены только для администратора, собраны в одном каталоге: s в / sbin и / usr / sbin и / usr / local / sbin обозначают систему. Обычный пользователь не может даже запускать программы, которые там есть. Файлы, которые может запустить обычный пользователь, находятся в / bin, / usr / bin, / usr / local / bin в зависимости от того, где он наиболее логично должен находиться. Но если они являются только администраторами, они должны перейти в версию этого каталога. Есть известная утилита под названием fuser . С его помощью можно убивать процессы. Если бы обычный пользователь мог использовать это (а), он бы смог убить вашу сессию.

  • То же самое касается / home : / home / user1 является собственностью пользователя user1. / home / user2 является собственностью пользователя user2. Пользователь user2 не имеет никакого права делать что-то в доме пользователя user1 (и обратное тоже верно: user1 не имеет никакого права делать что-то в доме user2). Если все файлы будут в / home без имени пользователя под ним, вам придется предоставить разрешения для каждого файла и оценить, разрешено ли кому-то записывать / удалять эти файлы. Кошмар, если у вас десятки пользователей.

  • Дополнение относительно библиотек.

    / lib / , / usr / lib / и / usr / local / lib / являются исходными местоположениями , от до Multilib системы существовали и существуют, чтобы предотвратить поломку вещей. / usr / lib32 , / usr / lib / 64 , / usr / local / lib32 / , / usr / local / lib64 / представляют собой изобретения 32- / 64-битных мультибиблиотек.

Это ни в коем случае не статическая концепция. Другие версии Linux внесли изменения в эту схему. Например; в настоящее время вы увидите, что debian и Ubuntu сильно меняют структуру FHS, поскольку SSD лучше работает с файлами только для чтения. Наблюдается движение в сторону новой компоновки, в которой файлы разделены на каталог / группу «только для чтения» и «доступную для записи», поэтому у нас может быть корневой раздел, который может быть смонтирован только для чтения (раздел для SSD) и доступен для записи. (sata hdd). Для этого используется новый каталог (не в образе) / run / .

267
ответ дан 29 January 2014 в 05:08

Поздний ответ - Я создал дорожную карту для начинающих. Если они ищут файл, но не знают, где искать, они могут использовать карту для приблизительной навигации. Вы можете скачать PNG с высоким разрешением здесь . Вы можете найти соответствующий пост здесь . Я буду продолжать обновлять как файл, так и сообщение, когда позволит время, включая полезные комментарии.

49
ответ дан 29 January 2014 в 05:08

В следующем тексте показана структура каталогов.

mtk4@laptop:/$ pwd
/
mtk4@laptop:/$ tree -L 1
.
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- home
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin
|-- selinux
|-- srv
|-- sys
|-- tmp
|-- usr
|-- var

Основные компоненты:

  1. / boot : содержит загрузчик

  2. / home : содержит домашние каталоги пользователей.

  3. / bin : здесь находятся все исполняемые двоичные файлы и команды, используемые всеми пользователями в системе.

  4. / sbin : содержит обычно используемые системные исполняемые двоичные файлы системными администраторами.

  5. / lib : содержит системные библиотеки, поддерживающие двоичные файлы в / bin и /sbin.

  6. /etc: содержит файлы конфигурации для сети, времени загрузки и т. д.

  7. / dev : здесь показаны файлы устройств, то есть USB, оконечное устройство или любое другое устройство, подключенное к системе.

  8. / proc : Содержит информацию о запущенном процессе.

  9. / tmp : это временный каталог, в котором многие процессы создают необходимые временные файлы. Это очищается каждый раз при загрузке машины.

Для получения дополнительных сведений, ссылка Thegeekstuff прекрасно объясняет общую файловую систему Linux.

36
ответ дан 29 January 2014 в 05:08

Попробуйте эту команду ...

man 7 hier

Вы также можете просмотреть эту страницу руководства здесь: http://manpages.ubuntu.com/manpages/en/man7/hier .7.html

Надеюсь, это поможет

107
ответ дан 29 January 2014 в 05:08

\ Users эквивалентно / home . Имя / usr является историческим артефактом.

Комбинированный эквивалент \ Windows и \ Program Files представляет собой комбинацию / bin , / boot , / etc , / lib , / sbin , / tmp , / usr и / var . Linux и Windows по-разному разделяют установленное программное обеспечение. Windows различает операционную систему и сопутствующие программы. Linux не делает этого различия таким же образом; большая часть, если не все программное обеспечение поставляется через Ubuntu (распространитель) и устанавливается в той же иерархии каталогов, а поскольку программное обеспечение отслеживается диспетчером пакетов, нет необходимости хранить каждую программу в отдельном каталоге. В Linux:

  • / etc предназначен для файлов конфигурации системы: файлы конфигурации, которые влияют на всех пользователей, независимо от того, применяются ли они к операционной системе в целом или к конкретному приложению.
  • / usr предназначен для системный код и данные (программы, библиотеки, документация и т. д.).
  • / var предназначен для переменных или временных данных: временных файлов, журналов, баз данных диспетчера пакетов, катушек принтера, файлов сохранений игр и т. д. также / tmp для временных файлов, которые можно стереть при перезагрузке.
  • / bin , / lib и / sbin в корневом каталоге имеют аналоги в / usr . Файлы, находящиеся за пределами / usr , необходимы на ранней стадии процесса загрузки. Это пережиток тех времен, когда диски были небольшими, и / usr мог находиться в файловой системе, совместно используемой несколькими рабочими станциями по сети, это не совсем полезное различие для большинства систем.
  • / boot содержит несколько файлов, которые необходимы только для загрузки операционной системы, а не для повседневной работы.

Есть дополнительные каталоги, которые не соответствуют чему-либо, что есть в Windows:

  • / root - это домашний каталог пользователя root. Пользователь root - это учетная запись администратора, не привязанная к какому-либо конкретному пользователю; это пользователь, которого вы меняете при запуске sudo . Ubuntu по умолчанию не позволяет пользователю root входить в систему.
  • / media и / mnt - это точки монтирования: они служат для просмотра файловых систем других операционных систем и удаленных дисков. . Эквивалентом Windows являются другие буквы дисков.
  • / proc и / sys отображают системную информацию. В Windows вам нужно пробираться через меню, вызывать системные команды или устанавливать сторонние программы, чтобы увидеть эту информацию.

Ubuntu, как и другие дистрибутивы Linux, обычно следует Стандарту иерархии файловой системы Linux .

]
20
ответ дан 29 January 2014 в 05:08

Ubuntu (как и все UNIX-подобные системы) упорядочивает файлы в иерархическом дереве, где отношения рассматриваются в группах детей и родителей. Каталоги могут содержать другие каталоги, а также обычные файлы, которые являются «листьями» дерева. На любой элемент дерева можно ссылаться по имени пути; абсолютное имя пути начинается с символа / (идентифицирующего корневой каталог, который содержит все другие каталоги и файлы), затем перечисляются все дочерние каталоги, которые необходимо пройти, чтобы добраться до элемента, каждый из которых разделен знаком /.

Относительный путь - это имя, которое не начинается с /; в этом случае обход дерева каталогов начинается с заданной точки, которая изменяется в зависимости от контекста, называемого текущим каталогом. В каждом каталоге есть два специальных каталога, называемых. и .., которые относятся соответственно к самому каталогу и его родительскому каталогу.

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

Примеры и дополнительную информацию можно найти здесь :

5
ответ дан 29 January 2014 в 05:08

Другие вопросы по тегам:

Похожие вопросы: