intro(1) введение в пользовательские команды

ОПИСАНИЕ

В разделе 1 справочного руководства описываются пользовательские команды и инструменты, например, программы управления файлами, командные оболочки, компиляторы, веб-браузеры, программы просмотра и редактирования файлов и изображений и т.п.

ЗАМЕЧАНИЯ

Linux является одной из разновидностей UNIX, и в первом приближении, все пользовательские команды для UNIX точно также работают в Linux (а также во FreeBSD и в большом количестве других UNIX-подобных систем).

В Linux существуют графические интерфейсы пользователя (GUI), где вы можете выполнить необходимую работу простым указанием и перетаскиванием без предварительного прочтения большого объёма документации. Но традиционное окружение UNIX — это интерфейс командной строки (CLI), где вы вводите команды, чтобы сказать компьютеру о том, что нужно сделать. Такой подход является более быстрым и обеспечивает больше возможностей, но требует знания команд. Ниже даётся минимум, который поможет сделать первые шаги.

Login

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

Командный интерпретатор

Здесь можно вводить команды для shell (оболочки) — командного интерпретатора. Он не является каким-то встроенным средством — это просто программа, и вы можете её изменить. Каждый имеет свой любимый командный интерпретатор. Стандартное имя — sh. Смотрите также ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), zsh(1).

Сеанс может выглядеть как:

knuth login: aeb
Password: ********
$ date
Tue Aug  6 23:50:44 CEST 2002
$ cal
     August 2002
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
$ ls
bin  tel
$ ls -l
total 2
drwxrwxr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-rw-r--   1 aeb         37 Aug  6 23:52 tel
$ cat tel
maja    0501-1136285
peter   0136-7399214
$ cp tel tel2
$ ls -l
total 3
drwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-r--r--   1 aeb         37 Aug  6 23:52 tel
-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2
$ mv tel tel1
$ ls -l
total 3
drwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-r--r--   1 aeb         37 Aug  6 23:52 tel1
-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2
$ diff tel1 tel2
$ rm tel1
$ grep maja tel2
maja    0501-1136285
$

Здесь для завершения сеанса нажали Control-D.

Символ $ здесь является приглашением к вводу команды — таким способ интерпретатор показывает, что он готов к выполнению следующей команды. Вид приглашения может быть настроен многими способами, и может включать имя пользователя, машины, текущий каталог, время и т. д. Например, выполнение PS1="What next, master? " изменит приглашение на то, что мы ввели.

Выше мы видели, что есть такие команды как date (которая выдаёт дату и время) и cal (которая выдаёт календарь).

Команда ls выдаёт список содержимого текущего каталога --- показывает какие файлы у вас есть. С параметром -l эта команда выдаёт длинный список, который включает владельца, размер и дату файла, а также права доступа на чтение и/или изменение файла. Например, файл "tel" имеет размер в 37 байт, владелец файла --- пользователь aeb, а права доступа такие, что владелец может читать и писать в этот файл, а другие могут только читать его. Владелец и права доступа могут быть изменены командами chown и chmod.

Команда cat показывает содержимое файла. (Имя команды является аббревиатурой слов «concatenate and print» (соединить и напечатать): все файлы, заданные как параметры этой команды, будут соединены в один и отправлены на «стандартный вывод» (смотрите stdout(3)), которым в данном случае является экран терминала.)

Команда cp (от слова «copy», копировать) копирует файл.

А вот команда mv (от слова «move», переместить) только переименовывает его.

Команда diff показывает различия между двумя файлами. В примере, который дан выше, она ничего не выдаёт, потому что различий нет.

Команда rm (от слова "remove") удаляет файл и будьте осторожны! Он пропадает. Нет никакой корзины для удалённых файлов. Удалённые файлы будут потеряны.

Команда grep (от "g/re/p") ищет указанные строки в одном или нескольких файлах. В примере команда ищет телефонный номер Maja.

Пути и текущий каталог

Файлы располагаются в большом дереве, файловой иерархии. Каждый файл имеет pathname (полный путь), описывающий путь от корня дерева (который имеет имя /) до данного файла. Пример полного пути: /home/aeb/tel. Постоянное использование полного пути может быть не рационально, и имя файла в текущем каталоге может быть сокращено до последнего компонента. Так, /home/aeb/tel может быть сокращено до tel, если текущим каталогом является каталог /home/aeb.

Команда pwd показывает имя текущего каталога.

Команда cd изменяет текущий каталог.

Попробуйте выполнить команды cd и pwd, и попробуйте вызвать cd так: «cd», «cd .», «cd ..», «cd /» и «cd ~».

Каталоги

Команда mkdir создаёт новый каталог.

Команда rmdir удаляет каталог, если он пустой, в противном случае выдаёт ошибку.

Команда find (с несколько причудливым синтаксисом) ищет файлы с указанным именем или другими свойствами Например, «find -name tel» будет искать файл tel начиная с указанного каталога (который имеет имя .). А команда «find / -name tel» будет делать тоже самое, но начиная с корневого каталога дерева файлов. Поиск по многогигабайтному диску займёт много времени, и, возможно, лучше использовать команду locate(1).

Диски и файловые системы

Команда mount подключает файловую систему, найденную на каком-либо диске (или дискете, компакт-диске и т.д.) к основной иерархии файловой системы. А команда umount отключает её. Команда df скажет вам как много осталось свободного пространства на вашем диске.

Процессы

В системах UNIX многие пользовательские и системные процессы работают одновременно. Некоторые запущены в приоритетном режиме (foreground), другие в фоновом режиме (background). Команда ps покажет вам какие процессы активны и какие номера они имеют. Команда kill позволяет вам освободиться от них. Эта команда, запущенная без параметров, посылает процессу дружественное предложение: завершай работу. А если за командой «kill -9» следует номер процесса, то этот процесс будет немедленно уничтожен. Процессы приоритетного режима часто могут быть завершены по нажатию Control-C.

Получение информации

Существуют тысячи команд, каждая из которых имеет множество параметров. Традиционно, команды документируются в справочных страницах (man pages, таких как эта), так что команда "man kill" покажет вам документ, в котором описывается использование команды "kill" (а "man man" --- документ, где описывается использование команды "man"). Программа man выводит текст через пейджер (pager), обычно less. Нажмите пробел, чтобы перейти к следующей странице или q для выхода.

Ссылки на документацию в man-страницах указываются в виде имени и номера раздела, например man(1). Справочные страницы содержат краткое описание и позволяют вам быстро найти некоторые забытые детали работы. Для новичков существуют тексты введений с большим количеством примеров и разъяснений.

Большое количество программного обеспечения GNU/FSF предоставляется вместе с файлами info. Введите команду «info info», чтобы получить начальное представление об использовании программы info.

Специализированные темы часто описываются в документах HOWTO. Загляните в каталог /usr/share/doc/howto, и используйте браузер для просмотра, если вы нашли там нужные HTML-файлы.