Предварительные сведения о Linux
Файловая система Linux, в отличие от файловых систем DOS и Windows™, является единым деревом. Корень этого дерева — каталог, называемый root (рут), и обозначаемый символом /. Части дерева файловой системы могут физически располагаться в разных разделах разных дисков или вообще на других компьютерах — для пользователя это прозрачно. Процесс присоединения файловой системы раздела к дереву называется монтированием, удаление — размонтированием. Например, файловая система CD ROM в монтируется по умолчанию в каталог /mnt/cdrom (знак разделителя каталогов в путях Linux — / , а не \, как в DOS/Windows). Текущий каталог обозначается как ./.Файловая система Linux содержит следующие каталоги первого уровня:
Разделы, необходимые для работы Linux
Для работы Linux необходимо создать на жёстком диске (дисках) по крайней мере два раздела: корневой (то есть тот, который будет содержать каталог /) и раздел подкачки (swap). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Если у вас много свободного места на диске, то можно создать отдельные разделы для каталогов /usr, /home, /var.Все физические устройства вашего компьютера отображаются в каталог /dev файловой системы Linux (об этом — ниже). Диски IDE (в том числе жёсткие диски, дисководы CD ROM, floppy) имеют имена:
Жесткие диски SCSI обозначаются /dev/sdX, где X — a,b,c,d,e,..., в зависимости от порядкового номера диска на шине SCSI.
Раздел диска обозначается числом после его имени. Например, /dev/hdb4 — четвёртый раздел второго диска на первом канале IDE.
Зайдя в систему, вы увидите приглашение командной строки — строку, содержащую символ $ (далее этот символ будет обозначать командную строку) [1]. Программа ожидает ваших команд. Роль командного интерпретатора — передавать ваши команды операционной системе. По своим функциям он соответствует command.com в DOS, но несравненно мощнее. При помощи командных интерпретаторов можно писать небольшие программы — сценарии (скрипты). В Linux доступны следующие командные оболочки:
echo $SHELL У каждой оболочки свой синтаксис. Мы рекомендуем вам использовать Bash. В дальнейшем мы будем строить свои примеры с использованием этой оболочки.
Командная оболочка Bash В bash имеется несколько приёмов для работы со строкой команд. Например, используя клавиатуру, вы можете:
Ctrl-A — перейти на начало строки;
Ctrl-U — удалить текущую строку;
Ctrl-C — остановить текущую задачу.
Вы можете использовать ; для того, чтобы ввести несколько команд одной строкой. Клавиши вверх и вниз, позволяют вам перемещаться по истории команд. Для того, чтобы найти конкретную команду в списке набранных, не пролистывая всю историю, наберите Ctrl-R
Команды, присутствующие в истории, отображаются в списке пронумерованными. Для того, чтобы запустить конкретную команду наберите:
! номер команды Если вы введёте:
!! запустится последняя из набранных команд.
Иногда в Unix, имена программ и команд слишком длинны. К счастью, Bash сам может завершать имена. Нажав клавишу [TAB], Вы можете завершить имя команды, программы или каталога. Например, предположим, что Вы хотите использовать программу декомпрессии bunzip2. Для этого наберите:
bu затем нажмите TAB. Если ничего не происходит, то вероятно существует несколько возможных вариантов завершения команды.
Нажав клавишу TAB еще раз, вы получите список имен начинающихся с bu.
Например у вас есть:
$ bu buildhash builtin bunzip2
Наберите:
n
(bunzip - это единственное имя, третьей буквой которого является n), а затем нажмите клавишу табуляции. Оболочка дополнит имя и вам остается лишь нажать Enter, чтобы запустить команду!
Заметим, что программу, вызываемую из командной строки, bash ищет в каталогах, определяемых в системной переменной PATH. По умолчанию, в этот перечень каталогов не входит текущий каталог, обозначаемый ./ (точка слэш) (если только вы не выбрали один из двух самых слабых уровней защиты, см. об этом ниже). Поэтому, для запуска программы prog из текущего каталога, надо дать команду
./prog
Базовые команды оболочки Bash
Все команды, приведенные ниже, могут быть быть запущены как и в режиме консоли, так и в графическом режиме (xterm, консоль KDE). Для получения более подробной информации используйте команду man. Пример:
man ls
Команда su
Позволяет вам получить права администратора. Когда вы набираете su, оболочка запрашивает у вас пароль суперпользователя (root). Введите пароль и нажмите Enter: теперь вы получили привилегии суперпользователя. Чтобы вернуться к правам вашего пользовательского бюджета, наберите exit.
Команда cd
Позволяет сменить каталог. Она работает как с абсолютными, так и с относительными путями. Предположим, что Вы находитесь в своем домашнем каталоге и хотите перейти в его подкаталог docs/. Для этого, введите относительный путь:
cd docs/
Чтобы перейти в каталог /usr/bin, наберите (абсолютный путь):
cd /usr/bin/
Некоторые варианты команды:
cd ..
позволяет вам сделать текущим родительский каталог (обратите внимание на пробел между cd и ..).
cd -
позволяет вам вернуться в предыдущий каталог. Команда cd, без параметров переводит вас в ваш домашний каталог.
Команда ls
ls (list) выдает список файлов в текущем каталоге. Две основные опции: -a - просмотр всех файлов, включая скрытые, -l - отображение более подробной информации.
Команда rm
Эта команда используется для удаления файлов. Внимание: удалив файл, Вы не сможете его восстановить!
Синтаксис:
rm имя_файла
У данной программы существует ряд параметров. Самые часто используемые: -i - запрос на удаление файла, -r - рекурсивное удаление (т.е. удаление, включая подкаталоги и скрытые файлы).
Пример:
rm -i ~/html/*.html
Удаляет все файлы html, в вашем каталоге html.
Команды mkdir и rmdir:
Команда mkdir позволяет Вам создать каталог, тогда как rmdir удаляет каталог, при условии, что он пуст.
Синтаксис:
mkdir имя_каталога
rmdir имя_каталога
Команда rmdir часто заменяется командой rm -rf, которая позволяет вам удалять каталоги, даже если они не пусты.
Команда less
less позволяет Вам постранично просматривать текст.
Синтаксис:
less имя_файла
Крайне полезно просмотреть файл перед тем как его редактировать. Для выхода нажмите q.
Команда grep
Данная команда имеет много опций и предоставляет возможности поиска символьной строки в файле.
Синтаксис:
grep шаблон_поиска файл
Команда ps
Отображает список текущих процессов. Колонка команд указывает имя процесса, колонка PID (идентификатор процесса) — номер процесса (этот номер используется, для операций с процессом, например чтобы "убить" его командой kill).
Синтаксис:
ps аргументы
Аргумент u предоставляет Вам больше информации, ax позволяет Вам просмотреть те процессы, которые не принадлежат Вам (такие как те, что были запущены во время процесса загрузки)2.
Команда kill
Если программа перестала отвечать или зависла, используйте данную команду, чтобы ее завершить
Синтаксис:
kill PID_номер
Иногда, необходимо будет использовать kill -9 PID_number (когда обычная команда kill не дает желательного эффекта). Номер PID выясняется при помощи команды "ps".
Использование многозадачности Linux
Linux — это многозадачная система, и вы наверняка хотите воспользоваться всеми преимуществами этого (например, ходить по сети, одновременно компилируя программу). Продемонстрируем на двух примерах использование многозадачности Linux.Первый пример - запуск программы в фоновом режиме. Для того, чтобы это сделать, вам нужно лишь набрать & после имени программы. После этого, оболочка дает вам возможность запускать другие приложения. Будьте осторожны, так как некоторые программы интерактивны, и их запуск в фоновом режиме бессмысленен (подобные программы просто остановятся, будучи запущенными в фоновом режиме). Для того, чтобы вернуть их в обычный режим, наберите:
fg имя_программы
Второй метод представляет собой запуск нескольких независимых сеансов. Если вы в графическом режиме, просто запустите Xterm, или эмулятор терминала. В режиме консоли, нажмите alt и одну из клавиш, находящихся в интервале от F1 до F6. На экране появится новое приглашение системы, и вы сможете открыть новый сеанс. Этот метод также позволяет вам работать на другой консоли, если консоль которую вы использовали до этого, не отвечает, или вам необходимо остановить зависшую программу.
mc
Если вы многие годы работали в DOS™/Windows™, то, наверное, ощущаете себя немного не в своей тарелке. Для того, чтобы попасть в привычную среду, запустите Midnight Commander командой mc. Это свободный аналог Norton Commander и его популярного ныне потомка — Far. Если вы в какой-то момент сочтете, что mc что-то не умеет, то это, скорее всего, неверно, — ознакомьтесь с его описанием в /usr/share/doc/mc-номер_версии или дайте команду man mc.