НЕСКОЛЬКО ПРОСТЕЙШИХ КОМАНД 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 — сообщит все возможные команды, которыми можно
  узнать, кто и что делает в системе.