Регистр имен
Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы Temp.txt и temp.txt будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.
Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:
Стандарт иерархии файловой системы
- / — root каталог. Содержит в себе всю иерархию системы;
- /bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);
- /boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);
- /dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;
- /etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;
- /home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;
- /lib — содержит системные библиотеки, с которыми работают программы и модули ядра;
- /lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;
- /media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;
- /mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;
- /opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);
- /proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;
- /root — директория, которая содержит файлы и личные настройки суперпользователя;
- /run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;
- /sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;
- /srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);
- /sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;
- /tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;
- /usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;
- /var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.
Сложно установить
Все пишут, что Linux прост в установке, но в этом есть доля лукавства.
Прежде чем устанавливать Linux желательно прочитать одну или две статьи на эту тему, чтобы иметь хотя бы базовое представление о том, что будет происходить.
Если пользователь не разметил диск заранее или не выделил отдельный раздел на диске под Linux, то иногда потребуется самостоятельная разметка диска. Для новичков это очень сложная задача, на которую может уйти много времени, включая чтение различных статей.
Разметка диска при установке дистрибутива Linux
Программы установки Linux вроде бы очень простые, но при этом не содержат хотя бы минимальных сопроводительных комментариев, которые очень помогли бы начинающим пользователям.
И, конечно, стоит упомянуть «детскую болячку» многих программ установки, связанную с невозможностью переключиться на английский язык для ввода имени пользователя и пароля, если на первом шаге установки была выбрана русская раскладка клавиатуры.
Структура файловой системы
Ubuntu поддерживает стандарт FHS, описывающий какая информация должна находится в том или ином месте «дерева». Ниже приведена таблица с кратким описанием основных директорий.
Директория | Описание |
---|---|
Корневая директория, содержащая всю файловую иерархию. | |
/bin/ | Основные системные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp). |
/boot/ | Загрузочные файлы (в том числе файлы загрузчика, ядро и т.д.). Часто выносится на отдельный раздел. |
/dev/ | Основные файлы устройств системы (например физические устройства sata винчестеры /dev/sda, видео камеры или TV-тюнеры /dev/video или псевдоустройства, например «чёрные дыры» /dev/null, /dev/zero ). |
/etc/ | Общесистемные конфигурационные файлы, лежат в корне директории и файлы конфигурации установленных программ (имя происходит от et cetera). |
/etc/X11/ | Файлы конфигурации X Window System версии 11. |
/etc/apt/ | Файлы конфигурации пакетного менеджера Apt. |
/etc/samba/ | Файлы конфигурации сервера Samba, расшаривающего файлы по сети с windows машинами. |
/home/ | Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе. |
/lib/ | Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/. |
/media/ | Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM, flash дисков. |
/opt/ | Дополнительное программное обеспечение. |
/proc/ | Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде каталогов файлов. |
/root/ | Домашняя директория пользователя root. |
/sbin/ | |
/srv/ | Данные, специфичные для окружения системы. |
/tmp/ | Временные файлы (см. также /var/tmp). |
/usr/ | Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин. |
/usr/bin/ | Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме. |
/usr/include/ | Стандартные заголовочные файлы. |
/usr/lib/ | Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/. |
/usr/sbin/ | Дополнительные системные программы (такие как демоны различных сетевых сервисов). |
/usr/share/ | Архитектурно-независимые общие данные. |
/usr/src/ | Исходные коды (например, здесь располагаются исходные коды ядра). |
/usr/local/ | Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/. Она пригодится, когда /usr/ используется по сети. |
/var/ | Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров. |
/var/cache/ | Данные кэша приложений. Сюда скачиваются пакеты перед их установкой в систему, здесь же они какое-то время и хранятся |
/var/lib/ | Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.). |
/var/lock/ | Lock-файлы, указывающие на занятость некоторого ресурса. |
/var/log/ | Различные файлы регистрации (log-файлы). |
/var/mail/ | Почтовые ящики пользователей. |
/var/run/ | Информация о запущенных программах (в основном, о демонах). |
/var/spool/ | Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма). |
/var/tmp/ | Временные файлы, которые должны быть сохранены между перезагрузками. |
/var/www/ | Директория веб-сервера Apache, всё что находится внутри транслируется им в интернет (конфигурация по-умолчанию) |
Загрузка компьютера с флешки
Вставьте флешку с образом диска в компьютер и перезагрузите его. Если после перезагрузки вы попали в свою старую операционную систему, перезагрузитесь снова и при включении компьютера нажимайте F2 — это вызовет экран BIOS. В нём зайдите в раздел Boot и сделайте так, чтобы компьютер сначала пытался загрузиться с флешки, а потом уже с диска.
BIOS может выглядеть как-то так:
Экран BIOS на ноутбуке Lenovo. Вызывается клавишей F2 при загрузке. Нам нужно зайти на экран BootЭкран Boot, в котором определяется, с чего загружаться. Нам нужно, чтобы вверху была USB-флешка. На этом скриншоте Ubuntu уже установлена на диск (строка внизу), но у вас там будет что-то другое
Как попробовать понравившуюся сборку Linux
1. Скачиваем и устанавливаем бесплатную утилиту Etcher. Она кроссплатформенная, можно установить на Windows, Linux и macOS.
2. Загружаем подходящий образ Linux, например, Ubuntu.
3. Запускаем приложение Etcher и подключаем к компьютеру флешку объемом 4 Гб или более.
4. Выбираем флешку в качестве целевого диска и скачанный образ Linux в качестве источника.
Внимание! Все данные с флешки будут удалены при форматировании
5. Ждем несколько минут, пока утилита не запишет образ на накопитель.
6. Подключаем флешку к компьютеру и перезагружаем его в режиме запуска с USB-диска. Это можно настроить в BIOS или зажать определенную клавишу при включении ПК.
7. После загрузки оболочки следует выбрать нужный язык и активировать ознакомительный режим Live-запуска Linux.
Буквально через минуту-две увидите рабочий стол операционной системы с полным набором утилит и возможностей. Запускайте любые приложения, тестируйте систему, выходите в сеть и подбирайте подходящую сборку Linux.
4.4 Обеспечение для PAM и NSS.
Ваша система может требовать некоторые динамически загружаемые библиотеки, которые
не видны ldd.
PAM (Pluggable Authentication Modules).
Если ваша система использует PAM (Pluggable Authentication Modules) Вы должны принять
некоторые меры, иначе Вы будете не способны войти в систему. PAM — изощренный
модульный метод, для опознавания пользователей и их доступа к службам. Простой путь
проверки использования вашей системой PAM состоит в проверке каталога
/etc на вашем диске на наличие файла pam.conf или каталога
pam.d; если они существуют — вы должны обеспечить минимальную поддержку
PAM.(В качестве альтернативы запустите ldd для вашего исполняемого файла
login; если выдаваемая информация включает libpam.so
вам нужен PAM).
К счаcтью, безопасность не имеет значения для загрузочных дисков, т.к. если кто-то
имеет физический доступ к машине он может сделать все, что захочет. Следовательно,
по существу вы можете запретить PAM создав в вашей корневой файловой системе простой
/etc/pam.conf:
OTHER auth optional /lib/security/pam_permit.so OTHER account optional /lib/security/pam_permit.so OTHER password optional /lib/security/pam_permit.so OTHER session optional /lib/security/pam_permit.so
Также скопируйте файл в вашу корневую
файловую систему. Эта библиотека приблизительно 8Кб, т.о. она налагает
минимальные расходы.
Заметьте, что эта конфигурация разрешает любому полный доступ к файлам и службам на
вашей машине. Если по некоторым причинам Вы заботитесь о безопасности вашего
загрузочного диска, Вы должны скопировать некоторые или все установки PAM на вашу
корневую файловую систему. Прочтите внимательно документацию на PAM и скопируйте
необходимые библиотеки в /lib/security на вашей корневой файловой
системе.
Вы также должны включить /lib/libpam.so на ваш загрузочный диск. Но Вы
уже об этом знаете, т.к. запускали ldd для /bin/login, который показал
эту зависимость.
NSS (Name Service Switch).
Если Вы используете glibc (или libc6) Вы должны обеспечить name services или вы не
сможете войти в систему. Файл /etc/nsswitch.conf управляет поиском по
базе данных для различных служб. Если вы не планируете доступ к сетевым службам
(таким как DNS, NIS поиск). Вы должны подготовить простой nsswitch.conf
файл который выглядит так:
passwd: files shadow: files group: files hosts: files services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files automount: files aliases: files netgroup: files publickey: files
Это указывает, что каждая служба будет иметь доступ только к локальным файлам.
Вы также должны включить , которая загружается
динамически для работы с обзором файлов.
Если вы планируете доступ к сети с вашего загрузочного диска, вы должны создать более
замысловатый файл nsswitch.conf. Для подробностей смотрите man страницу
nsswitch. Запомните, что Вы должны включить файл
service для каждой указанной
службы.
Разница между Linux Mint KDE и Kubuntu
Но, кроме различий в нескольких пакетах, есть важная разница в принципах обновления систем. Для Ubuntu основным правилом является быстрое обновление приложений и в первую очередь в плане безопасности. Если будет выпущено обновление – вы получите его быстро, причём с большей вероятностью из репозитория разработчика, чем из системного. Что касается Linux Mint KDE и других выпусков, то у этой команды в приоритете стабильность. И результаты такой политики иногда приводят к печальным последствиям – обновление безопасности может быть отмечено как нестабильное и не будет установлено в числе рекомендуемых.
Установка графического окружения
В качестве графического окружения для ArchLinux доступно множество сред рабочего стола и оконных менеджеров. Выбор зависит только от вас. Ниже я для примера покажу, как установить Gnome, XFCE, KDE, Mate и Cinnamon. За подробностями обращайтесь к официальному Wiki или пишите комментарии с вопросами под этим материалом.
На этом этапе пользователи могут столкнуться с некоторыми проблемами. Например, с черным экраном с мигающим символом тире, черным экраном, на котором виден только курсор мыши, и другими интересными проблемами. Решения для каждого случая могут быть разными. Например, часто помогает установка других драйверов для видео-карты, установка другого экранного менеджера.
Теперь установим среду рабочего стола. Вы можете установить одну или несколько сред рабочего стола. Если вы новичок, то рекомендую начать, например, с XFCE.
Установка Gnome
Установим Gnome. Я устанавливал два пакета — gnome и gnome-extra. Второй пакет содержит несколько дополнительных программ для Gnome (архиватор, текстовый редактор, несколько вспомогательных утилит, игры и так далее.
Установка займет некоторое время, так как пакетов в Gnome очень много.
7 основных примеров команды cd в Linux
Вот наиболее распространенные способы использования команды cd. Некоторые из них вы, наверное, уже знаете. Некоторые из них не так популярны, но чрезвычайно полезны.
Корневой каталог является наиболее важным каталогом в файловой системе Linux. Это родительский каталог для всех остальных каталогов, присутствующих в файловой системе. Обозначается как . Вы можете перейти в корневой каталог из любого другого каталога, используя следующую команду:
$ cd /
Попробуем
user@user-pc:~$ cd / user@user-pc:/$ pwd / user@user-pc:/$
Каталог, находящийся внутри другого каталога, называется дочерним каталогом. Каталог, содержащий дочерний каталог, является для него родительским каталогом. Вы можете перейти к дочернему каталогу с помощью следующей команды:
$ cd <имя дочернего каталога>
Пробуем
user@user-pc:~$ ls 12 Видео Загрузки Музыка 'Рабочий стол' Документы Изображения Общедоступные Шаблоны'' user@user-pc:~$ cd 12 user@user-pc:~/12$ pwd /home/user/12 user@user-pc:~/12$
Примечание. Если имя каталога имеет два или более слова разделенные пробелом, вставьте имя каталога в кавычки « ».
3. Использование абсолютного пути
Имя пути начинающееся с корневого каталога (/) называется абсолютный путь. Вы получаете абсолютный путь к файлу, прослеживая путь из корневого каталога в каталог назначения. Абсолютный путь всегда начинается с корневого каталога.
user@user-pc:/$ cd /home/user/12 user@user-pc:~/12$ pwd /home/user/12 user@user-pc:~/12$
4. Использование относительного пути
Имя пути, которое начинается с текущего рабочего каталога, называется относительным именем пути. Вы получаете относительный путь, отслеживая путь из текущего рабочего каталога в целевой каталог. Относительный путь всегда начинается с текущего рабочего каталога.
user@user-pc:~$ cd 12/24/ user@user-pc:~/12/24$ pwd /home/user/12/24 user@user-pc:~/12/24$
.. является специальной ссылкой, присутствующей в каждом каталоге, которая указывает на его родительский каталог. .. является скрытой ссылкой. Чтобы перейти к родительскому каталогу, который находится на уровень выше, вы можете использовать следующую команду:
$ cd ..
Пробуем
user@user-pc:~/12/24$ pwd /home/user/12/24 user@user-pc:~/12/24$ cd .. user@user-pc:~/12$ pwd /home/user/12 user@user-pc:~/12$
Вы также можете перейти к любым каталогам более высокого уровня, используя .. необходимое количество раз. Следующий пример показывает двухуровневый переход к более высокому каталогу из текущего рабочего каталога.
user@user-pc:~/12/24$ pwd /home/user/12/24 user@user-pc:~/12/24$ cd ../.. user@user-pc:~$ pwd /home/user user@user-pc:~$
Когда вам нужно вернуться обратно к предыдущему рабочему каталогу из текущего рабочего каталога, вы можете использовать опцию -.
$ cd -
Пример
user@user-pc:~/12/24$ pwd /home/user/12/24 user@user-pc:~/12/24$ cd ../.. user@user-pc:~$ pwd /home/user user@user-pc:~$ cd - /home/user/12/24 user@user-pc:~/12/24$ pwd /home/user/12/24 user@user-pc:~/12/24$
Подготовка загрузочной флешки
У вас скачается образ диска с расширением .iso. Сейчас мы запишем этот образ на флешку, чтобы с неё можно было загрузиться. Для этого:
- Запустите менеджер образов диска.
- Вставьте загрузочную флешку.
- Укажите менеджеру, какой образ записывать.
- Укажите, чтобы записал его на флешку.
️ Записывайте образ диска Ubuntu только на ту флешку, где не лежат ценные файлы. При записи образа на флешку с неё стирается всё старое и заменяется новыми данными. Всё, что было на флешке до записи, будет стерто. Стёрто будет всё старое. Если на флешке что-то было, оно будет стёрто. А то, что на ней было — окажется стёртым. Исчезнет навсегда. Безвозвратно. Совсем. Стёрто. Проверьте, что вы записываете образ диска на ту флешку, где нет ценных файлов.
Запись на флешку займет около 2–3 минут. Выглядеть будет примерно так:
Краткий обзор навигации
Хранилище списка команд ls показывает, что находится в вашем текущем рабочем каталоге. Если вы не знаете, какой у вас текущий каталог, используйте команду pwd .
Начало файловой системы обозначается одиночной косой чертой (/). Используйте команду cd для переключения между каталогами. Чтобы увидеть, что находится в каталоге, в который вы только что переключились, используйте команду . Затем, чтобы вернуться в свой домашний каталог, введите /home/username .
Команда помогает вам перемещаться по файловой системе. ls показывает, что находится в текущем каталоге, где вы работаете. показывает длинный список.
Хотя различные дистрибутивы Linux имеют незначительные различия, схемы файловой системы очень похожи. Лучший способ понять структуру каталогов Linux — это следовать некоторым из приведенных выше советов и ознакомиться с тем, как это работает.
Только убедитесь, что НЕ трогали каталог /boot. Попрактикуйтесь в навигации по вашей системе с помощью терминала. Придерживайтесь команд , и , чтобы ничего не нарушать. Вам не понадобится много времени, чтобы интуитивно узнать, где найти документацию, приложения и другие ресурсы, которые вам нужно использовать.
Сложный выбор дистрибутива
Дистрибутивов Linux очень много. Есть базовые, есть основанные на базовых, есть основанные на основанных, есть… Их действительно очень и очень много. Причем многие из них очень разные и имеют свои специфические особенности.
С одной стороны хорошо, когда есть выбор. Но, к сожалению, есть много дистрибутивов, которые отличаются от базовых только слегка измененной темой оформления, набором обоев рабочего стола, составом предустановленных программ, и, возможно, парой утилит, которые специально были написаны для данного дистрибутива, но на большее разработчиков уже не хватило.
Такие дистрибутивы тоже нужны, иногда они даже удобнее и красивее, чем базовый дистрибутив, но многие из них абсолютно не представляют интереса, а это портит общую картину и мешает репутации Linux.
Разнообразие дистрибутивов вызывает дополнительные сложности при подготовке пакетов программного обеспечения под Linux. Под определенные семейства дистрибутивов необходимо готовить определенные установочные пакеты.
И еще один факт. Многообразие дистрибутивов может поставить новичка в Linux в сложное положение. Вместо того, чтобы взять и скачать, например, один единый дистрибутив Linux (которого не существует), новичку придется сначала выяснить, чем отличаются дистрибутивы друг от друга и решить какой ему использовать. А если вдруг ему не понравится установленная система, то нужно начинать новый поиск. С Windows таких проблем не возникает.
Типичная структура ФС системы Linux
Наличие тех или иных директорий может быт в зависимости от того, какой дистрибутив Вы используете. Ниже список наиболее важных и часто встречающихся:
/
/bin
/boot
/dev
/etc
/home
/lib
/lib64
/lost+found
/media
/mnt
/opt
/proc
/root
/run
/sbin
/selinux
/srv
/sys
/tmp
/usr
/var
Итак, рассмотрим все по-порядку.
/bin – главные бинарные файлы (исполняемые программы)
Содержит основные модули, утилиты и командные оболочки, которые могут обеспечить необходимый минимально уровень работоспособности ОС. Размещение этих файлов в директории /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы.
/dev – файлы устройств
В Linux все устройства предоставлены в виде специфических файлов, расположеных в этой директории. К примеру, файл /dev/sda представляет диск SATA. Также в этой директории хранятся файлы псевдо-устройств (виртуальных), для этих файлов нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа, а файл /dev/null является специальным устройством для удаления всех входных данных.
/home – домашние директории пользователей
По идеологии UNIX для обеспечения безопасности ОС рекомендуется хранить пользовательские данные именно в этой директории. Например, если ваше имя пользователя user, то у вас есть домашняя дирекотория, которая находится в /home/user и содержит пользовательские конфигурационные файлы и личную информацию. Каждый пользователь имеет доступ на запись только в свою домашнюю директорию.
/lib – основные библиотеки
Эта директория предназначена для хранения системных библиотек и компонентов компилятора языка С, необходимых для работы программ из директорий /bin и /sbin и операционной системы в целом.
/lib64 – 64-битные основные библиотеки
Эта директория присуствует в основном на 64-битных системах, содержит набор библиотек и компонентов компилятора языка С для 64-битных программ.
/lost+found – восстановленные файлы
Присуствует во всех ОС Linux. При сбое в работе файловой системы и дальнейшей проверке файловой системы (при загрузке ОС), все найденные поврежденные файлы будут помещены в директорию lost+found, их можно попытаться восстановить.
/mnt – точка для ручного монтирования
Используется для временного ручного монтирования (с помощю команды mount) различных устройств, таких как CD-ROM, USB-накопителей и т.д.
/opt – вспомогательные пакеты программ
Находятся субдиректории для дополнительных пакетов программного обеспечения. Каталог широко используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловых систем.
/proc – файлы ядра и процессов
В эту директорию примонтирована виртуальная файловая система procfs. В ней находятся специальные файлы, в которых представлена информация о системе и о выполняющихся процессах. Например, в файле /proc/cpuinfo собержиться информация о процессоре.
/run – файлы состояния приложений
Является достаточно новой директорией, в которой приложениям предоставляется возможность стандартным образом хранить вспомогательные файлы, которые им требуются, например, сокеты и идентификаторы процессов. Эти файлы нельзя хранить в каталоге /tmp, поскольку эти файлы могут быть там удалены.
/sbin – бинарные файлы (программы) для администрирования системы
Директория /sbin похожа на /bin. В ней находятся важные двоичные файлы, которые, как правило, предназначены для их запуска пользователем при администрировании системы.
/selinux – виртуальная файловая система SELinux
В некоторых дистрибутивах (Red Hat, Fedora и т.п) для обеспечения безопасности используется пакет SELinux (Security-Enhanced Linux), при этом создается директория с файлами /selinux.
/srv – данные сервисных служб
Эта директория присуствует не во всех дистрибутивах, содержит “данные для сервисов, предоставляемых системой” (например сервер Apache может хранить файлы вашего сайта в этой директории). В большинстве случаев директория пуста.
/sys – виртуальная файловая система sysfs
Эта директория появилась с выходом ядра версии 2.6 и в нее примонтирована виртуальная файловая система sysfs с информацией об устройствах, драйверах, ядре ОС и т.п.
/tmp – временные файлы
Временные файлы, обычно удаляются при перезагрузке системы. Все пользователи имеют права чтения и записи в эту директорию.
Важные папки, о которых вы должны знать
В вашей системе Linux много папок. Мы обсудим наиболее важные из них ниже.
Домашний каталог
Домашний каталог по умолчанию, где все пользователи имеют свое личное рабочее пространство. У каждого пользователя будет собственная папка в каталоге / home .
Если вы хотите просмотреть список всех папок в вашем домашнем каталоге, используйте следующую команду:
ls -l /home
Поскольку вы уже находитесь в своем домашнем каталоге, вы также можете просто использовать ls, чтобы вывести список того, что внутри, без использования пути.
Каждый каталог в структуре каталогов Linux отделяется и начинается с косой черты ( / ). Другими словами, ls без пути покажет содержимое вашего текущего каталога.
Если вы хотите изменить каталог, в котором вы работаете, и вернуться в корень файловой системы, используйте следующую команду:
cd /
Если вы хотите увидеть каталоги в корне, используйте:
ls
Поскольку вы вернулись в корневой каталог, а не в свой домашний каталог, вы увидите список всех папок в корневом каталоге.
Чтобы увидеть длинный список в корневом каталоге, используйте:
ls -l
Корневой каталог (/root)
Все каталоги и файлы в вашей системе находятся в корневом файле, представленном символом /. Все файлы или каталоги начинаются с корня. Путь любого файла или каталога будет отображаться следующим образом:
Root/home/user/videos
Корневой каталог предназначен для одного пользователя и является самым мощным пользователем в системе Linux.
Общие библиотеки (/lib)
В каталоге /lib находятся файлы, содержащие код (библиотеки). В этих файлах хранятся фрагменты кода, используемые для отправки файлов на жесткий диск, рисования окон на рабочем столе или управления периферийными устройствами.
Медиа-каталог (/media)
В каталоге мультимедиа можно просматривать файлы данных подключенных внешних жестких дисков, флэш-накопителей, DVD-дисков или дисков Blu-ray.
Каталог загрузки (/boot)
Файлы и папки, которые должна запустить ваша система, находятся в каталоге / boot. Его использование стандартизировано в стандарте иерархии файловой системы.
Конфигурация, необходимая для загрузки вашей машины, находится в каталоге загрузки. Вы не хотите избавляться от этого каталога.
Некоторые другие стандартные каталоги включают в себя:
- /dev — это место, где находятся все файлы устройства, такие как внешний USB или веб-камера.
- /var — это сокращение от variable. Это место, где программы хранят информацию времени выполнения, такую как отслеживание пользователей, ведение журнала системы, кэши и другие файлы, которые управляют и создают системные программы.
Личные каталоги пользователей находятся в / home . - /proc содержит информацию о вашей системе, такой как процессор и ядро вашей системы Linux. Это виртуальная система.
- /bin — это то место, где находятся все необходимые исполняемые программы (пользовательские двоичные файлы).
- Папка /etc содержит файлы конфигурации.
- , чтобы узнать, что представляет собой каждый каталог и как он используется.
Разделы жесткого диска
Раздел — часть долговременной памяти жёсткого диска или флеш-накопителя, выделенная для удобства работы, и состоящая из смежных блоков. На одном устройстве хранения может быть несколько разделов.
Создание разделов на различных видах современных накопителей почти всегда предусмотрено (хотя, к примеру, на, ныне уже не используемых, флоппи-дисках было невозможно создать несколько разделов). Однако в Windows, с флешки с несколькими разделами будет доступен только первый из них (в Windows принято считать флешки аналогом флоппи-диска, а не жесткого диска).
Преимущества использования нескольких разделов
Выделение на одном жёстком диске нескольких разделов даёт следующие преимущества:
- на одном физическом жёстком диске можно хранить информацию в разных файловых системах, или в одинаковых файловых системах, но с разным размером кластера (например, выгодно хранить файлы большого размера — например, видео — отдельно от маленьких, и задавать больший размер кластера для хранилища больших файлов);
- можно отделить информацию пользователя от файлов операционной системы;
- на одном жёстком диске можно установить несколько операционных систем;
- манипуляции с одной файловой системой не сказываются на других файловых системах.
Структура диска, разбитого на разделы (MBR)
- Информация о размещении разделов на жёстком диске хранится в таблице разделов, которая является частью главной загрузочной записи (MBR).
- Раздел может быть либо первичным, либо расширенным.
- В первом секторе каждого первичного раздела находится загрузочный сектор, отвечающий за загрузку операционной системы с этого раздела. Информация о том, какой раздел будет использован для загрузки операционной системы, тоже записана в главной загрузочной записи.
- В MBR под таблицу разделов выделено 64 байта. Каждая запись занимает 16 байт. Таким образом, всего на жестком диске может быть создано не более 4 разделов. Когда разрабатывалась структура MBR, это считалось достаточным. Однако, позднее был введён расширенный раздел, в котором можно прописать несколько логических разделов.
- По правилам расширенный раздел может быть только один. Таким образом, в максимальной конфигурации на жёстком диске может быть сформировано три первичных и один расширенный раздел, содержащий несколько логических.
Первичный (основной) раздел
Первичный раздел обязательно должен быть на физическом диске. Этот раздел всегда содержит либо одну файловую систему, либо другие логические разделы. На физическом диске может быть до четырёх первичных разделов.
Некоторые старые операционные системы — например, MS-DOS и Windows — могли быть установлены только на первичный раздел.
Расширенный и Логические разделы
Таблица разделов может содержать не более 4 первичных разделов, поэтому были изобретёны расширенный разделы. В расширенном разделе можно создать несколько логических разделов. Логические разделы выстраиваются в цепочку где информация о первом логическом разделе храниться в MBR, а информация о последующем хранится в первом секторе логического раздела. Такая цепочка позволяет (в теории) создавать неограниченное количество разделов, но (на практике) число логических разделов ограничивается утилитами и, обычно, больше 10 логических разделов не создать.
Важно отметить что некоторые версии Windows не могут загрузиться с логического раздела (нужен обязательно первичный раздел), тогда как для Linux никакой разницы в виде разделов — нет, Linux загружается и работает с разделами совершенно независимо от их вида (первичный или логический).
Специальные ярлыки
Если просто ввести команду cd без указания пути, то будет выполнен переход в домашнюю директорию. Проверим.
1 |
bin]$ cd ~]$ pwd /home/mikhail |
Чтобы сменить рабочую директорию на предыдущую, можно использовать символ «-» (минус). Сейчас мы в домашней директории, до этого были в /usr/bin. Значит после ввода команды cd — должны снова вернуться в /usr/bin. Проверим.
1 |
~]$ cd — /usr/bin bin]$ pwd /usr/bin |
Сослаться на домашнюю директорию любого пользователя можно добавим перед именем учетной записи символ «~» (тильда), например ~mikhail. Так мы можем указать домашнюю директорию любого пользователя вне зависимости от того, где она расположена. Проверим.
1 |
bin]$ cd ~mikhail ~]$ pwd /home/mikhail |
Если после символа «~» (тильда) не указать имя пользователя, то данный символ будет ссылаться на собственную домашнюю директорию.
Механизм работы подобной «ссылки» реализован за счет развертывания строк (материал из будущего ;)).
А теперь заморозим виртуальную машину в данном состоянии.