Где находится home linux

Содержание
  1. Cтруктура файловой системы Linux
  2. / — корень
  3. /bin — (binaries) бинарные файлы пользователя
  4. /sbin — (system binaries) системные исполняемые файлы
  5. /etc — (etcetera) конфигурационные файлы
  6. /dev — (devices) файлы устройств
  7. /proc — (proccess) информация о процессах
  8. /var (variable) — Переменные файлы
  9. /var/log — Файлы логов
  10. /var/lib — базы данных
  11. /var/mail — почта
  12. /var/spool — очереди
  13. /var/lock — файлы блокировок
  14. /var/run — PID процессов
  15. /tmp (temp) — Временные файлы
  16. /usr — (user applications) Программы пользователя
  17. /usr/bin/ — Исполняемые файлы
  18. /usr/sbin/
  19. /usr/lib/ — Библиотеки
  20. /usr/local — Файлы пользователя
  21. /home — Домашняя папка
  22. /boot — Файлы загрузчика
  23. /lib (library) — Системные библиотеки
  24. /opt (Optional applications) — Дополнительные программы
  25. /mnt (mount) — Монтирование
  26. /media — Съемные носители
  27. /srv (server) — Сервер
  28. /run — процессы
  29. /sys (system) — Информация о системе
  30. Выводы
  31. Как узнать домашнюю директорию любого пользователя Linux
  32. Где хранится системная информация о домашних каталогах пользователей в Linux
  33. Команда pwd в Unix
  34. Оператор
  35. Директория /home в Linux
  36. Потенциальные проблемы /home в Linux

Cтруктура файловой системы Linux

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

В отличие от Windows, программа не находится в одной папке, а, как правило, распределена по корневой файловой системе. Это распределение поддается определенным правилам. Вы когда-нибудь задавались вопросом, почему некоторые программы находятся в папке /bin, или /sbin, /usr/sbin, /usr/local/bin, в чем разница между этими каталогами?

Например, программа less, находится в каталоге /usr/bin, но почему не в /sbin или /usr/sbin. А такие программы, как ifconfig или fdisk находятся в каталоге /sbin и нигде иначе. В этой статье будет полностью рассмотрена структура файловой системы Linux, после ее прочтения вы сможете понять смысл использования большинства папок в корневом каталоге Linux.

/ — корень

Это главный каталог в системе Linux. По сути, это и есть файловая система Linux. Здесь нет дисков или чего-то подобного, как в Windows. Вместо этого, адреса всех файлов начинаются с корня, а дополнительные разделы, флешки или оптические диски подключаются в папки корневого каталога.

Только пользователь root имеет право читать и изменять файлы в этом каталоге. Обратите внимание, что у пользователя root домашний каталог /root, но не сам /.

/bin — (binaries) бинарные файлы пользователя

Этот каталог содержит исполняемые файлы. Здесь расположены программы, которые можно использовать в однопользовательском режиме или режиме восстановления. Одним словом, те утилиты, которые могут использоваться пока еще не подключен каталог /usr/. Это такие общие команды, как cat, ls, tail, ps и т д.

/sbin — (system binaries) системные исполняемые файлы

Так же как и /bin, содержит двоичные исполняемые файлы, которые доступны на ранних этапах загрузки, когда не примонтирован каталог /usr. Но здесь находятся программы, которые можно выполнять только с правами суперпользователя. Это разные утилиты для обслуживания системы. Например, iptables, reboot, fdisk, ifconfig,swapon и т д.

/etc — (etcetera) конфигурационные файлы

В этой папке содержатся конфигурационные файлы всех программ, установленных в системе. Кроме конфигурационных файлов, в системе инициализации Init Scripts, здесь находятся скрипты запуска и завершения системных демонов, монтирования файловых систем и автозагрузки программ. Структура каталогов linux в этой папке может быть немного запутанной, но предназначение всех их — настройка и конфигурация.

/dev — (devices) файлы устройств

В Linux все, в том числе внешние устройства являются файлами. Таким образом, все подключенные флешки, клавиатуры, микрофоны, камеры — это просто файлы в каталоге /dev/. Этот каталог содержит не совсем обычную файловую систему. Структура файловой системы Linux и содержащиеся в папке /dev файлы инициализируются при загрузке системы, сервисом udev. Выполняется сканирование всех подключенных устройств и создание для них специальных файлов. Это такие устройства, как: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 и т д.

Читайте также:  Как сделать раздел активным linux

/proc — (proccess) информация о процессах

Это тоже необычная файловая система, а подсистема, динамически создаваемая ядром. Здесь содержится вся информация о запущенных процессах в реальном времени. По сути, это псевдофайловая система, содержащая подробную информацию о каждом процессе, его Pid, имя исполняемого файла, параметры запуска, доступ к оперативной памяти и так далее. Также здесь можно найти информацию об использовании системных ресурсов, например, /proc/cpuinfo, /proc/meminfo или /proc/uptime. Кроме файлов в этом каталоге есть большая структура папок linux, из которых можно узнать достаточно много информации о системе.

/var (variable) — Переменные файлы

Название каталога /var говорит само за себя, он должен содержать файлы, которые часто изменяются. Размер этих файлов постоянно увеличивается. Здесь содержатся файлы системных журналов, различные кеши, базы данных и так далее. Дальше рассмотрим назначение каталогов Linux в папке /var/.

/var/log — Файлы логов

Здесь содержатся большинство файлов логов всех программ, установленных в операционной системе. У многих программ есть свои подкаталоги в этой папке, например, /var/log/apache — логи веб-сервера, /var/log/squid — файлы журналов кеширующего сервера squid. Если в системе что-либо сломалось, скорее всего, ответы вы найдете здесь.

/var/lib — базы данных

Еще один тип изменяемых файлов — это файлы баз данных, пакеты, сохраненные пакетным менеджером и т д.

/var/mail — почта

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

/var/spool — очереди

Изначально, эта папка отвечала за очереди печати на принтере и работу набора программ cups.

/var/lock — файлы блокировок

Здесь находятся файлы блокировок. Эти файлы означают, что определенный ресурс, файл или устройство занят и не может быть использован другим процессом. Apt-get, например, блокирует свою базу данных, чтобы другие программы не могли ее использовать, пока программа с ней работает.

/var/run — PID процессов

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

/tmp (temp) — Временные файлы

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

Файлы удаляются при каждой перезагрузке. Аналогом Windows является папка Windows\Temp, здесь тоже хранятся все временные файлы.

/usr — (user applications) Программы пользователя

Это самый большой каталог с большим количеством функций. Тут наиболее большая структура каталогов Linux. Здесь находятся исполняемые файлы, исходники программ, различные ресурсы приложений, картинки, музыку и документацию.

/usr/bin/ — Исполняемые файлы

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

/usr/sbin/

Содержит двоичные файлы программ для системного администрирования, которые нужно выполнять с правами суперпользователя. Например, таких как Gparted, sshd, useradd, userdel и т д.

/usr/lib/ — Библиотеки

Содержит библиотеки для программ из /usr/bin или /usr/sbin.

/usr/local — Файлы пользователя

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

/home — Домашняя папка

В этой папке хранятся домашние каталоги всех пользователей. В них они могут хранить свои личные файлы, настройки программ и т д. Например, /home/sergiy и т д. Если сравнивать с Windows, то это ваша папка пользователя на диске C, но в отличии от WIndows, home как правило размещается на отдельном разделе, поэтому при переустановке системы все ваши данные и настройки программ сохранятся.

/boot — Файлы загрузчика

Содержит все файлы, связанные с загрузчиком системы. Это ядро vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub.

Читайте также:  Как удалить windows 100

/lib (library) — Системные библиотеки

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

Библиотеки имеют имена файлов с расширением *.so и начинаются с префикса lib*. Например, libncurses.so.5.7. Папка /lib64 в 64 битных системах содержит 64 битные версии библиотек из /lib. Эту папку можно сравнить с WIndows\system32, там тоже сгружены все библиотеки системы, только там они лежат смешанные с исполняемыми файлами, а здесь все отдельно.

/opt (Optional applications) — Дополнительные программы

В эту папку устанавливаются проприетарные программы, игры или драйвера. Это программы созданные в виде отдельных исполняемых файлов самими производителями. Такие программы устанавливаются в под-каталоги /opt/, они очень похожи на программы Windows, все исполняемые файлы, библиотеки и файлы конфигурации находятся в одной папке.

/mnt (mount) — Монтирование

В этот каталог системные администраторы могут монтировать внешние или дополнительные файловые системы.

/media — Съемные носители

В этот каталог система монтирует все подключаемые внешние накопители — USB флешки, оптические диски и другие носители информации.

/srv (server) — Сервер

В этом каталоге содержатся файлы серверов и сервисов. Например, могут содержаться файлы веб-сервера apache.

/run — процессы

Еще один каталог, содержащий PID файлы процессов, похожий на /var/run, но в отличие от него, он размещен в TMPFS, а поэтому после перезагрузки все файлы теряются.

/sys (system) — Информация о системе

Назначение каталогов Linux из этой папки — получение информации о системе непосредственно от ядра. Это еще одна файловая система организуемая ядром и позволяющая просматривать и изменить многие параметры работы системы, например, работу swap, контролировать вентиляторы и многое другое.

Выводы

Теперь структура файловой системы Linux не кажется вам темным лесом. Конечно еще есть с чем разбираться, одна только подсистема /proc, /sys или /dev чего стоит. Но база уже заложена. Если я что-то упустил — напишите в комментариях.

Источник

Как узнать домашнюю директорию любого пользователя Linux

Для того, чтобы правильно и безопасно хранить данные на сервере, (особенно, если на этом сервере несколько пользователей), следует точно знать, где располагаются их домашние папки, до которых у пользователей есть доступ (у каждого в свою, но нет доступа в чужие папки с чужими данными). Например, для того, чтобы дать пользователю доступ по ftp только к его данным или подсказать полный путь до его www-директории. В этой статье рассмотрим то, как узнать домашнюю директорию любого пользователя Linux несколькими способами.

Где хранится системная информация о домашних каталогах пользователей в Linux

При создании нового пользователя в Unix-системах, каждому пользователю обязательно домашний каталог. О том, где и как располагается запись о домашней директории пользователя в файле /etc/passwd , подробно описано в → этой статье. Для понимания вопроса сейчас требуется знать, что это предпоследнее (шестое) поле home в строке записи пользователя в этом файле:

login : password : UID : GID : GECOS : home : shell

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

Команда pwd в Unix

Команда pwd выводит текущий путь к директории, в которой находится пользователь. Выполнив команду pwd , получим этот путь:

У пользователя root в Unix по умолчанию домашней директорией является /root .

Оператор

(тильда) в Debian

Другой способ того, как определить домашнюю директорию текущего пользователя. Достаточно посмотреть значение оператора

Результат не сильно отличается от предыдущего, но к

можно добавлять дополнительные пути к папкам и/или файлам пользователя, используя её как точку отсчёта в домашней директории пользователя. Что сильно облегчает работу с написанием относительных путей (относительно не только корня файловой системы, но и корня домашней папки пользователя).

Читайте также:  Windows 10 про версия 1909

Ещё одним полезным свойством

является то, что с помощью этого оператора можно получить путь до домашней директории любого пользователя в системе (если конечно пользователь есть в системе, то есть прописан в файле /etc/passwd , например посмотреть содержимое домашнего каталога пользователя ftp можно так, поставив перед ним тильду

А теперь посмотреть содержимое этого файла:

Ну и то, к чему мы стремились: посмотреть путь к домашней директории пользователя:

Так гораздо удобнее, чем парсить и разбирать файл /etc/passwd . За нас всю эту работу делает операционная система! 😉

Источник

Директория /home в Linux

Одним из самых сложных пунктов выбора, с которым вы столкнетесь при установке Linux и делении жесткого диска на разделы, таков: разместите ли вы директорию /home на отдельном разделе? Именно в ней проживают файлы пользователя – то есть личные документы и настройки учетной записи пользователя, а не файлы ОС, которые сидят в отдельных директориях. Некоторые дистрибутивы Linux рекомендуют учредить отдельный раздел, а некоторые по умолчанию все размещают в том же разделе. Как же поступить вам? Ответ зависит от того, как вы будете применять свой компьютер. Если вы планируете пробовать много разных дистрибутивов и часто устанавливаете новые поверх старых, тогда имеет смысл создать отдельный раздел /home.

Благодаря этому вы сможете делать с ОС все, что заблагорассудится – обновлять, понижать до более ранней версии или стереть и поставить случайно выбранный экзотический новый дистрибутив с Фарерских островов. Каким бы дистрибутивом Linux вы ни пользовались, ваши личные файлы всегда будут там, в целости и сохранности, на отдельной части диска. При известной осторожности можно даже иметь несколько дистрибутивов Linux на одном компьютере, и все они будут обращаться к одному и тому же разделу /home после загрузки. Но почему мы говорим об осторожности? Вспомните о настройках и файлах конфигурации. Скомандовав, например, ls -a в своей домашней директории, вы увидите огромное количество скрытых файлов и директорий, имена которых начинаются с точек – там содержатся настройки программ. Если вы попытаетесь использовать одинаковые настройки в разных версиях программы, программа может запутаться. Допустим, у вас на компьютере есть Дистрибутив A и Дистрибутив Б. Вы загружаете Дистрибутив А и запускаете FooProgram 2.0 в первый раз, и она создает папку с настройками .fooprogram/ в вашей домашней директории.Затем вы загружаете Дистрибутив Б при той же самой домашней директории и запускаете FooProgram – но на сей раз это будет версия 1.0. Она запутается из-за разницы в файлах настройки, что может привести к полной утрате или повреждению данных.

Потенциальные проблемы /home в Linux

Другая потенциальная проблема с отдельной директорией /home – ограничение по размеру. Если вы поместите все в один раздел, то и ОС, и домашние директории будут иметь доступ к свободному месту. Если вы поместите /home на отдельный раздел и места не будет хватать, вы не сможете просто взять место из раздела ОС (но если вы используете LVM, Logical Volume Manager, как это предлагается на стадии установки во многих дистрибутивах, вы преодолеете эту проблему, поскольку он поддерживает изменение размера разделов).

Однако у подхода, поддерживающего отдельный раздел, есть и плюсы, особенно сейчас, когда все популярнее и доступнее становятся диски SSD (твердотельные накопители). Поскольку они невероятно быстры по сравнению с вращающимися жесткими дисками, вы можете поместить файлы ОС на SSD, чтобы обеспечить быструю работу системы и время запуска приложений, а /home – на традиционный жесткий диск (в конце концов, вас не слишком заботит, долго ли будут грузиться документы LibreOffice или фотографии). Но для систем на обычных жестких дисках, если вы не собираетесь что ни день осваивать новый дистрибутив, мы рекомендуем подход «Размести все на одном разделе».

Источник

Оцените статью