INTRO(1)

ИМЯ
intro - введение в пользовательские команды

ОПИСАНИЕ
В разделе 1 справочного руководства описываются пользовательские команды и инструменты, например, программы управления файлами, командные оболочки, компиляторы, веб-браузеры, программы просмотра и редактирования файлов и изображений и т.п. Все команды по завершению возвращают значение результата работы. Это значение можно проверить (например, в большинстве оболочек есть переменная $?, в которой содержится результат последней выполненной команды), чтобы убедиться, что команда выполнилась успешно. Нулевой код результата, обычно, используется для указания успешного выполнения, а ненулевой означает, что команда выполнилась с ошибками. (Подробности о кодах результата можно найти в wait(2).) Ненулевой код результата может быть в диапазоне от 1 до 255, а некоторые команды используют различные значение результата, чтобы показать причину неудачного выполнения команды.

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

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

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

  Командный интерпретатор
Здесь можно вводить команды для командного интерпретатора. Он не является каким-то встроенным средством — это просто программа, и вы можете её изменить. Каждый имеет свой любимый командный интерпретатор. Стандартное имя — sh. См. также ash(1), bash(1), csh(1), zsh(1), chsh(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" (соединить и напечатать): все файлы, заданные как параметры этой команды, будут соединены в один и отправлены на "стандартный вывод", которым в данном случае является экран терминала.)

Команда 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" и "pwd".

  Каталоги
Команда 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-файлы.

СМОТРИТЕ ТАКЖЕ
standards(7)