В одной из Sys-цикла были описаны непременные компоненты,
которые можно обнаружить практически в любой Linux-системе,
совокупность которых можно назвать Base Linux. Там же было
сделано утверждение, что Base Linux, как следует из названия,
обеспечивает базовую функциональность системы.
С этим, надеюсь, спорить никто не будет. Однако этим
значение Base Linux не исчерпывается: в нем содержится
достаточное количество инструментов для решения самых
различных задач пользователя, администратора, разработчика.
Именно он символизирует собой целостность Linux'а и делает эту
ОС самодостаточной. Не то чтобы в реальной жизни можно
обойтись без различных дополнительных приложений, в том числе
и тяжелых. Но базовый инструментарий, при должном его знании,
позволяет легко и просто (подчас проще, чем специализированные
программы) решить множество вполне реальных задач.
В обоснование этого тезиса и начат цикл статей о
возможностях утилит из стандартного набора Base Linux. Речь в
нем пойдет, в сущности, о тех самых командах, список которых
выдается в ответ на нажатие клавиши табуляции в командной
строке bash свежеустановленной базовой Linux-системы,
например, Gentoo после разворачивания трех основных тарбаллов
(о чем можно прочитать в Gentoo-цикла.
Количество этих команда (а в свежеустановленном Gentoo,
например, их более 670) способно обескуражить. Если, конечно,
хоть как-то не упорядочить (в уме) это богачество. И
упорядочивание это, в почти соответствие с заветами
председателя Мао, можно провести в двух стилях (великий
кормчий, правда, говорил о трех стилях, но меня, не столь
великого, на это не хватило).
Первый стиль упорядочивания - по назначению. Здесь можно
выделить команды пользовательские, административные и
разработческие. И не нужно думать, что первые нужны только
пользователю, вторые - только сисадмину, а третьи -
программеру.
Под пользовательскими можно понимать команды управления
данными (файлами и их содержимым). А ведь и самые крутые
админы или программеры время от времени копируют свои файлы
или просматривают их содержимое. Административные команды
предназначены для управления системой. Но на настольной машине
каждый пользователь обычно - сам себе root, и проблему
подключения нового диска (и даже монтирования дискеты) за него
никто не решит. Ну а разработческие команды нужны не только
для создания нового гениального софта, но и для сборки уже
созданного. И как это делать - неплохо понимать любому юзеру,
даже использующему замечательную систему портежей дистрибутива
Gentoo.
Второй стиль упорядочивания, ортогональный первому - по
принадлежности к именованным наборам утилит, описанным в
статье . Наборы эти часто именуются пакетам
(packages); в частности, именно как packages они фигурируют в
Герарда Бикманса. Однако под пакетами понимаются
обычно откомпилированные бинарники. Мы же отдаем себе отчет в
том, что в основе их лежат наборы исходников, каковой термин я
и буду употреблять далее.
И еще одна оговорка. Стили по назначению и по
принадлежности - ортогональны, но не в Евклидовом
пространстве. И потому одни команды из наборов могут попасть с
юзерскую группу, некоторые - в админскую. А иногда одна и та
же команда может выступать в разных ипостасях.
Таким образом, в этом цикле необходимо рассмотреть, как
соотносятся именованные наборы Base Linux с командами,
классифицированными по их назначению. Как и положено
пользователю, начну с той рубашки, что ближе моему телу - с
пользовательских возможностей.
Введение для юзера
Конечно, для пользователя (как и администратора, и
разработчика, и кого угодно еще) Base Linux начинается с
командной оболочки. Однако дело ее столь сложно, что выделено
в отдельное производство. Как и дело о базовых текстовых
редакторах - этот разговор уже ,
а куда он способен завести - я и сам не знаю. И потому пока
ограничусь только описанием пользовательских утилит Base
Linux, именуемых обычно (и в большинстве случаев справедливо)
GNU-утилитами.
Задач перед пользователем стоит великое множество. Однако
две из них встают с неизбежностью Рагнарека: манипулирование
файлами и манипулирование контентом их.
Под манипулированием файлами понимается, ясное дело,
их:
создание,
копирование, перемещение и переименование,
удаление,
разделение,
архивирование и компрессия.
Однако любая файловая операция начинается с просмотра
текущего состояния файловой системы и (или) поиска
необходимого файла. Несколько позже начнем с этого и мы -
ближайшая из статей цикла будет посвящена именно командам
управления файлами.
А пока вспомним, что файлы создаются (и хранятся) не ради
самих себя, а ради того контента, который в них содержится. И
потому вторая из вековечных пользовательских задач - просмотр
содержимого файлов, его модификация, а главное - поиск файла
по его (весьма приближенно запомненному) содержимому). Так что
следующий (после предыдущего) материал - об управлении
контентом файлов (для определенности - текстовых).
Наконец, есть у пользователя и третья группа задач - ее
можно объединить понятием всякая всячина. Именно
всяким полезным (как мне кажется) утилитам самого разного
назначения и будет посвящена заключительная из юзерских статей
о Base
Linux.