Uploaded by ahrotvotmotes

2 Навигация по файловой системе ОС Linux

advertisement
Навигация по файловой системе ОС Linux
2.1 Цель работы
2.1.1 Получить начальное представление об интерфейсе ОС Linux.
2.1.2 Изучить основные команды ОС Linux: просмотр содержимого каталогов,
дерева каталогов, определение версии Linux.
2.1.3 Получить информацию (статическую и динамическую) о работающей
системе.
2.1.4 Получить представление об иерархии и назначении системных каталогов
Linux.
2.2 Порядок выполнения работы
2.2.1 Запуск виртуальной машины и авторизация
2.2.2 Определение имени ядра системы, типа процессора, аппаратной
платформы.
2.2.3 Определение времени работы системы после последней загрузки и
выведение текущих пользовательских сеансов.
2.2.4 Вывод статистики перезагрузки системы и информации о файловой
системе
2.2.5 ВЫВОД СПИСКА ВСЕХ ПРИМОНТИРОВАННЫХ УСТРОЙСТВ
2.2.7 Вывод загруженности примонтированных дисков
2.2.8 Определение своего местоположения в файловой системе.
2.2.9 Просмотр содержимого следующих каталогов:
 Каталог /dev с ключом, который обеспечит просмотр содержимого и позволит
отличить файлы от каталогов.
 Каталог /bin с ключом, который позволит просмотреть скрытые файлы
(точечные).
 Каталог /lib с ключом, который отсортирует содержимое по версии.












 Каталог /mnt с ключом, которые выведет информацию о размере файлов в
блоках.
 Каталог /etc с ключом для вывода длинных имен файлов и каталогов
 Каталог /sbin с ключом, который отсортирует содержимое по размеру.
 Каталог /usr с ключом, который отсортирует содержимое по времени.
2.2.10 Просмотр любого каталога, который содержит файлы, ссылки,
директории.
2.3 Контрольные вопросы
2.3.1 Какие системные имена каталогов Вам известны? За что отвечает каждый
из них?
bin - Этот каталог содержит исполняемые файлы. Здесь расположены
программы, которые можно использовать в однопользовательском режиме или
режиме восстановления.
sbin – содержит двоичные исполняемые файлы, которые доступны на ранних
этапах загрузки, когда не примонтирован каталог /usr. Здесь находятся программы,
которые можно выполнять только с правами суперпользователя.
/etc - В этом каталоге содержатся конфигурационные файлы всех программ,
установленных в системе.
dev - Этот каталог содержит не совсем обычную файловую систему. Структура
файловой системы Linux и содержащиеся в папке /dev файлы инициализируются
при загрузке системы, сервисом udev.
lib
-
Содержит файлы
системных
библиотек,
которые
используются
исполняемыми файлами в каталогах /bin и /sbin.
usr - Это самый большой каталог с большим количеством функций. Здесь
находятся
исполняемые
файлы,
исходники
программ,
различные
ресурсы
приложений, картинки, музыку и документацию.
mnt - В этот каталог системные администраторы могут монтировать внешние
или дополнительные файловые системы.
2.3.2 Что означает первый символ файла при указании флага -l в команде ls?
Первый символ означает:
d
Файл является каталогом.
b
Файл является специальным блочным
файлом.
c
Файл является специальным символьным
файлом.
p
Файл является именованным каналом.
-
Обычный файл.
l
Жесткая или символьная ссылка
2.3.3 При использовании команды ls -l by результат выглядит так:
-rwxr-xr-x 2 root
comp
32 Jul 05 12:50 /home/by
Если читать справа налево, можно увидеть, что содержимое файла /home/by
последний раз изменялось в 14 марта в 11 часов 31 минуту. Размер файла 29 байт.
Владелец этого файла принадлежит группе comp, к тому же он является
суперпользователем. Следующее число, в данном случае 1, обозначает количество
ссылок на файл /home/by. Последовательность букв и минусов указывает, что
владелец, члены группы и прочие пользователи могут читать и выполнять файл, а
владелец имеет право писать в файл
Теоретические сведения
Файловая система организована в виде дерева с одной исходной вершиной,
которая называется корнем. Каждая вершина в древовидной структуре файловой
системы, является каталогом файлов, а файлы, соответствующие дочерним
вершинам, являются либо каталогами, либо обычными файлами, либо файлами
устройств. Имени файла предшествует указание пути поиска, который описывает
место расположения файла в иерархической структуре файловой системы. Имя
пути поиска состоит из компонент, разделенных между собой наклонной чертой
(/). Полное имя пути поиска начинается с указания наклонной черты и
идентифицирует файл (вершину).
Основные команды навигации по файловой системе
pwd – информация о местонахождении пользователя в файловой системе.
man название_команды - вызов электронного справочника об указанной
команде.
Например: man exit – выведет справку по команде exit.
Выход из справочника - нажатие клавиши Q.
Команда
man man
сообщает информацию о том, как пользоваться
справочником.
Помимо справочника можно воспользоваться командой help. Для этого нужно
набрать:
команда --help
Например: exit --help – выведет справку по команде exit.
cd / - переход в корневой каталог
ls - выдача информации о файлах или каталогах
Команда ls для каждого имени каталога распечатывает список входящих в
этот каталог файлов; для файлов - повторяется имя файла и выводится
дополнительная информация в соответствии с указанными флагами. По
умолчанию имена файлов выводятся в алфавитном порядке. Если имена не заданы,
выдается содержимое текущего каталога. Если заданы несколько аргументов, то
они сортируются по алфавиту, однако сначала всегда идут файлы, а потом
каталоги с их содержимым.
Режим доступа к файлу при указании флага -l выводится в виде 10 символов.
Первый символ означает:
d
d
Файл является каталогом.
b
Файл является специальным блочным
файлом.
Файл является специальным символьным
c
файлом.
p
Файл является именованным каналом.
-
Обычный файл.
l
Жесткая или символьная ссылка.
Остальные 9 символов делятся на три группы по три символа: права доступа
владельца, других пользователей из его группы, всех прочих пользователей. Внутри
каждой группы используются три символа, обозначающие права на чтение, запись
и выполнение файла соответственно. Для каталога под правом на выполнение
подразумевается право на просмотр в поисках требуемого файла.
При использовании команды
ls -l /util/by
результат выглядит примерно так:
-rwxr-xr-x 1 root
sys
50 Jun 22 10:42 /util/by
Читая справа налево можно увидеть, что содержимое файла /util/by
последний раз изменялось в 10 часов 42 минуты 22 января. Размер файла 50 байт.
Владелец этого файла принадлежит группе sys, к тому же он является
суперпользователем (входное имя root). Следующее число, в данном случае 1,
обозначает количество ссылок на файл /util/by. Наконец, последовательность
минусов и букв указывает, что владелец, члены группы и прочие пользователи
могут читать и выполнять файл, а владелец (и только он) имеет право писать в
файл.
Права обозначаются следующим образом:
r r Право на чтение.
w Право на запись.
x Право на выполнение (поиск в каталоге).
- Данное право доступа отсутствует.
l Учет блокировки доступа (бит переустановки идентификатора группы
равен 1, бит права на выполнение членами группы равен 0). Располагается на
месте права на выполнение для членов группы.
s Право переустанавливать идентификатор группы или идентификатор
владельца и право выполнения файла для членов группы или владельца.
S Неопределенная комбинация бит: право переустанавливать
идентификатор владельца есть, а право выполнения файла для владельца
отсутствует.
t Установлен бит навязчивости [см. chmod] у файла, который могут
выполнять прочие пользователи. Располагается на месте права на выполнение
для прочих пользователей.
T Бит навязчивости установлен, а права на выполнение у прочих
пользователей нет. Располагается на месте права на выполнение для прочих
пользователей.
ПРИМЕРЫ
Если файл имеет режим
-rwxr--r--
он доступен владельцу для чтения, записи и выполнения, а членам группы и
прочим пользователям только для чтения. Кстати, по умолчанию на сервере
университета файлы создаются со следующими правами доступа:
-rw-r----то есть, владелец файла имеет право на чтение и запись, члены группы, к
которой принадлежит владелец файла, имеют право на чтение, а все остальные
пользователи вообще не имеют никаких прав.
Режим
-rwsr-xr-x
свидетельствует о том, что файл доступен владельцу для чтения, записи и
выполнения, а членам группы и прочим пользователям только для чтения и
выполнения. Разрешена переустановка при выполнении идентификатора
пользователя на идентификатор владельца файла.
В случае режима
-rw-rwl-файл доступен для чтения и записи только владельцу и членам группы; может
быть блокирован при доступе.
По команде
ls -a
будут выведены имена всех файлов в текущем каталоге, включая и те,
которые начинаются с точки и обычно не выдаются.
По команде
ls -aisn
будет выдана разнообразная информация: список всех файлов, включая те,
которые обычно не выводятся (a); номера описателей файлов будут выведены в
левой колонке (i); размеры файлов (в блоках) выводятся во второй колонке (s);
наконец, будут выданы числовые идентификаторы владельцев и групп (n).
Командой ls обрабатываются следующие флаги (ключи):
-R
-a
Рекурсивно обойти встретившиеся подкаталоги.
Вывести список всех скрытых файлов (обычно не выводятся файлы,
имена которых начинаются с точки).
-d
Если аргумент является каталогом, то выводить только его имя, а
не содержимое.
-C
Вывод в несколько колонок с сортировкой по колонкам.
-x
Вывод в несколько колонок с сортировкой по строкам.
-m
Вывод в свободном формате, имена файлов разделяются
запятыми.
Вывод в длинном формате полной информации о файле, ссылке или
-l
каталоге: перед именами файлов выдается режим доступа, количество
ссылок на файл, имена владельца и группы, размер в байтах и время
последней модификации
-r
-t
-v
-S
-p
Изменить порядок сортировки на обратный алфавитный или, при
наличии флага -t, сначала выводить более старые файлы.
Имена файлов сортируются по времени (сначала идут самые
свежие файлы).
Имена файлов сортируются по версии (сначала идут самые свежие
файлы).
Имена файлов сортируются по размеру.
Если файл является каталогом, то выдавать после его имени
символ /.
Позволяет отличить файлы от каталогов. Если файл является
-F каталогом, то выдавать после его имени символ /; если файл является
выполняемым, то выдавать после его имени символ *.
-s
-f
Выдавать размер файлов в блоках (включая косвенные блоки).
Рассматривать каждый аргумент как каталог и выводить его
содержимое. Этот флаг отменяет флаги -l, -t, -s, -r и включает флаг -a.
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. Здесь нет дисков или чего-то подобного, как в 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 и т д.
/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 - принтер
Изначально, эта папка отвечала за очереди печати на принтере и работу
набора программ cpus.
/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.
/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, контролировать вентиляторы и многое другое.
Download