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