Руководство начинающего пользователя Linux.
(Оно же "Руководство новичка - администратора Linux",
оно же - "Linux
Newbie
Administrator
Guide" или просто LNAG).
Версия 0.193 2002-12-14 by Stan, Peter and Marie Klimas.
Оригинал на английском языке находится по адресу http://sunsite.dk/linux-newbie.
Updated: 1.02.03. Переведено - ~77 %. Текст еще не прошёл литературную обработку :).
Все комментарии / исправления / сообщения по поводу перевода принимаются на [email protected].
Copyright (c) <1999-2002> Peter and Stan Klimas. Your feedback, comments, corrections, and improvements are appreciated. Send them to [email protected]. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0, 8 or later http://opencontent.org/openpub/ with the modification noted in lnag_licence.html.
Главная | 0. Преимущества Linux | 1. Перед установкой | 2. Помощь | 3. Основы работы | 4.1. Способы загрузки
4.2. Накопители | 4.3. X Window System | 4.4. Конфигурации | 4.5. Работа в сети | 5. Команды | 6. Программы
Часть 5: Команды и сокращения Linux. Перевод - Константин Фирсов.
[переведено полностью]
Содержание:
5.1 Избранные горячие клавиши и команды Linux
5.2 Команды Справки
5.3 Информация о системе
5.4 Основные операции
5.5 Управление файлами
5.6 Просмотр и редактирование файлов
5.7 Поиск файлов
5.8 Основы X-windows
5.9 Сетевые приложения
5.10 (Раз)архивирование файлов
5.11 Управление процессами
5.12 Основные команды администрирования
5.13 Дисковые утилиты
5.14 Управление учетными записями пользователей и доступом к файлам
5.15 Установка программ
5.16 Обращение к дискам/разделам
5.17 Инструменты сетевого администрирования
5.18 Команды, связанные со звуком
5.19 Команды, связанные с графикой
5.20 Маленькие игры
Intro. Это - практическая подборка программ, которые мы используем наиболее часто, считаем полезными, и которые присутствуют в наших дистрибутивах Linux (RedHat
или Mandrake). Нажмите <Tab> в пустой командной строке, и вы увидите
список всех возможных команд (присутствуюших в вашем PATH). В моей маленькой домашней системе это даст 3786 исполняемых файлов в моём PATH. Многие из этих "команд" могут быть доступны из вашей любимой графической оболочки (наверное,
KDE или Gnome) щелчком мыши по меню или кнопке. Все они могут быть выполнены из командной строки (если вы не забыли установить соответствующий пакет, по крайней мере, все они есть на Ваших CD). Программы, требующие графической оболочки должны выполняться из нее, например из терминала, открытого в kde или gnome (к примеру,
xterm).
Несколько более продвинутых (и, возможно, менее полезных для новичков) программ рассматриваются в главе "Продолжаем изучение Linux".
Замечание для UNIX-новичков:
1. Linux чувствителен к регистру символов. Например:
Netscape,
NETSCAPE, nEtscape, и netscape будут РАЗНЫМИ командами
(но только netscape доступен в моей системе). А так же my_filE,
my_file
и my_FILE - это три РАЗНЫХ файла. Ваши имя пользователя и пароль так же чувствительны к регистру. (Это пришло из традиционного UNIX и языка программирования C.)
2. Имена файлов имеют длину до 256 символов и могут содержать буквы, цифры, "." (точки), "_" (подчеркивания), "-" (тире), плюс несколько нерекомендованных символов.
3. Файлы с именами, начинающимися с символа "." (они же - dotfiles) обычно не показываются командами
ls
и dir. Считайте все такие файлы "скрытыми".
Используйте ls -a (Список всех файлов), чтобы увидеть эти файлы.
4. "/" - это эквивалент DOS-овского "\" (Корневая директория, являющаяся родительской для всех остальных, или разделитель между именем диркетории и субдиректории или файла). Например, попробуйте cd /usr/doc.
5. Под Linux, все директории объединены в одно дерево директорий
(здесь нет DOS-образных букв дисков). Все директории, диски, и устройства помещаются в одно дерево директорий.
6. В конфигурационных файлах строки, начинающиеся с "#", являются комментариями.
При изменении конфигурационных файлов лучше не удаляйте старые настройки, а просто добавьте # в начало строки. Всегда вставляйте краткое описание ваших действий (для себя же!).
7. Linux - многопользовательская система. Ваши персональные настройки (и все другие персональные файлы) располагаются в вашей домашней (home) директории /home/ваше_имя_пользователя.
Большинство настроек сохраняется в файлах с именами, начинающимися с точки. Чтобы убрать их с глаз долой, см. пункт 3 выше.
8. Общесистемные настройки хранятся в директории
/etc .
9. Под Linux, как в любой другой многопользовательской операционной системе, все директории и файлы имеют владельца и права доступа. Обычному пользователю в обычном случае разрешена запись только в свою домашнюю директорию -/home/ваше_имя_пользователя.
Научитесь пользоваться правами доступа, иначе многие вещи в Linux будут для вас непонятны.
10. Параметры команд начинаются с "-", если далее следует одна буква, или с "--", когда далее следует более одной буквы. Символ "-" является эквивалентом DOS-овского ключа "/". Например, попробуйте rm --help.
11. Наберите "command&" (имя команды с последующим символом "&") для запуска команды в фоновом режиме. Это предпочтительный способ для запуска программ из терминала X-window.
5.1 Избранные горячие клавиши Linux и разумные команды
<Ctrl><Alt><F1>
Переключиться на первый текстовый терминал. Под Linux вы получаете несколько
(6 - стандартное количество) одновременно открытых терминалов. Это - клавиатурная комбинация, которая значит: "нажмите вместе клавиши <ctrl> и <alt> и держите их.
Потом нажмите <F1>. И после этого отпустите все клавиши."
<Ctrl><Alt><Fn> (n=1..6)
Переключение на текстовый терминал с номером n. (Nого же можно добиться использованием команды chvt n. "chvt" - значит "сменить виртуальный терминал (change
virtual terminal)"). В текстовом терминале (не в X-терминале) вы можете так же использовать
<Alt><Fn>
(Клавиша <Ctrl> здесь не нужна).
tty
Даст вам имя того терминала, в котором вы напечатаете эту команду.
Если же вы предпочитаете получить номер терминала вместо его имени,
вы можете использовать fgconsole (="активная консоль(foreground console)").
<Ctrl><Alt><F7>
Переключиться на первый графический терминал (точнее, на седьмой терминал, где он обычно находится)
<Ctrl><Alt><Fn> (n=7..12)
Переключиться на графический терминал Nn (если графический терминал выполняется в позиции n-1). По умолчанию, первый X-сервер выполняется на терминале под номером 7. По умолчанию, ничто не выполняется на терминалах с 8 по 12--Вы можете использовать их как X-терминалы.
<Tab>
(В текстовом или X-терминале) Автозавершение команд, если есть только одна возможность, иначе - показывает все существующие возможности. В более новых системах может потребоваться нажать <Tab><Tab>. ЭТО ВЕЛИКОЛЕПНАЯ КОМБИНАЦИЯ, она сохранит вам массу времени.
<ArrowUp>
(В текстовом или X-терминале) просмотр и редактирование истории команд. Нажмите
<Enter>
для выполнения команды из истории. Используйте <ArrowDown>
для обратного просмотра.
<Shift><PgUp>
Просмотр истории вывода на терминал. Это работает даже в строке "login", так что вы сможете посмотреть сообщения загрузки. Величина/использование вашей видеопамяти определяет то, насколько глубоко вы можете просмотреть историю. <Shift><PgDown>
Просмотр в обратном направлении.
<Ctrl><Alt><+>
(в X-windows) Сменить разрешение X-сервера на следующее (если вы установили X-сервер более чем на одно разрешение). Для нескольких разрешений для своей стандартной SVGA карты, я использую следующие строки в файле /etc/X11/XF86Config: (Первое разрешение устанавливается по умолчанию, наибольшее определяет размер "виртуального экрана"):
Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300"
"1152x864"Z
Конечно же, сначала я сконфигурировал X-сервер, используя Xconfigurator,
xf86config, или вручную - редактированием файла
/etc/X11/XF86Config,
и теперь он поддерживает такие значения разрешения (в основном - благодаря раскомментированию строк, относящихся к моей видеокарте, и определению частот синхронизации для поддержки моего монитора). XFdrake (конфигурационная утилита Mandrake) выполняется из графической оболочки. Так же смотрите команды xvidtune и
xvidgen.
<Ctrl><Alt><->
(в X-windows) Выбрать предыдущее разрешение X-сервера.
<Ctrl><Alt><Esc>
(в X-windows, KDE) Закрыть окно, по которому будет произведен щелчок мыши (указатель мыши превращается в символ смерти). Обычно результат
сравним с командой xkill, набранной в X-терминале.
Полезно, когда программа в X-window не хочет закрываться сама (зависла, что ли?).
<Ctrl><Alt><BkSpc>
(in X-windows) Закрыть текущий сервер X-windows. Используйте, когда сервер X-windows
не хочет закрываться по-хорошему.
<Ctrl><Alt><Del>
(в текстовом терминале) Закрыть систему и перезагрузиться. Это нормальная команда
завершения работы системы из текстового режима. Руки прочь от кнопки "reset"!
<Ctrl>c
Убивает текущий процесс (работает в маленьких программах текстового режима).
<Ctrl>d
(Нажимается в начале пустой строки в режиме ввода команд) Выход из текущего терминала. См. так же следующие команды.
<Ctrl>d
Послать [Конец файла(End-Of-File)] текущему процессу. Не нажимайте дважды! (см. предыдущюю команду).
<Ctrl>s
Приостановить поток вывода терминала.
<Ctrl>q
Возобновить поток вывода терминала. Попробуйте, если ваш терминал мистическим образом перестал отвечать. См. предыдущую команду.
<Ctrl>z
Послать текущий процесс в фоновый режим.
exit
Выход из системы. Команда logout дает тот же эффект. (Если вы запустили вторую оболочку командной строки, например, используя bash, эта команда даст вам возможность покинуть ее, не выходя из первой. В этом случае, второе использование exit будет означать выход из системы.)
reset
Восстанавливает перекошенный терминал (терминал показывает забавные символы)
в состояние по умолчанию. Используйте, если случайно посмотрели двоичный файл командой "cat". Вы можете не увидеть этой команды, но она все равно сработает.
<Средняя кнопка мыши>
Вставляет текст, выделенный в данный момент в другом месте. Это - обыкновенный способ выполнения операции "копировать-вставить (copy-paste)" в Linux. Такая же, как операция "копировать-вставить" в системе меню. (Это может не сработать в некоторых старых приложениях. Это работает в текстовом терминале, если вы разрешили сервис
"gpm" в программе установки. Кроме того, это работает в большинстве диалоговых окон, и т.п. -- это действительно удобно!) Лучше всего выполнять эту операцию с 3-кнопочной мышью, приспособленной для Linux (Logitech
или похожей), или используя "эмуляцию 3-х кнопочной мыши (3-mouse button emulation)". <СредняяКнопкаМыши> нормально эмулируется на 2-х кнопочной мыши одновременным нажатием обоих клавиш.
~
(знак "тильда") Моя домашняя директория (/home/мое_имя_пользователя).
Например, команда cd ~/my_dir сменит мою рабочую директорию на
субдиректорию "my_dir" в моей рабочей директории.
Набрать "cd" без параметров - это то же самое, что набрать "cd ~". Я держу все мои файлы в моей домашней директории.
.
(точка) текущая директория. К примеру, ./my_program попробует выполнить программу "my_program" в вашей текущей директории.
..
(Две точки) Директория, родительская для текущей. Например, команда
cd
.. переместит мою текущую директорию на один уровень вверх.
Несколько дополнительных горячих клавиш для KDE или подобной графической среды (полезных, но необязательных)
<Alt><Tab> Прогулка по окнам. Для прогулки в обратную сторону:
<Alt><Shift><Tab>
<Ctrl><Tab> Прогулка по рабочим столам. В обратном направлении: <Ctrl><Shift><Tab>
<Ctrl><Esc> Показать таблицу активных процессов. Позволяет убить запущенный процесс, или послать ему другой сигнал.
<Alt><F1> Вызвать K-menu ("Эквивалент меню "Пуск(Start)" MS
Windows).
<Alt><F12> Эмулировать мышь "стрелками" клавиатуры.
<Alt><LeftMouseButton> Перенести окно.
Обычно окно передвигают, перетаскивая его заголовок. С помощью этого сочетания клавиш можно передвигать окно за любую его часть.
<Alt><PrintScreen> Сделать снимок текущего окна в буфер обмена.
<Ctrl><Alt><PrintScreen> Сделать снимок текущего рабочего стола в буфер обмена.
<Ctrl><Alt><l> Запереть рабочий стол.
<Ctrl><Alt><d> Спрятать/показать рабочий стол (неплохо для того, чтобы убрать пасьянс, когда входит начальник).
<Alt><SysRq><Командная_клавиша>
(Необязательные.) Это - ключевые комбинации, относящиеся к уровню ядра Linux (низший уровнь). Это значит, что шансы использовать эти комбинации
представляются в любое время. Эти комбинации используются в отладочных целях
и только в случае необходимости, так что для начала можно попробовать другие, более безопасные средства. Клавиша <SysRq> так же известна, как <PrintScreen>. Комбинации могут быть разрешены/запрещены установкой соответствуюшего параметра ядра
в "1" или "0", например : echo "1" > /proc/sys/kernel/sysrq
<Alt><SysRq><k> Убить все процессы (включая X), которые выполняются на текущей виртуальной консоли. Эта комбинация известна как "надежная клавиша доступа (secure access key, SAK)".
<Alt><SysRq><e> Послать сигнал TERM всем процессам, кроме init, что должно привести к их завершению.
<Alt><SysRq><i> Послать сигнал KILL всем исполняемым процессам, кроме init. Эта комбинация может преуспеть в уничтожении всех процессов более, чем предыдущая, но многие из процессов могут закончиться ненормально.
<Alt><SysRq><l> Послать сигнал KILL всем процессам, включая init. Система перестанет функционировать.
<Alt><SysRq><s> Выполнить аварийную синхронизацию (запись кэша на диск) для всех смонтированных файловых систем. Это может предотвратить потерю данных.
<Alt><SysRq><u> Перемонтировать все файловые системы в режиме "только для чтения". Эта комбинация действует так же, как предыдущая, с одной важной особенностью: если операция пройдет успешно, fsck не будет проверять все файловые системы при следующей перезагрузке системы.
<Alt><SysRq><r> Отключить режим непосредственной передачи данных (raw mode) с клавиатуры. Это может пригодиться, если Ваша сессия X-Windows зависнет. После ввода этой команды вам, возможно, удастся нажать <CTRL><ALT><DEL>.
<Alt><SysRq><b> Перезагрузиться немедленно, без синхронизации и демонтирования дисков. Это чревато ошибками файловой системы.
<Alt><SysRq><o> Выключает систему (Если сконфигурировано и поддерживается).
<Alt><SysRq><p> Выдает на консоль дамп содержимого текущих регистров и флагов.
<Alt><SysRq><t> Выдает на консоль список текущих задач и их информацию.
<Alt><SysRq><m> Выдает на консоль информацию о памяти.
<Alt>SysRq><цифра> Цифра от '0' до '9'.
Устанавливает уровень протокола(log) консоли, указывающий, какие сообщения ядра будут печататься на вашей консоли. Например, '0' позволяет выводить только сообщения об опасности, такие как PANIC или OOPS.
<Alt><SysRq><h> Выводит справку. Кроме того, любая другая комбинация <Alt><SysRq><клавиша> выведет ту же справку.
5.2 Команды помощи
какая-то_команда --help |more
Выдаёт на дисплей краткую справку по команде (работает с большинством команд).
Например, попробуйте "cp --help |more". Ключ "--help" работает так же, как DOS-овский
ключ "/h". Канал(pipe) к команде "more" нужен, когда вывод занимает больше, чем один экран.
man тема
Выводит содержимое страниц системного руководства (справки) по указанной теме.
Нажмите "q" для прекращения просмотра. Попробуйте man man, если вам нужны более продвинутые возможности. Команда info тема работает так же, как и
man тема, но может содержать более новую информацию. Man-страницы - нелегкое чтение для пользователя, потому что они написаны для программистов UNIX. Попробуйте какая-то_команда --help, чтобы получить краткую и простую справку по команде. Некоторые команды поставляются с README или другими файлами справки -- посмотрите в директории
/usr/share/doc.
Для вывода информации из определенной секции системного руководства, можно попробовать:
man
3 exit (Это выводит информацию о команде
exit из секции
3 системного руководства) или man -a exit (это покажет страницы руководства о exit из всех секций). Секции man содержат:
1-Команды пользователя, 2-Системные вызовы, 3-Подпрограммы,
4-Устройства, 5-Форматы файлов, 6-Игры, 7-Разное,
8-Системное администрирование, Остальные секции - новое. Для печати страницы систеного руководства, можно использовать: man тема | col -b | lpr (параметр
col -b удаляет специфичные для man символы, затрудняющие печать).
info тема
Выводит сообщение по указанной теме.
info является заменой для man и содержит более свежую информацию. Используйте <Space> и <BkSpace> для перемещения, а "q" - для выхода. Заменой для этой несколько странной системы просмотра справок может послужить pinfo
- используйте его, если решите, что он чем-то лучше.
apropos тема
Даст мне список команд, которые смогут что-либо сделать с моей темой.
whatis тема
даст мне краткий список команд соотносящихся с указанной темой. whatis
похож на apropos (см. выше)--он, в основном, пользуется теми же данными. Но whatis ищет ключевые слова, тогда как
apropos
смотрит так же и описания ключевых слов.
help команда
Выдает краткую информацию о встроенных командах bash (оболочка). Использование
help
без указания команды печатает список встроенных команд оболочки. Краткий список встроенных команд bash включает: alias,
bg, cd, echo, exit, export, fg, help, history, jobs, kill, logout, pwd,
set, source, ulimit, umask, unalias, unset.
kdehelp
kdehelpcenter
(в X-терминале, две команды, используйте ту, которая сработает в вашей системе).
Просмотр полного списка команд в графической среде навигатора справочной информации KDE. Обычно справка KDE активизируется при выборе картинки на панели KDE. gnome-help-browser - эквивалент в среде GNOME.
5.3 Информация о системе
pwd
Выводит на экран имя рабочей директории.
hostname
Выводит на экран имя локальной машины (машины, на которой вы работаете).
Используйте netconf (как "root") для изменения этого имени.
whoami
Печатает ваше имя пользователя.
id имя_пользователя
Печатает пользовательский идентификатор (uid) и идентификатор группы (gid), а так же - эффективный идентификатор (если он отличается от реального) и дополнительные группы.
date
Выводит на экран текущее время операционной системы, время и часовой пояс. Для стандартного
ISO-формата: date -Iseconds
Я могу установить дату и время 2000-12-31 23:57, используя команду:
date
123123572000
или используя две команды (проще запомнить):
date --set 2000-12-31
date --set 23:57:00
Для установки аппаратных часов (BIOS) на системное время (Linux), я могу использовать команду
(как "root"): setclock
Международный (ISO 8601) стандартный формат
для цифровых даты/времени имеет следующую форму: 2001-01-31 (по умолчанию в Linux). Вы можете быть более точными, если хотите, например: 2001-01-31 23:59:59.999-05:00 (представляет одну миллисекунду до 1 февраля 2001, во временной зоне на 5 часов после Гринвича (Universal Coordinated
Time (UTC))) . Более "соответстует законам" следующее представление: 20010131T235959,999-0500. Стандарты можно изучить по адресу ftp://ftp.qsl.net/pub/g1smd/8601v03.pdf.
time
Определяет количество времени, которое занимает выполнение другого процесса. Не перепутайте с командой date
(см. предыдущий пункт). Например, я могу замерить время вывода списка файлов текущей директории: time ls. Или я могу проверить функцию time sleep 10. (Замерить время выполнения команды, вызывающей десятисекундную задержку).
clock
hwclock
(Две команды, используйте любую). Берет системные дату/время из аппаратных часов
(реального времени, BIOS). Вы так же можете использовать эти команды для установки системных часов, но setclock может быть проще (см. выше на 2
команды). Пример: hwclock --systohc --utc
устанавливает аппаратные часы (в UTC) из системных часов.
who
Определяет пользователей, зарегистрированных в системе.
w
Определяет пользователей, зарегистрированных в системе + смотрит, что они делают,
используемое ими процессорное время, и т.д. Удобная команда для контроля безопасности.
rwho -a
(=remote who) Определяет пользователей, зарегистрированных на других компьютерах вашей сети.
Сервис rwho должен быть включен для выполнения этой команды. Если нет - выполните setup (в RedHat) как "root" для разрешения "rwho".
finger имя_пользователя
Системная информация о пользователе. Попробуйте: finger root . Можно использовать finger для любого сетевого компьютера, который предоставляет службу finger во внешний мир. Например, я могу попробовать: [email protected]
last
Показывает список пользователей, входивших в вашу систему в последнее время. Действительно неплохая идея - проверять этот список в качестве меры предосторожности в вашей системе.
lastb
("=last bad") Показывает последние плохие (неудавшиеся) попытки входа в систему. Это не работает в моей системе, но в ней можно сделать так: touch
/var/log/btmp
"Весьма разумно, что /var/log/btmp отсутствует во многих разумных вариантах установки - это файл для всеобщего чтения, содержащий ошибки входа в систему. Поскольку одна из наиболее распространенных ошибок входа в систему состоит в печати пароля вместо имени пользователя, /var/log/btmp - просто подарок для хакера." (Спасибо Брюсу Ричардсону (Bruce Richardson)). Возможно, проблема может быть решена изменением прав доступа к файлу для того, чтобы только "root" мог использовать "lastb":
chmod o-r /var/log/btmp
history | more
Показывает последние (1000 или более) команд, выполненных в командной строке текущим пользователем. Выражение "| more" позволяет делать остановки после каждого заполнения экрана выводом команды. Для того, чтобы посмотреть, что другой пользователь делает в вашей системе, войдите как "root" и просмотрите "history". Она хранится в файле .bash_history в домашней директории пользователя (правда, пользователь так же может легко ее изменить).
uptime
Показывает количество времени, прошедшее с последней перезагрузки.
ps
(="print status(печатай состояние)" или "process status(состояние процессов)") Список процессов, выполняемых текущим пользователем.
ps axu | more
Показывает список всех процессов, исполняемых в данный момент, даже если они запущены не с текущего терминала, вместе с именами пользователей, запустивших эти процессы.
top
Показывает список процессов, выполняемых в системе в данный момент, отсортированный по использованию процессора (верхнюю часть списка). Нажмите <Ctrl>c, когда просмотрите.
PID = идентификатор процесса(process identification).
USER=имя пользователя - владельца процесса (запустившего процесс).
PRI=приоритет(priority) процесса (чем больше число, тем ниже приоритет, нормально - 0, высший приоритет=-20, низший=20.
NI=уровень любезности(niceness level) (т.е., если процесс пытается быть любезным, уменьшая свой приоритет на указанное число). Чем больше число,
тем больше любезность процесса (т.е., приоритет ниже).
SIZE=килобайты кода+данных+стека занимаемых программой.
RSS=килобайты физической (на микросхеме) памяти, занимаемой процессом.
SHARE=килобайты памяти, разделяемой с другими процессами.
STAT=состояние процесса: S-спит(sleeping), R-выполняется(running), T-приостановлен(stopped)
или трассируется(traced), D-беспробудно спит(uniterruptable sleep), Z=зомби, не жив не мертв(zombie).
%CPU=процент использования процессора (с момента последнего обновления экрана).
%MEM=процент использования физической памяти.
TIME=общее время использования процессора (с момента старта).
COMMAND=командная строка, запустившая процесс (поосторожнее с паролями, и т.п., в командной строке, потому что все, кто наберет "top", смогут это увидеть!
gtop
ktop
(в X терминале) Два графических варианта top. Мне нравится больше
gtop
(устанавливается с gnome). В KDE, ktop также доступен из "K"меню в
"System"-"Task Manager".
uname -a
(= "Имя Юникс (Unix name)" с параметром "все(all)") Информация о вашем (локальном) сервере. Я могу также использовать guname (в терминале X-windows) для просмотра в более приятном виде.
XFree86 -version
Покажет версию X-windows, установленную в моей системе.
cat /etc/issue
Проверяет, какой дистрибутив вы используете. Вы можете поместить ваше собственное текстовое сообщение--оно будет показано при входе в систему. Но более правильно помещать такие сообщения в файл /etc/motd ("motd"="сообщение дня").
free
Информация о памяти (в килобайтах). "Shared(Разделяемая)" память - это память, которая может разделяться между процессами (например, исполняемый код можно "разделять"). "Buffered(Буферная)"
и "cashed(Кэшируемая)" память - это память, хранящая наиболее часто используемые части наиболее часто используемых файлов -- она может сократиться, если процессы потребуют больше памяти.
df -h
(=disk free(Свободное место на диске)) Показывает информацию о всех файловых системах в форме, доступной для человека.
du / -bh | more
(=disk usage(использование диска)) Показывает дисковую память, занимаемую всеми поддиректории, начиная с "/" (корневой) директории (в доступной для человека форме).
cat /proc/cpuinfo
Информация о процессоре(Cpu info)--показывает содержимое файла cpuinfo. Заметьте, что все файлы в директории /proc -- это не настоящие файлы, а просто удобная форма доступа к системной информации.
cat /proc/interrupts
Список используемых прерываний. Может потребоваться для просмотра перед установкой нового оборудования.
cat /proc/version
Версия Linux и другая информация.
cat /proc/filesystems
Показывает список файловых систем, используемых в текущий момент.
cat /etc/printcap |more
Показывает установки принтеров.
lsmod
(= "список модулей(list modules)". Как "root". Используем /sbin/lsmod для просмотра в режиме обычного пользователя.) Показывает загруженные в текущее время модули ядра.
set|more
Показывет значения переменных окружения пользователя (всех). Обычно вывод занимает более одного экрана.
echo $PATH
Показывает содержимое переменной окружения "PATH". Эта команда может быть использована для просмотра других переменных окружения. Используйте set для просмотра всех значений (см. предыдущую команду).
dmesg | less
Печатает сообщения ядра (содержимое так называемого буфера ядра).
Нажмите "q" для выхода из "less". Используйте less /var/log/dmesg чтобы увидеть, что "dmesg" поместил в этот файл при последней загрузке системы.
chage -l my_login_name
Посмотреть информацию о времени истечения моего пароля.
quota
Посмотреть мою дисковую квоту (предел использования диска).
sysctl -a |more
Показывает все конфигурируемые параметры ядра Linux.
runlevel
Показывает предыдущий и текущий уровни выполнения (runlevel). Вывод "N5" значит:
"нет предыдущего уровня выполнения" и "5 текущий уровень выполнения". Для смены уровня выполнения используйте "init". Например, init 1 переводит систему в однопользовательский режим.
Уровень выполнения - это режим операций в Linux. Уровень выполнения может быть изменен
"на лету", используя команду
init. Например,
init
3 (как "root") переведет меня на уровень выполнения 3. Следующие уровни выполнения являются стандартными:
0 - Остановка системы(halt) (Не нужно ставить этот уровень по умолчанию :)
1 - Однопользовательский режим
2 - Многопользовательский режим, без NFS (То же что и 3, если у вас нет сети)
3 - Полностью многопользовательский режим
4 - не используется
5 - X11
6 - перезагрузка(reboot) (Не нужно ставить этот уровень по умолчанию :)
Уровень выполнения системы по умолчанию устанавливается в:
/etc/inittab
.
sar
Просмотр информации о системной активности, представленной в файле (/var/log/sarxx, где xx - номер текущего дня). sar может показать много вариантов системной информации, включая статистику загруженности процессора, статистику ввода/вывода,
и статистику сетевого траффика за текущий день и (обычно) за несколько предыдущих.
5.4 Основные операции
ls
dir
Список содержимого текущей директории. Команда dir
является псевдонимом ls , так что эти две команды на самом деле являются одной.
Список файлов обычно подсвечивается: темно-синий = директории, светло-серый = обычные файлы, зеленый = выполняемые файлы, розовый = графические файлы,
красный = сжатые (например при помощи zip) файлы, светло синий = символьные ссылки, желтый = файлы устройств, коричневый = FIFO ("First-In First-Out" поименованные каналы).
ls -al |more
Список содержимого текущей директории - всех файлов (даже если они начинаются с точки) в длинном формате. Пропуск вывода через команду "more" предназначен для того, чтобы вывод приостанавливался при каждом заполнении экрана. Команда ls
имеет много полезных параметров. Некоторые из них могут иметь собственные псевдонимы. Попробуйте ll (="long ls(длинный ls)", псевдоним к ls -l). Другой вариант, который я часто использую ls -ad
(Вывести список всех поддиректорий текущей директории, не показывая их содержимого).
cd Директория
Сменить директорию. Использование "cd" без имени директории перенесет вас в Вашу домашнюю директорию. "cd - " перенесет вас в предыдущую текущую директорию, что открывает наиболее общепринятый путь к переключению между директориями. "cd
.." перенесет вас на одну директорию вверх (очень полезно).
./имя_программы
Выполнит исполняемый файл из текущей директории. Знак ./ необходим, если директория не указана в переменной PATH. Выполняемый файл, путь к которому упомянут в PATH запускается проще: имя_программы
shutdown -h now
(как "root") Завершает работу системы. Используется в основном для удаленного выключения. Используйте <Ctrl><Alt><Del> для перезагрузки с консоли. (Это получится у любого пользователя).
halt
reboot
init 6
(как "root", три команды) Перезагрузить компьютер. Используется для удаленной перезагрузки, проще, чем предыдущая команда. Кроме того она полезна при зависании компьютера. Например, если я теряю контроль с клавиатуры, я использую telnet с другой машины сети и перезагружаю компьютер удаленно. Лучше всего использовать
<Ctrl><Alt><Del>
для нормального завершения работы компьютера при работе в консоли.
vlock
(Отсутствует в старых версиях RedHat.) Запирает текущий терминал(в текстовом режиме). Кроме того я использую vlock -a для того, чтобы запереть все терминалы
(Возможно, не совсем хорошая идея). Наверное, лучше просто выйти из системы. У вас не получится использовать vlock в графической оболочке -- там можно использовать заставки под паролем и запирающие утилиты (маленькая картинка с висячим замком в KDE, горячие клавиши - <Ctrl><Alt><l>).
5.5 Управление файлами
cp источник назначения
Копируем файлы. Например, cp /home/stan/existing_file_name .
Скопирует файл в мою текущую рабочую директорию. Используйте параметр "-R" (то есть "recursive(рекурсивно)") для копирования дерева директорий, например ,
cp
-R my_existing_dir/ ~ Скопирует поддиректории текущей директории в мою домашнюю директорию.
mcopy откуда куда
Копирует файлы из/в файловую систему DOS (без монтирования последней). Например, mcopy a:\autoexec.bat ~/junk. Смотрите man
mtools для информации о других командах доступа к файлам DOS без монтирования: mdir, mcd,
mren, mmove, mdel,
mmd,
mrd,
mformat
.... Мы не часто используем команды mtool -- операции с файлами DOS / MS Windows могут быть выполнены при помощи обычных команд Linux после монтирования файловых систем DOS/MS Windows.
mv откуда куда
Перенести или переименовать файл. Одна команда предназначена для переноса и переименования файлов и директорий.
rename строка строка_замены имя_файла
Гибкая утилита для замены части имени файла. Например:
rename .htm .html *.htm
ln откуда куда
Создает жесткую ссылку, называемую куда к файлу, называемому
откуда.
Ссылка выглядит как копия исходного файла, но в действительности существует только один экземпляр файла, но с двумя (или более) входными точками. Соответственно, любые изменения в файле видны сразу с двух точек. Когда одна из ссылок удаляется, другая(другие) останется(останутся) нетронутыми. На жесткие ссылки есть следующие ограничения: файлы должны принадлежать одной файловой системе, жесткие ссылки на директории и специальные файлы невозможны.
ln -s откуда куда
Создать символьные (мягкие) ссылки, называемые "куда" на файл называемый
"откуда". Символьная ссылка просто обозначает путь для поиска
"настоящего" файла. В отличие от жестких ссылок, файл и ссылка на него не должны принадлежать одной и той же файловой системе. По сравнению с жесткими ссылками у символьных ссылок есть следующие недостатки: если "настоящий" файл удалить, ссылка "ломается" -- она указывает в никуда; символьные ссылки позволяют создавать циклические ссылки (такие же, как иногда появляются в электронных таблицах и базах данных, например,
"a" указывает на "b" и "b" указывает на "a"). Короче, символьные ссылки - это замечательный, хотя и редко используемый, инструмент (реже, чем жесткие ссылки),
но они могут создать дополнительный уровень сложности.
rm files
Удаляет файлы. Вы должны быть владельцем файла (или обладать правами "root"). В большинстве систем, у вас спросят подтверждения на удаление; чтобы избежать этого, используйте флаг "-f" (=force(форсировать)), например,
rm
-f * удалит все файлы из вашей текущей рабочей директории,
без всяких вопросов.
mkdir директория
Создать новую директорию.
rmdir директория
Удалить пустую директорию.
rm -r files
(рекурсивное удаление) Удаляет файлы и директории, вместе с их поддиректориями.
Поосторожнее с этой программой, если у вас права "root" -- вы легко можете удалить сразу же все файлы вашей системы, и, заметьте, никаких утилит восстановления удаленных файлов в Linux нет (по крайней мере пока). Но если вам действительно хочется знать, как сделать это (на всякий случай), то вот как это делается (под root):
rm -rf /*
rm -rf files
(Рекурсивное удаление без вопросов). То же что и выше, но без вопросов. Осторожнее с этим, особенно с правами "root" -- см. выше.
mc
Загружает файловый менеджер "Midnight Commander" (выглядит как "Norton Commander"
для Linux). По мнению некоторых компьютерных динозавров, это - самый лучший файловый менеджер.
konqueror &
(в X-терминале) загружает файловый менеджер KDE. Возможно, это - лучший файловый менеджер. Гораздо лучше чем MS "Windows Explorer". Он поддерживает просмотр Internet, просмотр pdf, и более. Просто здорово.
xwc
(в X-терминале). Другой прекрасный файловый менеджер (называемый также "X Win Commander").
Быстрее чем предыдущий, но не так нагружен возможностями.
nautilus &
(в X-терминале). Действительно хорош. Медленнее чем Konqueror,
но дает мне возможность предварительного просмотра содержимого файлов(!). Он даже "предварительно просматривает" содержимое звуковых файлов! Требовательный к скорости, он замечательно работает на моем 1.33 GHz компьютере, но я не могу использовать его на компьютере с процессором 133MHz.
5.6 Просмотр и редактирование файлов
cat имя_файла | more
Постраничный просмотр содержимого файла, называемого "имя_файла".
Символ "|" означает "pipe(труба, конвейер)" (на большинстве клавиатур делит клавишу с символом "\"). more приостанавливает вывод при каждом заполнении экрана.
Для длинных файлов иногда удобны команды head
и tail которые показывают начало и конец файла,
и less которая позволяет просматривать файл, свободно перемещаясь по нему вверх и вниз. Если вам случится использовать
cat с двоичным файлом ваш терминал может начать показывать вам различные забавные символы, вы можете прекратить это использовав команду
reset.
cat имя_файла | less
less имя_файла
(две команды, используйте любую) Свободный просмотр текстового файла. Нажмите q, когда закончите. Команда "less" - приблизительный эквивалент команды "more", которая есть даже в DOS, но "less" зачастую гораздо удобнее "more", поскольку позволяет свободно перемещаться по тексту вверх и вниз.
head имя_файла
Печатает первые 10 строк (длинного) текстового файла.
tail имя_файла
Печатает последние 10 строк (растущего) текстового фала. Используйте tail -f
имя_файла для просмотра конца растущего файла в процессе роста -- очень удобно для просмотра файлов журнала.
pico имя_файла
Редактировать текстовый файл простым и стандартным текстовым редактором
pico.
Используйте <Ctrl>x для выхода. В Linux очень много текстовых редакторов, включая редакторы с графическим интерфейсом. Имя нового клона pico
(GPLed) - nano.
pico -w имя_файла
Редактирование текстового файла, с запретом переноса слов. Удобно для редактирования конфигурационных файлов, например /etc/fstab.
kwrite
(в X-терминале) очень симпатичный и продвинутый текстовый редактор. Поддерживает даже вертикальное выделение текста!
kate
kedit
gedit
(в X-терминале). Простые, но симпатичные текстовые редакторы с графическим интерфейсом.
gxedit
(в X-терминале) Другой многоцелевой и насыщенный возможностями текстовый редактор.
Поддерживает автосохранение.
latte
(в X-терминале) Редактор для написания программ.
nedit
(в X-терминале) Другой редактор для программистов. Красивый и мощный.
bluefish
(в X-терминале) редактор html (подсветка синтаксиса, много инструментов и возможностей).
ispell имя_файла
Проверка синтаксиса текстовых файлов. AbiWord, WordPerfect, StarOffice и OpenOffice
снабжены проверкой синтаксиса "на лету", но и ispell может вам потребоваться.
Новейшие дистрибутивы Linux (например RH7.0) содержат более свежую программу проверки синтаксиса aspell, которая ничем не отличается в использовании от предыдущей.
look термин
Поиск в словаре (/usr/share/dict/words)
слов, начинающихся с "термин".
wvHtml документ_ms_word.doc > имя_файла.html
Конвертирует документ MS Word в файл формата html.
5.7 Поиск файлов
find / -name "имя_файла"
Найти файл "имя_файла" в вашей файловой системе, начиная с каталога "/". "имя_файла" может содержать маски (*,?).
Это очень мощная команда. У нее есть много параметров, позволяющих производить поиск файлов различными методами, например, по дате, размеру, разрешения на доступ, владелец, .... Так что, некоторые поисковые запросы могут занять несколько минут на составление. Смотрите info find. А здесь приведены несколько примеров использования find.
find $HOME -name core -exec rm -f {} \;
Вышеуказанная команда ищет файлы с именем "core", начиная с вашей домашней директории. Для каждого найденного файла она выполняет команду "rm -f" (Удаление файла без подтверждения). Параметр {} замещается найденным файлом,
а символ "\" завершает список команд.
find /dev -user "peter" |more
Вышеуказанная команда ищет список устройств, владельцем которых является "peter". Печать имени файла является "действием по умолчанию" для команды. Его не надо определять специально, если это все что необходимо сделать.
find /home/peter -nouser -exec ls -l {} \; -ok chown
peter.peter {} \;
Найти файлы, у которых отсутствует владелец в директории /home/peter.
Вывести файлы в длинном формате. При этом присвоить им владельца "peter" и группу "peter". Вам необходимо иметь права "root" для того чтобы сменить владельца файла.
locate имя_файла
Найти файлы, имя которых содержит подстроку "имя_файла". Проще и быстрее, чем предыдущая команда, но основывается на базе данных, которая обновляется в полночь. Чтобы произвести ее обновление на данный момент, я могу (как
"root"): updatedb&.
which исполняемый_файл
Показывает путь к исполняемому файлу, который будет выполнен, если набрать в командной строке "исполняемый_файл". Например, эта команда:
which netscape
в моей системе:
/usr/bin/netscape
whereis команда
Печатает расположение двоичных и исходных файлов, а так же файлов руководства "команда".
rgrep -r 'celeste' . |more
grep -r 'celeste' . |more
(Две команды, используйте ту, которая сработает в вашей системе.) Показывает все файлы текущей директории и ее поддиректорий (параметр "-r" значит "рекурсивно") содержащие строку "celeste". Показывает имена файлов и строки, содержащие подстроку поиска.
kfind &
(в X терминале). Графическая оболочка для find и grep.
Очень неплохо. Ко всему прочему kfind
исполняется в отдельном окне, оставляя терминал свободным для использования.
5.8 Основы X-windows
xinit &
Запускает сервер X-windows (без менеджера окон). Символ
"&" отправляет команду в фоновый режим.
startx &
Запускает сервер X-windows и менеджер окон. Почти как "win" в DOS с Win3.1.
startx -- :1 &
Запускает другую сессию X-windows на дисплее 1 (по умолчанию используется дисплей 0). вы можете использовать несколько графических терминалов одновременно.
Переключайтесь между ними <Ctrl><Alt><F7>, <Ctrl><Alt><F8>,
etc.
xterm
(в X-терминале) Выполнить простой терминал X-windows. Напечатайте
exit, чтобы закрыть его. Вот другие, более продвинутые "виртуальные" терминалы
для Xwindows. Мне нравятся следующие:
konsole и kvt
(поставляется kde)и
gnome-terminal (поставляется с gnome).
Если вам требуется нечто более красивое, попробуйте Eterm. Более быстрый -rxvt.
startkde
gnome-session
xfce
afterstep
AnotherLevel
fvwm2
fvwm
(в X терминале, 7 различных команд, используйте одну из них для запуска вашего любимого оконного менеджера) Запуск оконного менеджера
в голом X-сервере.
5.9 Сетевые приложения
mozilla &
(в X-терминале) Запустить web-браузер Mozilla. Текущая версия - Mozilla 1.0.1 (Октябрь 2002), и она очень хороша. Mozilla - это современная замена Netscape (netscape был в старых дистрибутивах). Неплохие альтернативы - это konqueror и galeon (наберите konqueror& или galeon& в вашем X-терминале).
mozilla -display host:0.0 &
(в X-терминале) Запустить Mozilla на текущей машине, перенаправив вывод на машину под названием "host", дисплей 0, экран 0. Ваша машина должна иметь соответствующее разрешение на "host" (обычно выдается при помощи команды "xhost имя_вашей_машины" в x-терминале на машине "host". Другие программы X-windows могут быть выполнены удаленно тем же образом.
lynx file.html
Просмотр файла html или просмотр сети в текстовом режиме. Конечно, внешний вид и удобство использования lynx
несравнимо хуже, чем у рассмотренных ранее браузеров, но он
легок, надежен и не нуждается в конфигурировании, пока ваша сеть работоспособна.
konqueror &
(в X-терминале) Менеджер файлов и браузер. Хорош, и по многим параметрам - лучше, чем mozilla. Поставляется с KDE.
pine
Хорошая консольная программа чтения почты. Другой хорошей и стандартной программой является
elm.
Netscape Mail читает почту из почтового ящика, расположенного в Интернете. pine
позволяет вам читать "локальную" почту, например, письмо от сына или от процесса "cron" посланные с одного из компьютеров вашей домашней сети. Команда mail
также может быть использована для чтения/составления почты, но это было бы неудобно -- ее следует использовать в скриптах, для автоматизации некоторых процессов.
mutt
Действительно базовая, но весьма шустрая и удобная программа чтения почты.
mail
Базовая программа операционной системы для работы с электронной почтой. Предыдущие команды гораздо более пригодны для чтения почты. mail хорош, если вы хотите автоматизировать работу с почтой при помощи командных файлов.
kmail &
(в X-терминале) Симпатичная почтовая программа с графической оболочкой. Я использую kmail, он гораздо лучше, чем netscape mail. У меня может быть много учетных записей и доставка почты как с smtp сервера (локально) и с pop3 серверов (через интернет-провайдера) в один почтовый ящик. Просто и элегантно. Поддерживает цифровые подписи.
licq &
(в X терминале) Клиент icq. Другой хороший вариант - kxicq. В старых дистрибутивах клиенты icq отсутствуют, и может потребоваться скачать его и установить самостоятельно.
knode &
(в X-терминале) Запустить программу чтения групп новостей (usenet reader).
Гораздо лучше, чем встроенный в netscape.
talk username1
Поговорить с пользователем, зарегистрированным в настояшее время на локальной машине (или используйте "talk
username1@machinename"
для разговора с пользователем на другой машине). Чтобы принять приглашение на разговор, наберите команду "talk username2". Если кто-то слишком навязчиво пытается с вами поговорить, мешая вам работать, наберите "mesg n" чтобы запретить прием сообщений. Вы можете использовать команды "who" или "rwho", чтобы получить список пользователей, работающих в настоящий момент в системе. talk - это одна из старомодных "стандартных"
программ UNIX, но она ничуть не утратила своей актуальности.
telnet server
Соединиться с другой машиной по протоколу TELNET. Используйте имя или IP-адрес другой машины. У вас спросят имя пользователя(login) и пароль(password) -- вы должны быть зарегистрированы на этой машине. Telnet подсоединяет вас к удаленной машине и позволяет вам работать с ней так, как если бы вы сидели за ее клавиатурой (почти). Telnet не слишком безопасен -- все что вы печатаете идет в сеть в прямом виде (без шифрования), даже ваш пароль!
Компетентный системный администратор на одной из машин, "стоящих на пути", сможет прочитать все, что вы напечатали. Используйте ssh (требует настройки) - более мощный аналог telnet с зашифрованной передачей данных.
rlogin server
(=remote login(удаленный вход)) Вход на другую машину. Используются имя пользователя и пароль текущей сессии; Если не удастся, то у вас спросят пароль.
rsh server
(=remote shell(удаленная оболочка)) Другой способ присоединения к текущей машине. Используются имя пользователя/пароль, используемые в текущей сессии; Если не удастся, то у вас спросят пароль.
ssh servername -l username
(=secure shell(безопасная оболочка)) Присоединение к серверу, используя безопасное соединение.
ssh
безопасен, поскольку все данные, идущие через сеть, шифруются парой RSA "открытый-закрытый" ключ. Если вы не определите имя пользователя, будет использоваться текущее имя.
Сервис ssh должен быть запущен и на клиенте и сервере. Обычно он доступен в новых дистрибутивах Linux (например, RH7.0). Перед использованием ssh, необходимо сделать некоторые установки. Пользователь создает свою пару ключей RSA (для шифрования), используя команду
ssh-keygen. Она сохраняет закрытый ключ в директории $HOME/.ssh/identity и публичный ключ $HOME/.ssh/identity.pub в директории пользователя. Для разрешения автоматического входа, пользователь должен скопировать identity.pub из директории $HOME/.ssh/authorized_keys в свою домашнюю директорию на удаленной машине, и после этого пользователь может входить без ввода пароля. Более удобным является использование RSA-аутентификации при использовании агента аутентификации. Смотрите man 1 ssh-agent для дополнительной информации. Если автоматическая аутентентификация не удастся, ssh запросит пароль пользователя. Пароль будет передан на удаленный компьютер для проверки, однако, поскольку весь обмен данными зашифрован, пароль не может быть подсмотрен кем-либо в сети.
From: Benjamin Smith <[email protected]>
(сокращено):
В последнее время я использую openssh 2.9.2p1 с безпарольным входом. Это потребовало некоторых действий, не описанных ни в одном howto: Ключи SSH2 и DSA, которые вы генерируете с помощью 'ssh-keygen -d', помещаются в ~/.ssh/id_dsa.pub. Нужно скопировать их на директорию удаленного компьютера: .ssh/authorized_keys2 и использовать их вместо "authorized_keys", указанных в howto. Это действительно работает.
ftp server
Вход по протоколу FTP на другую машину. (Есть еще ncftp, обладающая дополнительными возможностями и gftp для работы в графической оболочке .) FTP удобен для копирования файлов с удаленной машины (или на нее). Попробуйте пользователя "anonymous", если у вас нет пользовательской записи на удаленной машине. После соединения, используйте "?" для просмотра списка доступных вам команд
ftp. Избранные команды ftp: ls (просмотр файлов в удаленной системе),
ASCII, binary (устанавливает текстовый или двоичный режим передачи данных, важно выбрать правильно),
get (Скопировать файл из удаленной системы в локальную),
mget
(то же, но несколько файлов за раз), put (скопировать файлы из локальной системы в удаленную), mput (то же, но несколько файлов за раз), bye
(закрытие соединения). Для использования в командных файлах, вам может пригодиться ncftpput
и
ncftpget, например:
ncftpput -u имя_пользователя -p пароль -a удаленный_сервер.домен удаленная_директория *local.html
"ncftp" может иметь проблемы, если ваш компьютер снабжен средством безопасности firewall -- вам потребуется конфигурировать файл /home/usr_name/.ncftp/firewall. Так же в этом случае вы можете использовать "lftp", например:
lftp -e "mput -a *local.html" -u мое_имя_пользователя,мой_пароль ftp://remote.host.domain
Для создания "зеркала" директории ftp можно использовать
fmirror.
wget -m --no-parent http://sunsite.dk/linux-newbie
Копировать файлы с Web-сайта. Пример содержит параметры -m (=mirror(зеркало))
для того, чтобы перенести все файлы с основного сайта этого руководства.
Параметр "--no-parent" ограничивает список переносимых файлов указанной директорией и её субдиректориями.
minicom
Программа Minicom предназнасена для эмуляции терминала на последовательном порте. Выглядит и работает, как "Procomm" или "Telix". Полезна для тестирования и отладки соединения через ваш последовательный порт.
rx
Забрать файл через соединение по протоколу Zmodem, Ymodem, или Xmodem. Xmodem
требует имени файла. Используйте rx --help для дополнительной информации. Интересно, кто до сих пор использует эти протоколы?
"Я использую Zmodem регулярно. У меня два компьютера с установленным (SuSE) Linux, переносной и настольный. Настольный компьютер не имеет подключения к Internet. Так что для того, чтобы перебросить файл с одного компьютера на другой, я пересылаю его по нуль-модемному кабелю, используя протоколы Minicom и Zmodem. Таким образом я могу даже подключиться с переносного компьютера под управлением Win2000 к моей linux-машине, используя Reflexion
(программу эмуляции терминала для win32)" (from Berry Vos, [email protected],
2001 08 28).
5.10 (Раз)архивирование файлов
tar -zxvf filename.tar.gz
(=tape archiver(ленточный архиватор)) Разархивирует файл *.tar.gz или
*.tgz (такие файлы называют "tarball" или "тарбол").
tar -xvf filename.tar
Распаковывает файл *.tar (собранный, но не сжатый).
tar czvpf /var/backups/mybackup.tar.gz /home
cd /; tar xzvpf /var/backups/mybackup.tar.gz '*/myfile.rtf'
(как "root") Создает резервную копию (backup) каталога /home в сжатый файл. Вторая команда показывает, как восстанавливать файл из резервной копии.
gunzip filename.gz
Разархивирует сжатый файл *.gz или *.z. Используйте gzip (или
zip
или compress) для архивирования файла в этом формате.
zcat имя_файла.gz | more
(=zip cat) Выводит содержание сжатого файла. Другие программы
для работы с сжатыми файлами, без их предварительного разархивирования:
zless,
zmore,
zgrep,
...
bunzip2 имя_файла.bz2
(=big(большой) unzip) Разархивирование файлов (*.bz2) сжатых программой bzip2. Используется для больших файлов.
unzip имя_файла.zip
Разархивирование файлов (*.zip), сжатых программой PKZIP for DOS или совместимой.
zip имя_файла.zip имя_файла1 имя_файла2
Сжать два файла "имя_файла1" и "имя_файла2" в архив zip с именем
"имя_файла.zip".
unarj e имя_файла.arj
Разархивировать файл *.arj.
lha e имя_файла.lha
Разархивировать файл lharc.
uudecode -o выходной_файл имя_файла
Декодировать файл, закодированный утилитой uuencode. Такие файлы обычно используются для передачи нетекстовых файлов в электронном письме (uuencode трансформирует любой файл в формат ASCII).
cat имя_файла | mimencode -o имя_файла.mime
cat имя_файла.mime |mimencode -u -o
имя_файла
(2 команды.) Кодирует и декодирует файлы в стандартный формат Internet для передачи 7-битных данных, называмый "mime". В более старых дистрибутивах команда (mimencode) называлась mmencode.
Обычно вам не требуется выполнять эту команду, потому что ваша почтовая программа выполняет кодирование/декодирование mime самостоятельно.
ar -x мой_архив.a файл1 файл2
(=archiver(архиватор)). Извлекает файлыфайл1 и файл2 из архива, называемого мой_архив.a. Программа архивирования ar
обычно используется для поддержки библиотек.
ark &
(в X-терминале). Основанный на Qt архиватор с графическим интерфейсом. Возможно, это - всё, что вам нужно для работы со сжатыми файлами. Так же можно использовать gnozip.
5.11 Управление процессами
ps
(="print status(печать статуса)" или "process status(статус процессов)") Выводит список процессов, выполняемых в текущий момент с указанием идентификаторов процессов(ID или PID). Используйте ps axu
для просмотра списка всех процессов, выполняемых в системе (включая процессы, выполняемые другими пользователями и процессы, не контроллируемые с терминалов) с именами владельцев.
Используйте "top" для удержания списка выполняемых процессов.
некая_команда &
Выполнение команды в фоновом режиме (символ "&" значит "выполнять в фоновом режиме").
Номер_задания
выводится на экран, так что вы можете перенести команду на передний план(см. ниже), если захотите. Я использую "&" в основном для запуска программ с графическим интерфейсом из X-терминала.
jobs
Выводит список моих фоновых и остановленных заданий и показывает их номера.
fg номер_задания
Переносит фоновое или остановленное задание на передний план.
bg номер_задания
Помещает процесс в фоновый режим, так как если бы он был запущен с &. Это перезапустит установленный процесс. Текущий процесс переднего плана может быть приостановлен клавишами
<Ctrl>z.
Если у вас есть приостановленные процессы или процессы фонового режима, вам придется набрать exit
дважды, чтобы выйти.
batch
at>updatedb<Ctrl>d
Выполнить некоторую команду (обычно требующую больщого количества времени для завершения)
когда загрузка системы уменьшится. Я могу покинуть систему, а процесс продолжит работу. Когда программа будет завершена, ее вывод будет послан мне по электронной почте. В приведенном выше примере "at>" представляет приглашение ввода команды, команда для выполнения updatedb, и <Ctrl><d> завершает ввод задания (Я могу ввести много комманд, разделенных <Enter>).
at 17:00
Выполнить команду в заданное время. У вас будут спрашивать команды для выполнения, пока вы не нажмете <Ctrl>d. С этой командой связана atq (показывает очередь программ заданных командой
at)
и atrm (удаляет программы из этой очереди).
kill PID
Завершить процесс. Для начала определите идентификатор процесса(PID), который собираетесь завершить, используя ps.
killall имя_программы
Завершить программу (программы) с указанным именем. К примеру, killall pppd завершит вашу работу с удаленным соединением.
nohup имя_программы
(=no hungup(не откладывать)). Выполняет программу имя_программы так, что она не прекращается, когда вы покидаете систему. Вывод перенаправляется в nohup.out
в вашей домашней директории. Естественно, не стоит выполнять интерактивные программы используя nohup.
xkill
(в X-терминале). Завершает программы с графическим интерфейсом при помощи мыши (щелкните мышкой по окну, которое хотите ликвидировать.)
kpm
(в X-терминале) программа управления процессами в KDE.
lpc
(как "root") Проверка и управление принтерами. Введите "?" для получения списка используемых команд.
lpq
Показывает содержимое очереди принтера. Под KDE (X-Windows), вы можете использовать "Printer Queue(Очередь принтера)" доступную из меню "K"-"Utilities(Утилиты)".
lprm номер_задачи
Удалить задание "номер_задания" из очереди.
nice имя_программы
Выполнить имя_программы, изменив его приоритет. Поскольку в примере приоритет не указан, он будет увеличен на 10 пунктов (процесс будет выполняться медленнее) от значения по умолчанию (обычно 0). Чем меньше число
("приятности" другим пользователям системы), тем выше приоритет.
Значение приоритета изменяется в границах от -20 до 19. Только "root" может использовать отрицательные значения. Используйте top для просмотра приоритетов выполняемых процессов.
renice -18 PID
(как "root") Уменьшить приоритет процесса на 18. Нормальный пользователь может только увеличивать приоритет, причем относительно текущего значения (только замедлить процесс). Он может, кроме того, renice +10 -u peter
передав пользователю peter освободившееся время процессора для его заданий с интенсивными вычислениями в обход других пользователей.
<Ctrl>c, <Ctrl>z,
<Ctrl>s, и <Ctrl>q так же относятся к этой главе, но рассматривались ранее.
Если коротко, они означают: остановить текущую команду, переместить текущую команду в строковый режим, остановить поток данных, возобновить поток данных.
lsof
Cписок открытых файлов. Если я "root", будут перчислены все открытые файлы. Я могу ограничиться файлами, открытыми с определенной консоли: lsof /dev/tty1 . Для списка файлов, открытых по сети (полезно для контроля безопасности), можно использовать lsof -i (как "root").
watch -n 60 моя_команда
Выполнять команду моя_команда раз за разом с 60-секундными интервалами (интервал по умолчанию - 2 секунды).
5.12 Некоторые команды администрирования
su
(=substitute user id(подменить идентификатор пользователя)) Взять на себя права суперпользователя (=root) (у вас спросят пароль). Наберите "exit" для возврата к прежним правам. Не заводите привычки работать на машине как "root". Пользователь "root" предназначен только для администрирования системы. Команда su облегчает вам доступ к правам администратора, когда вам это необходимо. Кроме того вы можете использовать "su"
для маскировки под любого другого пользователя, например
su barbara сделает меня пользователем
"barbara" (пароль обязателен, даже если я суперпользователь).
alias ls="ls --color=tty"
Создает псевдоним команды "ls" для расширения ее формата с использованием цветов.
В этом примере, псевдоним так же называется "ls" и параметр "color" работает только при выводе на терминал (не в файл). Поместите определение псевдонима в /etc/bashrc, если хотите, чтобы этот псевдоним всегда был включен в вашей системе. Псевдонимы - это удобный способ настройки вашей системы. Наберите "alias" чтобы увидеть список используемых Вами псевдонимов. Используйте unalias имя_псевдонима для удаления псевдонима.
cat /var/log/httpd/access_log
Показывает все подключения к серверу HTTP(apache) с момента последней "ротации" (обычно раз в день, при выполнении cron).
Предыдущий файл переносится в access_log.1, тот, который был перед ним - в access_log.2,
и т.д.
cat /var/log/secure
(как "root") Просмотр весьма важного системного журнала. Это неплохая идея - просматривать его время от времени, если вы используете доступ к Internet.
ftpwho
(как "root") Определяет, кто в данный момент подключен к серверу ftp.
printtool
(как "root" в X-терминале) Программа конфигурирования принтеров. Установки заносятся в файл /etc/printcap и (странно)
/var/spool/lpd.
setup
(как "root") Конфигурируем мышь, звуковую карту, клавиатуру, X-windows, и системные службы. Есть множество конфигурационных программ, зависящих от дистрибутива
setup
используется в RedHat. Mandrake предоставляет весьма симпатичный конфигуратор DrakConf
.
linuxconf
(как "root", как в текстовом режиме так и в X-терминале). Вы можете обратиться ко многим настройкам. Очень мощно -- не изменяйте слишком много за раз, и поосторожнее с тем, чего не понимаете. Утилита сетевого конфигурирования RedHat netconf
- это подмножество linuxconf, попроще и полегче в использовании.
mouseconf
(как "root"). Простая программа конфигурирования мыши (после начальной инсталляции). Mandrake, кроме того, включает альтернативу mousedrake.
kudzu
(как "root"). Автоматически распознает и конфигурирует оборудование.
Если с вашей мышью (или другими устройствами) творится что-то странное, попробуйте отключить kudzu, чтобы он не работал при старте системы. Вы можете выполнять его вручную по мере необходимости.
timeconfig
(как "root") Устанавливает часовой пояс для системы. Мои аппаратные часы
(BIOS setup) работают с временем UTC (Coordinated Universal Time(Универсальное Время), так же именуемое GMT или Greenwich Mean Time(Время по Гринвичу)). Таким образом, я избегаю возможных проблем с переключением часовых поясов, передачей файлов по сети по всему земному шару, или физических путешествиях. Использование на серверах времени в формате UTC позволяет избежать "обратного хода времени" (что может создать проблемы). Вреня создания и изменения на файлах положено ставить в UTC и отображать в локальном времени, используя информацию о часовом поясе. Например, многие приложения (например, компиляторы,
базы данных) отличают более свежие версии файлов от более старых по их времени создания и изменения. Поэтому важно правильно указать часовой пояс. Единственной причиной для использования в BIOS локального времени могут быть проблемы с тем, что другие системы, загружаемые с того же компьютера (MS Windows?) не умеют правильно использовать UTC. Поэтому я позволил моему серверу Linux использовать GMT, отметив флажком "Hardware clock set to GMT", чтобы Linux мог пересчитать UTC, когда это необходимо.
setclock
(как "root"). Устанавливает аппаратные часы по системному времени Linux.
Используйте команду "date" для установки системного времени Linux.
Например, я могу установить дату и время 2000-12-31 23:57 используя команду:
date 123123572000
после чего записать это время в BIOS:
setclock
dateconfig&
(в X-терминале, как root (иначе у вас спросят пароль "root").
Прекрасная программа с графическим интерфейсом для того, чтобы установить время системы и аппаратное время, часовой пояс, и заодно установить для BIOS хранение времени в UTC, не пользуясь двумя предыдущими командами.
xvidtune
(в X-терминале). Приведение в порядок настроек вашего дисплея для удаления черных полос, сдвига изображения вправо/влево/вверх/вниз, и т.д. Сначала используйте ручки на вашем мониторе, чтобы текстовый режим работал корректно, а потом используйте xvidtune для подгонки частоты регенерации изображения для каждого разрешения, чтобы она соответствовала вашему экрану наилучшим образом. Для сохранения изменений выведите частоты на экран и запишите их в конфигурационный файл
/etc/X11/XF86Config. На более новых мониторах вы сможете настроить изображение средствами самого монитора -- xvidtune
предназначен для более старых моделей, не обеспечивающих хранение настроек.
kvideogen
(в X-терминале). Генерирует "modelines" для настроенных разрешений экрана. После того, как вы сгенерируете текст ("modelines"),
вы можете скопировать его в файл установок X-windows - /etc/X11/XF86Config
(или /etc/X11/XF86Config-4, если вы используете X-server версии 4.xx). Кроме того, смотрите <Ctrl><Alt><+>
SVGATextMode 80x25x9
SVGATextMode 80x29x9
(как "root") Сменить текстовое разрешение текстового терминала. В приведенных выше строках примера (вторая строка) я меняю разрешение текстового экран на 80 колонок и 29 строк с высотой символа 9 пиксел. Первая строка обозначает разрешение, которое всегда работает, так что, если вторая команда не работает в моей системе, я смогу
дважды нажать <СтрелкаВверх> и <Enter> чтобы восстановить управление экраном. Разрешенные режимы зависят от характеристик видеокарты -- требуется редактирование (как "root") файла /etc/TextConfig
для (раз)комментирования строк, соответствующих режимам, поддерживаемым моей системой и программой SVGATextMode.
SuperProbe
(как "root"). Программа, определяющая тип видеокарты и количество видеопамяти.
cat /var/log/XFree86.0.log
Log-файл X, полезный для определения ошибок в установках X. Цифра "0" в имени файла соответствует "дисплею 0"--для других дисплеев нужно поставить цифры "1", "2", и т.д.
lspci
Показывает информацию о материнской плате и слотах расширения pci. Мой старый компьютер не имеет слотов pci - только слоты ISA (и EISA).
lsdev
Выводит информацию об устройствах (DMA, IRQ, IO ports).
lsof|more
Список файлов, открытых в вашей системе.
kernelcfg
(как "root" в X-терминале). Программа с графическим интерфейсом для добавления/удаления модулей ядра. Модули напоминают драйвера устройств -- части ядра Linux, который поддерживает часть аппаратуры или выполняет другие функции. Вы можете сделать то же самое из командной строки, используя insmod.
lsmod
(= list modules(список модулей)). Список модулей ядра, загруженных в текущий момент.
modprobe -l |more
Список всех модулей, доступных в вашей файловой системе. Список доступных модулей зависит от того, как ваше ядро Linux было скомпилировано. Большинство существующих модулей/возможностей может быть скомпилировано в Linux, как "жестко связанные(hard wired)" (возможно, чуть более быстрые, но невыгружаемые), как "модули(modules)" (чуть более медленные, но загружаемые/выгружаемые
по запросу), или как "нет" (не поддерживать этот модуль/эту возможность). Модули поддерживаемые вашим ядром (с которыми ваше ядро было откомпилировано) представлены файлами в директории /lib/modules (и ее поддиректориях), так что их просмотр может дать вам ключ к решению некоторых проблем . Если ваше ядро не поддерживает необходимый вам модуль, вам может потребоваться перекомпилировать ядро с разрешением этого модуля (это редкость, поскольку "основные(stock)" ядра RedHat или Mandrake Linux идут с предварительной установкой всех замеченных неэкспериментальных модулей. Но всё же, если у вас есть не очень распространённые или очень новые устройства, то эта возможность вам потребуется).
modprobe sb
Подгружает модуль звуковой карты soundblaster (sb). Используйте предыдущую команду для того, чтобы выяснить, какие еще модули можно подгрузить.
insmod parport
insmod ppa
(как "root") Добавляет модули в ядро (модуль в чем-то эквивалентен драйверу устройства в DOS). Обычно я использую "modprobe" (см. предыдущую команду)
для добавления модулей. Этот пример показывает, как подгрузить модули для поддержки внешнего 100-MB zip-накопителя. Для 250-MB внешнего zip я использую модуль imm вместо ppa.
rmmod имя_модуля
(как "root", не существенно). Удаляет модуль имя_модуля из ядра.
depmod -a
(как "root") Составляет таблицу зависимости модулей ядра. Несущественно, если вы не изменяли /etc/modules, не требует перезагрузки.
setserial /dev/cua0 port 0x03f8 irq 4
(как "root") Установить нестандартные параметры для последовательного порта. В приведенном здесь примере устанавливаются стандартные параметры для первого последовательного порта (cua0 or ttyS0).
Стандартные установки второго последовательного порта персонального компьютера (cua1or ttyS1):
адрес порта ввода/вывода(port) 0x02f8, номер прерывания(irq) 3. Третий последовательный порт (cua2 или ttyS2):
0x03e8, irq 4. Четвертый последовательный порт (cua3 or ttyS3): 0x02e8, irq 3. Добавьте свои установки в
/etc/rc.d/rc.local если вы хотите, чтобы эти установки применялись при каждом запуске системы. См. man setserial для дополнительной информации.
tunelp
(как "root", редко используемое) Настроить параллельный порт.
/sbin/chkconfig --level 123456 kudzu off
(как "root") Программа для проверки/разрешения/запрещения системных служб, которые автоматически запускаются на разных уровнях выполнения. Обычно, я использую программу RedHat
ntsysv
если хочу разрешить/запретить службу текущего уровня выполнения,
но chkconfig дает мне дополнительную гибкость. Альтернативная программа называется tksysv (X-Windows). Вышеприведенный пример отключает службу kudzu так, чтобы она не запускалась ни на одном уровне выполнения (только так
я могу заставить работать мышь на моем компьютере). Для того, чтобы получить список запущенных/остановленных служб на всех уровнях выполнения, я использую:
chkconfig --list | more
Для проверки текущего состояния служб, можно использовать:
service --status-all
Для немедленного запуска службы, я использую нечто вроде (запуск сервера ftp):
service wu-ftpd start
Для перезапуска сервиса samba (например, после изменения настроек),
можно использовать:
service smb restart
symlinks -r -cds /
(как "root") Проверить и исправить символические ссылки в моей системе. Запуск из корневой директории
"/" и обработка всех поддиректорий (параметр -r="recurse")
и заменяет абсолютные/грязные ссылки на относительные, удаляет ссылки на несуществующие файлы, и
укорачивает длинные ссылки (параметр -cds). Если моя файловая система распространена на несколько разделов жесткого диска, мне придется запустить его для каждого из них (например,
symlinks -r -cds /usr).
cd /usr/src/linux-2.4.7-10
make xconfig
(как root в X- терминале). Неплохая программа-обложка с графическим интерфейсом для конфигурирования параметров ядра, перед его перекомпиляции. (Имя директории в примере содержит версию моего
ядро Linux, так что можете подставить свой номер версии ядра вместо 2.4.7-10, используемого в этом примере. Вам понадобится интерпретатор "Tk" для запуска "make xconfig", и установленный исходный код ядра.) Альтернативой для "make xconfig" является: "make config" (выполняет скрипт, задающий вопросы о параметрах ядра в текстовом режиме) и "make menuconfig" (выполняет программу, использующую меню и формы в текстовом режиме). Используйте: less /usr/doc/HOWTO/Kernel-HOWTO для дополнительной информации.
После использования "make xconfig", можно провести компиляцию ядра следующими командами:
make clean (по желанию. Это очищает старые объектные файлы, может замедлить компиляцию и предотвратить ряд проблем).
make dep
make bzImage
Последняя команда займет некоторое время (может быть 10 минут, а может быть - 2 часа, зависит от вашей аппаратуры). Это создает файл arch/386/boot/bzImage - ваше новое ядро Linux. Следующие команды:
make modules
make modules_install
Так мы получим новые модули в /lib/modules/KernelName.
Не переименовывайте директорию модулей, если вы хотите выполнять несколько ядер -- ядро должно быть в состоянии найти "соответствия" для
своих модулей. Если я захочу изменить имя ядра, мне придется внести изменения в главный конфигурационный файл ядра (например, /usr/src/linux-2.2.14/Makefile) и изменить правую часть верхних строк. Мой вариант (принятый по умолчанию в RH7.2) выглядит так:
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 7
EXTRAVERSION = -10custom
Имя ядра, выполняемого в данный момент можно просмотреть при помощи команды uname -r . Мой вариант (принятый по умолчанию в RH7.2) выглядит так: "2.4.7-10custom".
После всего этого можно установить новое ядро. Установка состоит в копировании нового ядра в директорию /boot:
cp arch/386/boot/bzImage /boot/vmlinuz-2.4.7-10custom
cp System.map /boot/System.map-2.4.7-10custom
и внесении изменений в файл
/etc/lilo.conf или /boot/grub/grub.conf
так, чтобы я мог выбрать вариант ядра(старое или новое) во время загрузки.
Это крайне полезно - сохранить возможность загрузки старого ядра (на случай, если новое вообще откажется грузиться).
Если вы используете initrd (загрузочный виртуальный диск в оперативной памяти) для двухэтапной загрузки, вам также может потребоваться образ диска с модулями используемыми ядром во время загрузки:
mkinitrd /boot/initrd-2.4.7-10custom.img 2.4.7-custom
Краткая справка по внесению патчей в ядро:
cd /usr/src/linux-2.4.7-10
patch -E -p1 < /home/download/the_patch_to_apply
Кроме того, очень полезно почитать:
/usr/doc/HOWTO/Kernel-HOWTO
и, наверное, man depmod. Конфигурирование, компиляция и установка
нового ядра очень просты, но МОГУТ создать проблемы. Компиляция ядра, кроме того, отличный способ проверки вашего "железа" , поскольку связано с нелегким количеством вычислений. Если у вас "глюкавое" железо, вы можете получить ошибку "signal 11" (в этом случае следует обратиться к /usr/doc/FAQ/txt/GCC-SIG11-FAQ).
ldconfig
(как "root") Пересоздать связи и кэш для загрузчика динамических библиотек ("ld"). Вам может потребоваться ldconfig после установки в вашей системе новых динамических библиотек. (Это также происходит автоматически при перезагрузке, так что, если хотите, можете просто перезагрузиться.)
mknod /dev/fd0 b 2 0
(как "root") Вручную создать файл устройства. Этот пример показывает, как создать файл устройства, связанный с вашим первым дисководом для гибких дисков. Может быть полезен, если вы случайно сотрете этот файл. Существуют следующие параметры:
b=устройства с блок-ориентированным вводом/выводом, c=устройства с байт-ориентированным вводом/выводом, p=устройства FIFO(каналы, очереди), u=небуфферизованные устройства с байт-ориентированным вводом/выводом. Два целых числа означают старший и младший номера устройства. Обычно я не знаю параметров, необходимых для mknod. Так что при создании устройства я, для начала, читаю man MAKEDEV для того, чтобы выяснить имя устройства, после чего выполняю скрипт /dev/MAKEDEV который выдает характеристики устройств Linux по их именам -- см. следующую команду. Если указанная справочная страница не поможет, можно обратиться к полной документации:
less /usr/src/linux/Documentation/devices.txt
cd /dev
./MAKEDEV audio
(как "root"). Переустановить звуковое устройство, которое только что было испорчено.
См. также предыдущую команду.
5.13 Дисковые утилиты
fdisk /dev/hda
(= "fixed disk(фиксированный диск)". Как "root".) Программа для разбиения жесткого диска в Linux (в DOS есть программа с таким же именем). В приведенном выше примере, я указываю, что собираюсь работать с разделами первого диска на первом интерфейсе IDE,
то есть "hda". На вашем месте я сохранил бы все важные данные перед использованием
fdisk. Я не знаю никого, кому нравился бы fdisk
(как в Linux, так и в DOS) -- я предпочитаю более легкий в использовании cfdisk,
см. далее.
cfdisk /dev/hda
(как "root") Программа для разбиения жесткого диска на разделы, основана на меню. Проще в использовании, чем fdisk (см. предыдущую команду). Физический диск может содержать первичные(primary) (до четырех на диск), и логические(logical) разделы
(сколько необходимо). Первичные разделы могут быть загрузочными. Логические разделы находятся в "расширенных разделах"; Расширенные разделы не могут использоваться сами по себе, они являются всего лишь контейнерами для логических разделов. При создании разделов на диске ,я обычно: (1) создаю первичный раздел (2) Делаю его загрузочным (3) создаю расширенный раздел, (4) создаю в нем логические разделы.
sfdisk -l -x |more
(как "root") Выдает содержимое таблицы разделов (включая расширенные)
для всех дисков моей системы.
parted /dev/hda
Утилита ведения разделов для разделов Linux (ext2), и DOS (FAT и FAT32). Она позволяет создавать, удалять, перемещать, копировать, уменьшать и расширять разделы, включая расширенные. Вам необходимо сохранить данные и прочитать info parted перед использованием этой программы.
fdformat /dev/fd0H1440
mkfs -c -t ext2 /dev/fd0
(=floppy disk format(форматировать гибкий диск ), две команды, как "root") Выполняет низкоуровневое форматирование дискеты в 1-м дисководе (/dev/fd0), высокая плотность (1440 kB).
Теперь создадим файловую систему Linux (-t ext2), проверим/пометим плохие блоки (-c). Создание файловой системы эквивалентно высокоуровневому форматированию.
Можно также форматировать с другими (даже нестандартными) значениями плотности. Смотрите ls /dev/fd0<Tab>. Можно также использовать значение по умолчанию (обычно 1440k), используя fdformat /dev/fd0.
badblocks /dev/fd01440 1440
(как "root") Проверить дискету высокой плотности на наличие плохих секторов и вывести их список. Параметр "1440" означает 1440 блоков для проверки. Эта команда не изменяет содержимого дискеты. badblocks
можно использовать и для проверки жесткого диска, но перед этим его необходимо демонтировать:
mount[чтобы узнать какое устройство содержит раздел, который я хочу проверить]
umount /dev/hda8 [демонтировать выбранный раздел]
badblocks -n /dev/hda8 [проверить выбранный раздел в
неразрушающем режиме чтения/записи, по крайней мере мои данные не пропали]
mount [монтируем раздел, если не было обнаружено ни одной ошибки]
Если ошибки были найдены, то они могут быть помечены командой:
e2fsck -c /dev/hda8
fsck -t ext2 /dev/hda2
(=file system check(проверка файловой системы), как "root") Проверить и исправить файловую систему, например, после некорректного завершения работы в результате отключения электроэнергии. Приведенный выше пример производит проверку раздела hda2, файловой системы ext2. Вам определенно придется демонтировать раздел или загрузить Linux в "однопользовательском режиме"(наберите "linux single" в строке LILO или используйте init 1, как "root" для входа в однопользовательский режим). Если при проверке файловой системы были найдены ошибки, я применяю режим по умолчанию для устранения ошибок.
tune2fs -j /dev/hda2
(как "root", только для ядер, поддерживающих ext3--RH7.2) Настройка параметров файловой системы ext2. В приведенном выше примере показано, как добавить журнал к дисковому разделу (hda2 в этом примере), эффективно конвертируя файловую систему в ext3 (журналируемую). Для завершения перехода, необходимо редактировать файл /etc/fstab и изменить тип файловой системы с ext2 на ext3, иначе можно получить проблему -- ext2 не смонтирует неправильно закрытую журналируемую файловую систему! Для проверки того. какую файловую систему вы используете, попробуйте mount (без параметров) или cat /etc/mtab. Если вам требуется дополнительная информация об установке ext3, попробуйте:
http://www.symonds.net/~rajesh/howto/ext3/ext3-5.html.
Другие параметры tune2fs позволяют вам добавить метку тома, настроить
количество монтирований, после которого происходит проверка файловой системы (максимальное
количество монтирований), или переключиться на расписание проверки дисков основанное на времени (используется реже).
dd if=/dev/fd0H1440 of=floppy_image
dd if=floppy_image of=/dev/fd0H1440
(две команды, dd="data duplicator(дубликатор данных)") Создает образ дискеты в файле, называемом "floppy_image" в текущеей директории. После чего копирует
floppy_image
(файл) на другую дискету. Напоминает утилиту "DISKCOPY" из DOS.
mkbootdisk --device /dev/fd0 2.4.2-3
Создает аварийную загрузочную дискету. Вас, наверное, спрашивали во время установки Linux о том, хотите ли вы создать такую дискету. Предыдущая команда показывает, как сделать это после установки с дискетой в первом дисководе(/dev/fd0).
Имя ядра (необходимо в этой команде, здесь 2.4.2-3) может быть определено при помощи команды uname -a или ls /lib/modules .
5.14 Управление учетными записями пользователей и доступом к файлам
useradd имя_пользователя
passwd имя_пользователя
(как "root") Создать новую учетную запись пользователя (вы должны иметь права "root"). Например, useradd
barbara. Не забудьте установить пароль для пользователя следующим шагом. Домашняя директория пользователя (которая будет создана сама) -
/home/имя_пользователя. Вы можете использовать так же и эквивалентную команду - adduser имя_пользователя
ls -l /home/peter
useradd peter -u 503 -g 503
(как "root"). Создать пользовательскую запись, соответствующую существующей директории (возможно, из прошлой установки). Если идентификатор пользователя(UID) и идентификатор группы (GID) (показываются для каждого файла) равны 503(оба), я создаю учетную запись пользователя с именем, идентификатором пользователя (UID) и идентификатором группы (GID). Это позволяет мне избежать недоразумений с принадлежностью файлов пользователям.
userdel имя_пользователя
Удаляет запись пользователя (Вы должны быть "root"). Домашняя директория пользователя должна быть удалена отдельно (вручную, поскольку вы должны решить сами что делать с файлами). Кроме того, есть groupdel для удаления групп.
groupadd имя_группы
(как "root") Создает новую группу пользователей в вашей системе. Не обязательно на домашней машине, но может быть удобным даже при небольшом числе пользователей.
К примеру, я могу создать группу "friends"("друзья"),
используя
groupadd friends
при редактировании файла /etc/group, и добавляет мое пользовательское имя и имена моих друзей в строку со списком пользователей группы, так что получившаяся в результате строка будет похожа на эту:
friends:x:502:stan,pete,marie
Так что, я могу изменить права доступа к избранному файлу
так, чтобы файл был доступен мне и группе "friends".
chgrp friends мой_файл
Таким образом, пользователи, указанные в списке группы, получают особые права на доступ к файлу, не доступные для всех остальных пользователей. Например, на чтение и запись:
chmod g=rw,o= мой_файл
Альтернативой является открытие доступа для всех пользователей, что не безопасно даже в домашней системе.
groups
Список групп, к которым принадлежит текущий пользователь. Также можно использовать groups
john Для получения списка групп, к которым принадлежит john.
usermod
groupmod
(как "root") Две утилиты командной строки для изменения пользовательских записей и групп без редактирования файлов
/etc/passwd /etc/shadow /etc/group
и /etc/gshadow вручную. Редко используется.
userconf
(как "root") Программа редактирования пользовательских записей, основанная на меню (политики паролей, модификация групп, добавление пользователей, и т.д.). Часть пакета linuxconf, но может быть выполнена и отдельно.
passwd
Сменить пароль текущего пользователя. Если вы "root", то вы можете так же сменить пароль любого пользователя, используя: passwd
имя_пользователя
chfn
(="change full name(изменить полное имя)"). Изменить информацию о текущем пользователе (Полное имя,
номер офиса, номер телефона, и т.д.). Эта информация появляется при использоваии команды
finger
на вашем
имени_пользователя.
chage -M 100 имя_пользователя
(= "change age"(Сменить возраст)). Изменяет период актуальности пароля на 100 дней для пользователя с именем имя_пользователя .
quota имя_пользователя
setquota имя_пользователя
quotaon /dev/hda
quotaoff /dev/hda
Команды управления дисковыми квотами. Обычно не используются в домашнем компьютере. "Дисковая квота" - Это пользовательский лимит использования дискового пространства. Команды (соответственно) показывают квоту пользователя, устанавливают квоту пользователя, Включают квотирование на выбранной файловой системе (/dev/hda в примере), отключают квотирование. "Обычные" дистрибутивы Linux
по умолчанию не устанавливают никаких пределов для пользователей. Кроме того, квотирование отключено во всех файловых системах.
kuser
(как "root", в X-терминале) Управление пользователями и группами в красивой графической оболочке. Удовлетворяет большинству требований к управлению пользователями.
chmod perm filename
(=change mode(сменить режим)) сменяет режим доступа к файлам, владельцами которых вы являетесь ("root" может менять права доступа к любому файлу). Есть три режима доступа к файлу: Чтение - read (r), запись - write (w), выполнение - execute (x)
для трех классов пользователей: Владелец-owner (u), члены группы-group, которая владеет данным файлом (g), Прочие-others (o). Проверьте текушие права доступа, используя:
ls -l filename
если файл доступен всем пользователям для чтения записи и исполнения:
rwxrwxrwx
Первая тройка показывает права доступа к файлу владельца файла, вторая - права доступа для группы, третья - для прочих ("весь остальной мир"). Отсутствие права на доступ обозначается знаком "-".
При установке разрешения, используются следующие символы: "u"(=пользователь(user)-владелец файла), "g"(=группа(group)-владелец файла), "o"(=другие(others)), "a" (=все(all),
то есть, вледелец, группа и прочие), "="(=Установить разрешение), "+"(=добавить разрешение), "-"(=убрать разрешение), "r"(=разрешить чтение(read)), "w"=(разрешить запись(write), то есть разрешить запись в файл),
"x"(=разрешить выполнение(eXecute)).
Например, команда,
добавляющая(add) разрешение на чтение к файлу junk для всех (=владелец+группа+прочие):
chmod a+r junk
Эта команда удаляет права доступа к файлу junk для прочих:
chmod o-x junk
Смотрите здесь для дополнительной информации. Вы можете установить права по умолчанию для доступа к любому создаваемому вами файлу командой umask (см. man umask).
chown new_ownername filename
chgrp new_groupname filename
Сменить владельца файла и группу. Вы можете использовать эту команду для изменения прав доступа к файлу после того, как скопировали его кому-либо для использования. Только владелец файла может его удалить.
lsattr files
Показывает аттрибуты файла(ов), Не слишком часто используется, потому что наиболее интересные аттрибуты заявлены, но ещё не реализованы. Аттрибуты могут быть изменены командой chattr. Существуют следующие аттрибуты: A (=не
обновлять каждый раз во время изменения файла), S (=синхронное обновление),
a (=только добавление в конец доступно для этого файла), c (=файл сжат на уровне ядра, пока не реализовано), i (=неизменяемый файл), d (=не дамп),
s (=безопасное удаление), и u (=неудаляемый, пока не реализовано). Может оказаться весьма интересным, если суперпользователь("root") сделает файл неудаляемым (до тех пор, пока сам не снимет этот аттрибут).
sudo /sbin/shutdown -h now
(как обычный пользователь, будет запрошен пароль) Выполняет программу "shutdown" (или другую программу, которая была вам разрешена с правами "root"). При помощи sudo администратор может дать избранным пользователям права на выполнение избранных команд без передачи им своего пароля. Файл /etc/sudoers должен быть сконфигурирован примерно так:
my_login_name my_host_computer_name = /sbin/shutdown
pwck
grpck
(как "root", две комманды). Проверка целостности файлов паролей и групп.
pwconv
grpconv
(как "root") Вряд ли вам придется использовать эту комманду. Конвертирует старомодные файлы паролей и групп для создания более безопасных "shadow(теневых)" файлов.
5.15 Установка программ
rpm -ivh package_name-version.platform.rpm
(как "root") Устанавливает пакет (параметр "i", должен быть первой буквой после тире), сообщая подробности (параметр "v'=verbose) и печатая
"зарубки" демонстрируя "прогресс" установки (параметр "h"). rpm означает "Redhat
Package Manager (Менеджер пакетов)".
rpm -Uvh package_name-version.platform.rpm
(как "root") Обновить(Upgrade) (параметр "U", должен быть первой буквой после тире)
пакет, сообщая подробности (параметр "v") и показывая зарубки ("h").
rpm -ivh --force --nodep package_name-version.platform.rpm
(как "root") Установить пакет, игнорируя предупреждения и ошибки взаимозависимости пакетов.
rpm -e package_name
(как "root") Удаление (параметр "e"=erase) пакета package_name. Прошу отметить отсутствие "-version.platform.rpm" в конце имени пакета (Имя пакета - то же самое, что и имя файла *.rpm без черты, имени, версии, платформы и "rpm").
rpm -qpi package_name-version.platform.rpm
Запрос (параметр "q", должен быть первым после черты) уже деинсталлированного пакета (параметр "p") для показа информации (параметр "i")
о его содержимом.
rpm -qpl package_name-version.platform.rpm
Запрос (параметр "q", должен быть первым после черты) уже деинсталлированного пакета (параметр "p") для показа списка (параметр
"l") всех файлов входящих в пакет.
rpm -qf a_file
Поиск пакета к которому приндлежит файл "a_file". Полезно, если я случайно удалил файл и хочу узнать, из какого пакета я могу его переустановить.
rpm -qi package_name
Запрос к установленному пакету, для получения информации о нем. Прошу отметить отсутствие "-version.platform.rpm" в конце имени пакета.
rpm -qai | more
Запрос ко всем пакетам установленным в моей системе для получения информации о них. В моей простой системе ~600 пакетов, так что мне необходимо достаточное время для того, чтобы прочитать информацию о них. Для подчета количества пакетов, используйте:
rpm -qa | grep -c ''
Чтобы выбрать некоторые пакеты, используйте:
rpm -qa | grep -i Строка поиска
(Параметр -i дает grep указание игнорировать регистр символов, чтобы буквы верхнего и нижнего регистров совпадали.)
rpm -Va
Проверить (параметр "V") все пакеты (параметр "a"), установленные в моей системе. Перечислит файлы, измененные со времени установки пакета.
Примерно это вы получите на выходе:
. Test passed
c This is a configuration file
5 MD5 checksum failed
S File size is different
L Symbolic link has changed
T File modification time changed
D Device file is modified
U User that owns the file has changed
G Group that owns the file has changed
M File mode (permissions and/or file
type) has been modified
kpackage
gnorpm
glint
(в X терминале, как "root" если вам необходимо усстанавливать пакеты,
3 команды) графические оболочки для Red Hat Package Manager (rpm). "glint" идет с RH5.2 и сейчас выглядит устаревшим. gnorpm - "официальный" графический интерфейс установки пакетов для RedHat, более старые версии медленны и подвержены ошибкам, но новые (начиная с RH7.0) весьма усовершенствованы. kpackage
- "официальная" программа KDE для установки пакетов. Выглядит красивее остальных. Используйте любую из них для того, чтобы увидеть, какие пакеты установлены в вашей системе, а какие - вы можете установить. Так же можно посмотреть информацию о пакетах, и установить их, если это необходимо (установка пакета требует прав "root").
5.16 Обращение к дискам/разделам
mount
Смотрите здесь для дополнительной информации о монтировании дисков. Примеры использования приведены ниже.
mount -t auto /dev/fd0 /mnt/floppy
(как "root") Монтируем дискету, находящуюся в первом приводе. Директория /mnt/floppy должна
существовать, быть пустой и НЕ быть вашей текущей директорией.
mount -t auto /dev/cdrom /mnt/cdrom
(как "root") Монтируем CD. Вам может потребоваться создать/модифицировать файл
/dev/cdrom
в зависимости от того, каким именно устройством является ваш CDROM. Директория /mnt/cdrom должна существовать, быть пустой и НЕ быть вашей текущей директорией.
mount /mnt/floppy
(как пользователь или "root") Монтировать гибкий диск от имени пользователя. Файл
/etc/fstab
должен быть соответствующим образом настроен для этого. Директория
/mnt/floppy не должна быть текущей директорией.
mount /mnt/cdrom
(Как пользователь или "root") Монтировать CD от имени пользователя. Файл /etc/fstab
должен быть соответствующим образом настроен для этого. Директория /mnt/cdrom не должна быть вашей текущей директорией.
umount /mnt/floppy
Демонтировать. Директория /mnt/floppy не должна быть вашей (или чьей-то еще) текущей директорией. В зависимости от настроек вашей системы, у вас может не получиться демонтирование файловой системы, смонтированной другим пользователем.
5.17 Инструменты сетевого администрирования
netconf
(как "root") Очень хорошая основанная на меню программа настройки параметров сети.
ping имя_машины
проверка связи с другой машиной (необходимо имя машины или номер
IP), нажмите <Ctrl>C для окончания работы с программой (без <Ctrl>c, программа будет работать дальше). Как и все команды Linux, ping имеет множество параметров, включая атаку "ping of death" - это значит, что вы можете запинговать некоторые серверы до зависания (попробуйте параметры -f и -s).
route -n
Показывает таблицу роутинга ядра (kernel routing table).
host Имя_машины_для поиска
nslookup Имя_машины_для поиска
dig ip_адрес_машины_для поиска
(Три команды, используйте любую.) Запрос к вашему серверу имен доменов (DNS), используемому по умолчанию
по Internet-имени (или IP-номеру) Имя_машины_для поиска. Так можно
проверить работу вашего DNS. Вы также можете определить имя машины по IP-номеру.
traceroute машина
Показывает, как ваше сообщение достигает машины машина
(которая задается Internet-именем машины или IP-номером).
mtr машина
(как "root") Мощная и красивая программа, объединяющая функциональность ping и traceroute (RH7.0).
nmblookup -A ip_address
Статус сетевой MS Windows-машины (по имени NetBIOS). Эта команда эквивалентна команде Windows nbtstat.
ipfwadm -F -p m
(для RH5.2, для RH6.0 смотрите следующую команду) Включение маскарадинга. (Не очень безопасно, но просто). Цель: все машины вашей домашней сети будут представлены в Internet как одна, но очень занятая. Например, вы сможете работать в Internet со всех компьютеров вашей домашней сети, как с одного.
echo 1 > /proc/sys/net/ipv4/ip_forward
ipfwadm-wrapper -F -p deny
ipfwadm-wrapper -F -a m -S xxx.xxx.xxx.0/24 -D 0.0.0.0/0
(Три команды, RH6.0). Делают то же, что и предыдущая команда. Замените
"x" цифрами вашего IP-адреса класса "C", назначенного для вашей домашней сети. Смотрите здесь для подробной информации.
ipchains -P forward DENY
ipchains -A forward -s xxx.xxx.xxx.0/24 -d 0.0.0.0/0 -j MASQ
(две команды, RH7.0). То же, что и предыдущие команды, но работают с
RH7.0.
ipchains -L
Показывает все правила firewall. Используйте для проверки настроек firewall.
iptables -L
Ядро Linux 2.4.x использует новую программу "iptables" для firewall. Приведенный выше пример показывает список правил firewall.
firewall-config
(как "root", в X-терминале). Графическая оболочка для настройки Firewall.
ifconfig
(как "root") Дает информацию о сетевых интерфейсах, активных в текущий момент
(ethernet, ppp, и т.д.). Ваша первая карта ethernet будет называться eth0, вторая-eth1, и т.д., первый ppp через модем - ppp0, второй - ppp1, и т.д. "lo"
- интерфейс "loopback only (только сам с собой)"всегда активен. Используйте параметры (см. ifconfig --help) для конфигурирования интерфейсов.
ifup имя_интерфейса
(/sbin/ifup для запуска как пользователь) Запускает сетевой интерфейс.
Например:
ifup eth0
ifup ppp0
ifup ppp1
Пользователь может запускать интерфейс ppp, только если это разрешено настройками ppp (используем netconf ). Для запуска интерфейса ppp
(dial-up подключение) я обычно использую kppp из KDE (или набираю kppp в X-терминале).
/etc/rc.d/init.d/network restart
Перезапуск сети с использованием нормальных инициализационных скриптов (тех что используются при загрузке системы). Полезно при изменении конфигурации вручную. Любые службы, перечисленные в init.d
могут быть остановлены, запущены, или перезапущены (выполните скрипт с параметрами stop, start или restart).
ifdown имя_интерфейса
(/sbin/ifdown для запуска в режиме пользователя). Выключает сетевой интерфейс. Например: ifdown ppp0 Кроме того, смотрите предыдущую команду.
netstat | more
Выводит большую часть (не слишком ли много?) информации о вашей сети.
/usr/sbin/mtr --gtk
(как "root", в X-windows, если вам нравится графический интерфейс). Инструмент сетевой диагностики, объединяющий возможности ping и traceroute. Поставляется с RH7.0.
nmap ip_номер
Показывает карту портов машины с IP-номером ip_номер. Действительно полезно для проверки безопасности вашей сети - иметь информацию об открытых портах. nmap включен в RH7.0 "Linux PowerTools" CD, как и удобная графическая оболочка "nmapfe". nmap может определять операционную систему с помощью "fingerprinting". Обычно людям (и их интернет-провайдерам) не нравится то, что их порты могут быть просканированы (такие действия обычно совершаются хакерами перед атакой), поэтому они могут быть возмущены, обнаружив это -- поэтому лучше всего учиться использовать nmap на ваших компьютерах, или к вам придет жалоба от вашего Internet-провайдера (все претензии будут предъявляться к нему).
ethereal
(как "root", в X-терминале) Анализатор сети -- просмотр сетевого траффика, идущего через ваш компьютер. Включен в RH7.0 "Linux PowerTools" CD.
Использование ethereal может оказаться неэтичным, и неавторизированное использование на рабочем месте может быть причиной серьезных скандалов.
tcpdump -i ppp0 -a -x
(как "root") Печать всего сетевого траффика, идущего через первый модемный интерфейс (ppp0) в символьном и шестнадцатиричном виде. Наверное, слишком много информации. tcpdump - это слегка сырой инструмент и он может быть полезен только в составе других, более "настроенных" инструментов для журналирования необходимой вам информации.
5.18 Команды, связанные со звуком
cdplay play 1
Проиграть первую дорожку со звукового CD. Используйте cdplay без параметров для прослушивания всего CD. Используйте cdplay stop, когда дослушаете.
eject
Выдвинуть подставку для кофе :))). (Выдвигает трэй CD ROM).
Эта команда обычно ассоциируется с cdrom, но может быть использована для других сменных носителей - указанием точки монтирования. Например, я могу выдвинуть zip-диск
из внешнего (на параллельном порте) zip-дисковода (как "root") используя: eject /dev/sda4
play my_file.wav
Проиграть звуковой файл .wav.
rec my_file.wav
Записать звуковой файл с микрофона.
mpg123 my_file.mp3
Проиграть звуковой файл mp3.
mpg123 -w my_file.wav my_file.mp3
Создать звуковой файл .wav из звукового файла mp3. Полезно для записи обычных звуковых CD из коллекции mp3 -- для начала вам придется конвертировать свои mp3 в формат *.wav. Не удивляйтесь невысокой скорости процесса -- декомпрессия mp3 интенсивно загружает процессор.
xmms
(в X-терминале) Симпатичный проигрыватель mp3 с графическим интерфейсом.
freeamp
(в X-терминале) Еще один проигрыватель mp3 с графическим интерфейсом.
lame исходный_файл файл_результат
Конвертер в MP3.
knapster
(в X-терминале) Эапускает программы для скачивания файлов mp3, предоставленных другими пользователями napster. Вы тоже можете поделиться своими файлами. Действительно здорово, пока это продолжается. Gnutella и FreeNet скоро заменят его -> и станет еще лучше.
cdparanoia -B "1-"
(CD ripper) Читает содержимое звукового CD и сохраняет звуковые файлы в текущей директории, одна дорожка - один файл *.wav. Выражение "1-" значит "с 1 -вой дорожки до последней". -B заставляет помещать каждую дорожку в отдельный файл.
playmidi my_file.mid
Проигрывает файл midi. playmidi -r
my_file.mid
будет показывать различные эффекты в текстовом режиме.
sox звуковой_файл Звуковой_файл_в_другом_формате
(="SOund eXchange") Конвертирует большинство звуковых форматов в другие
(но не mp3). Список форматов можно получить при помощи man sox
(их много). sox позволяет добавлять некоторые дополнительные эффекты к Вашим звуковым файлам.
kscd
(в X-терминале) CD-проигрыватель.
kmidi
(в X-терминале) MIDI-проигрыватель.
kmid
(в X-терминале) MIDI/караоке-проигрыватель.
kmix
(в X-терминале) Звуковой микшер.
studio
(in Xterminal) Звуковая студия -- редактирование звуковых файлов, добавление эффектов, и т.д. Есть на PowerTools CD, RH7.x.
extace
(в X-терминале) Программа визуализации звука.
festival --tts my_file.txt
Проговаривает содержимое файла my_file.txt (текст ascii).
"festival" - это речевой синтезатор с диска RedHat 7.0 "Linux PowerTools". Чтобы сказать что-нибудь из командной строки, необходимо запустить "festival" и тогда, на приглашение "festival>", введите соответствующую команду (нечто похожее на интерпретатор), например (Жирный текст
- это вывод компьютера):
festival
festival>(SayText "good dog, really good dog")
festival> (quit)
5.19 Команды, связанные с графикой
kghostview my_file.ps
(в X- терминале) Просмотр файла в формате postscript. Также можно
использовать ghostview или gv с тем же эффектом. Также из этих программ можно распечатать файл в формате postscript.
xpdf my_file.pdf
(в X-терминале) Просмотр файла pdf.
enscript my_file.txt -U 2
Перевести текстовый файл в формат postscript и печать его на принтере.
Можно также получить файл в формате postscript:
enscript my_file.txt -U 2 -o my_file.ps
Параметр -U 2 дает enscript возможность печатать две логические страницы 2 на одной физической , что экономит бумагу, и создает более удобную и компактную распечатку. Вы можете также задать четыре страницы на одной, но читать результат будет неудобно.
enscript весьма гибок, посмотрите man
enscript для изучения возможностей.
ps2pdf my_file.ps my_file.pdf
Создать файл формата pdf (Adobe portable document format - портативный формат документа) из файла postscript.
mpage -2 my_file.ps > new_file.ps
Печатает файл формата postscript my_file.ps, выдавая две логические страницы на одной физической. Вывод помещается в файл
new_file.ps.
ps2ps file.ps new_file.ps
psnup -nup 2 -pletter new_file.ps new_file2.ps
Другой путь для создания файла postscript с двумя логическими страницами на одной физической. Сначала, я использую "дистиллятор postscript"
ps2ps
чтобы сделать postscript-файл проще (за счет увеличения размера).
После чего, я использую программу psnup для создания new_file2.ps который содержит
2 логические страницы на одной физической. При желании можно поместить 4 или 8 логических страниц на одной физической.
gimp
(в X-терминале) Скромный на вид, но мощный графический редактор растровых изображений.
Необходимо изучать для использования, но результат того стоит - нет практически ничего, что невозможно было бы сделать с помощью gimp. Используйте почаще правую кнопку мыши для получения меню, и научитесь пользоваться слоями. Сохраняйте свои файлы в "родном" для gimp формате *.xcf (так вы сохраните слои для будущего редактирования) и только после того, как все будет закончено, сохраните их в png (или другом формате) для использования. "Главное - сделать правильный выбор."
gphoto
(в X-терминале) Простой редактор фотографий и программа получения снимков с камер.
kpaint
(в X-терминале) Простой редактор для bitmap (вроде "paintbrush" или "paint").
xfig
(в X-терминале) Простая программа рисования. Полезна для элементарных набросков и диаграмм.
dia
(в X-терминале) Программа для рисования диаграмм из предварительно построенных компонент.
display my_picture
(в X-терминале) Показывает картинки(только показывает). Можно так же набрать display & и выбрать файл при помощи меню, повернуть его, изменить цвет, применить эффект, и т.д. display
является частью пакета ImageMagick, как и большинствао представленных выше утилит.
identify -verbose my_picture
Дает мне список аттрибутов картинки, находящейся в файле my_picture: формат, тип,
класс, размер в пикселах, количество цветов, размер в байтах, и т.д.
convert -geometry 60x80 my_picture.gif out_small_picture.gif
Сжимает рисунок до размера 60x80 пиксел. На несколько строк ниже приведен способ применения convert для конвертирования файлов разных графических форматов.
animate -delay 6x5 pic1 pic2 pic3
Показывает несколько картинок в последовательности с заданной задержкой. В приведенном выше примере, файлы картинок называются pic1, pic2 и pic3, задержка(delay) между картинками 0.06 секунд, и вся последовательность повторится через 5 секунд.
combine pic1 pic2 combined_pic.miff
Комбинирует две(или более) картинки в одну. Вы можете, например,
вставить логотип в картинки.
montage -geometry 800x600+0+0 my_picture montage.miff
Создает "мозаичную"(tiled) картинку на основе my_picture так чтобы ее размер составлял
800x600 пиксел, с рамкой 0x0. Результат будет помещен в файл montage.miff.
zgv my_picture
Просмотр картинок (не в X-Windows).
giftopnm my_file.gif >
my_file.pnm
pnmtopng my_file.pnm > my_file.png
Конвертируем картинку из формата gif в переносимый формат pnm.
После чего переносим ее из формата pnm в формат png, более новый и лучший стандарт для картинок Internet (более совершенный технически + нет опасения
судебных разбирательств с владельцами патента на формат gif).
xwd -out my_cupture_screen_file.xwd
(в X-терминале) Захват экрана X-windows в графический файл
X-windows (*.xwd). После этого можно конвертировать файл xwd в ваш любимый формат программой convert. В KDE вы также можете использовать горячие клавиши <Alt><PrintScreen>
или <Ctrl><Alt><PrintScreen> для копирования изображения текущего окна или всего рабочего стола.
convert my_capture_screen_file.xwd my_capture_screen.jpg
Конвертируем файл формата *.xwd в файл формата *.jpg. Программа convert может конвертировать графику в различных форматах.
import -display 192.5.100.10:0 -window root my_file.jpeg
Захватить содержимое окна root системы X-windows выполняемой на сервере 192.5.100.10, дисплее 0. Результат помещается в файл my_file.jpeg (формат файла определяется заданным расширением). Вам потребуется разрешение на захват экрана (разрешение устанавливается программой xhost
+ в X-terminal). Смотрите man import для дополнительной информации.
ksnapshot
(в X-терминале) программа для захвата содержимого экрана.
xine frankenstein.avi &
(в X-терминале). просмотр фильма из файла "frankenstein.avi". Выглядит лучше, чем на телевизоре :))
5.20 Маленькие игры
В вашей системе наверняка установлено множество небольших игр. Вот то, что установилось с моего дистрибутива Linux.
kpat
(в X-терминале) Пасьянс. Есть и другие - sol (быстрый) и
pysol
(более весомый). Мой любимый: sol --variation=freecell&
xboing
(в X-терминале). Очень симпатичный пинбол.
xboard
(в X-терминале) Шахматы. Играют слишком хорошо для меня :(
konquest &
(в X-терминале) Посоревнуйтесь с сыном в захвате галактики. Хорошая настольная игра.
kmines
(в X-терминале) Минер.
civserver
civclient
(в X терминале) Запуск сервера игры FreeCivilization (первая команда). После запуска сервера запускаем клиент (вторая команда). Кто-нибудь запускает другого клиента и вы играете. FreeCiv есть на моих RH7.0 CD.
fgfs
"Flight Gear" Симулятор полета.
Переход к части: 6 - Программы для Linux (свободные и проприетарные).
На главную страницу
|