Глава
8. Приложения Linux
Linux:
богатство возможностей
Использование
emacs
Команды
emacs
Режимы
emacs
Создание
и редактирование файлов
Краткий
курс emacs
Xedit
Textedit
Другие
текстовые редакторы
Настройка
текстовых редакторов
Настройка
emacs
Настройка
jed
Средства
обработки текста
Groff:
классический стандарт
ТеХ
Texinfo
Sed
Шрифтовые
утилиты
Менеджеры
файлов
Midnight Commander
Xfm
Tkdesk
Сжатие
и архивация файлов
Gzip
Gunzip
Bzip2
Zip
Tar
Создание
резервных копий системы
Создание
архивов на гибких дисках
Создание
архивов на магнитных лентах
Команды
MTools
Просмотр
каталога DOS (команда mdir)
Изменение
текущего каталога (команда mcd)
Копирование
файлов (команда mсору)
Переименование
файлов DOS (команда mren)
Удаление
файлов DOS (команда mdel)
Просмотр
файлов DOS (команда mtype)
Создание
каталога DOS (команда mmd)
Удаление
каталога DOS (команда mrd)
Копирование
файлов DOS в Linux (команда mread)
Копирование
файлов Linux в DOS (команда mwrite)
Форматирование
диска (команда mformat)
Назначение
метки тома (команда mlabel)
Изменение
файловых атрибутов DOS (команда mattrib)
Графические
программы
Bitmap
Xfig
Xfractint
Xpaint
Xv
Утилиты
JPEG
Утилиты
PhotoCD
Разные
утилиты
Часы
Xdpyinfo
и xev
Xlock
Xmag
Xman
Sc
и xspread
Эмуляторы
Эмуляторы
с SunSITE
Эмуляция
DOS в Linux
Некоторые
математические утилиты
Команда
bc
Dc
Calculator
Игры
Терминальные
игры
Игры
для Х Window
Телекоммуникации
Seyon
и телекоммуникации в Linux
Minicom
и xminicom
Rzsz
Итоги
Глава
8. Приложения Linux
-
Использование emacs
-
Программы обработки текстов:
groff, TeX, texinfo и sed
-
Сжатие файлов утилитой
gzip
-
Архивация файлов утилитой
tar
-
Использование Mtools
-
Средства системного администрирования
-
Приложения Х Window
-
Эмуляция DOS
и Windows
-
Игры и развлечения
-
Телекоммуникации
Итак, ваша система
Linux готова к работе. Настало время познакомиться
со многими замечательными приложениями, которые поставляются вместе с ней.
Linux:
богатство возможностей
В главе 7 мы рассмотрели
многие средства Linux, используемые в повседневной работе. Однако эта глава
лишь едва затрагивает обширный инструментарий Linux ≈ особенно программы,
входящие в поставку Slackware Linux.
В этой главе мы продолжим
знакомство с инструментарием Linux и уделим особое внимание некоторым конкретным
темам. Однако мы не пытаемся рассмотреть все инструменты Linux и в особенности
те, которые входят в большинство версий UNIX.
Вместо этого мы описываем программы, уникальные для Linux или отличающиеся
от своих аналогов из мира UNIX (например,
gzip или tar ≈
вы поймете, о чем идет речь, при обсуждении tar
и сжатия файлов). Так как в Linux входит большинство стандартных команд
UNIX, мы настоятельно рекомендуем купить руководство
по UNIX (список книг приводится в приложении
А) для освоения основных команд. Мы не рассматриваем многие полезные утилиты
(например, grep) ≈ они достаточно подробно
описаны в других книгах, и Linux-версии этих команд почти не отличаются
от эталонных версий UNIX.
Учитывая все сказанное, мы
переходим к рассмотрению многих инструментов, которые делают Linux уникальным
на фоне других операционных систем и других версий UNIX.
Использование
emacs
Редактор vi/elvis,
рассмотренный в главе 7, работает исключительно на текстовом уровне. Все,
что в нем можно сделать, ≈ создать текстовый файл и отредактировать его
в полноэкранном режиме (впрочем, даже это делается очень запутанно, с разделением
режимов команд и ввода).
Текстовый редактор emacs
обладает большими возможностями и прост в использовании. Он был написан
Ричардом Столменом, а права на него принадлежат Фонду бесплатных программ.
В настоящее время многие пользователи UNIX считают
emacs одной из важнейших программ, несмотря на то что emacs поставляется
лишь в немногих коммерческих реализациях UNIX.
Он настолько хорош, что системные администраторы идут на дополнительные
расходы и покупают его для своих систем.
Хотя мы не собираемся вступать
в перепалку между сторонниками редакторов vi
и emacs, этот редактор определенно заслуживает вашего внимания, особенно
если вам не приходилось помногу работать в другом редакторе. Emacs обладает
многими возможностями, отсутствующими в vi:
-
Emacs позволяет редактировать
сразу несколько файлов и выполнять копирование/вставку текста между файлами.
-
В нем имеется электронная документация
≈ большая редкость в мире Linux/UNIX.
-
Он поддерживает проверку правописания,
основанную на команде GNU ispell, которая
вызывается из раскрывающегося меню.
-
Emacs с его раскрывающимися
меню и графическим интерфейсом значительно ближе стоит к полноценному редактору
(хотя, к сожалению, возможности WYSIWIG
в нем отсутствуют).
Вероятно, начинающему пользователю
работать с emacs будет легче, чем с
другими редакторами Linux, ≈ хотя бы
из-за того, что все основные команды всегда могут вызываться из раскрывающихся
меню. Кроме того, emacs обладает множеством других функций, включая чтение
электронной почты и новостей Usenet,
а также редактирование исходных текстов программ на С, Lisp
и ТеХ.
Наше описание относится к
версии emacs для Х Window, которая
входит в поставку Linux от Slackware (emacs
версии 20.2). Если радости Х вас не прельщают, вам следовало во время установки
Linux выбрать обычную версию emacs (не предназначенную для X). Если вы
не используете X, вернитесь и установите эту версию; но если версия emacs
для Х Window была установлена, ее необходимо
удалить перед установкой обычной версии.
Основной материал этого раздела
подойдет и для обычной версии emacs. Для всех перечисленных ниже команд
приводятся клавиатурные сокращения.
Чтобы запустить emacs без
загруженного файла, введите следующую команду в окне xterm:
gilbert:/# emacs
На рис. 8.1 показано, как выглядит
экран emacs без загруженного файла.
Рис. 8.1.Текстовый
редактор emacs без загруженного файла
Кроме того, при запуске emacs
можно загрузить конкретный файл. Для этого его имя указывается в командной
строке (помните: если файл находится не в текущем каталоге, необходимо
ввести его абсолютное имя):
gilbert:/# emacs имя_файла
Если вы уже работали на другом
компьютере или с другим приложением Х Window,
то emacs не вызовет у вас особых затруднений. Впрочем, некоторые изменения
в терминологии могут сбить с толку: например, вы редактируете не отдельные
файлы, а буферы (buffers). Кроме
того, вместо привычного термина ⌠курсор■ (cursor)
для обозначения текущей позиции применяется термин ⌠point■
(в этой главе мы используем термин ⌠курсор■, но вы должны помнить об этом
при чтении документации по emacs).
Команды
emacs
В emacs (и особенно в версии
для Х Window) команды обычно можно
выполнять несколькими способами.
Один из способов ≈ специальные
комбинации клавиш. Любую функцию emacs можно вызвать с клавиатуры. Обычно
в этих комбинациях участвуют клавиши Ctrl
и Alt. Иногда в документации по emacs
вместо Alt упоминается клавиша Meta;
это относится к пользователям компьютеров UNIX,
у которых на клавиатуре нет клавиши Alt.
Конечно, к пользователям Linux это
не относится. Главное ≈ запомните, что вместо Meta везде следует подставлять
Alt. Как правило, клавиши Ctrl
и Alt используются в качестве сокращений
для полных команд, которые при желании можно было бы ввести.
При использовании комбинаций
клавиш необходимо помнить еще об одном:
всюду, где встречается обозначение
вида Ctrl+x Ctrl+f, следует нажать
клавишу Ctrl, а затем, не отпуская
ее, последовательно нажать клавиши х и f
(не отпускайте Ctrl между нажатиями
х и f.
Второй способ ≈ раскрывающиеся
меню. Как видно из рис. 8.2, в emacs имеется несколько меню (Buffers,
File, Edit и Help).
Работа с ними отличается от работы с меню в среде Microsoft Windows,
Macintosh или OS/2. В этих системах команда
меню вызывает другое действие ≈ например, открывает диалоговое окно или
другое меню.
Меню emacs фактически обеспечивают
доступ к командной строке, расположенной в нижней части экрана. Например,
выполните команду Open File из меню
File (или воспользуйтесь эквивалентной комбинацией
клавиш Ctrl+x Ctrl+f). Вопреки ожиданиям на экране не появится диалоговое
окно со списком существующих файлов. Вместо этого в нижней части окна emacs
появляется окно с указанием текущего каталога.
Здесь можно выбрать нужный
каталог. После этого на экране появляется список файлов (рис. 8.3).
Рис. 8.2.
Раскрывающиеся меню текстового редактора emacs
Рис. 8.3.Окно
emacs с содержимым каталога
Если внимательно присмотреться к рис. 8.3, вы заметите,
что количество раскрывающихся меню заметно увеличилось. В зависимости от
контекста emacs отображает разные наборы меню.
Список на рис. 8.3 лишь показывает различные варианты.
Его содержимое доступно только для чтения, и вы не можете прокрутить его,
чтобы выбрать нужный файл или каталог; вместо этого вы снова выбираете
команду Open File из меню File (Ctrl+x
Ctrl+f) и вручную вводите имя файла или каталога.
Короче говоря, команда Open File в
действительности предоставляет доступ к командной строке emacs
и выполняет команду ls -l.
После того как файл будет
выбран, появится нечто похожее на рис. 8.4. Конечно, ваш файл будет содержать
более осмысленную информацию.
Рис. 8.4.Окно
emacs с загруженным файлом
И снова строка меню emacs слегка меняется в соответствии
с контекстом редактирования простого текстового файла. На рис. 8.4 emacs
сообщает имя файла (test),
текущий режим (Fundamental) и долю
файла, поместившуюся на экране (в нашем примере ≈ 22 percent).
Обратите внимание: строка
состояния в нижней части окна emacs тоже изменилась. На предыдущем рисунке
в строке состояния был указан режим Lisp Interaction
и отсутствовало имя файла (что было вполне оправдано, потому что файл еще
не был загружен). Мы подошли к важнейшей особенности emacs ≈ режимам.
Режимы
emacs
Как вы уже видели, поведение
emacs меняется в зависимости от контекста: в разных условиях отображаются
разные меню. Еще одно проявление гибкости emacs ≈ поддержка режимов, то
есть фактически изменение поведения emacs в зависимости от текущей работы.
Например, на рис. 8.1 и 8.2
emacs находится в интерактивном режиме Lisp. Если
вы программируете на Lisp, этот режим
вам пригодится. Однако большинство из нас интересуют другие режимы emacs
≈ особенно базовый режим, изображенный на рис. 8.4 (Fundamental
mode). Этот режим используется для редактирования
ASCII-файлов. В emacs предусмотрены
и другие режимы ≈ например, режимы редактирования исходных текстов на языках
С и ТеХ.
Создание
и редактирование файлов
Как правило, emacs работает
достаточно прямолинейно; большинство действий выполняется с помощью раскрывающихся
меню или эквивалентных комбинаций клавиш.
При запуске emacs из командной
строки появляется пустой экран. Если вы создаете новый файл, просто начинайте
вводить текст. В конце строки emacs автоматически переносит текст, но несколько
необычно ≈ символ ⌠обратная косая черта■ (\) означает, что слово продолжается
на следующей строке (рис. 8.5).
Рис. 8.5.Текстовый
редактор emacs с введенным текстом
Перемещение курсора в этой версии emacs происходит так
же, как и в любом другом текстовом редакторе. Впрочем, некоторые особенности
все же существуют:
-
Клавиши PageUp и PageDn
относятся к позиции документа в буфере emacs.
Если в окне отображается весь документ, при нажатии клавиш ничего не происходит.
-
Клавиши Ноmе и End
используются для пометки текста и установки курсора в начало или в конец
документа.
-
Клавиши Backspace
и Delete работают так, как вы привыкли.
Одно из преимуществ Linux на архитектуре
PC как раз и состоит в том, что Linux
предполагает,
что вы работаете со стандартным оборудованием PC.
Как правило, эти предположения оказываются оправданными. В крайнем случае
существует механизм переназначения клавиш, однако в Linux
и XFree86 эти проблемы сведены к минимуму.
В табл. 8.1 перечислены
дополнительные комбинации клавиш для перемещения по документу.
Таблица 8.1. Команды
перемещения курсора в emacs
Команда
|
Описание
|
Ctrl+a |
Перемещение
курсора в начало текущей строки |
Ctrl+b |
Перемещение
курсора на один символ назад |
Ctrl+e |
Перемещение
курсора в конец текущей строки |
Ctrl+f |
Перемещение
курсора на один символ вперед |
Ctrl+n |
Перемещение
курсора на следующую строку |
Ctrl+p |
Перемещение
курсора на предыдущую строку |
Ctrl+v |
Прокрутка
документа на одну страницу вперед |
Alt+v |
Прокрутка
документа на одну страницу назад |
Alt+< |
Перемещение
курсора в начало документа |
Alt+> |
Перемещение
курсора в конец документа |
Буферы
В терминологии UNIX
буфером
(buffer) называется область памяти, выделяемая
для определенной цели. В emacs в буфере может находиться существующий файл
или новый файл, над которым вы работаете. Содержимое буфера никак не связано
с жестким диском. В него можно вносить любые изменения, которые отразятся
на жестком диске лишь после сохранения файла. Это иногда смущает неопытных
пользователей, которые считают, что содержимое экрана всегда точно воспроизводится
на диске.
Emacs позволяет работать
с несколькими буферами и выполнять копирование/вставку текста между буферами.
Чтобы узнать, какие буферы открыты в настоящий момент, откройте меню
Buffers (или нажмите Ctrl+x Ctrl+b).
Результат показан на рис. 8.6.
Рис. 8.6.Буферы
в emacs
Электронная документация
Существует еще одна область,
в которой emacs превосходит большинство
других текстовых редакторов Linux:
наличие полноценной электронной документации. Чтобы вызвать справку, откройте
меню Help и выберите нужную команду.
Некоторые элементы справки учитывают текущий контекст и относятся к операции,
выполняемой в данный момент (например, справка по режимам). Также существуют
общие справочные разделы и обучающее руководство.
Чтение электронной документации
удобно начать с команды Info (Ctrl+h i), которая
выводит общие сведения об электронной документации emacs (рис. 8.7). Комбинация
Ctrl+h t запускают удобную обучающую программу.
Рис. 8.7.Буферы
в emacs
Мы вернемся к обсуждению справочной системы emacs позднее,
в разделе ⌠Тех-info■.
Краткий
курс emacs
Многие пользователи Linux
не интересуются ⌠наворотами■ emacs; все, что им нужно, ≈ это возможность
создавать и редактировать документы. Исходя из этого, мы подготовили небольшой
учебный курс, посвященный процессу создания и редактирования текстовых
файлов в emacs.
Вы уже знаете, как запустить
emacs. Если вы хотите создать новый файл, приступайте к набору текста после
загрузки редактора. Если вы хотите загрузить существующий файл и не указали
его имя в командной строке, откройте его командой File|0pen File
(Ctrl+x Ctrl+f).
В процессе редактирования
файла используются основные клавиши перемещения курсора и редактирования.
Когда настанет время сохранить файл, выполните команду File|Save
Buffer (Ctrl+x Ctrl+s).
Чтобы выйти из emacs,
выполните команду File|Exit Emacs (Ctrl+x Ctrl+c).
Если вы не сохранили внесенные изменения, emacs предложит сохранить файл
перед выходом.
Отмена
Emacs позволяет отменить
последнее действие. Конечно, для этого используется команда Edit|Undo
(эквивалентная комбинация клавиш ≈ Ctrl+_).
Редактирование текста
При редактировании существующего
текста можно пойти одним из двух путей. Консервативные пользователи
UNIX и emacs обожают громоздкие команды, предназначенные
для удаления и правки текста. Мы, ⌠модернисты■, привыкли к более современным
(и удобным) способам.
Например, существует множество
команд для выделения существующего текста, сохранения его в буфере и последующей
вставки буфера в существующий или новый файл. Нам кажется, что значительно
удобнее выделить текст мышью и затем воспользоваться нужной командой меню
Edit для выполнения следующей операции (вырезание/копирование/вставка).
Если вы знакомы с этой тройкой по работе в Windows, Macintosh
или OS/2, то и в Linux проблем не будет:
-
Команда Cut (Ctrl+w)
вырезает текст и сохраняет его в другом буфере.
-
Команда Copy (Alt+w)
копирует текст в буфер, оставляя исходный выделенный фрагмент на прежнем
месте.
-
Команда Paste (Ctrl+y)
вставляет текст из буфера в текущей позиции курсора.
Обратите внимание на два
обстоятельства: во-первых, комбинации клавиш отличаются от тех, что используются
в Windows, Macintosh или OS/2. Во-вторых,
помеченный текст подсвечивается при его выделении мышью, но не после того,
как вы отпустите кнопку мыши. При этом текст остается выделенным, просто
вы этого не видите.
Удаление текста происходит
аналогичным образом: сначала текст помечается мышью, а затем стирается
командой Edit|Clear (у которой почему-то
нет собственной комбинации клавиш). Для удаления помеченного текста нельзя
использовать клавишу Backspace или
Delete. В табл. 8.2 перечислены комбинации
клавиш для удаления текста (специально для закоренелых ⌠клавишников■, которые
ненавидят работать с мышью).
Таблица 8.2. Команды
удаления в emacs
Клавиши
|
Результат
|
Delete |
Удаление
символа в позиции курсора |
Backspace |
Удаление
символа слева от курсора |
Ctrl+d |
Удаление
символа в позиции курсора |
Ctrl+k |
Удаление
всех символов до конца строки |
Alt+d |
Удаление
символов до начала следующего слова |
Alt+Delete |
Удаление
символов до начала предыдущего слова |
Наконец, в emacs
существует немало возможностей для модификации существующего текста. Большинство
этих команд отсутствует в меню, поэтому их приходится вызывать с клавиатуры.
Эти команды перечислены в табл. 8.3.
Таблица 8.3. Дополнительные
команды редактирования в emacs
Клавиши
|
Результат
|
Ctrl+t |
Переставляет
символ в позиции курсора с предыдущим символом |
Alt+t |
Переставляет
слово под курсором с предыдущим словом |
Ctrl+x Ctrl+t |
Переставляет
текущую строку со следующей строкой документа; помните о том, что в emacs
строка может представлять собой абзац, если в ее конце нет символа возврата
курсора |
Alt+l
(буква l!) |
Преобразует
слово к нижнему регистру; если курсор расположен в середине слова, emacs
изменяет регистр только в оставшейся части слова |
Alt+u |
Преобразует
слово к верхнему регистру; если курсор расположен в середине слова, emacs
изменяет регистр только в оставшейся части слова |
Alt+c |
Начинает
слово с прописной буквы (при условии, что курсор находится в начале слова) |
Поиск и замена
Emacs не обладает изощренными
возможностями поиска и замены текста, но расширенные средства поиска/замены,
встречающиеся в коммерческих текстовых редакторах, используются достаточно
редко.
Чтобы найти конкретную последовательность
символов, выполните команду Edit|Search.
В нижней части окна появляется приглашение:
Search:
Здесь вводится последовательность
символов, которая ищется в прямом направлении от текущей позиции курсора
(а не от начала файла).
Если нажать Ctrl+S
на клавиатуре, механизм поиска будет несколько иным. В нижней части окна
появляется приглашение:
I-Search:
Поиск выполняется последовательно.
Это означает, что emacs начинает перемещение по документу после ввода первого
символа (например, после ввода t происходит
перемещение к первому найденному экземпляру t).
Поиск с заменой выполняется
командой Edit|Query-Replace. Вам будет
предложено ввести искомую и новую строку. После этого emacs переходит к
первому экземпляру искомой строки в буфере и спрашивает, хотите ли вы заменить
текст (клавиша у производит замену, клавиша n отказывается от нее).
Проверка правописания
В emacs присутствует модуль
проверки правописания, который в действительности является расширением
ispell ≈ GNU-версии почтенной команды
spell из системы UNIX.
Если выполнить команду Edit[Spell,
на экране появляется список возможных вариантов ≈ проверка буфера, проверка
конкретного слова или проверка с использованием другого или иностранного
словаря. Кроме того, меню позволяет внести изменения в словарь (полезная
возможность, особенно если вы пишете книгу и используете множество слов,
отсутствующих в стандартном словаре).
Linux также позволяет запустить
команду spell из командной строки.
Печать
Чтобы напечатать файл в
emacs, выполните команду File|Print
Buffer (эквивалентной комбинации клавиш не
существует). Эффект будет тем же, что и при запуске lpr
из командной строки.
Выход
Комбинация Ctrl+x
Ctrl+c сохраняет текущий буфер и завершает
работу с emacs. Кроме того, можно воспользоваться командой File)
Exit Emacs.
Emacs обладает чрезвычайно
широкими возможности. Все, что мы могли сделать, ≈ предоставить краткий
обзор emacs и предложить вам самостоятельно выяснить, какие из этих возможностей
лучше всего подходят для вашей ситуации.
Xedit
Редактор xedit
обладает существенно меньшими возможностями, но при случае может пригодиться
и он. Xedit ≈ простой текстовый редактор,
в котором экран делится на несколько областей для редактирования текста
и создания черновиков.
Xedit можно запустить из
меню fvwm или в окне xterm.
Если в командной строке указано имя файла, этот файл будет загружен в
xedit. Для приложения Х Window
мышь выполняет не так уж много функций: загрузка и сохранение файла, а
также выделение текста. Однако комбинации клавиш с Ctrl
и Alt, перечисленные в табл. 8.4, позволяют
выполнять множество других действий.
Таблица 8.4. Операции
редактирования в xedit
Комбинация клавиш
|
Операция
|
Alt+Delete |
Удаление
предыдущего слова |
Alt+Backspace |
Удаление
следующего слова |
Alt+< |
Перемещение
фрагмента в начало файла |
Alt+> |
Перемещение
фрагмента в конец файла |
Alt+] |
Перемещение
фрагмента на один абзац вперед |
Alt+[ |
Перемещение
фрагмента на один абзац назад |
Alt+b |
Перемещение
курсора к началу предыдущего слова |
Alt+d |
Удаление
слова после текущей позиции курсора |
Alt+f |
Перемещение
курсора к началу следующего слова |
Alt+h |
Удаление
слова перед текущей позицией курсора |
Alt+i |
Вставка
файла |
Alt+k |
Удаление
текста до конца текущего абзаца |
Alt+q |
Преобразование
фрагмента в абзац с отступом на новой строке |
Alt+v |
Перемещение
курсора к началу предыдущей страницы |
Alt+y |
Вставка
выделенного фрагмента в текущей позиции курсора |
Alt+z |
Прокрутка
выводимого текста на одну строку вниз |
Ctrl+a |
Перемещение
курсора в начало строки |
Ctrl+b |
Перемещение
курсора на один символ назад |
Ctrl+d |
Удаление
символа после курсора |
Ctrl+e |
Перемещение
курсора в конец строки |
Ctrl+f |
Перемещение
курсора на один символ вперед |
Ctrl+h |
Удаление
символа перед курсором |
Ctrl+j |
Вставка
символа перевода строки и создание отступа в следующей строке |
Ctrl+k |
Удаление
до конца строки |
Ctrl+l |
Перерисовка
экрана |
Ctrl+m |
Вставка
символа перевода строки |
Ctrl+n |
Перемещение
курсора на следующую строку |
Ctrl+o |
Вставка
символа перевода строки и перемещение курсора к предыдущей строке |
Ctrl+p |
Перемещение
курсора к предыдущей строке |
Ctrl+r |
Поиск
и замена перед текущей позицией курсора |
Ctrl+s |
Поиск
и замена после текущей позиции курсора |
Ctrl+t |
Перестановка
символов до и после курсора |
Ctrl+v |
Переход
на следующую страницу |
Ctrl+w |
Удаление
выделенного фрагмента |
Ctrl+y |
Отмена
последней операции удаления, выполненной клавишами Ctrl+w |
За дополнительной информацией об
xedit обращайтесь к электронной документации, для просмотра которой
желательно использовать xman.
Textedit
Если вам приходилось работать
с продуктами Sun Microsystems, вероятно,
редактор textedit покажется вам знакомым:
gilbert:~$ textedit
В этом редакторе для открытия
файлов и управления ими используются знакомые кнопки Open Look.
Textedit представляет собой несложный текстовый
редактор с возможностями поиска и замены, а также копирования выделенных
фрагментов в буфер.
За дополнительной информацией
о textedit обращайтесь к страницам
руководства.
Другие
текстовые редакторы
Если описанные редакторы
вас не устраивают, попробуйте другие:
-
Vim ≈ vi-совместимый текстовый
редактор (отсутствует только команда Q).
Он дополняет базовый набор команд vi
некоторыми возможностями, позаимствованными из оболочек, в том числе историей
командных строк, автоматическим дополнением имен файлов и т. д.
-
Редактор Jove (Jonathan's
Own Version of Emacs) во многих отношениях
похож на emacs, в нем также используются
буферы и т. д. Если вы предпочитаете emacs,
но не располагаете достаточным местом на жестком диске для его установки,
используйте jove и чувствуйте себя
как дома (хотя в некоторых областях jove
существенно отличается от emacs; за
информацией обращайтесь к страницам руководства).
-
Jed ≈ редактор, который настраивается
на эмуляцию других редакторов, включая EDT,
редактор системы VMS. Также существует
версия редактора для Х Window, xjed.
Редактор jed предназначен в первую
очередь для программистов.
-
Joe означает ⌠Joe's Own
Editor■ ≈ разработчики программ любят включать
свои имена в названия продуктов. Этот текстовый редактор поддерживает некоторые
старые конвенции WordStar (немного
истории: текстовый редактор
WordStar играл большую роль в мире
MS-DOS, однако с появлением Windows
он практически не используется). Многие основные задачи в WordStar
выполнялись комбинациями вида Ctrl+клавиша; именно они и применяются в
joe.
-
Ветераны UNIX
могут предпочесть редактор ed (также
вызываемый командой red). Версия этого
редактора в Slackware Linux обладает
весьма ограниченными возможностями (как, впрочем, и прототип).
Настройка
текстовых редакторов
Как правило, текстовые
редакторы Slackware Linux можно запускать
практически без настройки. Тем не менее в некоторых ситуациях все же следует
произвести настройку для расширения функциональных возможностей редактора
(особенно emacs и jed).
Настройка
emacs
Версия emacs, включенная
в Slackware Linux, не настроена на
использование цветов и цветовое выделение элементов синтаксиса при работе
в X. Чтобы включить обе возможности, включите следующие строки в файл .emacs,
находящийся в вашем основном каталоге:
(global-font-lock-mode t)
(setq font-lock-maximum-decoration
t)
Настройка
jed
Для настройки jed используется
скрытый файл .jedrc. Иногда jed отказывается
правильно работать (особенно на портативных компьютерах), поэтому вам придется
создать небольшой файл и заставить клавиши работать так, как вы хотите.
Создайте в каталоге /usr/lib/jed/lib/
файл defaults.sl, состоящий всего из
одной строки:
() = evalfile("linux");
Затем отредактируйте файл
/usr/lib/jed/lib/linux.sl и снимите комментарий
со следующей строки:
Info_Directory = "/usr/info"
Если вы хотите использовать
jed для написания электронной почты, добавьте следующую строку:
UCB_Mailer = "/bin/mail"
Пользователи VMS
нередко хотят, чтобы jed был похож на EDT.
Для этого необходимо внести некоторые изменения в файл конфигурации .jedrc.
Например, чтобы клавиша + на цифровой клавиатуре удаляла целые слова вместо
отдельных символов, вставьте следующий фрагмент в файл .jedrc, за строкой
evalfile("edt");; :
unsetkey("\e01");
unsetkey("\e0P\e01");
setkey("edt_wdel, "\e01");
setkey("edt_uwdel", "\e0P\e01");
Чтобы сделать то же самое в
редакторе xjed при работе в X, вставьте следующий фрагмент в файл
.Xmodmap:
keycode 77 = KP_F1
keycode 112 = KP_F2
keycode 63 = KP_F3
keycode 82 = KP_F4
keycode 86 = KP_Separator
Кроме того, включите в файл
/etc/X11/X86Config следующий фрагмент:
# ServerNumLock # make sure this
is commented out
XkbDisable
Если у вас возникнут проблемы с клавиатурой,
попробуйте удалить строку XkbDisable. Обычно такие проблемы возникают на
портативных компьютерах и у пользователей за пределами США.
Xjed не выбирает цветной режим
автоматически, поэтому вам придется включить в файл .Xdefaults
следующий фрагмент:
xjed*Geometry: 80х32+150+50
xjed*font: 10х20
xjed*background: midnight blue
Если вам не нравится темно-синий
фон, выберите другой цвет.
Средства
обработки текста
В Linux,
как и в других вариантах операционной системы UNIX,
кроме уже описанных текстовых редакторов существует немало других средств
для обработки текста. Однако знакомство с ними потребует небольшого вступления.
Система UNIX
(а соответственно, и Linux) построена на основе набора специализированных
команд, при этом различные аспекты задачи делятся между мелкомасштабными,
конкретными командами. Например, чтобы создать документ, нельзя запустить
текстовый редактор (скажем, WordPerfect)
и создать весь документ с изощренным форматированием. Хотя emacs
делает многое из того, что делают хорошие текстовые редакторы для
Windows и Macintosh,
в вопросах нетривиальной обработки текста и простейшего макетирования его
возможности весьма ограничены.
На самом деле эта слабость
присуща системе UNIX с ее распределением
мелких задач по мелким командам. Традиционно документы в UNIX
создаются с помощью программных средств трех видов:
-
Текстовые редакторы (например,
elvis и emacs).
-
Программы обработки текста (например,
groff или ТеХ).
-
Команды печати (такие, как
lpr).
В этой и предыдущей главах
вы познакомились с основными текстовыми редакторами Linux. В этой главе
мы займемся программами обработки текста, а затем рассмотрим процесс печати
в Linux.
Groff:
классический стандарт
На ранних стадиях своего
развития UNIX рассматривалась как идеальный
интерфейс к мощным системам печати (именно так мотивировались первые разработки
UNIX в Bell Labs).
В результате в UNIX появилось много
различных средств обработки текстов. Некоторые из них исчезли под натиском
коммерческих пакетов редактирования/обработки текста с достоверным воспроизведением
документа на экране (например, Framemaker
и WordPerfect). Тем не менее groff
и его собратья прекрасно справляются с большинством несложных задач обработки
текстов.
Roff ≈ так называлась исходная
программа обработки текста, появившаяся в UNIX
при участии Bell Labs. Co временем
на ее основе были созданы другие утилиты (такие, как troff
и psroff). Roff и ее потомки выполняли
функции фильтров, которые получали из текстового редактора входные данные
(конечно, заранее отформатированные командой roff)
и отправляли их на конкретный принтер. Команды форматирования обеспечивали
разбивку на столбцы, выбор шрифтов, вывод рамок и другие виды оформления.
В Slackware
Linux входит groff ≈ GNU-версия troff. Программа groff и сопровождающие
утилиты позволяют форматировать документы для широкого спектра устройств,
включая принтеры PostScript (с использованием
драйвера ps), ТеХ, программ Х
Window и устройств построчной печати.
Использование groff
Программа groff получает
входные данные от текстового редактора (например, из elvis
или emacs) и готовит их к выводу на
другое устройство. Вы со своей стороны должны включить команды форматирования
groff в текстовый документ.
Команды форматирования groff
начинаются с символа ⌠обратная косая черта■ (\) или ⌠точка■ (.). Groff
интерпретирует эти команды для выходного устройства. Например, вы можете
ввести некоторый текст (рис. 8.8) в elvis или emacs и затем сохранить его
под именем rules в своем основном каталоге.
Рис. 8.8.Входные
данные для groff
Документ, отформатированный groff, отправляется на стандартный
принтер следующей командой:
gilbert: ~$ groff rules | Ipr
Чтобы увидеть результат форматирования
на экране, воспользуйтесь следующей командой:
gilbert:~$ groff rules
После того как текст на рис.
8.8 будет обработан groff, документ принимает вид, показанный на рис. 8.9.
Используя groff, необходимо
помнить о некоторых фактах:
-
Groff автоматически заполняет
выводимые строки до правого поля, даже если в тексте встречаются символы
перевода строки. Чтобы этого не происходило, вставьте в начало документа
команду .nf (сокращение от nо fill,
то есть ⌠без заполнения■).
-
Groff автоматически увеличивает
пробелы между словами, чтобы текст выравнивался по ширине. Нам не нравится
такой способ выравнивания, потому что в результате появляются некрасивые
строки (особенно при наличии длинных слов). Обычно мы запрещаем
groff выравнивать текст по ширине, для чего
в начало файла вставляется команда .ad.
Рис. 8.9.Документ,
обработанный программой groff
-
Как видно из рис. 8.9,
для выделения текста полужирным и курсивным начертанием используются команды,
начинающиеся с /f; например, команда
/fB включает полужирное начертание, а команда
/fI ≈ курсив. Эти команды продолжают действовать
до тех пор, пока не будут завершены командой /fR.
-
Первая строка сообщения оформлена
шрифтом размера 12 пунктов, а во всем
остальном документе используется 10-пунктовый шрифт. Размер шрифта определяется
командой \s, за которой указывается
число (конечно, эта команда действует только для устройств, способных работать
со шрифтами разных размеров; у старых устройств построчной печати такой
возможности нет).
-
Команды, начинающиеся с точки
(.), должны находиться в отдельных строках.
В документе эти строки не выводятся. Команды, начинающиеся с обратной косой
черты (\), могут находиться в любом месте документа.
Некоторые полезные команды
groff перечислены в табл. 8.5.
Таблица 8.5.
Полезные команды форматирования groff
Команда
|
Результат
|
.ad |
Запрет
выравнивания текста по ширине |
.Ьр |
Вставка
разрыва страницы |
.ce n |
Выравнивание
по центру следующих n строк; если количество строк не указано, выравнивается
всего одна строка |
.fi |
Включение
режима заполнения (отмена .nf) |
.ft n |
Изменение
начертания (n = В для полужирного шрифта и т. д.) |
\fn |
Изменение
начертания (n = В для полужирного
шрифта и т. д.) |
.in n |
Установка
отступа для последующих строк величиной n пробелов |
.Is n |
Установка
межстрочных интервалов в документе. Например, команда .Is
2 устанавливает двойные интервалы. По умолчанию используются одинарные
интервалы |
.na |
Разрешение
выравнивания текста по ширине (отмена .ad) |
.nf |
Запрет
режима заполнения |
.pl n |
Количество
строк на странице устанавливается равным п; по умолчанию на странице
выводится 66 строк |
.po ni |
Установка
левого поля. Значение 1l (один - буква l)
устанавливает размер поля равным 1 дюйму. Это значение необходимо задать,
иначе печать начнется с физического левого края страницы (вместо дюймов
можно использовать сантиметры, для этого 1 заменяется на с) |
.ps n |
Установка
размера шрифта n |
\sn |
Установка
размера шрифта п |
.sp n |
Пропуск
п
строк. Чтобы пропустить полосу конкретного размера, используйте обозначение
ni (для дюймов) или nс (для сантиметров) |
.ti n |
Создание
отступа в первой строке последующих абзацев величиной n пробелов |
.un n |
Подчеркивание
следующей строки. Если числовой параметр (n) задан, подчеркиваются следующие
п
строк. Подчеркивание должно использоваться для целой строки, вы не можете
подчеркнуть конкретное слово |
Как всегда, за справкой
следует обратиться к странице электронной документации. Для этого используется
следующая команда:
gilbert:~/$ man groff
Создание man-страниц в groff
Программистов или системных
администраторов может заинтересовать применение для создания страниц электронной
документации. Страницы создаются так же, как и документы в предыдущем разделе
≈ сначала они форматируются в elvis
или emacs, а затем полученные документы
обрабатываются groff. Однако для создания man-страниц необходимо при запуске
groff указать два параметра: -Tascii
(вывод результатов в виде ASCII-текста вместо форматирования текста для
принтера; по умолчанию используется формат PostScript)
и -man (использование макросов man-страниц).
Программа groff также может
осуществлять вывод на другие устройства и программы. Параметр
-Tdvi создает файлы для
ТеХ в платформонезависимом формате DVI.
ТеХ
Великий наставник и знаток
программирования Дональд Кнут (Donald Knuth) разработал
ТеХ (произносится ⌠тех■, а не ⌠текс■) для решения сложных задач макетирования,
с которыми не справлялись компьютерные программы того времени (например,
математические формулы или использование иностранных языков). ТеХ работает
по тому же принципу, что и groff: вы создаете исходный файл в elvis
или emacs, а затем ⌠прогоняете■ его через ТеХ. В Linux также включен
LaTeX ≈ набор полезных макросов для работы
с ТеХ, а также огромное количество шрифтов (для тех, кто занимается подготовкой
публикаций, одни эти шрифты оправдают установку Linux; в них представлены
все крупные и большинство мелких диалектов и даже такая экзотика, как шрифты
клингонского языка).
Мы не будем подробно рассматривать
ТеХ. Во время установки Slackware Linux
с CD-ROM вам было предложено установить
ТеХ и прилагаемые шрифты. Если вы не сделали этого, запустите программу
установки снова и установите программы ТеХ. Работа с ТеХ ≈ занятие нетривиальное;
если в вашей работе используется точное математическое форматирование,
найдите одну из многочисленных книг по ТеХ.
Texinfo
Программа форматирования
текста texinfo была любезно предоставлена
той же организацией, от которой мы получили emacs. Texinfo ≈
относительно недавняя попытка обеспечить полезной документацией всех пользователей
UNIX/Linux. Программа texinfo
создает файлы, доступные для справочных систем приложений, в командной
строке или даже в виде печатного руководства. Конечно, главное преимущество
состоит в том, что документация изменяется всего в одном исходном файле.
Поскольку это упрощает процесс создания толковой электронной документации,
мы аплодируем авторам ≈ система UNIX
известна своей запутанностью, a texinfo
помогает донести справочную информацию до широких масс.
Приятная подробность: Фонд
бесплатных программ использует те принципы, которые он распространяет,
и оформляет большую часть электронной документации в виде файлов
texinfo. Если вы работаете с emacs, обратите
внимание на файлы texinfo, использованные
в меню Help (те же файлы можно вызвать
комбинаций Ctrl+h I).
Справочные файлы верхнего
уровня изображены на рис. 8.10.
Рис. 8.10.
Справка по emacs
Хотя на рисунке видна лишь часть страницы, в этой части
документации emacs описываются продукты Фонда бесплатных программ, большая
часть которых была включена в Slackware Linux.
Например, после прокрутки страницы вы найдете описание самой программы
texinfo (рис. 8.11).
Рис. 8.11.Электронная
документация по системе texinfo
Для работы с этими файлами
необязательно запускать emacs. To же
самое можно сделать следующей командой:
gilbert:/$ info
Результат изображен на рис.
8.12.
Рис. 8.12.Команда
info в действии
Как видно из рис. 8.11, по texinfo
имеется полная электронная документацией. Благодаря ей дальнейшее описание
излишне. Из файлов, перечисленных на рис. 8.11, можно узнать все необходимое
о создании страниц texinfo.
Sed
Команда sed (Streams
EDitor) в действительности не является ни
текстовым редактором, ни программой обработки текста. Впрочем, ее можно
использовать для интерактивной обработки текста. А можно рассматривать
sed как фильтрующий текстовый редактор. С технической точки зрения команда
sed выполняет следующие операции:
-
Чтение текста из файла.
-
Внесение изменений в текст.
-
Отображение нового текста на
экране или сохранение его в файле.
Все эти операции определяются
в командной строке. Типичная команда sed выглядит так:
gilbert:~$ sed -n [-е операция |-f
имя_сценария] имя_файла
где -n ≈ номер строки или строк,
операция ≈ одна из допустимых операций sed, имя_сценария ≈ файл с расширенным
списком операций sed, а имя_файла ≈ файл, с которым работает sed.
Параметры командной строки
sed перечислены в табл. 8.6.
Таблица 8.6. Параметры
командной строки sed
Параметр
|
Назначение
|
-е |
Сообщает
sed о том, что следующий параметр является операцией; если используется
всего одна операция, -е можно опустить |
-f |
Определяет
файл сценария; если некоторые операции должны использоваться регулярно,
сохраните их в файле сценария для последующего использования |
-n |
Определяет
номер строки или диапазона строк |
Чтобы узнать, как работает
sed, создайте текстовый файл с именем test:
This is a test of the Emergency Linux
system. This is a test.
If this were an actual document, we
probably would take it more
seriously than we do in this flippant,
unorganized memo.
Для начала воспользуемся
sed для вывода части файла test ≈
например, второй и третьей строки. Выполните следующую команду:
$ sed -n '2.3p' test
На экране появляется следующее:
If this were an actual document,
we probably would take it more
seriously than we do in this flippant,
unorganized memo.
Если бы мы захотели сохранить
результаты в файле, это можно было бы сделать следующей командой:
$ sed -n '2.3p' w имя_файла test
где имя_файла ≈ имя сохраняемого
файла.
В нашем маленьком примере
обратите внимание на следующее:
-
Поскольку мы использовали всего
одну операцию, параметр -е был опущен.
-
Команда заключена в апострофы
≈ по этому признаку sed
узнает, что весь текст внутри апострофов относится к одной операции.
-
Мы указали строки, с которыми
должна работать команда sed. Без указания
строк sed предполагает, что работать
следует со всем файлом.
Конечно, вывод или сохранение
≈ далеко не единственная возможность. В табл. 8.7 перечислены основные
операции sed.
Таблица 8.7. Основные
операции sed
Операция
|
Результат
|
а\строка |
Добавление
последовательности строка |
с\строка |
Замена
указанных строк последовательностью строка |
d |
Удаление
заданных строк или последовательностей символов |
i |
Вставка
заданной последовательности символов перед заданными строками |
l |
Вывод
файла или его части, при этом отображаются символы, обычно используемые
для форматирования. Например, символы табуляции отображаются в виде символа
> |
p |
Передача
результатов на стандартный вывод ≈ то есть на экран, если явно не указано
обратное |
r имя_файла |
Вставка
файла с заданным именем после заданной строки |
s/cmpoкa1/строка2/ |
Замена
строки1
на строку2 |
w имя_файла |
Запись
строк в файл с заданным именем |
Как и большинство команд
UNIX, sed может использоваться при перенаправлении
ввода/вывода и в сочетании с другими командами. За дополнительной информацией
о sed обращайтесь к справочникам, перечисленным в приложении А. Кроме того,
сведения о sed можно почерпнуть из man-страницы:
gilbert:~$ man sed
Шрифтовые
утилиты
В распоряжении пользователей
Х Window оказывается большой набор
шрифтов. Чтобы узнать, какие шрифты имеются на вашем компьютере, выполните
команду xlsfonts:
gilbert:~$ xlsfonts
Вероятно, перед вами промелькнет
длинный список шрифтов. Вот почему вывод команды обычно направляется в
файл или на ввод команды more, которая
отображает список шрифтов постранично:
gilbert:~$ xlsfonts | more
-adobe-соurier-bold-i-normal-0-0-0-0-m-0-iso8859-1
Чтобы узнать, какие шрифты поддерживаются
вашим сервером шрифтов (при условии, что он был установлен, ≈ см. главу
3), выполните команду fslsfonts:
gilbert:~$ fslsfonts
В этом случае вывод также желательно
направить в файл или на ввод команды less.
Для получения информации
о конкретном сервере шрифтов используется команда fsinfo:
gilbert:~$ fsinfo
Команда xfd
отображает все символы конкретного шрифта (рис. 8.13);
gilbert:~$ xfd -fn имя_шрифта
Рис. 8.13.Команда
xfd в действии
Также для просмотра шрифтов можно воспользоваться командой
xfontsel (рис. 8.14).
Рис. 8.14.Команда
xfontsel в действии
Менеджеры
файлов
В главе 3 мы познакомились
с менеджерами файлов ≈ программами, обеспечивающими графический интерфейс
к операционной системе Slackware Linux (как
при работе в режиме командной строки, так и в Х Window System).
В этом разделе рассматриваются некоторые менеджеры файлов, входящие в
Slackware Linux.
Midnight
Commander
Midnight Commander ≈ клон
Norton Commander, одной из самых полезных
программ, написанных для операционной системы MS-DOS. Midnight Commander
приближается к функциональным возможностям Norton Commander ≈ он
также позволяет перемещать, переименовывать и копировать файлы и каталоги.
Управление файлами в
Midnight Commander разделено на четыре области.
В двух областях отображается содержимое каталогов (чтобы вы видели, где
файлы и каталоги находились раньше и где они должны находиться потом),
в третьей вводятся команды оболочки, а четвертая представляет собой строку
меню (если строка меню отсутствует на экране, вы можете вызвать ее, переместив
мышь к верхнему краю экрана или нажав клавишу F9).
Работа с мышью
Чтобы в Midnight
Commander стала возможна работа с мышью, следует
установить пакет gpm. Одна из самых удобных возможностей заключается в
том, что щелчок мышью на файле и каталоге выделяет их для последующих действий.
Из Midnight Commander можно выполнять
любые повседневные действия Slackware Linux.
Приложения запускаются двойным щелчком на исполняемом файле. Если вы хотите
связать расширение файла с конкретным приложением (например, все файлы,
имена которых заканчиваются на .doc
и .txt ≈ с редактором emacs),
Midnight Commander позволяет это сделать.
Запуск Midnight Commander
Midnight Commander запускается
следующей командой:
gilbert: ~$ mc
Если вы используете Midnight
Commander в X, введите следующую команду в
окне xterm:
gilbert:~$ mc -x
В табл. 8.8 перечислены некоторые
параметры командной строки Midnight Commander.
Таблица 8.8.Параметры
командной строки Midnight Commander
Параметр
|
Результат
|
-b |
Переход
от цветного изображения к черно-белому |
-с |
Переход
от черно-белого изображения к цветному |
-C arg |
Замена
цвета |
-d |
Запрет
поддержки мыши |
-f |
Midnight Commander
может быть построен с указанием конкретного набора путей для поиска; данный
параметр выводит эти пути |
-V |
Вывод
номера текущей версии |
-x |
Midnight Commander
узнает о том, что он работает в окне xterm.
Это позволяет организовать поддержку графических режимов и мыши |
Midnight Commander обладает
многочисленными возможностями, которые далеко не всегда очевидны, поэтому
лучше потратить немного времени на просмотр электронной документации, чем
пытаться все выяснить методом проб и ошибок. Полное описание Midnight
Commander приведено на странице руководства:
gilbert:~$ man mc
Xfm
Xfm представляет собой
аналог Midnight Commander для X
Window и обеспечивает графический интерфейс
к вашим приложениям и файлам.
Перед тем как работать с
xfm, его необходимо настроить. Для этого запустите небольшой сценарий
xfm.install:
gilbert:~$ xfm.install
Сценарий копирует файлы конфигурации
в ваш основной каталог. Xfm можно запустить из окна xterm:
gilbert:~$ xfm
Xfm открывает два окна: в одном
выводится содержимое текущего каталога, а в другом ≈ список приложений.
Обычные файлы изображаются в виде пустых страниц (как в операционной системе
Macintosh); ссылки ≈ в виде страниц с цепочкой;
приложения ≈ в виде страниц с маленьким окном. Родительский каталог изображается
в виде папки с двумя стрелками, направленными вверх, а другие каталоги
≈ в виде обычных папок.
В главном окне xfm присутствуют
три раскрывающихся меню: File, Folder
и View. В меню File
перечислены основные операции с файлами (создание файлов; удаление, перемещение
и создание ссылок; выбор группы файлов для выполнения последующих действий).
Меню Folder выполняет аналогичную функцию
для каталогов, а меню View управляет
отображением файлов (вывод расширенной информации, скрытых файлов и т.
д.). Значки (icons), изображающие файлы,
можно перетаскивать мышью.
Менеджер приложений
После настройки xfm в окне
Application появляется список приложений.
Это не означает, что на вашем компьютере Slackware Linux
имеются все эти приложения; просто если вы установите приложение, соответствующий
значок будет в вашем распоряжении (например, Mosaic
не входит в Slackware Linux, хотя соответствующий
значок имеется).
Чтобы изменить содержимое
окна Applications, следует отредактировать
файл .xfm (обратите внимание на точку
≈ признак скрытого файла), находящийся в вашем основном каталоге:
gilbert:~$ xedit .xfm
Впрочем, многие указанные приложения
поставляются в составе Slackware Linux ≈ xterm, emacs, textedit,
mail, calculator и manual
(другое название xman). Кроме того,
значок Toolbox открывает новое окно
для вызова команд exec, xxgdb, make, gzip, tar -cfv, tar -cfvz,
zip, uuencode, grep, find и xfmtype.
Значок Graphics открывает новое окно
для вызова различных графических утилит (о которых будет рассказано ниже
в этой главе).
Параметры командной строки
У xfm имеются всего три
параметра командной строки:
-
-appmgr ≈ запуск только менеджера
приложений, без менеджера файлов.
-
-filemgr ≈ запуск только менеджера
файлов, без менеджера приложений.
-
-version ≈ вывод номера версии
xfm.
За дополнительной информацией
о xfm обращайтесь к электронной документации:
gilbert:~$ xman
Tkdesk
Хотя xfm ≈ превосходный
менеджер файлов, в Slackware Linux
был включен еще один очень хороший менеджер, tkdesk.
Это одно из лучших и самых полезных приложений для Linux. При работе с
файлами Tkdesk использует интерфейс,
несколько напоминающий Windows Explorer
(рис. 8.15).
Рис. 8.15.Работа
с файлами в tkdesk
Настройка Tkdesk может
выполняться прямо во время работы с приложением ≈ на фоне других приложений
Linux это является существенным достижением.
Из удобной панели задач запускаются другие приложения. Тип файла можно
связать с определенной программой ≈ например, двойной щелчок на
GIF-файле будет запускать xv
(программу просмотра графических файлов).
Сжатие
и архивация файлов
Во время странствий по
Интернету вам наверняка встречались файлы с загадочными суффиксами
.gz и .tar.
Многие знают, что эти файлы ≈ наследие прошлых версий UNIX,
которые существовали еще до появления PC
и Macintosh.
Однако эти суффиксы играют
довольно заметную роль, если вы собираетесь качать программы с FTP-узлов
и устанавливать их на своем компьютере с Linux. Кроме того, программы,
работающие с этими файлами, чрезвычайно полезны в процессе архивации данных
или их подготовки для пересылки в другую систему (напрямую или через Интернет).
Суффикс .gz
означает, что файл был сжат утилитой GNU gzip.
В мире программ Linux это делается очень часто. Gzip ≈
не единственная утилита сжатия файлов в UNIX/Linux;
также поддерживается традиционная команда compress. Кроме
того, в этой версии Slackware Linux
представлены команды zip и unzip,
совместимые
со знаменитым форматом сжатия PKZip
от PKWare. В сущности, все эти команды
делают одно и то же: они берут двоичный или ASCII-файл (или заданный набор
файлов) и сжимают их в один файл меньшего размера. Полученный файл будет
передан по Интернету или электронной почте быстрее, чем необработанный
файл.
В Slackware Linux существует третья
утилита сжатия, bzip2, которая рассматривается ниже в этой главе.
Поскольку команды gzip, bzip2
и zip поставляются с системой Linux,
именно им мы уделим основное внимание. Утилита gunzip
(парная к gzip) может применяться для
файлов, сжатых compress и pack,
а следовательно, она будет работать с подавляющим большинством сжатых файлов
UNIX. Zip работает с файлами, которые сжимались
программами для MS-DOS, Macintosh и
Windows. Поскольку в Интернете преобладает
именно этот формат, с ним стоит познакомиться поближе, если вы собираетесь
регулярно получать файлы из Интернета. Вам даже не обязательно знать, какой
командой был сжат файл. Иначе говоря, неважно, какое расширение имеет файл
≈ .z, .Z или .gz; gzip будет
работать в любом случае. Аналогично, zip
используется для файлов с суффиксом .zip. Если
вы собираетесь распространять свои сжатые файлы, подумайте, стоит ли использовать
gzip; эта утилита есть не у всех пользователей UNIX.
Впрочем, у большинства пользователей Интернета она, похоже, имеется ≈ судя
по количеству файлов, обработанных gzip, на различных FTP-узлах.
Мы не собираемся рекомендовать
конкретную утилиту сжатия. Версии утилиты gzip существуют и в других операционных
системах (в частности, в MS-DOS), поэтому
сжатые ей файлы будут доступны для любого пользователя с подключением к
Интернету. Аналогично, поскольку для любой операционной системы можно найти
бесплатную версию PKZip или аналога
(например, WinZip), в мире MS-DOS
и Windows стандартным стал именно этот
формат (основная утилита сжатия в мире Macintosh, StuffIt,
практически не встречается в других операционных системах). А поскольку
большинство информации в Интернете хранится в формате .zip,
вероятно, он превратился в основной формат сжатия в компьютерном мире.
Обе утилиты находятся в вашем распоряжении, и вы можете выбрать ту, которая
лучше подходит для ваших целей.
Подробная документация по
gzip присутствует в документации GNU
texinfo, описанной выше. Дополнительные сведения
о zip можно найти в соответствующей
man-странице:
gilbert:~$ man zip
В двух последующих разделах
рассматриваются утилиты gzip и zip.
Gzip
Команда gzip выполняет
следующие операции:
-
Сжатие указанного файла.
-
Сохранение файла на диске с
добавленией суффикса .gz к старому
имени; например, в результате сжатия файла test
будет создан новый файл test.gz.
-
Удаление исходного файла.
Допустим, у вас имеется
каталог со следующими файлами:
fig7_11.xwd test test3
Предположим, вы хотите сжать
файл test. Для этого вводится следующая
команда:
gilbert:/home/kevinr# gzip test
Новое содержимое текущего каталога
будет выглядеть так:
fig7_11.xwd test. gz test3
Вместо файла test
появился файл test.gz. Если вы привыкли
работать на PC или Macintosh,
вероятно, вам хорошо знакома утилита PKZip от PKWare.
Однако работа gzip несколько отличается от PKZip. Прежде всего, gzip не
умеет сжимать несколько файлов в один архив с использованием универсальных
символов, как это делает PKZip. После выполнения следующей команды:
gilbert:/home/kevinr# gzip te*
содержимое каталога будет выглядеть
так:
fig7_11.xwd test. gz test3.gz
Каждый исходный файл, имя которого
начиналось с символов te, заменяется одноименным файлом с суффиксом .gz.
Чтобы узнать, насколько уменьшился
файл в результате сжатия, выполните команду gzip с параметром -l (буква
1) и именем сжатого файла:
gilbert:/home/kevinr# gzip -l test.gz
compressed uncompr. ratio uncompressed_name
122 245 59,5% test
Некоторые большие файлы хранятся
в сжатом виде (в частности, графические файлы формата JPEG
и GIF) и потому практически не сжимаются
утилитой gzip.
Gunzip
Команда gunzip восстанавливает
любой сжатый файл независимо от того, какой командой выполнялось сжатие
≈ gzip, compress или pack.
При вызове команде передается имя сжатого файла:
gilbert:/home/kevinr# gunzip test.gz
При восстановлении файла сжатый
файл автоматически удаляется из системы. Если вы не до конца уверены в
содержимом восстанавливаемого файла, скопируйте его в другой каталог и
оставьте исходный сжатый файл на прежнем месте.
Bzip2
Утилита bzip2
похожа на gzip ≈ она также предназначена
для сжатия файлов. Однако в отличие от gzip, bzip2 может применяться для
сжатия нескольких файлов. Кроме того, поддержка bzip2 встроена в
tar и less.
Заслуживает внимания и такая
возможность bzip2, как ограниченное восстановление архива после ошибок
носителя. Если чтение данных с резервной ленты или диска будет произведено
с ошибками, возможно, bzip удастся
восстановить неповрежденные участки файла.
Параметры командной строки
bzip2 в основном те же, что и у gzip. Если вы умеете работать с gzip, то
и с bzip2 проблем не будет. Командная строка bzip2 выглядит так:
gilbert:~$ bzip2 параметры имя_файла(-ов)
Архивы распаковываются утилитой
bunzip2:
gilbert:~$ bunzip2 параметры имя_файла(-ов)
Для восстановления поврежденных
файлов применяется утилита bzip2recover:
gilbert:~$ bzip2recover имя_файла
Чтобы узнать, чем параметры
командной строки отличаются от gzip, обратитесь к странице руководства
по bzip2.
Формат файлов bzip2 несовместим с
форматом gzip или zip. Следовательно, bzip2 нельзя использовать для распаковки
файлов, сжатых gzip или zip, и наоборот.
Zip
Команда zip
сжимает набор файлов в один компактный архив, который можно распаковать
или просмотреть в версии zip для
MS-DOS, Windows, Windows 95, Windows NT, Macintosh,
OS/2 и VMS. Впрочем, совместимость
все же ограничена; zip для Linux
создает архивные файлы, которые читаются только PKZip 2.04g
или более новых версий (ни Фил Катц (Phil Katz),
ни PKWare не принимали участия в создании
zip, поэтому на поддержку от них рассчитывать
не приходится).
Чтобы заархивировать набор
файлов (в данном примере ≈ все файлы текущего каталога), воспользуйтесь
следующей командной строкой:
gilbert:~$ zip file.zip *
Отличие от gzip
налицо: если gzip сжимает всего один
файл, zip позволяет выбрать несколько
файлов с помощью символов подстановки. По мере обработки файлов
zip выводит данные о ходе сжатия на экран.
После сжатия исходные файлы остаются без изменений (тогда как zip
удаляет файлы после архивации).
Утилита zip
имеет много параметров командной строки. Например, для преобразования символа
перевода строки UNIX в комбинацию ⌠возврат
курсора/перевод строки■ (CR/LF), используемую
в MS-DOS (бывает полезно при обмене
текстовыми файлами с пользователями MS-DOS/Windows;
не используйте этот параметр для двоичных файлов!), применяется параметр
-l (буква l):
gilbert:~$ zip -l *.с
Кроме того, при передаче файлов
пользователям MS-DOS/Windows следует
учесть, что MS-DOS не работает с длинными
именами или файлами, в именах которых присутствуют две точки. Параметр
-k приводит имена файлов UNIX
в соответствие со стандартами MS-DOS:
gilbert:~$ zip -k file.zip *.c
Параметр -g
добавляет файлы в существующий архив:
gilbert: ~$ zip -g file.zip *.c
Иногда в процессе пересылки
в архиве повреждается один-два байта. У zip хватает
сообразительности на то, чтобы обнаружить повреждения и предоставить вам
возможность исправить их. Если zip
сообщит о повреждении архива, используйте параметр -F
для его восстановления:
gilbert:~$ zip -F damaged.zip
Если вы хотите запустить
zip в ⌠тихом■ режиме (то есть запретить выдачу
информации о сжатии каждого файла ≈ может пригодиться при конвейерном запуске
zip или в сценарии), воспользуйтесь параметром
-q:
gilbert:~$ zip -q zipfile.zip *.c
За дополнительной информацией
о zip обращайтесь к электронной документации:
gilbert:~$ man zip
Однако учтите, что документация
не всегда идеально точна. Не удивляйтесь, если некоторые указанные параметры
(например, параметры -е и -ее, применяемые при шифровании файлов) не будут
работать в вашей версии zip.
Распаковка архивов выполняется
командой unzip:
gilbert:~$ unzip zipfile.zip
Для конвейерной распаковки файла
применяется команда funzip:
gilbert:~$ funzip zipfile.zip | команда
Команда zipgrep
выполняет поиск в архиве с использованием команды egrep:
gilbert:~$ zipgrep образец zipfile.zip
Пакет включает еще несколько
команд ≈ zipdoak, zipinfo, zipnote
и zipsplit.
Tar
Команда gzip
не работает с наборами файлов; она вызывается для одного отдельного файла.
Если вам потребовалось сжать несколько файлов, сначала необходимо создать
один общий архив, а затем сжать его. Эта задача решается командой
UNIX/Linux tar (Tape ARchive).
Утилита tar
не сжимает файлы, входящие в архив. Она просто объединяет файлы и сохраняет
структуру каталогов в одном большом архиве.
Вероятно, в странствиях по
Интернету и различным FTP-узлам вам встречались файлы с именами, заканчивающимися
символами .tar.gz. Это означает, что
набор файлов был объединен утилитой tar,
а затем сжат утилитой gzip. Если вы создаете резервные копии своей системы
(что мы настоятельно рекомендуем делать), создание архива начинается с
команды tar.
Команда tar ≈
не из простых. Пользоваться ей нетрудно, однако параметры выглядят непонятно.
Несколько примеров практической работы с tar
помогут вам разобраться в ситуации.
Предположим, вы хотите создать
резервную копию всех файлов важного каталога (/home/patrick),
чтобы ваша работа случайно не пропала. Убедитесь в том, что текущим каталогом
является /home/patrick, и выполните следующую команду:
gilbert:/home/Patrick$ tar cvf archive.tar
.
Обратите внимание на пробел
и точку в конце командной строки; присутствие точки обязательно. Также
следует заметить, что перед параметрами не ставится дефис (-).
Эта командная строка создает
объединенный файл arcnive.tar в текущем
каталоге, при этом используются следующие функции и параметры:
-
с ≈
создание архивного файла.
-
v ≈ полный режим вывода (то
есть отображение имен архивируемых файлов) во время архивации содержимого
каталога.
-
f≈ назначение имени архива
archive.tar.
Порядок параметров не важен;
в старых версиях tar требовалось, чтобы
параметры немедленно следовали за командой, но в версии tar,
поставляемой с Linux, это требование
снято. Тем не менее параметр f желательно
указывать в последнюю очередь, потому что после него следует имя файла.
Tar оставляет существующие
файлы без изменений (в отличие от утилиты gzip, удаляющей исходные файлы).
Tar не требует ставить дефис (-) перед функциями
и параметрами. Впрочем, наличие дефисов не повлияет на работу команды.
Командная строка завершается
пробелом и точкой (.); тем самым вы сообщаете tar
о том, что входными данными для архива должно быть все содержимое текущего
каталога (tar архивирует и скрытые
файлы). Вместо точки в конце командной строки можно использовать универсальные
символы (например, строка с* архивирует все файлы текущего каталога, имена
которых начинаются с буквы с). Кроме того, можно указать архивируемый каталог,
задавая либо путь (home/patrick), либо
его расположение относительно текущего каталога (например, patrick,
если текущим каталогом является/home).
Однако при создании архива нельзя использовать абсолютные имена;
tar удаляет ведущий символ / из имени, чтобы
предотвратить случайное стирание важных файлов во время распаковки файла
(вскоре вы узнаете, почему это происходит). При указании архивируемого
каталога tar также архивирует все подкаталоги
и сохраняет иерархическую структуру каталогов. Для архивных материалов
обычно создаются специальные подкаталоги; в этом случае у пользователей
не возникнет проблем с восстановлением архивов на их компьютерах.
После выполнения tar
у вас появляется файл Linux, на который распространяются все общие правила
Linux. Файл можно скопировать на гибкий диск или в другой каталог файловой
системы Linux, сохранить его на магнитной ленте или записываемом
CD-ROM, а также сжать утилитой gzip (см. выше).
Поскольку утилита tar доступна для
всех пользователей UNIX, можно передать
файлы другим пользователям и не сомневаться в том, что архив будет распакован.
В операционных системах MS-DOS и
Macintosh также существуют свои версии tar,
поэтому большинство пользователей сможет работать с вашим архивом.
Функции и параметры
В примере из предыдущего
раздела в командной строке содержались символы cvf.
Они требуют специальных пояснений.
В командной строке
tar должны быть заданы функции и параметры.
Если ввести командную строку без функции, tar
выдает сообщение об ошибке. В нашем примере была использована основная
функция с, за которой следовали дополнительные параметры v
и f.
Важнейшие параметры и функции
tar перечислены в табл. 8.9 и 8.10. Мы приводим
их на случай, если вам понадобятся какие-нибудь из редких функций; в основном
используются только функции с, х и t.
Таблица 8.9.Основные
функции tar
Функция
|
Результат
|
А |
Добавление
файлов в существующий архив |
с |
Создание
нового архива |
d |
Сравнение
текущих файлов с содержимым архива для предотвращения стирания существующих
файлов |
r |
Добавление
указанных файлов в конец существующего архива |
t |
Вывод
содержимого существующего архива |
U |
Обновление
текущих файлов в том случае, если в архиве хранятся более новые версии |
х |
Извлечение
файлов и каталогов из архива |
Таблица 8.10.Основные
параметры tar
Параметр
|
Результат
|
f имя_файла |
Указание
имени архива |
k |
Сохранение
существующих файлов |
М |
Создание
многотомного архива |
V |
Расширенный
режим вывода, при котором tar перечисляет
архивируемые или извлекаемые из архива файлы. Мы всегда указываем этот
параметр, чтобы убедиться в том, что tar
работает с нужными файлами |
Z |
Сжатие
архива утилитой gzip после его создания
(см. ниже) |
В таблицах перечислены
основные функции и параметры tar, однако
этим возможности не исчерпываются. Следующая команда выводит полный список
всех функций и параметров GNU-версии tar:
gilbert:~$ man tar
Также можно воспользоваться
командой info для просмотра описания
tar в texinfo.
Распаковка архива
Распаковка файла
tar осуществляется командной строкой следующего
вида:
gilbert:~$ tar xvf archive.tar
Команда извлекает из архива
файлы и создает все каталоги, находящиеся в архиве. Однако каталоги будут
созданы в виде подкаталогов текущего рабочего каталога. Например, если
в архиве из приведенного примера имеется каталог stuff,
он будет создан в основном каталоге пользователя. В процессе архивации
файлов tar автоматически удаляет ведущий
символ /, который является признаком абсолютного пути к файлу. Если вы
знакомы с правилами хорошего тона в Linux,
то все архивируемые файлы были выделены в специальный подкаталог, поэтому
все распакованные файлы также будут находиться в отдельном подкаталоге.
Функция t выводит список
файлов, находящихся в архиве:
gilbert:~$ tar tvf archive.tar
drwxr-xr-x kevinr/users 0 Apr 23 00:57
1995 home/kevinr/
-rw-r--r-- kevinr/users 164 Mar 30
02:59 1995 honie/kevinr/.kermrc
-rw-r--r-- kevinr/users 34 Jun 6 15:16
1993 home/kevinr/.less
-rw-r--r-- kevinr/users 114 Nov 23
19:22 1993 home/kevinr/.lessrc
drwxr-xr-x kevinr/users 0 Mar 29 09:31
1995 home/kevinr/.term
-rwxr-xr-x kevinr/users 2730 Mar 30
02:59 1995 home/kevinr/.bash_history
-rw-r--r-- root/root 197 Apr 21 00
04 1995 home/kevinr/test3
-rw-r--r≈ root/root 247 Apr 20 03
33 1995 home/kevinr/#test#
-rw-r--r-- root/root 197 Apr 21 00
18 1995 home/kevinr/#test3#
-rw-r≈r≈ root/root 268399 Apr 22 11:48
1995 home/kevinr/fig7_10.xwd
-rw-r--r≈ kevinr/users 122 Apr 6 10:13
1995 home/kevinr/test.gz
-rw-r≈r≈ root/root 325889 Apr 22 12:03
1995 home/kevinr/fig7_11. Xwd
-rw-r--r≈ root/root 252107 Apr 22
12:01 1995 home/kevinr/fig7_12.xwd
-rw-r≈r≈ kevinr/users 245 Apr 8 09:22
1995 home/kevinr/test.bk
Функция t
предназначена только для вывода сведений о содержимом архива; файлы при
этом не извлекаются. Однако полученная информация позволяет выбрать нужные
файлы и извлечь их. Например, файл test.bk
извлекается из архива следующей командой:
gilbert:~$ tar xvf archive.tar home/kevinr/test.bk
Параметр Z
Как мы неоднократно говорили,
команду tar лучше всего использовать
в сочетании с командой gzip ≈ в результате
создается архивированный и сжатый файл. Поскольку в Linux
используются многие утилиты Фонда бесплатных программ, можно рассчитывать
на определенную интеграцию взаимодействующих инструментов (например,
emacs и texinfo).
К этой интеграции относится и параметр z,
уникальный для GNU-версий tar и gzip.
Эта удобная функция позволяет заархивировать и сжать файл или набор файлов
при вызове tar. Например, следующая
команда архивирует и сжимает набор файлов:
gilbert:~$ tar cvZf archive.tar.gz
.
При создании архива с параметром
z следует указывать суффикс .tar или
.gz (в отличие от самостоятельного вызова gzip, при
котором суффикс .gz добавляется автоматически).
Для распаковки сжатых архивных
файлов используется следующая команда:
gilbert:~$ tar xvZf archive.tar.gz
Создание
резервных копий системы
Во время обсуждения
tar и gzip мы не коснулись темы резервного
копирования системы. Каждому, кто имел дело с компьютерами, хорошо известно
о необходимости регулярно создавать резервные копии системы. На компьютерах
иногда происходят сбои (хотя не так часто, как в прошлом), поэтому резервное
копирование важнейших данных должно войти у вас в привычку.
Конечно, вопрос о том, какие
данные считать важнейшими, зависит от вашей точки зрения. Некоторые пользователи
для пущей уверенности архивируют всю систему, особенно при внесении многочисленных
изменений в конфигурацию Linux (например,
в случае перекомпиляции ядра). Другие ограничиваются архивацией некоторых
системных файлов, зная, что при необходимости Linux легко переустанавливается
с CD-ROM.
Архивы делятся на две категории:
архивы системных файлов или файлов данных. К системным файлам относятся
конфигурационные файлы, настроенные для ваших конкретных условий, в том
числе скрытые и используемые в Х Window.
Файлы данных ≈ это ваша непосредственная работа; например, если вы пишете
программу, то исходные тексты желательно почаще архивировать. Если вы являетесь
системным администратором, сохраняйте файлы (как скрытые, так и общедоступные)
в своем основном каталоге и основных каталогах ваших пользователей.
Не существует твердых правил,
определяющих особенности создания резервных копий. Системные администраторы
для сохранения большого количества файлов используют tar,
gzip и магнитную ленту. Если вам потребовалось сохранить несколько маленьких
файлов или содержимое одного каталога, воспользуйтесь tar
и gzip и создайте один архивный файл, после чего скопируйте его на гибкий
диск.
Создание
архивов на гибких дисках
Linux умеет записывать
информацию непосредственно на гибкий диск. Вам не придется подключать дисковый
том или создавать на диске файловую систему UNIX.
Если диск отформатирован в MS-DOS, Linux
стирает его текущее содержимое. Другими словами, если на диске находятся
важные файлы и вы не хотите потерять их, не пытайтесь работать с диском
через драйвер устройства. Позднее мы рассмотрим команды Linux для работы
с гибкими дисками, отформатированными в MS-DOS.
Linux предполагает, что первый
флоппи-дисковод на PC соответствует
устройству /dev/fd0. Например, следующая
командная строка tar направляет результаты
работы на это устройство, а не в файл:
gilbert:~$ tar cvf /dev/fd0 .
Если содержимое архивного файла
не помещается на одном гибком диске, следует создать многотомный архив
с помощью параметра М (помните о том, что в Linux учитывается регистр символов;
m вместо М даст другой результат!) команды
tar:
gilbert:~$ tar cvMf /dev/fd0 .
Внимательно следите за дисками:
если хотя бы один из них выйдет из строя или потеряется, вы лишитесь всего
архива.
Конечно, использование параметра
Z команды tar
поможет уместить весь архив на одном гибком диске.
Создание
архивов на магнитных лентах
Команда tar
позволяет записать архив прямо на магнитную ленту. Однако вопрос о том,
на какое устройство будет осуществляться запись, определяется настройкой
системы.
Если вы используете стример,
подключаемый к флоппи-контроллеру (как большинство стримеров типа
QIC), достаточно указать в командной строке
устройство /dev/rtf0:
gilbert:~$ tar cvf /dev/rtf0 .
Эта команда создает архив на
магнитной ленте.
Однако в действительности
работа со стримерами не обходится без проблем. Например, если вы используете
стример QIC, вам не удается отформатировать
ленту в Linux; для этого придется воспользоваться
утилитами DOS (не зря мы оставили раздел
DOS!) или приобрести заранее отформатированную
ленту.
Кроме того, остается неприятный
вопрос ≈ сколько данных можно записать на ленту? Многие новые стримеры
QIC автоматически перематывают ленту при каждом
использовании. Однако Linux не поддерживает перемотку, поэтому вам не удастся
создать на ленте маркер, а следовательно ≈ разместить на ней несколько
архивов. Насколько это расточительно? Все зависит от того, кто платит за
ленту. Честно говоря, вполне можно обойтись двумя лентами и поочередно
создавать на них еженедельные архивы.
Другая возможность ≈ использовать
драйвер стримера без перемотки, который обозначается /dev/nrft0
(в зависимости от настройки системы число может быть другим). Командная
строка выглядит так:
gilbert:~$ tar cvf /dev/nrft0 .
В этом варианте на ленте удается
создать несколько архивов.
При использовании /dev/nrft0
вам придется перемотать ленту вручную и затем найти нужный архив. Чтобы
перемотать ленту в начало после того, как архивы будут созданы, воспользуйтесь
следующей командой:
gilbert:~$ mt /dev/nrft0 rewind
Команда mt
чрезвычайно полезна. Каждый, кому приходилось работать со стримерами, знает,
что при частичном использовании лента ⌠провисает■ и заедается механизмом.
Команда mt может промотать ленту до конца, вернуться, а затем выполнить
обратную перемотку:
gilbert:~$ mt /dev/nrft0 retension
Наконец, команда mt позволяет
выбрать нужные файлы на ленте в случае, если вы не хотите восстанавливать
их все командой tar. Как говорилось
выше, Linux не распознает файловые маркеры на ленте, поэтому вам придется
немного помочь своей системе. Допустим, лента отмотана к началу и вы хотите
прочитать с нее второй файл. Для этого вы приказываете Linux найти следующий
файл на ленте (в терминологии mt ≈
первый файл после текущего):
gilbert:~$ mt /dev/nrft0 fsf 1
Следующие команды:
gilbert:~$ mt /dev/nrft0 fsf 2
и
gilbert:~$ mt /dev/nrft0 fsf 3
находят на ленте третий и четвертый
файл соответственно.
У mt есть некоторые особенности.
Команда не позволяет прочитать с ленты сразу несколько файлов; сначала
вы переходите к первому файлу, считываете его, переходите к другому и т.
д. Предположим, вам понадобилось прочитать с ленты пятый и шестой файлы.
Вы должны перейти к пятому файлу, восстановить архив командой tar
и затем перейти к шестому, помня о том, что позиция в командной строке
mt определяется по отношению к текущему файлу. Переход к пятому файлу (относительно
первого файла на ленте) выполняется следующей командой:
gilbert:~$ mt /dev/nrft0 fsf 4
После вызова tar
вводится следующая команда (поскольку шестой файл является первым после
пятого):
gilbert:~$ mt /dev/nrft0 fsf 1
Также возможна запись на стример,
подключенный к контроллеру SCSI (например,
QIC или DAT).
В этом случае команда выглядит так (для стримера с перемоткой и номером
SCSI, равным 0):
gilbert:~$ mt /dev/rst0 .
или так (для стримера без перемотки
и номером SCSI, равным 0):
gilbert:~$ mt /dev/nrst0 .
Команда mt также позволяет работать
с лентами, созданными на других устройствах. Как правило, чтение лент
DAT, записанных в другой системе, не вызывает
особых трудностей. Однако если при записи ленты был использован другой
размер блока, при попытке чтения появляется сообщение об ошибке. Проблема
решается указанием нового размера блока в командной строке mt:
gilbert:~$ mt setblk размер_блока
У команды mt имеется немало
других параметров; как обычно, мы рекомендуем обратиться к электронной
документации:
gilbert:~$ man mt
Команды
MTools
Mt ≈ лишь одна из многих
команд Linux, разработанных с учетом
странностей архитектуры PC (в частности,
для работы с гибкими дисками в формате DOS). Пакет
MTools поможет справиться с этими трудностями
при выполнении многих повседневных задач.
Эти команды появились из-за
различий в структуре файлов DOS и
UNIX. Об этом необходимо помнить, особенно
при работе с НГМД. Копирование файла командой UNIX
может испортить рабочий гибкий диск DOS
(мы узнали об этом на собственном опыте). Обязательно познакомьтесь с командами
МТоols ≈ они помогут избежать многих
проблем, обусловленных различиями в архитектурах DOS
и Linux.
Просмотр
каталога DOS (команда mdir)
Эта тривиальная команда
выводит содержимое каталога DOS:
gilbert:~$ mdir
По умолчанию в mdir (и остальных
командах MTools) используется диск
А: (то есть первый флоппи-дисковод). Поскольку разделы DOS
можно подключить к файловой системе Linux, команды MTools
не работают с диском С:.
Изменение
текущего каталога (команда mcd)
Команда mcd изменяет текущий
каталог на гибком диске (по умолчанию им является корневой каталог диска
А:). Если команда вызывается без аргументов, она выводит сведения о текущем
устройстве и рабочем каталоге:
gilbert:~$ mcd А:/
Копирование
файлов (команда mсору)
Команда UNIX cp
способна разрушить файловую структуру MS-DOS
на гибком диске. Чтобы скопировать файл из Linux на гибкий диск
DOS, воспользуйтесь командой mсору:
gilbert:~$ mсору -t textfile a:textfile
В команде mсору использована
конвенция имен дисков DOS (в отличие
от имен устройств UNIX). В приведенном
примере файл textfile (вероятно, текстовый)
копируется на диск А. В текстовых файлах UNIX
и DOS по-разному обозначается переход
на новую строку, поэтому в командной строке указывается параметр -t, преобразующий
формат файла в ходе копирования.
Количество параметров у команды
mсору невелико. Разработчики были людьми милосердными, поэтому mсору предупреждает
о замене одноименных файлов. Чтобы избавиться от их заботы, запустите mсору
с параметром -n:
gilbert: ~$ mcopy -n textfile a:textfile
В расширенном режиме вывода
(параметр -v) команда выводит сведения
о копировании каждого файла:
gilbert:~$ mcopy -v textfile a:textfile
Также помните о том, что при
работе с файлами DOS необходимо использовать
стандартные имена в формате 8.3.
Переименование
файлов DOS (команда mren)
Команда mren переименовывает
файлы DOS:
gilbert:~$ mren oldfile.nam newfile.nam
При работе с файлами
DOS должны использоваться стандартные имена
в формате 8.3.
Удаление
файлов DOS (команда mdel)
Команда mdel удаляет файлы
из каталогов DOS. Например, файл
textfile с диска А: удаляется следующей командой:
gilbert:~$ mdel a:textfile
Просмотр
файлов DOS (команда mtype)
Чтобы просмотреть файл
DOS, находящийся на гибком диске, воспользуйтесь
командой mtype:
gilbert:~$ mtype имя_файла
Для ASCII-файлов следует указывать
параметр -t:
gilbert:~$ mtype -t имя_файла
Создание
каталога DOS (команда mmd)
Каталоги DOS
создаются командой mmd:
gilbert:~$ mmd newdirec.tor
При работе с файлами
DOS должны использоваться стандартные имена
в формате 8.3.
Удаление
каталога DOS (команда mrd)
Если вас не устраивает
каталог, созданный командой mmd, его можно удалить командой mrd.
Копирование
файлов DOS в Linux (команда mread)
Команда mread переносит
файл DOS в Linux, при необходимости
выполняя соответствующие преобразования. Команда может применяться как
для переноса отдельного файла в файл UNIX,
так и для переноса набора файлов DOS
в каталог Linux. В первом варианте задаются имена файлов DOS
и Linux:
gilbert:~$ mread dosfile linuxfile
Чтобы скопировать набор файлов
в некоторый каталог Linux, укажите нужные файлы DOS
(допускается использование символов подстановки) и каталог Linux:
gilbert:~$ mread *.* /home/kevinr
Если в каталоге уже существует
одноименный файл, mread предупредит вас о перезаписи.
Команда mread имеет несколько
параметров:
Копирование
файлов Linux в DOS (команда mwrite)
Команда mwrite
записывает файл Linux на диск, отформатированный в DOS:
gilbert:~$ mwrite linuxfile dosfile
Если одноименный файл уже существует
на диске, mwrite предупредит вас о
перезаписи.
Команда mwrite
имеет несколько параметров:
-
Параметр -t
преобразует текстовые файлы Linux в
формат DOS, добавляя в них символы
возврата курсора.
-
Параметр -m сохраняет временные
метки исходных файлов DOS.
-
Параметр -n отменяет предупреждения
о перезаписи файлов.
Для копирования файлов
между DOS и Linux также используется
команда mсору.
Форматирование
диска (команда mformat)
Команда mformat
создает на диске, отформатированном в UNIX, элементы
файловой системы DOS (FAT, загрузочный
сектор и корневой каталог). Чтобы отформатировать диск в устройстве А,
воспользуйтесь следующей командой:
gilbert: ~$ mformat a:
Команда mformat
имеет несколько параметров:
-
Параметр -t
определяет количество дорожек (не секторов).
-
Параметр -h определяет количество
головок.
-
Параметр -s
определяет количество секторов на дорожку.
-
Параметр -l
задает метку тома.
Команда mformat
работает только с дисками, ранее отформатированными в UNIX.
В действительности пользы от нее меньше, чем может показаться с первого
взгляда.
Назначение
метки
тома (команда mlabel)
Команда mlabel
выводит текущую метку тома DOS и запрашивает
новую метку. Если на приглашение ничего не ввести, mlabel
просто удаляет существующую метку тома, не создавая новой. Единственный
параметр mlabel, -v, запускает команду
в режиме расширенного вывода (это всегда полезно при работе с незнакомыми
командами).
Изменение
файловых атрибутов DOS (команда mattrib)
При обмене файлами с компьютерами
DOS иногда (впрочем, довольно редко) возникают
конфликты с файловыми атрибутами ≈ отдаленными аналогами прав доступа
Linux. Файлы DOS
могут быть доступными только для чтения (r), архивными (а), системными
(s) или скрытыми (h).
Команда mattrib позволяет изменить
значения атрибутов; ⌠плюс■ (+) означает установку атрибута, а ⌠минус■ (-)
≈ снятие. Например, чтобы сделать скрытый файл видимым, выполните следующую
команду:
gilbert:~$ mattrib -h имя_файла
Атрибут доступа только для чтения
снимается следующей командой:
gilbert:~$ mattrib -r имя_файла
Следующая команда превращает
системный файл в обычный:
gilbert:~$ mattrib -s имя_файла
Если вам захочется снять архивный
атрибут, воспользуйтесь следующей командой:
gilbert:~$ mattrib -а имя_файла
Установка атрибутов во всех
приведенных примерах осуществляется заменой - на +.
Во всех командах предполагается,
что вы работаете с диском А:. При работе с файлами на жестком диске в командной
строке указывается абсолютное имя (с разделением каталогов стандартным
для DOS символом \), однако оно должно
быть заключено в апострофы, в противном случае оболочка Linux не воспримет
его.
Графические
программы
Одной из основных целей
Х Window System было внедрение графических
возможностей в текстовую операционную систему. Поэтому в Х существует столько
программ, предназначенных для создания и редактирования графики. Мы познакомимся
лишь с некоторыми из них.
Bitmap
Программа bitmap
предназначена для создания растров (bitmaps) ≈
небольших прямоугольных изображений, которые вставляются прямо в программный
код на языке С и могут использоваться в качестве значков, курсоров, элементов
мозаичных узоров и пунктирных линий и т. д. Окно программы bitmap
изображено на рис. 8.16.
Рис. 8.16.Окно
программы bitmap
После запуска команды bitmap
на экране появляется решетка, соответствующая пикселям изображения. С помощью
инструментов программы можно рисовать фигуры (например, кривые). Если растр
предназначен для создания курсора, в нем можно назначить активную точку
(hot spot), точно определяющую позицию курсора.
С растрами выполняются операции инвертирования и складывания.
Дополнительные утилиты преобразуют
растровый файл в последовательность ASCII-строк (bmtoa)
и обратно (atobm).
Xfig
Программа xfig
удобна для создания небольших рисунков с использованием кругов, квадратов,
многоугольников, других фигур и текста (например, диаграмм). Работа начинается
с пустого экрана или с существующего файла. Результаты сохраняются в форматах
LaTeX, PostScript, PIC или PiCTeX.
Xfractint
Программа генерирует фракталы
≈ многоцветные изображения, которые строятся по набору заданных параметров.
В числе параметров задается количество цветов и размер окна, а также шаблон
фрактала (xfractint содержит немало
готовых фракталов).
Это необычная программа получает
данные в окне xterm и отображает результаты
в отдельном окне X. Вероятно, при первом запуске xfractint
ваше внимание переключится на новое окно X. Но когда станет ясно, что новое
окно остается черным и ждет ввода данных в окне xterm, все становится на
свои места.
Xfractint запускается следующей
командой:
gilbert:~$ xfractint
У команды имеется несколько
параметров, описанных в электронной документации.
Xpaint
Простой графический редактор
для создания и редактирования графических файлов. Если вам приходилось
работать с MacPaint для Macintosh,
вы быстро освоитесь в xpaint (тем более,
что некоторые курсоры из MacPaint встречаются
и в Xpaint). В числе поддерживаемых форматов ≈ Portable Bitmap (PPM),
растры
Х (ХВМ), TIFF, GIF, PostScript, ХРМ
и многие другие. Окно Xpaint показано на рис. 8.17.
При запуске xpaint
появляется окно, в котором изображены различные графические инструменты
≈ сплошная кисть, распылитель, средства редактирования и текстового ввода.
Вы либо создаете новый ⌠холст■, либо открываете существующий файл, после
чего открывается новое окно. Обычно при работе в xpaint используются
эти два окна (как минимум два ≈ вы можете открывать дополнительные ⌠холсты■).
Дополнительную информацию
можно почерпнуть из электронной документации.
Рис. 8.17.Окно
xpaint
Xv
Замечательный графический
пакет xv был разработан Джоном Брэдли.
Он может отображать файлы в форматах GIF, JPEG, TIFF, Portable Bitmap
(PBM, PGM, PPM), растры X, BMP, PCX,
Iris RGB, XPM, XWD и PostScript.
Окно xv изображено на рис. 8.18.
Рис. 8.18.Пакет
xv при загрузке нового файла
Xv используется для просмотра и выполнения операций
с графическими файлами. Например, с файлами поддерживаемых форматов возможны
следующие действия:
-
При изменении размера окна изменяется размер изображения.
Если изменить пропорции окна, пропорции изображения также автоматически
изменяются. При желании можно сохранить изменения в файле.
-
Вращение изображения на угол, кратный 90
градусам.
-
Зеркальное отображение (вертикальное
и горизонтальное).
-
Усечение (остается лишь часть
изображения, все остальное отбрасывается).
-
Увеличение части изображения
и последующее сохранение в новом масштабе.
-
Изменение RGB-составляющих изображения
и преобразование к черно-белому варианту.
-
Любые файловые преобразования
(графика в любом формате может быть сохранена в любом другом формате, поддерживаемом
xv).
Вместе со Slackware
Linux поставляется незарегистрированная условно-бесплатная
(shareware) версия. Если вы используете
xv, мы настоятельно рекомендуем зарегистрировать
ее у Джона Брэдли. Дополнительная информация о xv приведена в usr/doc/xv/xv.blurb.
Полная документация в формате PostScript
(которую предварительно необходимо распаковать утилитой gunzip)
находится в файле /usr/doc/xv/xvdocs.ps.gz.
Утилиты
JPEG
Целая серия команд, предназначенных
для обработки и преобразований файлов в формате JPEG. JPEG
(наряду с GIF) становится основным
форматом графических файлов World Wide Web.
Если в ваши планы входит просмотр или публикация Web-документов, с утилитами
JPEG стоит познакомиться поближе.
Cjpeg
Команда cjpeg
сжимает графический файл (в формате GIF, PBM, BMP, Targa или
RLE) и преобразует его в формат JPEG, широко
распространенный в мире World Wide Web.
Например, преобразование файла image.gif
в формат JPEG выполняется следующей командой:
gilbert:~$ cjpeg -gif image.gif >
image.jpg
Djpeg
Команда djpeg
распаковывает файл JPEG и преобразует
его к формату, более удобному для работы в Slackware Linux (PBM,
BMP, GIF, Targa или RLE). Формат
файла задается в командной строке. Например, преобразование файла image.jpg
в формат GIF выполняется следующей
командой:
gilbert:~$ djpeg -gif image.jpg >
image.gif
Rdjpgcom и wrjprgcom
Команда rdjpgcom
выводит комментарии, находящиеся в файле JPEG. Комментарий описывает изображение
для того, кто его просматривает, однако он также облегчает ведение коллекций
графических файлов. Для просмотра комментариев в файле image.jpg
используется следующая командная строка:
gilbert:~$ rdjpgcom image.jpg
И наоборот, команда wrjpgcom
записывает комментарий в файл JPEG. Комментарий можно ввести непосредственно
в командной строке, однако при этом необходимо задать новое и исходное
имя графического файла (команда не перезаписывает существующие файлы):
gilbert:~$ wrjpgcom -comment "This
is a comment" old.jpg > new.jpg
Кроме того, можно указать файл
с текстом комментария:
gilbert:~$ wrjpgcom -cfile comment.txt
< old.jpg > new.jpg
Утилиты
PhotoCD
Формат PhotoCD
широко используется для хранения фотографических изображений. Если ваш
дисковод CD-ROM поддерживается
Slackware Linux, он должен нормально работать
с PhotoCD CD-ROM.
Программа ImageMagick
(распространяемая через Интернет) также поддерживает формат PhotoCD.
Разные
утилиты
Вместе со Slackware
Linux поставляется много различных утилит
командной строки и Х Window. Ниже перечислены
некоторые полезные утилиты.
Часы
Чтобы постоянно знать текущее
время, запустите программу oclock или
xclock (рис. 8.19).
Рис. 8.19.Утилиты
oclock (слева) и xclock (справа)
Часы, изображенные на рис. 8.19, запущены без указания
параметров командной строки. Параметры позволяют настроить внешний вид
часов. Некоторые из параметров oclock и
xclock перечислены в табл. 8.11 и 8.12 соответственно.
Таблица 8.11. Некоторые
параметры утилиты oclock
Параметр
|
Назначение
|
-bd цвет |
Выбор
цвета границы окна |
-bg цвет |
Выбор
цвета фона приложения |
-fg цвет |
Выбор
основного цвета |
-hour
цвет |
Выбор
цвета часовой стрелки |
-jewel цвет |
Выбор
цвета метки, обозначающей 12 часов |
-minute цвет |
Выбор
цвета минутной стрелки |
-transparent |
Прозрачный
циферблат (видны только стрелки, граница и метка) |
Таблица 8.12.
Некоторые параметры утилиты xclock
Параметр
|
Назначение
|
-analog |
Аналоговое
отображение времени |
-chime |
Звуковой
сигнал (часы дважды звонят каждый час и один раз ≈ каждые полчаса) |
-digital
или -d |
Цифровое
отображение времени |
-hands |
Выбор
цвета стрелок |
Xdpyinfo
и xev
Команда xdpyinfo
выводит информацию о Х Window System:
gilbert:/# xdpyinfo
name of display: :0.0
version number: 11.0
version string: The XFree86 Project,
Inc
vendor release number: 3120
maximum request size: 4194300 bytes
motion buffer size: 0
bitmap unit, bit order, padding: 8,
MSBFirst, 32
image byte order: LSBFirst
number of supported pixmap formats:
2
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad
32
depth 4, bits_per_pixel 8, scanline_pad
32
keycode range: minimum 8, maximum
134
focus: window 0xc00d, revert to Parent
number of extensions: 10
BIG-REQUESTS
MIS-SCREEN-SAVER
MIT-SHM
MIT-SUNDRY-NONSTANDARD
Multi-Buffering
SHAPE
SYNC
XC-MISC
XFree86-VidModeExtension
XTEST
default screen number: 0
number of screens: 1
Вероятно, большая часть этих
данных вам ни о чем не скажет, если только вы не принадлежите к числу опытных
пользователей X. Но если вы хорошо разбираетесь в X, команда xdpyinfo
сообщит много полезных сведений о вашей системе. Поскольку мы не собираемся
описывать все нюансы X, мы лишь порекомендуем обратиться к одному из текстов
по Х Window, рекомендуемых в приложении
А.
Команда xev полезна примерно
в той же степени, что и xdpyinfo ≈
она открывает окно и возвращает информацию о событиях, сгенерированных
этим окном. Если вы ничего не знаете об X, эта информация окажется бесполезной;
но если вы разбираетесь в Х и в событиях, она может пригодиться.
Xlock
Команда xlock
блокирует систему до того, как будет введен пароль. Те, кто заботится о
безопасности, таким образом предотвращают посторонний доступ в систему
во время своего отсутствия. Однако будьте осторожны ≈ вы можете случайно
запустить xlock и забыть пароль.
Xmag
Команда xmag
(вызывается из окна xterm или меню
fvwm) увеличивает часть экрана (рис. 8.20).
Рис. 8.20.Увеличение
части экрана утилитой xmag
Xman
Мы неоднократно ссылались
на xman в этой книге. Вероятно, вы
уже научились пользоваться этой утилитой. В ней нет ничего сложного. При
запуске xman из окна xterm или меню fvwm появляется небольшое окно. В нем
вызывается диалоговое окно, которое используется для загрузки страницы
электронной документации, получения справки или выхода из приложения. После
активизации этого окна можно нажать Ctrl+S
и вызвать другое диалоговое окно, в котором непосредственно загружается
страница. В этом диалоговом окне присутствует текстовое поле для ввода
имени команды и две кнопки ≈ одна загружает указанную man-страницу
(Manual Page), а другая ищет нечто похожее
на введенную строку (Apropos).
Когда страница руководства
будет выбрана, она отображается в новом окне.
Sc и xspread
Команда sc,
работающая в режиме командной строки, запускает полноэкранную программу
для работы с электронными таблицами. В действительности sc
≈ весьма сложная команда, информация о ней приведена в электронной документации:
gilbert: ~$ man sc
Электронная таблица xspread
построена на основе sc и обладает некоторыми усовершенствованиями для Х
Window System.
Эмуляторы
Членам сообщества
Linux присущ некоторый идеализм ≈ они мечтают
о более совершенном мире, в котором Linux сможет работать с любыми программами,
для какой бы операционной системы они не были написаны.
Поэтому в Linux появился
целый набор программных пакетов, позволяющих запускать программы, написанные
для Windows, DOS, CP/M и Macintosh.
Сейчас
это может показаться глупым - зачем запускать программу для работы с приложениями
Windows в Linux, когда можно просто запустить
Windows? Однако эти проекты начинались еще
в те дни, когда жесткие диски дорого стоили и большинство пользователей
не хотело устанавливать несколько операционных систем на одном компьютере.
Сейчас иметь на PC жесткий диск емкостью
менее 3,2 Гбайт считается неприличным, поэтому проблем стало меньше.
Эмуляторы
с SunSITE
Существует немало программ-эмуляторов
для запуска приложений Windows и DOS.
Многие из этих программ находятся на узле ftp://sunsite.unc.edu, в каталоге
/pub/Linux/system/emulators. В табл. 8.13
перечислено содержимое этого каталога на момент написания книги; мы не
включили в список различные эмуляторы Commodore,
находящиеся в отдельном подкаталоге commodore, a также
эмуляторы Sinclair ZX80. Кроме того,
имеется подкаталог dosemu с различными
эмуляторами DOS.
Таблица 8.13.Содержимое
каталога /pub/Linux/system/emulators
Файл
|
Описание
|
68k-simulator.tar.gz |
Имитатор
МС-68000 для Х Window System |
apple2-emul-v005-linux.tar.gz |
Эмулятор
Apple IIe для Х и Linux |
bsvc-2.0-src.tar.gz |
Имитатор
микропроцессоров (Motorola 68000, Hector 1600) |
cpm-0.2.1.tar.gz |
Эмулятор
Z80 и CP/M |
flexemu-0.80.tgz |
Операционная
система FLEX |
mz700em-0.2.tar.gz |
Эмулятор
Sharp MZ700 |
nc100em.tar.gz |
Эмулятор
Amstrad NC100 |
ti4linux-0.2.tar.gz |
Эмулятор
TI-99/4A, требует модулей памяти (ROM) |
x48-0.4.0.tar.gz |
Программный
эмулятор для калькулятора HР48 |
Win3.1_Dosemu.HOWTO.gz |
Информация
о применении dosemu для запуска
Windows |
dosemu0.64.3.tgz |
Исходный
текст dosemu |
garrot02.tar.gz |
Возврат
свободного процессорного времени системе в dosemu |
xdos0.4a.tgz |
Эмулятор
DOS, разработанный для Х и запускаемый в окне
xterm |
Эмуляция
DOS в Linux
Если вам хочется запускать
в Linux DOS-программы, попробуйте воспользоваться dosemu
или xdos (в сущности, это одна и та
же программа с одним отличием: xdos запускается в окне Х Window
с поддержкой мыши, a dosemu ≈ нет).
Строго говоря, ни
dosemu, ни xdos в действительности не являются
эмуляторами DOS, хотя в документации
они называются именно так (emu
в dosemu является сокращением отemulator).
Dosemu создает виртуальную DOS-машину на компьютере
PC на базе Intel
(по аналогии с тем, как реализованы DOS-сеансы в OS/2). Вам придется откомпилировать
dosemu для своего компьютера; подробности
приведены в файле HOWTO.
Некоторые
математические утилиты
Slackware Linux и
UNIX широко распространены в научном мире,
в котором математика играет важную роль. Большинству рядовых пользователей
не нужны мощные математические программы, однако некоторые простейшие утилиты
вам все же пригодятся.
Команда
bc
Из-за повсеместного применения
недорогих калькуляторов команда bc
несколько устарела, и все же она (особенно версия Фонда бесплатных программ,
включенная в Linux) способна заменить калькулятор с широким набором функций.
Выглядит она так:
gilbert: ~$ bc
1+1
2
quit
Общение с bc
организовано следующим образом: вы вводите командную строку, нажимаете
Enter (или Return)
и читаете результат. Сеанс работы завершается командой quit.
Конечно, предусмотрены и более сложные возможности ≈ например, вычисление
квадратных корней, преобразование чисел из одной системы счисления в другую,
разложение на простые множители и управляющие команды для написания программ.
За дополнительной информацией обращайтесь к документации по системе и электронным
man-страницам.
Dc
В калькуляторе dc
применяется обратная польская нотация, а также имеется возможность определения
и вызова макросов.
Calculator
Программа calculator
(вызывается из окна xterm или меню
fvwm) имитирует инженерный калькулятор с расширенными
возможностями. Окно программы изображено на рис. 8.21.
Рис. 8.21.Программа
calculator
Игры
Только зануда способен
все время работать, не обращая внимания на игры. Когда вам надоест писать
программы или создавать документы, в операционной системе Linux
найдется немало развлечений. Одни игры работают в терминальном режиме,
другие ≈ в Х Window System.
Терминальные
игры
Эти игры не требуют Х
Window и работают либо в текстовом режиме,
либо с собственными графическими средствами. Они находятся в каталоге
/usr/games, если в тексте прямо не сказано
обратного. Если вам понадобится дополнительная информация по любой из этих
игр, обращайтесь к соответствующим man-страницам.
Arithmetic
У того, кто справился с
установкой Slackware Linux, не возникнет
проблем с простыми математическими задачами, заданными arithmetic.
Программа выводит серию уравнений, вы их решаете. Чтобы завершить тестирование,
нажмите Ctrl+C. Оценка зависит от количества
правильных ответов и от скорости ответов на вопросы.
Atc
He хватает стресса в реальной
жизни? Попробуйте себя в atc ≈ игре
Air Traffic Controller. Ваша задача ≈ принимать
и отправлять самолеты из загруженного аэропорта.
Backgammon
Тот, кто хотя бы раз играл
в нарды, легко освоит backgammon. А
если эта игра вам совершенно незнакома, попробуйте запустить обучающую
программу teach-gammon (см. ниже в
этом разделе).
Bcd
Программа преобразует вводимые
данные в код перфокарт.
Caesar
Если верить электронной
документации, эта странная утилита ⌠пытается расшифровать шифр Цезаря с
использованием частотной статистики английского алфавита■ (что бы это ни
значило). Возможно, кому-нибудь это покажется хорошей шуткой. Попробуйте
сами.
Canfield
Разновидность карточного
пасьянса. Обязательно прочитайте рекомендации перед тем, как браться за
игру.
Cribbage
Текстовая версия криббеджа
(запускается командой cribbage) играет
в коротком или длинном варианте. Учтите, что это не самая надежная программа
для игры в криббедж ≈ она неоднократно пыталась дать нам меньше очков,
чем мы заслуживали (в колледже мы провели за криббеджем довольно много
времени, поэтому неплохо разбираемся в игре). И все же тот, кто увлекается
криббеджем, не пожалеет о потраченном времени.
Factor
Программа раскладывает
целые числа на простые множители. Первоклассное развлечение!
Fish
Компьютерная версия почтенной
игры Go Fish, в которую вы наверняка
играли в далеком детстве. А если не играли ≈ можете попробовать сейчас.
Fortune
При каждом запуске эта
команда выдает какую-нибудь глубокомысленную фразу. В процессе установки
Linux можно потребовать, чтобы программа
fortune автоматически вызывалась при каждой
регистрации пользователя в системе.
Hangman
Детская игра ⌠виселица■,
перенесенная в мир Linux.
Hunt
Ваша цель ≈ расправиться
с коллегами по сети.
Lizards
Аркадная игра: стильная
графика, лабиринт с падающими камнями и враги, которые двигаются вверх-вниз
и вправо-влево. Определенно стоит попробовать.
Mille
Если вы помните игру
Mille Bornes (насколько нам известно, сейчас
она уже не встречается), вам понравится эта карточная игра. А если нет
≈ не обращайте на нее внимания.
Моnор
Любители настольной ⌠Монополии■
сильно удивятся при виде текстовой версии этой почтенной игры. Впрочем,
играть в нее не очень интересно ≈ вы можете залезть в долги и купить все
участки, на которых окажется ваша фишка.
Morse
Если программа bcd
превосходит ваши потребности, команда morse
преобразует ввод с клавиатуры в азбуку Морзе. Развлечение завершается клавишами
Ctrl+C.
Number
Команда преобразует числа
в текстовое представление (например, 12 преобразуется в twelve).
Paranoia
В этой текстовой игре вы
выбираете один из ответов ⌠да/нет■ в попытке разгадать тайну. В какой-то
момент игры вы заведомо умрете (если задуматься, то же самое происходит
и в реальной жизни), но до этого вы пройдете через серию ситуаций и примете
верные решения.
Роm
Команда роm выводит текущую
фазу луны. Как утверждается в электронной документации, она ⌠может пригодиться
при выборе даты завершения программных проектов и предсказаний поведения
начальства■.
Ppt
Команда ppt
получает данные и показывает, как они будут выглядеть на перфоленте. Вспоминается
период студенчества и ⌠Орегонская тропа■ на больших компьютерах с разделением
времени.
Primes
Команда primes
выводит список простых чисел, начиная с введенного вами числа.
Rain
Команда rain
генерирует на экране случайный узор, имитируя падение дождевых капель.
Robots
В robots
играют на прямоугольной сетке. Ваша цель ≈ уничтожить злых роботов, но
несколько необычным способом. У вас нет никакого оружия, и чтобы уничтожить
роботов, нужно заставить их сталкиваться друг с другом. Когда враги окажутся
близко, можно телепортироваться в другую точку сетки.
Sail
Еще одна двумерная игра,
в которой вы принимаете командование боевым кораблем и сражаетесь с другими
пользователями сети. Можно выбрать одну из множества исторических битв
и даже сценарий из ⌠Звездного похода■. Игра sail
старше, чем компьютеры PC; впервые
она была написана для мини-компьютеров DEC PDP
11/70 в 1980 году (кстати говоря, электронная документация интереснее самой
игры).
Sasteroids
Клон игры Asteroids
для Atari, на которой мы все выросли.
В этой версии вместо милых нашему сердцу контуров используются цвета и
оттенки.
Snake
В игре snake
вы собираете доллары ($) и убегаете от цепочки ползущих s (которые
изображают змею).
Teachgammon
Программа обучает игре
в нарды.
Trek
Игра по мотивам сериала
⌠Звездный поход■ (хотя по юридическим соображениям термин Star Trek
нигде не используется). Ваша цель ≈ патрулировать квадрант Галактики и
преследовать врагов. Впрочем, действие происходит задолго до времен ⌠Следующего
поколения■; вы должны истребить как можно больше клингонов.
Wargames
Интересная вариация на
тему ⌠стрелялок■, встречающихся в системе Linux.
Worm
В игре worm
вы перевоплощаетесь в червяка, который ползает по плоскости. Съешьте как
можно больше букв и посмотрите, насколько вам удастся вырасти.
Worms
В отличие от предыдущей
игры, программа worms рисует на экране
червяков, извивающихся в экстазе.
Wump
В этой классической текстовой
игре вы охотитесь на Вампуса в пещере, состоящей из 20 комнат. Остерегайтесь
летучих мышей и бездонных ям.
Игры для
Х Window
Вместе со Slackware
Linux поставляется несколько игр, предназначенных
для X. Большинство из них находится в каталоге /usr/XllR6/bin.
Некоторые игры запускаются прямо из меню Games
менеджера fvwm. У большинства игр имеется
электронная документация, которую лучше всего просматривать в xman.
Ico
Программа ico
открывает окно, в котором летает геометрическая фигура. Обычно продавцы
компьютеров используют ее для оценки скорости работы компьютера в Х ≈ как
будто элементарная задача обсчета сетчатого объекта позволяет судить о
вычислительной мощи компьютера.
Workman
Приложение Х Window
для воспроизведения музыкальных компакт-дисков в дисководе CD-ROM.
В электронной документации ошибочно утверждается, что программа работает
только с дисководами SunCD; как выяснилось,
она работает с любыми дисководами CD-ROM,
поддерживаемыми Slackware Linux. Однако
при работе с workman необходимо помнить
о некоторых правилах (кстати, недокументированных).
Вы должны иметь право использования
CD-ROM (помните ≈ мы говорили о том, что Linux
интерпретирует как файлы все, даже устройства?). Большинство пользователей
не обладают правами использования workman.
Чтобы изменить права, выполните команду chmod
в качестве привилегированного пользователя root.
После запуска workman
вы не сможете открыть дисковод CD-ROM.
Программу workman
также можно запустить в текстовом режиме (то есть без запуска Х
Window), для этого используется следующая
командная строка:
gilbert:$ workbone
-
Xcdplayer ≈ другой проигрыватель
для X.
-
Cdplayer ≈ проигрыватель для
текстового режима.
-
Xmcd ≈ проигрыватель, работающий
в OSF/Motif.
-
Xmitsumi ≈ приложение
X, воспроизводящее звуковые компакт-диски
на дисководах Mitsumi.
-
Xplaycd ≈ проигрыватель для
Х с микшером и визуальным индикатором.
-
Cdtool ≈ проигрыватель для текстового
режима.
Xboard
Программа xboard
отображает шахматную доску для GNU Chess ≈
весьма серьезной шахматной программы (с которой будет нелегко справиться
даже хорошим шахматистам). В игре учитывается время, а также задаются другие
параметры.
Xlander
Похоже, разработчики
Linux проводили слишком много времени в залах
игровых автоматов в 70-х и начале 80-х годов. Такое впечатление возникает
после игры в xlander ≈ Х-версию старой
аркадной игры Lunar Lander. Ваша задача
-успешно посадить спускаемый аппарат на Луну и избежать крушения.
Xlogo
Команда открывает окно
с официальной эмблемой X. В основном используется продавцами компьютеров
≈ чтобы доказать, что Х действительно работает на расхваленной машине.
Xmaze
Программа (запускается
командой maze) тоже используется в
основном продавцами компьютеров. Обычно с ее помощью демонстрируют скорость
работы компьютера в Х ≈ как будто элементарная задача прохождения лабиринта
позволяет судить о вычислительной мощи компьютера.
Xeyes
Не совсем игра, а скорее
Х-версия традиционного упражнения для программистов ≈ пары глаз, следующих
за курсором.
Xmahjongg
Впечатляющая версия древней
настольной игры для Х Window.
Xroach
После запуска xroach
вы увидите, как таракан пробегает по экрану и прячется под одним из окон.
Если через некоторое время свернуть окно, вы увидите, что тараканы размножаются.
Насекомые бегают по экрану и находят убежище под другими окнами или значками.
Обитатели городских квартир, населенных тараканами, почувствуют себя как
дома.
Если запустить игру из окна
xterm с параметром -squish,
вы сможете давить тараканов мышью.
Xspider
Довольно сложный пасьянс,
в который играют двумя колодами.
Xvier
Цель этой настольной игры
≈ выстроить четыре камня в ряд, по диагонали или в столбец. Игра начинается
с низа доски и постепенно продвигается вверх.
Телекоммуникации
Даже если вы используете
Linux на автономном компьютере, не стоит думать,
что вы изолированы от внешнего мира. Многочисленные средства Linux позволяют
подключаться по модему к другим компьютерам, будь то электронные доски
объявлений (BBS), коммерческие службы
или Интернет. Благодаря хорошей программной базе UNIX Linux
также содержит средства для подключения к текстовым службам (например,
CompuServe или локальные BBS).
В оставшейся части этой главы
мы познакомимся с коммуникационными средствами Linux. Начнем с очень полезной
телекоммуникационной программы seyon,
затем рассмотрим пакеты minicom, xminicom
и term, а в конце поговорим о старых
телекоммуникационных средствах UNIX
(например, rzsz). Все описанные программы
присутствуют в поставке Slackware Linux.
Seyon и
телекоммуникации в Linux
Телекоммуникационная программа
seyon была разработана Мухаммедом М. Саггафом, который увековечил свой
облик в программе (рис. 8.22). Seyon представляет собой на удивление функциональный
пакет эмуляции терминала для Х Window.
Рис. 8.22.Портрет
автора seyon в диалоговом окне
Seyon обладает многими возможностями, присутствующими
в популярных телекоммуникационных пакетах (таких, как Procomm),
в том числе имеет телефонный справочник, поддержку различных протоколов
(включая Zmodem), различные режимы
эмуляции (включая DEC VT102, Tektronix
4014 и ANSI) и режимы трансляции (для
взаимодействия со службами на базе PC).
Для работы с seyon необходимо
иметь модем и подключение к телефонной линии. Во время установки Linux
вы ввели информацию о своем модеме ≈ то есть номер СОМ-порта, к которому
он подключен (на большинстве PC используются
порты СОМ1 и COM2). Затем эта информация была преобразована в файл устройства
/dev/modem, из которого seyon получает исходные
данные.
Seyon запускается следующей
командой:
gilbert:~$ seyon -modems /dev/modem
Толковый пользователь создаст
псевдоним для этой громоздкой командной строки. Если просто запустить
seyon без параметров, вы получите сообщение
об ошибке. После загрузки seyon появляются два окна, похожие на рис. 8.23.
Рис. 8.23.Программа
seyon при запуске
Вся основная работа в seyon происходит в окне Command
Center. В верхнем ряду кнопок отображается
информация, полученная от модема. DTR, DSR, RTS
и CTS ≈ стандартные телекоммуникационные
сигналы. RNG сообщает об установлении
связи, а число определяет время сеанса, что очень удобно при повременной
оплате услуг.
Ниже расположено большое
текстовое поле, в котором сообщается о том, активна ли программа seyon,
ожидает ли она звонка или дозванивается сама. Если seyon остается неактивной
в течение некоторого промежутка времени, появляются различные сообщения
(в основном чисто декоративные).
Следующий ряд кнопок мы пропускаем,
потому что с этими кнопками не связаны никакие действия. Однако последний
ряд кнопок представляет для нас интерес, поскольку именно в нем сосредоточена
суть функциональных возможностей seyon:
-
Кнопка About
выводит шутливое диалоговое окно, изображенное на рис. 8.22.
-
Кнопка Help
выводит страницу электронной документации для seyon. Программа
обладает весьма нетривиальными возможностями, которые здесь не рассматриваются.
-
Кнопка Set
открывает диалоговое окно (рис. 8.24)
с различными параметрами системы.
-
Strip 8th bit ≈ используется
при подключении к другим системам, кроме UNIX.
-
BS->DEL фактически превращает
клавишу Backspace в Delete.
Клавиша
Backspace
не всегда поддерживается в мире UNIX,
поэтому при подключении к многим хостам UNIX
эту возможность следует включить.
-
Meta->Esc транслирует клавишу
Meta в эквивалентную клавишу PC Esc.
Оставьте
этот параметр без изменений.
-
XON/XOFF относится к программному
управлению потоком данных. По умолчанию этот параметр отключается. Однако
некоторые удаленные хосты требуют контроля XON/XOFF,
отсюда и необходимость в данном параметре.
-
CST/RTS ≈ еще один параметр
для управления потоком данных. По умолчанию он также отключается, однако
для некоторых хостов может потребоваться его включение.
-
AutoZmodem приказывает
seyon автоматически включать пересылку файлов
с использованием протокола Zmodem по
запросу удаленного хоста. Сделано по соображениям удобства.
-
IdleGuard отправляет строку
удаленному хосту в том случае, если сеанс в течение некоторого времени
был неактивен. Цель ≈ предотвратить
завершение сеанса, поскольку на многих удаленных хостах предусмотрено автоматическое
отключение по отсутствию активности.
-
В диалоговом окне Baud
устанавливается скорость обмена данными (кстати, название неточное
≈ скорость измеряется не в бодах, а в количестве
бит в секунду). К сожалению, максимальное значение равно 38 400
бит/с. Как правило, скорость обмена данными следует устанавливать выше
фактической. Так, для модемов 14 400
бит/с устанавливается скорость 38 400
бит/с.
-
Bits ≈ количество бит. Как правило,
должно быть равно 7 или 8.
-
Parity ≈ проверка четности (возможные
значения ≈ отсутствие проверки, четная
или нечетная контрольная сумма).
-
Stop bits ≈ количество стоп-битов
(1 или 2).
-
Common ≈ выбор распространенных
комбинаций Bits/Parity/Stop. На большинстве
удаленных хостов используются значения 8-N-1
или 7-Е-1.
-
Newline ≈ трансляция исходящих
символов перевода строки UNIX в символы
перевода строки, возврата курсора или комбинацию ⌠перевод строки/возврат
курсора■. Последняя комбинация является предпочтительной для большинства
телекоммуникационных служб PC.
-
Port ≈ порт модема. Если вы
не смогли указать порт при запуске seyon, то
просто не доберетесь до этого места.
Рис. 8.24.Диалоговое
окно Settings
Кнопка Dial
вызывает список телефонных номеров. При первом использовании seyon
будет выведен длинный список, содержащий всего один телефонный номер. Перед
вами ≈ пример телефонного справочника, который вы должны приспособить для
своих целей. Сделать это несложно (воспользуйтесь кнопкой Edit
в диалоговом окне Dialing Directory),
в процессе настройки можно пользоваться многочисленными примерами из файла.
Изменившийся список телефонных номеров изображен на рис. 8.25.
Рис. 8.25.Диалоговое
окно Dialing Directory
Окно также позволяет вручную
ввести нужный номер, для которого будут использованы текущие системные
настройки seyon.
Диалоговое окно File
Transfer (рис. 8.26) предназначено для отправки
и получения файлов. В нем перечисляются внешние протоколы, хотя различные
варианты Zmodem входят в стандартную
установку seyon. Установка новых протоколов в seyon описана в справочных
файлах.
Рис. 8.26.Диалоговое
окно File Transfer
Диалоговое окно
Shell позволяет выполнить команду оболочки
прямо из seyon.
Окно Miscellaneous
(рис. 8.27) открывает доступ к дополнительным средствам, среди которых
≈ запись экранного текста в файл, текстовый редактор и программа просмотра
файлов.
Рис. 8.27.Диалоговое
окно Miscellaneous
Кнопка Hangup разрывает
текущее соединение. Кнопка Exit завершает
seyon. Наконец, кнопка Cancel отменяет
текущую операцию.
После краткого обзора программы
seyon вы получили некоторое представление
о ее возможностях. Однако этим дело не ограничивается: например, программа
поддерживает множество параметров командной строки (слишком многочисленных,
чтобы рассматривать их здесь). Если вы собираетесь регулярно использовать
seyon, рассмотрите механизм создания сценариев, которые напоминают традиционные
языки программирования (операторы if/then
и т. д.). В справочных файлах, вызываемых из окна Command Center,
содержится полная информация о сценариях seyon.
Minicom
и xminicom
Программа seyon написана
для Х Window. Если вам не хочется работать
только в X, придется найти текстовый телекоммуникационный пакет. Таким
пакетом является программа minicom,
написанная Михелем ван Сморенбургом. Кроме того, можно воспользоваться
xminicom -- интерфейсным модулем для Х
Window к базовому пакету minicom.
Обе программы работают одинаково. Мы рассмотрим minicom,
однако те же команды будут работать и в xminicom.
Minicom ≈ полноэкранный телекоммуникационный
пакет. Он работает аналогично другим телекоммуникационным пакетам для
PC и в нем имеется меню (вызывается клавишами
Alt+z) ≈ см. рис. 8.28. Каждая команда вызывается комбинацией, начинающейся
с Alt+z.
Чтобы побыстрее приступить
к работе с minicom, нажмите
d на экране со сводкой команд. После этого
можно вручную ввести телефонный номер или вызвать телефонный справочник
клавишей Enter. В этом меню также происходит
добавление новых телефонных номеров, редактирование существующих или удаление
ненужных.
Чтобы изменить коммуникационные
параметры, нажмите Alt+z p ≈ открывается
диалоговое окно, изображенное на рис. 8.29.
Рис. 8.28.Сводка
команд minicom
Рис. 8.29.Настройка
коммуникационных параметров в minicom
Поскольку программа
minicom работает в текстовом режиме, в ней
интенсивно используются комбинации клавиш. Большинство соответствующих
команд также может быть вызвано из меню, показанного на рис. 8.28. Впрочем,
вызывать меню для любой мелкой операции нежелательно ≈ комбинации клавиш
перечислены в табл. 8.14.
Таблица 8.14. Комбинации
клавиш в minicom
Клавиша
|
Результат
|
а |
Включение
символа перевода строки (LF) в каждую
строку |
b |
Обратная
прокрутка буфера окна терминала |
с |
Очистка
экрана |
d |
Вывод
телефонного справочника |
е |
Включение/отключение
эхо-вывода; используется в тех случаях, когда каждый символ в строке дублируется
или вообще не отображается |
f |
Отправка
сигнала прерывания удаленному хосту |
g |
Запуск
сценария |
h |
Разрыв
связи |
i |
Выбор
режима клавиш управления курсором |
j |
Временный
выход в оболочку, при этом minicom
остается в памяти |
k |
Запуск
сеанса kermit |
I |
Сохранение
текущего сеанса в файле (по умолчанию используется файл minicom.сар, хотя
можно выбрать другой файл) |
m |
Инициализация
модема |
о |
Настройка
minicom (требует регистрации в качестве привилегированного
пользователя root) |
p |
Настройка
параметров связи (скорость обмена, стоп-биты, проверка четности и т. д.) |
q |
Выход
из minicom без сброса модема |
r |
Получение
файла от удаленного хоста; поддерживаются протоколы Zmodem, Ymodem,
Xmodem и Kermit |
s |
Отправка
файла; поддерживаются протоколы Zmodem, Ymodem, Xmodem и
Kerrmt |
t |
Выбор
режима эмуляции терминала (VT100, Minix
или ANSI) |
w |
Включение/выключение
переноса строка |
x |
Выход
из minicom со сбросом модема |
z |
Краткая
сводка команд |
Одна из приятных особенностей
minicom ≈ сценарии. Хотя сам сценарий может
представлять собой сценарий оболочки (документация объясняет, как это делать),
minicom позволяет установить для сценария
пароль и предотвратить его использование посторонними. Однако в
minicom существуют и другие проблемы безопасности,
в основном связанные с запуском в режиме привилегированного пользователя.
Если на вашем компьютере Linux приходится
принимать особые меры безопасности, подумайте о том, стоит ли пользоваться
minicom.
Электронная документация
по minicom весьма обширна. Вероятно,
вы найдете в ней ответы на любые возникающие вопросы.
Rzsz
Практически всем пользователям
PC с опытом телекоммуникаций приходилось работать
с программными пакетами, которые делали все сами: управляли процессом дозвона
и регистрации, следили за пересылкой файлов и фактически осуществляли централизованное
управление всеми коммуникациями. Однако Linux, как и положено хорошему
UNIX-аналогу, предоставляет различные средства для решения одних и тех
же задач. В сундуках UNIX найдутся
команды, которые обеспечивают коммуникации через последовательный порт
без каких-либо изощренных программ и вообще без всякого интерфейса.
Команда UNIX cu
используется для подключения к другому компьютеру. На автономных компьютерах
вместо cu лучше использовать minicom
или seyon. Но если вы работаете в сети
с предварительно настроенным UUCP,
для установки исходного соединения можно воспользоваться командой cu (которая
входит в число команд UUCP).
После подключения к удаленному
компьютеру можно воспользоваться набором команд rzsz
для приема и отправки документов. Фактически эти команды реализуют протоколы
Zmodem, Ymodem и Xmodem
для командной строки при наличии установленного соединения. Выбранный протокол
должен поддерживаться удаленным хостом. Поскольку протокол Zmodem
уже приобрел популярность в большинстве коммерческих служб и BBS,
его полезно иметь на своем компьютере.
В поставку rzsz
входит шесть команд. Они отличаются от других поставок rzsz (электронная
документация отличается от справочных сообщений), поэтому мы приводим список
команд с краткими комментариями:
-
Команда rz
или lrz принимает файлы с удаленного
хоста через протокол Zmodem.
-
Команда rb
или lrb принимает файлы с удаленного
хоста через протокол Ymodem.
-
Команда rх или lrx
принимает файлы с удаленного хоста через протокол Xmodem.
-
Команда sz
или lsz отправляет файлы на удаленный
хост через протокол Zmodem.
-
Команда sb
или lsb отправляет файлы на удаленный
хост через протокол Ymodem.
-
Команда sx
или lsx отправляет файлы на удаленный
хост через протокол Xmodem.
Чтобы получить краткое
описание каждой команды, запустите ее с параметром -h
(кроме того, в этой поставке Linux
существует электронная документация для команд rz и sz ≈ см. рис. 8.30).
Например, команда sb -h выводит следующую информацию:
gilbert:~# sb -h
Send file(s) with ZMODEM/YMODEM/XMODEM
Protocol
(Y) = Option applies to Ymodem only
(X) = Option applies to Xmodem only
Usage: Isz [-2+abdefklNnquvwYy] [-]
file ...
Isz [-2Ceqv] -c COMMAND
Isb [-2adfkquv] [-] file ...
Isz [-2akquv] [-] file
and much more...
Рис. 8.30.Электронная
документация для команд rz/lrz
Конкретное использование этих команд отчасти зависит от
удаленного хоста. Некоторые хосты (особенно на базе UNIX)
требуют, чтобы при приеме файла вы сначала запустили rz
на удаленном хосте, а затем ≈ sz на
локальном компьютере. На других хостах (особенно на базе PC)
прием файлов имеет свою специфику.
Итоги
В начале этой главы мы
представили некоторые полезные приложения Linux, a затем
перешли к углубленному рассмотрению текстового редактора emacs.
Редактор emacs, принадлежащий Фонду
бесплатных программ, представляет собой полноценный текстовый редактор,
работающий как в текстовом режиме, так и в Х Window System.
Хотя к emacs необходимо привыкнуть, это удобная и мощная программа ≈ такое
сочетание не так уж часто встречается в мире Linux.
В Linux входит несколько
программ обработки текста, которые получают исходные данные от текстового
редактора и преобразуют их в язык, понятный для принтера. Среди этих программ
лидируют groff, GNU-версия troff;
TeX, выдающаяся программа обработки текстов,
написанная Дональдом Кнутом; и texinfo,
утилита форматирования от Фонда бесплатных программ. Кроме того, в этой
категории рассматривалась программа sed,
которая обладает возможностями как текстовых редакторов, так и программ
обработки текста.
Slackware Linux содержит
несколько утилит для сжатия и архивации файлов, в числе которых ≈
gzip, bzip2, zip и gunzip,
а также команда UNIX tar (версия Фонда
бесплатных программ). Эти утилиты пригодятся для распаковки программ, полученных
из Интернета, а также для создания резервных копий системы на случай сбоев.
Кроме того, в Linux представлены
некоторые утилиты, разработанные с учетом особенностей архитектуры
PC. Эти команды, входящие в пакет MTools,
позволяют Linux работать с информацией DOS
(например, гибкими дисками, отформатированными в DOS),
а также выполнять некоторые базовые функции DOS (например,
создавать и удалять каталоги). Пакет MTools
в общем и целом предназначен для работы с гибкими дисками.
В поставку Linux от
Slackware также входит несколько игр.
Глава завершается обсуждением
коммуникационных программ операционной системы Linux. Основное внимание
уделяется утилитам seyon, minicom, xminicom и
пакету rzsz.
Следующая глава посвящена
системному администрированию Linux.