НЕСКОЛЬКО ПРОСТЕЙШИХ КОМАНД UNIX



                          Первоначальная версия этого текста

                          подготовлена НПО "КЛОТО"



1.1. Система  UNIX различает БОЛЬШИЕ и  малые буквы, и  к этому

нужно привыкнуть.



1.2. Если вы уничтожили какой-нибудь файл, то никаких проблем с

его восстановлением у вас не  будет.  Потому  что  восстановить

уничтоженный файл в системе Unix НЕВОЗМОЖНО. В Unix отсутствует

команда unerase, и к этому тоже нужно привыкнуть.  Вирусы и ан-

тивирусы в Unix тоже отсутствуют. Так что, пока хоть этой проб-

лемы у администратора машины не будет.



1.3. В имени  файла  директории отделяются от последующей части

символом "/" Если имя начинается со слэша -  значит, это полное

маршрутное имя. Простое  имя файла может состоять из ЛЮБЫХ сим-

волов. Длина простого имени не более 256 символов. Длина полно-

го маршрутного имени файла не более 1024 символов.  Для задания

шаблона имен  используются  символы  * (произвольная последова-

тельность символов) и  ?  (один произвольный символ). Два имени

являются выделенными. Имя из одной точки "." обозначает текущую

директорию, имя из двух точек ".." - вышележащую.



1.4. Чтобы  запустить  программу на выполнение, достаточно наб-

рать ее имя и,  если  нужно, другие аргументы командной строки.

Имя программы  - это маршрутное  имя файла, в котором эта прог-

рамма находится.  Аргументы  разделяются  одним или несколькими

пробелами.  Ключи  команды обычно (но необязательно) выделяются

знаком  "-".  Если  командная  строка   кончается   знаком   &,

происходит  запуск  параллельного  процесса,  в рамках которого

будет выполняться команда, сообщается его  номер,  после   чего

можно продолжать работу не дожидаясь завершения фоновой задачи.



     команда -ключи -ключи ...  прочие разные аргументы ...



1.5. Три  направления ввода-вывода являются выделенными - стан-

дартный ввод,  стандартный  вывод  и  стандартный протокол. Как

правило, команды  операционной системы берут исходные данные из

стандартного ввода  и  помещают результаты в стандартный вывод.

Первоначально стандартные  ввод,  вывод и протокол назначены на

терминал, однако их можно переназначить, если после команды по-

местить одну из конструкций:



       команда  > имя_файла

(для стандартного вывода),



       команда  < имя_файла

(для переназначения стандартного ввода),



       команда  2> имя_файла

(для стандартного протокола - системной диагностики).

     Пример - записать в файл infdir содержимое текущей  дирек-

тории:



        ls > infdir



     Если вывод назначен в файл, то  перед  началом  выполнения

команды создается пустой файл с  соответствующим  именем  (если

файл уже существовал, он опустошается), а затем в него  помеща-

ется информация. Если информацию нужно дописать в конец сущест-

вующего файла, следует воспользоваться конструкцией



        команда  >> имя файла

        команда 2>> имя файла



1.6. Пользователи системы UNIX объединяются в  группы, и каждая

из групп может обладать определенным набором привилегий.



1.7. Программы могут распознавать  значения  переменных окруже-

ния, значения которых были заданы перед их запуском.



TERM=vt220

HOME=/home/moshkow

PATH=:/bin/:dss/rk:/udd/moshkow/bin



1.8. Выдачу одной команды можно перенаправлять на вход

другой команды. Для этого используется "|" - конвейер.



Например: посчитать суммарный размер и число  строк всех файлов

в каталоге /tmp, имена которых начинаются с символов "text" ...



    cat /tmp/text* | wc -c



# Команда cat сливает вместе все файлы вида /tmp/text*,

# wc -c -l считает количество символов и число строк во входном

# потоке.



Или просмотреть с листанием длинную выдачу команды:



   ps -ef  |  more



Того же результата можно достичь и без конвейера таким образом:



  ps -ef > temp-file

  more temp-file

  rm temp-file



        2. Некоторые наиболее употребительные команды.



pwd   - получить имя текущей директории

cd    - изменить текущую директорию

ls    - распечатать информацию о файлах или директориях

cat   - слить или вывести файлы-аргументы на стандартный вывод

cp    - копировать файлы

mv    - переместить (переименовать) файлы

ln    - создать ссылку на файл

rm    - удалить файлы

rmdir - удалить директорию

mkdir - создать директорию

echo  - вывести аргументы командной строки на стандартный вывод

ps    - узнать номера выполняемых процессов

kill  - "убить" выполняемый процес по его номеру

man   - выдать справку об использовании и ключах команды



        2.1 pwd    Выдать имя текущей директории.



  pwd



        2.2 cd     Сменить текущую директорию.



  cd [ директория]



  cd /usr/spool/lp/adm



  cd ..



Если директория не  указана, Вы попадаете в свой "домашний" ка-

талог $HOME



        2.3 ls     Распечатать каталог.



Формат команды :  ls [ключи] [имена]



имена - имена файлов или директорий; для директорий  распечаты-

        вается список входящих в нее файлов, для файлов -  пов-

        торяется имя файла и дополнительная информация в  соот-

        ветствии с ключами. Имена файлов выводятся в алфавитном

        порядке. Если имена не заданы, выдается содержимое  те-

        кущей директории.

ключи:  по умолчанию выдаются только имена файлов, в  одну  ко-

        лонку и в алфавитном порядке.



  ls -al  - вывод в длинном полном формате:



          число   владелец            время модификации

          линков        группа                        имя файла

          (имен)                  размер

-rwxr-xr-x   1 moshkow  sys         17 Oct 18 16:13 ../jean

drwxr-xr-x   1 moshkow  sys         12 Oct 18 16:11 ../jelly

-rwxr-xr-x   1 moshkow  sys          0 Oct 13 14:14 ../j.bu.txt

^^  ^  ^

||  |  |

||  |  +----- права всех "прочих" по отношению к файлу

||  +-------- права одной с ним группы

|+----------- права "владельца" файла

+------------ "-" - значит файл,  "d" - директория

        Права:

                r - файл доступен для чтения,

                w - файл доступен для записи,

                x - файл является выполнимым,

                - - данное право доступа отсутствует.



       -a - вывести все файлы (даже те, имена которых начинают-

            ся с точки);

       -x - вывод в 4 колонки;

       -t - имена файлов сортируются не по алфавиту, а по  вре-

            мени  последнего изменения (сначала идут самые све-

            жие, только что измененные файлы);

       -R - рекурсивно пройти по всем подкаталогам



  ls -CF  - оглавление каталога в несколько столбиков

  ls -al  - оглавление в полном формате



        2.4 cat    Слить и вывести файлы на стандартный вывод.



Формат команды :  cat файл1 [файл2... ]



Cat читает каждый из указанных файлов и выводит  их  содержимое

на стандартный вывод. Пример:



     cat файл



распечатывает содержимое файла, а



     cat файл1 файл2 > файл3



сливает первые два файла  и  помещает результат в третий. Чтобы

добавить файл1 к файлу2, надо выполнить команду



     cat файл1 >> файл2



        2.5 more, pg Просмотреть файл постранично.



     more file_name ...



more  позволяет  просматривать  файл, делая остановку на каждой

границе экрана. Просмотром можно управлять с помощью клавиш:



q      - завершить просмотр

ПРОБЕЛ - показать следующую страницу

ENTER  - сдвинуться на одну строку

b      - показать предыдущую страницу

/      - поиск

h      - Help - посмотреть список всех возможных команд



more  используют,  чтобы  посмотреть "длинную" выдачу  команды,

ставя его конвейером "ей на хвост"



    ls -al | more   - просмотреть оглавление

    ps -e  | pg     - просмотреть список работающих процессов



        2.6 cp     Копировать файлы.



Формат команды :  cp файл1            файл2

                  cp файл1 файл2 [...] каталог



Эта команда копирует файл1, ... , в ФАЙЛ. Если ФАЙЛ -  это  ди-

ректория, то файл1 и др. копируются в нее под  своими  именами.

Если ФАЙЛ не существовал, то он  создается,  если  существовал,

его старое содержимое теряется.



        2.7 mv     Переместить (переименовать) файлы.



Формат команды :  mv файл1             файл2

                  mv файл1 [файл2 ...] каталог



Команда аналогична команде cp, но не сохраняет исходного файла.

Ее основная роль - переименование файлов и  перенос  файлов  из

одной директории в другую). Пример.



    mv /dss/*/rk_*.help /dss/delo





        2.8 ln     Связать файлы.



Формат команды :  ln файл1 файл2

                            # создается "жесткий" линк

                  ln -s файл1 файл2

                            # создается "символический" линк



Эта команда  создает файлу файл1 еще одно имя.  В итоге файл1 и

файл2 на  самом деле физически  являются одним и тем же файлом.

Если вы  создаете так называемый "символический линк", (исполь-

зуя ключ "-s"), то файл file1 при этом  не обязан существовать.

Имя "файл2" при этом все равно будет создано.



        2.9 rm     Удалить файл или директорию.



Формат команды :  rm [-fri]  файл ...

        -i      - просить подтверждения на каждое удаление

        -r      - рекурсивно удалить вместе с подкаталогами

        -f      - не просить подтверждения, а сразу удалють



Для удаления пустой директории можно воспользоваться командой



     rmdir директория ...



Чтоб удалить непустую директорию нужно выполнить команду



    rm -r директория



ВНИМАНИЕ: Ввиду того, что под шаблон ".*" подходит каталог ".."

НИКОГДА НЕ ДЕЛАЙТЕ КОМАНДЫ                # rm -r .*



        2.10 mkdir  Создать директорию.



Для создания директории применяется команда mkdir.



Формат команды :  mkdir  имя_директории ...



        2.11 chmod  Изменение прав доступа к файлам.



Команда chmod меняет атрибуты (права доступа) файла.

Проставить файлам право на выполнение:



    chmod u+x file1



Разрешить остальным пользователям исправлять файл



    chmod a+w file1



        2.12 echo   Эхо.



echo Команда выводит на стандартный вывод свои аргументы



    echo "\017"



Вывести на терминал символ Ctrl-O, Он же 017 восьмеричное. Вос-

станавливает латиницу на терминалах типа vt220 и at386



        2.13        Создать файл.



Для создания файла можно воспользоваться следующими способами:



    touch primer  создает файл primer;

    cat > primer  создает  файл  primer и пишет в него из стан-

                  дартного ввода. Запись в файл закончится пос-

                  ле нажатия CTRL+D.



        2.14 ps     Какие программы выполняются.



Сообщает  номера  процессов, которые  выполняются в системе.



    ps          - запущенные только с этого терминала

    ps -e       - все

    ps -f       - в "полном" формате



        2.15 kill   Прервать процесс.



Команда  kill  посылает  указанному процессу сигнал немедленной

остановки.



Прервать процесс номер 1078 (номер можно узнать командой ps -e)



    kill -9 1078



Прервать  программу на вашем терминале, запущенную НЕ в фоновом

режиме, можно нажатием клавиши CTRL-C, или клавиши CTRL-\



        2.16 man    Если вы забыли как пользоваться командой.



Как правило, при запуске команды без аргументов она выдает фор-

мат своего вызова. Но для большинства команд достаточно  полную

информацию вы можете получить так:



    man    имя_интересующей_вас_команды

    man -k ключевое_слово   - список команд, относящихся к ...



        2.17 who    Кто работает в системе.





    who           - этими командами можно узнать кто вы такой,

    who am i        и кто еще работает в системе

    finger

    last | more

    id



    man -k who   - сообщит все возможные команды, которыми можно

                   узнать, кто и что делает в системе.



Banner.Novgorod.Ru