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


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

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

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

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


202
2018-05-17 18:12


Источник


См. Также Каталог-структура пометить Unix & Linux, Все дистрибутивы Linux следуют одной и той же модели. - Gilles
Спасибо за все ваши ответы. Я немного запутался в нескольких моментах: в Windows установка обычно обеспечивает через подсказку возможность установки программного обеспечения для всех пользователей. Как сделать это различие в Ubuntu? Кроме того, это обычная проблема при настройке программных средств разработки для их IDE. В Windows, например, в «program files \ miktex \ bin» есть файл «pdflatex.exe». Таким образом, я могу указать IDE на этот файл и настроить его. Как это сделать в Ubuntu? Где общий двоичный файл, связанный с программным обеспечением (например, с точки зрения конфигурации)? - Shashank Sawant
В Ubuntu вы обычно устанавливаете программное обеспечение для всех пользователей. Все, что вы делаете с помощью менеджера пакетов, предназначено для всех пользователей. Я не понимаю остальных ваших комментариев; один не «настраивает» «двоичный файл, связанный с программным обеспечением». Вы должны задать это как отдельный вопрос и дать лучшее объяснение того, что вы пытаетесь сделать. - Gilles
Понял. Я сформулирую новый вопрос. Даже тогда вот короткое объяснение того, что я имел в виду: в окнах файлы .exe можно легко найти. Например: «C: \ Python27 \ python.exe». Поэтому я знаю, с чего начинается программа Python. Теперь, если мне нужно использовать Eclipse IDE, я могу просто указать его на python.exe, и это то, что я имел в виду под «configure». Я настроил IDE для Python. В Ubuntu, где находится место, где установлена ​​программа? Это то, что все еще уклоняется от меня. - Shashank Sawant
@Gilles Будьте осторожны, когда говорите all, Проект GoboLinux на самом деле использует более строчную структуру каталогов Windows. - new123456


Ответы:


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

Стандарт иерархии файловой системы (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 на основе того, где он наиболее логично должен находиться. Но если они только администраторы, они должны пойти в sверсии этого каталога. Существует известная утилита, называемая fuser, Вы можете убивать процессы с ним. Если обычный пользователь может использовать это, он сможет убить вашу сессию.

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

  • прибавление в отношении библиотек.

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

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


239
2018-05-17 18:18



+1 Ринзвинд. Мне нравится изображение, он действительно искал его. - Luis Alvarado♦
га подумал, что привлечет внимание: + @LuisAlvarado - Rinzwind
Не может быть лучшего ответа! - Shashank Sawant
не было /mnt какие /media сейчас, несколько лет назад? - RobinJ
@RobinJ: Различие заключается в том, что /mnt исторически управляется вручную. С появлением многих переходных устройств (флеш-накопителей и т. Д.) И автоматической установки становится стандартным, необходимо автоматически обрабатывать точки монтирования. Для избежания конфликтов с существующей ручной настройкой был необходим новый каталог. Таким образом, в эти дни /mnt был отнесен к роли предоставления удобной временной точки монтирования. - Scott Severance


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

man 7 hier

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


95
2018-05-17 19:58



хороший звонок! Я всегда забываю об этом, хотя он всегда присутствует (даже когда сеть не работает;)) - Rinzwind
человек должен быть переименован в «это». :))) - Shiki
man hier теперь среди моих любимых команд! Объяснения яснее для меня, чем документация FHS, особенно различая «локально для машины» и «всего сайта» для неопытного пользователя Ubuntu, переходящего от умеренного уровня DOS / Windows. - WillC
КСТАТИ число 7 стенды секции Разное страницы hier man. - Pablo Bianchi


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

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
2018-05-17 18:38





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


36
2017-11-20 18:18



Интересная и полезная идея для создания блок-схемы, но, к сожалению, она, похоже, имеет некоторые тупики. Мой вопрос: если я выполняю mysqldump где я должен вывести файл? - BadHorsie
@BadHorsie, конечно, всегда будет зависеть от вашего конкретного варианта использования, но сбросить его в /home/badhorsie/mysqldump директории будет достаточно. Если вы запускаете много приложений, вы можете создать нового пользователя для запуска каждого приложения и сбрасывать его в этом приложении / пользователе. home каталог. - d4nyll
@ paranoid-panda, не могли бы вы немного рассказать о том, почему вы решили не разрешать клику с помощью полного разрешения? Версия, встроенная в этот пост, довольно нечитаема. - waldyrious
@waldyrious: Если вы посмотрите на лист регистраций изменений вы увидите, что я только исправил орфографическую ошибку, это был другой пользователь, который добавил изображение таким образом. Ничего общего со мной. Не стесняйтесь редактировать его, я не могу вспомнить правильный синтаксис, чтобы сделать его доступным для кликов.
@ParanoidPanda, это именно то, что я сделал. Мое редактирование сделало исправление опечатки и сделало изображение кликабельным, и ваш отзыв должен был отклонить и отредактировать, поэтому мой вопрос: что вы видите неправильно, делая изображение кликабельным? - waldyrious


\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 Стандарт иерархии файловой системы,


19
2018-05-17 18:48





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

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

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

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


5
2018-05-17 18:18



Очень хорошая ссылка. Спасибо, Стивен. - Luis Alvarado♦