Linux библия исчерпывающее руководство

Издательство Питер. Колонка редактора

Библия Linux. 10-е издание

Полностью обновленное 10-е издание «Библии Linux» поможет как начинающим, так и опытным пользователям приобрести знания и навыки, которые выведут на новый уровень владения Linux. Известный эксперт и автор бестселлеров Кристофер Негус делает акцент на инструментах командной строки и новейших версиях Red Hat Enterprise Linux, Fedora и Ubuntu. Шаг за шагом на подробных примерах и упражнениях вы досконально поймете операционную систему Linux и пустите знания в дело. Кроме того, в 10-м издании содержатся материалы для подготовки к экзаменам на различные сертификаты по Linux.

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

«Библия Linux» рассказывает, как:

  • приступить к работе с Linux;
  • защитить системы и сети с Linux;
  • реализовать автоматизацию дата-центра с помощью Ansible;
  • упростить системное администрирование с помощью Cockpit;
  • получить доступ к командной оболочке и писать простые скрипты;
  • изучить контейнеризацию с применением Docker и Podman и, в частности, оркестрацию контейнеров с использованием Kubernetes и OpenShift;
  • конфигурировать различные серверы и устранять распространенные проблемы;
  • создавать виртуальные машины Linux, работающие на гипервизорах и облачных платформах.

Оформить предзаказ.

Эффективный C. Профессиональное программирование

Автор(ы): Сикорд Р.

Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Книга «Эффективный С для профессионалов» восполняет этот пробел и предлагает современный взгляд на C. Здесь рассмотрен C17, а также потенциальные возможности C2x. Издание неизбежно станет классикой, с его помощью вы научитесь писать профессиональные и надежные программы на C, которые лягут в основу устойчивых систем и решат реальные задачи.

Роберт С. Сикорд знакомит вас с языком C и стандартной библиотекой С и рассказывает о наилучших практиках, распространенных ошибках и публичных дискуссиях, которые ведутся в сообществе C. Эта книга, созданная совместно с экспертами из Комитета по стандартам C, научит вас отлаживать, тестировать и анализировать программы на C. Вам понравятся лаконичные объяснения Сикорда о конструкциях и свойствах C, за его плечами сорокалетний опыт программирования.

  • Выявлять неопределенное поведение в программе на C.
  • Работать с диапазонами и представлениями целых чисел и чисел с плавающей точкой.
  • Использовать нестандартные функции и узнаете, как действует динамическое выделение памяти.
  • Выполнять ввод/вывод с применением терминалов и файловых систем, используя потоки С и файловые дескрипторы POSIX.
  • Понимать фазы трансляции, присутствующие в работе компилятора C, узнаете, какова роль препроцессора.
  • Тестировать, отлаживать и анализировать программы на C.

Оформить предзаказ.

Head First. Паттерны проектирования. 2-е издание

Автор(ы): Фримен Э., Робсон Э., Сьерра К., Бейтс Б.

Не имеет смысла каждый раз изобретать велосипед, лучше сразу освоить приемы проектирования, которые уже созданы людьми, сталкивавшимися с аналогичными задачами. В этой книге рассказано, какие паттерны действительно важны, когда и при каких условиях ими необходимо пользоваться, как применить их в ваших проектах и на каких принципах объектно-ориентированного проектирования они построены. Присоединяйтесь к сотням тысяч разработчиков, которые повысили свою квалификацию объектно-ориентированного проектирования благодаря книге «Head First. Паттерны проектирования».

Если вы уже читали книги из серии Head First, то знаете, что вас ждет визуально насыщенный формат, разработанный с учетом особенностей работы мозга. В книге «Head First. Паттерны проектирования» принципы и паттерны проектирования представлены так, чтобы вы не заснули, читая книгу, научились решать реальные задачи проектирования программных продуктов и общаться на языке паттернов с другими участниками вашей команды.

React: современные шаблоны для разработки приложений 2-е издание

Автор(ы): Бэнкс А., Порселло Е.

Хотите создавать эффективные приложения с помощью React? Тогда эта книга написана для вас. Познакомьтесь c лучшими практиками и шаблонами создания современного кода.
Вам не потребуются глубокие знания React или функционала JavaScript — достаточно знакомства с принципами работы JavaScript, CSS и HTML.

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

В этой книге вы:

  • • Разберетесь с ключевыми аспектами функционального программирования на JavaScript.
  • Узнаете, как устроена работа React в браузере.
  • Создадите слои представления приложения с помощью компонентов React.
  • Научитесь управлять данными и тратить меньше времени на отладку.
  • Внедрите в проект хуки React для управления состояниями и перехвата данных.
  • Используете маршрутизатор для полноценной работы с одностраничными приложениями.
  • Научитесь структурировать приложения React с учетом особенности работы сервера.
Читайте также:  Сбросить цветовой профиль монитора windows 10

Оформить предзаказ.

Облачные архитектуры: разработка устойчивых и экономичных облачных приложений

Автор(ы): Лащевски Т., Арора К., Фарр Э., Зонуз П.

Облачные вычисления — это, пожалуй, наиболее революционная разработка в IT со времен виртуализации. Облачно-ориентированные архитектуры обеспечивают большую гибкость по сравнению с системами предыдущего поколения. В этой книге продемонстрированы три важнейших аспекта развертывания современных cloud native архитектур: организационное преобразование, модернизация развертывания, паттерны облачного проектирования.

Книга начинается с краткого знакомства с облачно-ориентированными архитектурами — на примерах объясняется, какие черты им присущи, а какие нет. Вы узнаете, как организуется внедрение и разработка облачных архитектур с применением микросервисов и бессерверных вычислений как основ проектирования. Далее вы изучите такие столпы облачно-ориентированного проектирования, как масштабируемость, оптимизация издержек, безопасность и способы достижения безупречной эксплуатационной надежности. В заключительных главах будет рассказано о различных общедоступных архитектурах cloud native, — от AWS и Azure до Google Cloud Platform.

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

Источник

Книга «Библия Linux. 10-е издание»

Привет, Хаброжители! Полностью обновленное 10-е издание «Библии Linux» поможет как начинающим, так и опытным пользователям приобрести знания и навыки, которые выведут на новый уровень владения Linux. Известный эксперт и автор бестселлеров Кристофер Негус делает акцент на инструментах командной строки и новейших версиях Red Hat Enterprise Linux, Fedora и Ubuntu. Шаг за шагом на подробных примерах и упражнениях вы досконально поймете операционную систему 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 содержит каталоги и файлы, которые часто изменяются. На серверных компьютерах он обычно создается как отдельная файловая система, которую можно легко расширить.
Читайте также:  Linux модель жестких дисков

Файловые системы в операционных системах 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 создавались как однопользовательские системы, принадлежность файлов в них не была встроена изначально. Чтобы решить эту проблему, в более поздние версии были добавлены такие функции, как атрибуты файлов и папок.

Базовые команды файловой системы

Одна из самых простых команд — это cd. Она может использоваться без каких-либо параметров (чтобы перенести пользователя в домашний каталог) или с полными или относительными путями. Рассмотрим следующие команды:

Параметр /usr/share представляет абсолютный путь к каталогу в системе. Поскольку он начинается с косой черты (/), этот путь указывает оболочке начать с корневого каталога файловой системы и привести к каталогу share, находящемуся в каталоге usr. Параметр doc для команды cd ищет каталог с именем doc, который относится к текущему каталогу. Таким образом, эта команда открывает /usr/share/doc и делает его текущим каталогом.

После этого, введя только cd, вы вернетесь в домашний каталог. Если необходимо узнать, где вы находитесь в файловой системе, команда pwd поможет. Вот еще несколько интересных вариантов использования команды cd:

) ссылается на ваш домашний каталог. С помощью команды cd

к нему можно перейти. Можно также применять тильду для ссылки на каталоги относительно вашего домашнего каталога, например, /home/chris/Music с помощью

/Music. Ввод имени в качестве параметра приведет вас в каталог ниже текущего каталога, а две точки (..) можно использовать, чтобы перейти в каталог уровнем выше текущего. В приведенном примере вы подниметесь на три уровня (до /), а затем перейдете в каталог /usr.

Читайте также:  Сбросить цветовой профиль монитора windows 10

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

1. Перейдите в домашний каталог. Для этого введите cd в интерпретаторе и нажмите клавишу Enter. (Другие способы перехода в домашний каталог см. во врезке «Обозначения каталогов» далее.)

2. Чтобы убедиться, что вы находитесь в домашнем каталоге, введите pwd. Далее появится такая строка:

3. Создайте в домашнем каталоге новый каталог с именем test:

4. Проверьте права доступа каталога:

Список показывает, что test — это каталог (d). После буквы d указаны права доступа (rwxr-xr-x), которые мы рассмотрим далее, в разделе «Владельцы и права доступа к файлам». Прочие сведения указывают на владельца (joe), группу (sales) и дату последнего изменения файлов в каталоге (24 января в 12:17).

ПРИМЕЧАНИЕ
Новый пользователь системы Fedora или Red Hat Enterprise Linux по умолчанию назначается в группу с тем же именем. В предыдущем примере пользователь joe назначен в группу joe. Данный подход к управлению группами называется личной группой пользователя (user private group, UPG).

Таким образом дается право на предоставление полного доступа вам и никакого — всем остальным. (Новые права доступа читаются как rwx——.)

5. Сделайте каталог test своим текущим каталогом следующим образом:

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

Метасимволы и операторы

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

Метасимволы для пакетной обработки файлов

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

  • * — соответствует любому количеству символов;
  • ? — соответствует любому одному символу;
  • [. ] — соответствует любому из символов между скобками, которые могут включать диапазон букв или цифр, разделенных дефисом.

Чтобы обработать файлы с помощью метасимволов, сначала перейдите в пустой каталог (например, в каталог test, описанный в предыдущем разделе) и создайте несколько пустых файлов:

Команда touch создает пустые файлы. Далее показано, как использовать метасимволы с командой ls для пакетной обработки файлов. Выполните следующие команды и проанализируйте результаты:

Первый пример соответствует любому файлу, имя которого начинается с a (apple). Следующий соответствует всем файлам, имена которых начинается с g (grape, grapefruit). Далее обрабатываются файлы, имена которых начинаются с буквы g и заканчиваются на букву t (grapefruit). Затем обрабатываются файлы, содержащие в именах букву e (apple, grape, grapefruit, watermelon). Наконец, обрабатываются все файлы, имена которых в любом месте содержат букву n (banana, watermelon).

Примеры выборки файлов с вопросительным знаком (?):

Первый пример соответствует любому файлу из пяти символов, имена которых заканчиваются на букву e (apple, grape). Второй соответствует любому файлу, имя которого начинается с буквы g и в пятой позиции есть буква e (grape, grapefruit).

Примеры выборки с квадратными скобками:

В первом примере ищется любой файл, имя которого начинается с буквы a, b или w. Во втором берется любой файл, имя которого начинается с буквы a, g или w и заканчивается либо на n, либо на e. В скобки можно включать и диапазоны букв, например:

В таком случае сопоставляются любые файлы, имена которых начинаются с букв от a до g.

Метасимволы перенаправления файлов

Команды получают данные после стандартного ввода и передают их на стандартный вывод. С помощью конвейеров (описаны ранее) можно направлять стандартный вывод одной команды на стандартный ввод другой. Для направления данных в файлы и из файлов используются знаки «меньше» ( ). Символы перенаправления файлов:

  • — направляет стандартный вывод команды в файл. Если файл существует, то его содержимое перезаписывается;
  • 2> — направляет стандартную ошибку (сообщение об ошибках) в файл;
  • &> — направляет в файл как стандартный вывод, так и стандартную ошибку;
  • >> — направляет в файл вывод команды, добавляя его в конец существующего файла.

Далее приведены примеры, в которых информация направляется в файлы и из файлов:

В первом примере содержимое файла .bashrc, находящегося в домашнем каталоге, отправляется в виде сообщения на почту суперпользователю. Вторая командная строка форматирует справочную страницу chmod (с помощью команды man), удаляет лишние пробелы (col -b) и отправляет выходные данные в файл /tmp/chmod (стирая предыдущий файл /tmp/chmod, если он существует). После выполнения последней команды в файл проекта пользователя добавляется следующий текст:

Другой тип перенаправления, называемый встроенным документом (here-документом), позволяет вводить текст, который используется в качестве стандартного ввода для команды. Встроенные документы включают в себя ввод двух символов «меньше» (

Источник

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