Daily MaverickHOUSEHOLD SQUEEZE: Fuel levy cut offers brief relief as food basket outpaces SA’s unchanged SRD grantPunchOgun police command strengthens GBV response with trainingEl ComercioEstados Unidos revela su hoja de ruta para Venezuela: reformas, vacancia de Delcy Rodríguez y eleccionesInquirer EntertainmentLyca Gairanod resumes studies after song ‘Puede Nang Mangarap’ resurgenceInquirerArmy kills 2 NPA rebels, seizes arms in separate Eastern Visayas opsBollywood HungamaPVR INOX sees record Q2 as Indian box office crosses Rs 4,000 crore for FIRST time in a quarter!The Jerusalem PostBen-Gvir calls for arrest of Arab party heads amid Qatar-linked election interference claimsCollider‘Ready Player One’ Meets ‘Dexter’ in Gerard Butler’s Brutal Sci-Fi Thriller Officially Streaming for FreeZDF heuteAktuelle Pressemitteilungen des ZDFIl Fatto QuotidianoRocco Siffredi con la moglie Rózsa Tassi, Benji e Fede, Elisabetta Gregoraci con la sorella Marzia: ecco il cast di “Pechino Express 2027” e le nuove rotteBusiness AMGoudprijs daalt in aanloop naar Amerikaanse inflatiecijfersNMESlipknot’s Eloy Casagrande on new album: “We are making real music, we are not thinking about business”
The Daily Newsstand · Free, Always
Thursday, October 29, 2026

Командная строка Linux: читать команды так, как их читает bash

Translate

Вы нашли на форуме рассказ про любопытную команду, скопипастили в терминал, и она сработала. Через неделю вы переносите ее в скрипт, и скрипт спотыкается на первом же файле с пробелом в имени. Чуть подправили, потестили и запустили в работу. А однажды ночью нужного каталога не оказывается на месте, и rm * удаляет файлы в каталоге на котором скрипт остановился. Страшный сон или реальность?

Уильям Шоттс отвечает на вопрос, который прячется за каждой такой историей: что оболочка делает с командой, прежде чем ее выполнить?

Эта книга помогла освоить Linux больше чем 150 000 пользователей во всем мире, а английское издание занимает первое место на Amazon в трех категориях о Linux.

Причина такоего успеха проста, автор объясняет, как все устроено. Почему echo * выводит список файлов, а не звездочку? Потому что он звездочку не видит: bash подставляет имена файлов еще до запуска команды.

Книга разбита на четыре части: сначала речь идет про оболочку, потом про настройку окружения, потом повседневные задачи вроде пакетов, дисков, сети, поиска и обработки текста, а в конце программирование на bash.

Что нового в третьем издании

С момента выхода второго издания на английском языке прошло больше шести лет. Шоттс переработал книгу: внес множество правок, описал новые команды и добавил почти 40 страниц, а подборку готовых сценариев можно скачать с LinuxCommand.org.

А если у нас не Ubuntu?

Примеры в книге выполнены в Ubuntu и Fedora, но 95% информации можно применить к другим Unix-подобным системам. Механизмы работы оболочки не зависят от дистрибутива. Различия касаются прежде всего управления пакетами, и в главе 14 рассмотрены обе основные системы: .deb, принятая в дистрибутивах семейства Debian, и .rpm из Red Hat.

Автор рекомендует загрузить Ubuntu с Live-носителя без установки, тогда примеры будут полностью совпадать с книгой, но вы можете продолжить работать с книгой в своем дистрибутиве, а команды управления пакетами сопоставить со своим семейством. Книга посвящена командной строке, поэтому управление службами и контейнерами в ней не рассматривается.

Главные идеи книги

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

Практические навыки автор предлагает отрабатывать в безопасной среде. Для упражнений создается отдельный каталог, в котором читатель копирует, перемещает и удаляет файлы, создает ссылки. Так обычный пользователь не сможет повредить систему.

Небольшие программы объединяются в конвейеры. Перенаправление ввода-вывода, sort, cut, join, sed и регулярные выражения позволяют решать задачи обработки текстовых данных через последовательностью простых шагов.

Сценарии объясняются на примере сквозной программы, которая развивается от пустой HTML-страницы до утилиты, принимающей параметры командной строки. Каждая новая конструкция bash вводится в тот момент, когда она требуется для решения очередной задачи.

Отдельная тема книги - надежность сценариев. Автор показывает способы защиты: кавычки, проверки, тестовые прогоны и анализ кода с помощью shellcheck.

Опыт программирования для чтения не требуется. Книга будет полезна как тем, кто только начинает работать с Linux, так и тем, кто давно использует командную строку и пишет сценарии.

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

Об авторе:
Уильям Шоттс (William Shotts)

работал вице-президентом по техническому обслуживанию в компании Media Cybernetics LLC. Сейчас он на пенсии, а карьера его в сфере вычислительной техники началась в 1978 году, когда он приобрел свой первый компьютер. С тех пор он успел поработать преподавателем, фотографом, программистом и техническим менеджером различных команд, включая специалистов технической поддержки, инженеров по контролю качества программного обеспечения, системных администраторов и технических писателей. Он получил степень бакалавра в области промышленного дизайна в Сиракузском университете. Уильям является пользователем и сторонником Linux с 1996 года, а также создателем сайта LinuxCommand.org (https://linuxcommand.org/).

Приобрести книгу «Командная строка Linux. Полное руководство. 3-е межд. изд.» можно на Ozon:

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.