Новости
10.09.2021
Книга «Библия Linux. 10-е издание»
Шаг за шагом на подробных примерах и упражнениях вы досконально поймете операционную систему Linux и пустите знания в дело. Кроме того, в 10-м издании содержатся материалы для подготовки к экзаменам на различные сертификаты по Linux.
Linux — основа большинства технологических прорывов в облачных вычислениях, поэтому вы должны как следует понимать эту систему, чтобы эффективно работать в дата-центрах будущего. Азы Linux, изложенные в начале книги, пригодятся в дальнейших главах, где автор рассказывает, как развертывать системы Linux в качестве гипервизоров, облачных контроллеров и виртуальных машин, а также как управлять виртуальными сетями и сетевыми хранилищами данных.
«Библия Linux» рассказывает, как:
- приступить к работе с Linux;
- защитить системы и сети с Linux;
- реализовать автоматизацию дата-центра с помощью Ansible;
- упростить системное администрирование с помощью Cockpit;
- получить доступ к командной оболочке и писать простые скрипты;
- изучить контейнеризацию с применением Docker и Podman и, в частности, оркестрацию контейнеров с использованием Kubernetes и OpenShift;
- конфигурировать различные серверы и устранять распространенные проблемы;
- создавать виртуальные машины Linux, работающие на гипервизорах и облачных платформах.
Файловая система
В этой главе
- Файловая система Linux.
- Атрибуты файлов и каталогов.
- Создание файлов и каталогов.
- Изменение владельца и прав доступа.
- Копирование и перемещение файлов.
Файловая система Linux — это структура, в которой хранится вся информация на компьютере. Фактически одним из определяющих свойств систем UNIX, на которых основана Linux, является то, что почти все, что находится в вашем компьютере (данные, команды, символические ссылки, устройства и каталоги), представлено элементами файловых систем. Для работы с Linux очень важно знать, где что находится и как задействовать файловую систему из оболочки.
В Linux организована иерархия каталогов. В каждом каталоге находятся файлы и другие каталоги. Можно создать ссылку на любой файл или каталог, используя либо полный путь (например, /home/joe/myfile.txt), либо относительный путь (например, если /home/joe — это текущий каталог, то можно просто ссылаться на файл через myfile.txt).
Если составить карту файлов и каталогов в Linux, то она будет выглядеть как перевернутое дерево. Вверху находится корневой каталог (также называемый каталогом root), который представлен одной косой чертой (/). Ниже располагается список общих каталогов системы Linux, таких как bin, dev, home, lib и tmp. Каждый из них, а также каталоги, добавленные в корневой, могут содержать подкаталоги.
На рис. 4.1 показано, как организована файловая система Linux. В качестве примера связи каталогов здесь приведен каталог /home, содержащий подкаталог для пользователя joe. В каталоге joe находятся подкаталоги Desktop, Documents и др. Чтобы добраться до файла memo1.doc, находящегося в каталоге memos, нужно ввести полный путь к нему: /home/joe/Documents/memos/memo1.doc. Если текущий каталог — /home/joe/, то можно ввести Documents/memos/memo1.doc.
Некоторые из этих каталогов Linux могут вас заинтересовать.
- /bin — содержит общие пользовательские команды Linux, такие как ls, sort, date и chmod.
- /boot — включает в себя загрузочное ядро Linux, диск начальной инициализации и файлы конфигурации загрузчика (GRUB).
- /dev — содержит файлы, представляющие точки доступа к устройствам в системах пользователя. К ним относятся устройства терминала (tty*), жесткие диски (hd* и sd*), оперативная память (ram*) и CD-ROM (cd*). Пользователи могут получить доступ к этим устройствам непосредственно через файлы устройств, однако приложения часто скрывают фактические имена устройств от конечных пользователей.
- /etc — содержит файлы конфигурации администратора. Большинство этих файлов являются обычными текстовыми файлами, которые, если у пользователя есть соответствующие права доступа, можно отредактировать с помощью любого текстового редактора.
- /home — содержит каталоги, назначенные каждому обычному пользователю с учетной записью входа. (Суперпользователь — исключение, он использует /root в качестве домашнего каталога.)
- /lib — содержит общие библиотеки, необходимые приложениям в /bin и /sbin для загрузки системы.
- /media — стандартное расположение для автоматически монтируемых устройств, в частности съемных носителей. Если у тома носителя есть имя, то оно обычно используется в качестве точки монтирования. Например, USB-накопитель с именем myusb будет смонтирован как /media/myusb.
- /mnt — общая точка монтирования для многих устройств до того, как она была вытеснена стандартным каталогом /media. Некоторые загрузочные системы Linux еще задействуют этот каталог для монтирования разделов жесткого диска и удаленных файловых систем. Многие все еще применяют его для временного монтирования локальных или удаленных файловых систем, которые не монтируются постоянно.
- /misc — каталог, который иногда используется для автоматического монтирования файловых систем по запросу.
- /opt — структура каталогов, доступная для хранения дополнительного прикладного программного обеспечения.
- /proc — содержит информацию о системных ресурсах.
- /root — домашний каталог суперпользователя. Этот домашний каталог не находится ниже /home из соображений безопасности.
- /sbin — содержит административные команды и демонические процессы.
- /sys — содержит параметры для настройки хранения блоков и управления контрольными группами.
- /tmp — содержит временные файлы приложений.
- /usr — содержит пользовательскую документацию, игры, графические файлы (X11), библиотеки (lib) и множество других команд и файлов, не требующихся в процессе загрузки. Каталог /usr предназначен для файлов, которые не изменяются после установки (теоретически /usr может быть смонтирован только для чтения).
- /var — содержит каталоги данных приложений. В частности, именно здесь размещаются файлы, которые передаются через FTP-сервер (/var/ftp) или веб-сервер (/var/www). Он также содержит все файлы системного журнала (/var/log) и файлы, находящиеся в очереди на обработку в /var/spool (такие как mail, cups, news). Каталог /var содержит каталоги и файлы, которые часто изменяются. На серверных компьютерах он обычно создается как отдельная файловая система, которую можно легко расширить.
Файловые системы в операционных системах DOS или Microsoft Windows отличаются от файловой структуры Linux (см. далее врезку «Файловые системы Linux и Windows»).
Файловые системы Linux и Windows
Хотя файловая система Linux во многом схожа с системами MS-DOS и Windows, у нее есть поразительные отличия, например следующие.
- В файловых системах MS-DOS и Windows буквы дисков представляют различные устройства хранения. В Linux все устройства хранения данных подключены к иерархии файловой системы. Таким образом, то, что весь файл /usr может находиться на отдельном жестком диске или что файл /mnt/remote1 является файловой системой с другого компьютера, пользователю не видно.
- В Linux для разделения имен каталогов используется прямая, а не обратная косая черта (слеш). Поэтому путь в системе Microsoft выглядит таким образом: C:\home\joe, а в системе Linux — /home/joe.
- В DOS имена файлов почти всегда имеют суффиксы (например, .txt для текстовых файлов или .docx для файлов Word). Трехсимвольные суффиксы иногда можно применять и в Linux, однако они не имеют особого значения. Они полезны скорее для идентификации типа файла. Многие приложения и окружения Linux используют суффиксы файлов для определения содержимого последних. Однако в Linux расширения команд DOS, такие как .com, .exe и .bat, не всегда означают исполняемый файл. (Исполняемость файлов в Linux определяют флаги прав доступа.)
- Каждый файл и каталог в системе Linux имеют владельцев и права доступа, связанные с ним. Их безопасность варьируется в зависимости от системы Microsoft. Поскольку DOS и Microsoft Windows создавались как однопользовательские системы, принадлежность файлов в них не была встроена изначально. Чтобы решить эту проблему, в более поздние версии были добавлены такие функции, как атрибуты файлов и папок.
Базовые команды файловой системы
Я хочу познакомить вас с несколькими простыми командами, чтобы вы могли начать работать с файловой системой. Можете пробовать их сразу, параллельно с чтением. При запуске системы Linux и открытии оболочки пользователь входит в свой домашний каталог. Большинство файлов, которые вы сохраняете и с которыми работаете, вероятно, будут находиться в этом каталоге или в подкаталогах, созданных вручную. В табл. 4.1 показаны команды для создания и применения файлов и каталогов.
Одна из самых простых команд — это cd. Она может использоваться без каких-либо параметров (чтобы перенести пользователя в домашний каталог) или с полными или относительными путями. Рассмотрим следующие команды:
Параметр /usr/share представляет абсолютный путь к каталогу в системе. Поскольку он начинается с косой черты (/), этот путь указывает оболочке начать с корневого каталога файловой системы и привести к каталогу share, находящемуся в каталоге usr. Параметр doc для команды cd ищет каталог с именем doc, который относится к текущему каталогу. Таким образом, эта команда открывает /usr/share/doc и делает его текущим каталогом.
После этого, введя только cd, вы вернетесь в домашний каталог. Если необходимо узнать, где вы находитесь в файловой системе, команда pwd поможет. Вот еще несколько интересных вариантов использования команды cd:
Тильда (~) ссылается на ваш домашний каталог. С помощью команды cd ~ к нему можно перейти. Можно также применять тильду для ссылки на каталоги относительно вашего домашнего каталога, например, /home/chris/Music с помощью ~/Music. Ввод имени в качестве параметра приведет вас в каталог ниже текущего каталога, а две точки (..) можно использовать, чтобы перейти в каталог уровнем выше текущего. В приведенном примере вы подниметесь на три уровня (до /), а затем перейдете в каталог /usr.
С полным содержанием статьи можно ознакомиться на сайте "Хабрахабр":
Комментарии: 0
Пока нет комментариев