Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |


Руководство Linux в виде системы man-страниц - мощный и достаточно удобный инструмент для изучения или получения справочной информации. Но для нормального его использование требуется Linux. А если возникает необходимость чтения этого руководства на компьютере с Windows или телефоне с Android ? То самый естественный способ - воспользоваться интернетом, особенно, учитывая прекрасную способность браузера Chrome переводить английский текст страниц на любой другой язык (а нас интересует русский, естественно).

И в сети имеются ресурсы (хорошие и разные), позволяющие работать с man-страницами. Но почему бы не сделать ещё один, где попытаться преодолеть некоторые неудобства (или добавить новых...), обнаруженные при работе с man-страницами. И вот эта попытка.

В представленной здесь базе данных приведена подборка текстов Руководства Линукс (Linux Man Pages), опубликованных на сайтах проектов: Man7.org и Kernel.org . Общее количество статей - около 1550

Заметим, что в исходном виде man-страницы Linux - это огромный набор текстов статей, а термин page (страница) не имеет никакого отношения к интернет-страницам (интернета ещё не было) и происходит из особенности интерфейса утилиты Man, которая представляет собой pager (пейджер) - инструмент для постраничного отображения простого текста. Поэтому дальше мы будем говорить о статьях, чтобы не возникала путаница между man-page и html-page.

Традиционно статьи руководств относят к одному из разделов (section), которые имеют порядковые номера (1, 2, 3 ... 9). Для удобства здесь этим разделам присвоены краткие имена (1 - User, 2 - Syst, 3 - Libr, 4 - evice, 5 - Files, 7 - Other, 8 - Admin, 10 - Head), по которым выбираются страницы мануалов соответствующих разделов. Раздел 6 про игры здесь опущен. А также добавлен раздел 10 (или 0), описывающий заголовочные файлы, используемые в исходных текстах языка C.

В каждом разделе имеется алфавитный указатель, позволяющий выбрать статью руководства с именем, начинающимся на определенную букву. Список статей содержит имя мануала (это ссылка на его страницу, а также заголовок или краткий комментарий на русском (и оригинал на английском).

Кроме того, в разделе 3 (библиотека функций C) сделана навигация по повторяющимся заголовкам (именам статей руководства). Например, заголовок "API function" имеют 1156 статей. В то же время, довольно много заголовков повторяются лишь в нескольких статьях, а есть и уникальные названия.

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

Количественное распределение статей по разделам приведено ниже


Наименования разделов и количество статей: проект Man7org

  • 1. User ( Пользовательские команды ) - 1595
  • 2. Syst ( Системные вызовы ) - 513
  • 3. Libr ( Функции стандартной C-библиотеки ) - 7578
  • 4. Device ( Специальные файлы и драйвера ) - 44
  • 5. Files ( Форматы файлов и условные обозначения ) - 404
  • 7. Other ( Разное ) - 295
  • 8. Admin ( Команды для управления системой ) - 1039
  • 10. Head ( Заголовочные файлы ) - 82

Исходные тесты статей man-страниц отформатированы как простой текст (с использованием пробелов и пустых строк). И в таком виде они импортированы в БД. Но при отображении в браузере используется два варианта:

  • в общем случае каждый раздел выводится с HTML-форматированием абзацами
  • при показе страницы по ссылке "Формат" происходит вывод текста с сохранением исходного форматирования (это нужно, например, для корректного отображения листингов консольного вывода). Некоторый фрагменты статей (списки параметров, примеры и т.д.) выводятся в таком формате по умолчанию. Способ и оформление вывода в браузере на ПК и в телефоне несколько различаются.

    Примечание. Ниже для обозначения фрагмента текста мы будем использовать термин "глава", чтобы отличить от более крупной категории "раздел". Ххотя в англоязычном оригинале и те и другие названы section ( что иногда может привести к некоторой путанице).

    Каждая статья содержит несколько глав с типовыми (иногда - уникальными) названиями. В зависимости от размера man-статьи и размеров глав отображается либо статья целиком, либо выводятся только имена глав, являющиеся ссылками на полные тексты соответствующих глав.

    Имена глав, наиболее часто встречающихся в man-статьях (не менее 3-х раз), переведены на русский.

    Немного критики (или ворчания).


    1. На наш взгляд, иерархия и структура системы мануалов Линукса, мягко говоря, оставляет желать лучшего. Очевидно, что её происхождение относится к каменному веку, где первый составитель этих руководств сидел и загибал пальцы рук, распределяя статьи руководства по разделам (секциям) и присваивая им уникальный номер. В результате их и получилось всего десять (дальше он считать пока не научился). Ну, а все последующие разработчики, составители и авторы руководств продолжали придерживаться такой структуры ("священная корова"), доведя её до вида, сильно напоминающего абсурд. Например, в структуре мануалов UBUNTU в одних разделах содержится десятки тысяч статей, в других - лишь сотни.


    Наименования разделов и количество статей: Ubuntu

    • 1. User ( Пользовательские команды ) - 37657
    • 2. Syst ( Системные вызовы ) - 748
    • 3. Libr ( Функции стандартной C-библиотеки ) - 74463
    • 4. Device ( Специальные файлы и драйвера ) - 790
    • 5. Files ( Форматы файлов и условные обозначения ) - 2192
    • 7. Other ( Разное ) - 1766
    • 8. Admin ( Команды для управления системой ) - 5819

    2. Малоприятная особенность существующей системы мануалов - большие различия в размерах man-страниц. Есть довольно много статей из нескольких строчек, содержащих минимум полезной информации (например, нет ничего, кроме расшифровки названия). В то же время есть огромные многостраничные (десятки страниц теста) статьи. При этом первые и вторые в иерархии руководств считаются статьями одного порядка, они одинаково оформлены и структурированы. Хотя на "изучение" первых понадобится несколько секунд, а для полного понимания вторых - месяцы.

    3. Ещё один замеченный недостаток - отстуствие системы и единообразия во внутренней рубрикаци статей. Есть заголовки подразделов статей ("глав"), помеченных в man-формате тегом .SH (например, .SH NAME,.SH SYNOPSIS и т.д.), которые при конвертации в html-формат превращаются в заголовки уровня <H2>. Так вот таких разных имен заголовков среди man-статей обнаруживается более 2000 (двух тысяч !). Хотя многие имеют одинаковый смысл, но отличаются лишь написанием имени (например, ед. или мн. число). Понятно, что ни о какой унификации речь не идет.

    4. Дубли. Среди html-страниц проекта man7org обнаружилось свыше полутора тысяч полных дублей (если точнее, то не менее 1672). Часть дублей связаны с тем, что имена man-статей приведены в двух вариантах (только из символов нижнего регистра и со смешанными регистрами), хотя содержимое статей абсолютно идентично. Вторая категория дублей: одна и та же статья имеет множество имен, повторяющих какие-то структурные имена внутри статьи. В нашей БД такие дубли, по-возможности, вычищены, но не все.

    5. Ну, и вишенка на торте. С момента появления man-страниц Линукса прошло уже три десятка лет. Понятно, что когда придумывались и создавались эти man-страницы, условия были совсем другими (интернет только зарождался, компьютеры были большими, а их память крохотной), поэтому был выбран компактный формат для возможности простого консольного вывода на терминал ПК с форматированием отступов пробелами, а абзацев - пустыми строками (особенно "впечатляет" рисование таблиц символами псевдографики). И этот формат используется до сих пор, при этом для отображения в браузере он обычно конвертируется в HTML c тегами <pre>.

    В результате просмотр этих текстов руководств на мобильных устройствах в некоторых случаях не очень удобен, мягко говоря. А в наше время для изучения Линукса (или оперативного получения справочной информации) телефон очень даже не помешает. К сожалению, даже наиболее продвинутый специалист по man-страницам Michael Kerrisk, который создал эту систему в её современном виде, не придавал должного значения фактору мобильности интернета.

    Впрочем, совершенно не исключено, что сейчас существует много других хороших проектов, посвященных man pages, где все все озвученные выше проблемы уже успешно решены. А также есть приложения для Android, правда, англоязычные. Ну, и множество книжек: бумажных и PDF.