Автор: Пользователь скрыл имя, 30 Июня 2014 в 10:47, контрольная работа
При работе с Unix системами в первую очередь нужно научиться получать помощь, когда не совсем понятно как использовать ту или иную команду. Для этого есть несколько возможностей. Можно, например, ввести после имени команды опцию -?, -h или –help. Большинство команд в системах Unix в ответ на это выводят краткую подсказку о синтаксисе команды и используемых ею опциях.
Мощным средством для извлечения информации о потенциальных возможностях системы служит команда man. Она принимает в качестве аргумента названия команды, о которой мы хотим получить информацию. Так, если нужна информация о команде ls, в командной строке набираем man ls.
1. История Unix систем. (Введение)
3
2. Начало работы с командами, процессами
4
2.1 Работа с командами
4
2.2 Работа с процессами
6
3. Важнейшие пользовательские команды
9
3.1 Важнейшие команды (файлы, каталоги, контроль места на жестком диске)
9
3.2 Файлы: резервное копирование, архивация, компрессия
14
3.3 R-команды
17
4. Основные службы
19
4.1 TELNET
19
4.2 FTP
21
5. “Джентльменский набор”
23
6. Литература
25
echo[arg…] – вывод цепочек символов
Следующие формирующие символы могут быть использованы в выводе:
\b – перемещение назад (Backspace);
\c – не применять символ Newline в конце строки;
\f – перемещение страницы вперед;
\n – Newline;
\r – Return;
\t – знак табулятора;
\\ - Backslash;
\nnn – символ с (восьмеричным) кодом nnn;
arg – цепочки символов:
text – текст без специальных символов Shell;
‘text’ – любой текст. Значение специальных символов Shell будет снято;
`text` - Shell интерпретирует текст как команду и помещает результаты выполнения на её место (например: выводит результат команды echo `date` как результат команды date);
“text” – Shell заменяет имеющиеся параметры, рассматривая только символы $ `…` как специальные символы.
echo может использоваться с какой-нибудь переменной.
Например:
$ dir= /usr/kurs/vvvv
$ echo “This is directory $dir”
This is directory /usr/kurs/vvvv
Подстановка команд в echo
$ echo “todey is `date`”
todey is Thi Jan 24 12:00:00 MET 2006
Команда find просматривает каталоги и соответствующие подкаталоги с целью нахождения файлов, удовлетворяющих некоторым условиям. Найденные файлы обрабатываются некоторой командой или имя файла выводится.
find pathname expression [output] – найти файл, просмотреть каталоги
pathname (путь) – с его помощью можно найти каталог, часто дают список путей поиска, разделенных символом ;;
expression (условие) – в качестве логических выражений-условий используются:
-name file – здесь можно использовать метасимволы Shell. Например:
find /usr/kurs/karl/ -name ‘dat.*’;
-perm octal –обеспечивает поиск файлов с заданными правами доступа;
-user username – поиск файла, принадлежащего пользователю;
-size n – поиск файла, занимающего n блоков;
-atime n (число дней) – поиск файла, доступ к которому был сделан n дней назад;
-mtime n – поиск файла, который был модифицирован n дней назад;
-ctime n – поиск файла, чья I-Node была изменена n дней назад;
-type c – поиск файла типа с, при этом с может иметь значение:
в – блокоориентированное устройство;
с – знакоориентированное устройство;
d – каталог;
р – конвейер;
f – обычный файл;
-links +n – поиск файла, имеющего n указателей;
-never file – поиск файла, модифицированного позднее чем данный файл;
output (вид вывода)
-print – будет выведено имя найденного файла;
-exec command “{}” “;” – команда command будет выполнена. Это действительно, если код завершения команды равен 0. Выполнение команды проводится системным вызовом exec(). Скобки {} стоят как аргумент команды для текущего имени файла. Символ ; - это знак конца при выполнении;
-ok command – перед выполнением команды будет выведен знак ? (нужно ответить Y, если команда должна быть выполнена);
-cpio устройство – текущий файл будет направлен на устройство в формате cpio и там выдан.
Контроль места на жестком диске. Во время работы нужно знать сколько места осталось на диске. Команда du определяет размер накопителя, занятый файлами:
du[ -a][ -s][ -r][ file…] – вывести сведения об использовании диска
Если задается (для файла) каталог с подкаталогом, то выводится размер накопителя, занимаемый всем деревом файлов;
-а – выводится информация для каждого файла;
-s – выводится только общее количество блоков для всех файлов;
-r – выводятся сообщения об ошибках, если для каталога, заданного как file, не имеется права чтения;
без опций – будет проверен текущий каталог.
Пример:
$ du
.
69 /Mail/inbox
.
732 Summe… (du выводит занятое место в блоках по 512 байт).
Команда df устанавливает, сколько места занято в некоторой файловой системе
df[ options][ filesystem…] – проверка некоторого места в некоторой файловой системе на диске
filesystem – проверяемая файловая система;
без опций – вывести свободное место всех файловых систем;
-t (total) – вывести свободные блоки всех дисков;
-а (all) – показать все файловые системы;
-i – выводится загрузка I-Node вместо загрузки блоков;
-k – выводится свободное место в блоках (Кбайты);
-Р – в каждой строке выводится информация об одной файловой системе.
Пример:
$ df
Filesystem |
1020-blocks |
Used |
available |
Capacity |
Mount on |
/dev/rz2a |
19743 |
15303 |
2466 |
86% |
/ |
Системы Unix отличаются по своей конфигурации и обозначения дисков, их деление и размеры различны. Команда quota определяет занятое пользователем место и лимит.
quota[ -q][ user] – проверить занятость файловой системы каждым пользователем
-q – вывести только информацию о файловой системе, где имеется превышение.
Пример;
$ quota
disk quotas for user jakusche uid 2569
Filesystem |
blocks |
quota |
limit |
grace |
files |
quota |
limit |
grace |
/user/u1 |
744 |
1800 |
2000 |
117 |
180 |
200 |
||
/user/u5 |
0 |
0 |
0 |
0 |
0 |
0 |
Пользователь может сам сохранять на носителе определенные файлы/каталоги.
С помощью команда cpio можно сохранять файлы и снова их восстанавливать
cpio –o[acBv]
cpio –i[Bcdmrtuv][ file…]
cpio –p[adlmruv] directory
-файлы и каталоги сохранять и восстанавливать
-а – после копирования
будет восстановлена дата
-В – размер блока равен 5120 Bytes: коэффициент блокирования для магнитной ленты (стандарт 512 байт);
-d – необходимые каталоги будут созданы;
-с – писать/читать информацию в header в ASCII – формате;
-р – копировать файлы/каталоги (данные в списке файлов) в целевой каталог;
-r – интерактивное переименование файлов;
-о (output) – копировать список на указанное устройство;
-i (input) – восстановить файлы;
-t – вывести содержание каталога носителя данных (с восстановленными файлами). Данные не копировать;
-u – ранние файлы будут переписаны более поздними;
-f – копировать файлы, имена которых не соответствуют образцу;
-v (verbose) – вывести копируемые/восстанавливаемые файлы;
-l – вместо копирования создать указатель на файл;
-m – сохранить дату последнего изменения;
file… - имя восстанавливаемого файла. Можно использовать символы для генерации имен файлов;
directory – имя целевого каталога.
Cpio (copy input output) работает только при наличии списка файлов; список передается через программный канал, путем перенаправления (например, команды find, ls, echo) или при непосредственном его вводе с терминала. Ниже даны примеры для всех трех форматов команды cpio:
Пример копирования дерева файлов;
$ find . –print | cpio –p[vmud] directory_for_copy
cpio[ options] < list> среда_для_сохранения-создание копии
Пример: создать копию на магнитной ленте:
$ ls |cpio –oc > /dev/rmt0
Пример:
$ cpio –ivtB </dev/rmt0
Командой tar можно создавать/восстанавливать архивы (в tar-формате) на магнитной ленте, стримере, дискете и в обычном файле
tar options[ file…] – файлы архивировать
Опции состоят из одной из функций: r, x, t, u, c и атрибутов (одного или нескольких)
file… - имя файла/каталога, который должен быть архивирован/извлечен из архива. Если file – это имя каталога, содержимое которого должно быть записано в архив, то содержимое этого каталога будет рекурсивно копировано. Если file отсутствует, то все содержимое архива будет восстановлено;
-r – файлы будут присоединены к концу определенного архива;
-x – перечисленные файлы будут извлечены из архива;
-t – содержимое архива будет выведено;
-u – файлы архива будут заменены файлами новой версии;
-с – новый архив будет изготовлен (с именем, данным с опцией f);
-v – вывести имена обрабатываемых файлов;
-w – ждать подтверждения пользователя перед исполнением tar;
-f archive – имя архива, который должен быть использован вместо системнозависимого стандартного архива. Если вместо имени используется знак - , то команда tar выводит на стандартный вывод или читает со стандартного ввода; благодаря этому tar может применяться как начало/конец конвейера;
-b – следующий аргумент (от 1 до 20) интерпретируется tar как коэффициент блокирования (для магнитных лент);
-l – ( в комбинации с с, r и u); tar должна сообщить, если не все указатели на файлы, которые записаны в архив, можно снять;
-m – заменить дату последнего изменения текущей датой;
-o – копируемые файлы получат пользовательский и групповой идентификатор пользователя, который вызывал программу;
-z – архивация и компрессия.
Примеры;
Все файлы текущего каталога и подкаталогов записаны на одну дискету, одновременно выводятся имена файлов:
$ tar cv /dev/fl2
Создать архив а.tar и провести архивацию каталога lib рекурсивно:
$ tar –cv a.tar lib
Файл datnew присоединить к концу архива:
$ tar –rv a.tar datnew
Файл datnew заменить, если имеется новая версия:
$ tar –uv a.tar datnew
Для уменьшения потребности размера запоминающего устройства, файлы могут быть сжаты (компрессия); для этого используются команды gzip, compress и т.д
gzip [ options] file… - сжать/распаковать файлы
-с – вывести распакованный файл на стандартный вывод вместо того, чтобы заменить файл;
-d – распаковать файл;
-f (force) – заменить имеющиеся файлы с расширением .qz. Обычно проводится опрос с согласии перед переписыванием таких файлов;
-h (help) – вывести краткую помощь к программе;
-l (list) – вывести имена действительных файлов, размеры действительных и сжатых файлов;
-L – вывести текст лицензии;
-n (no –name) – препятствовать запоминанию имени файла и временной метки;
-N – запомнить имя файла и временную метку;
-q – подавить все предупреждения;
-r – разместить все файлы в перечисленных подкаталогах;
-S расширение – применить новое расширение вместо .qz;
-t – проверить целостность названного файла;
-v – вывести имя и глубину компрессии каждого файла;
Команда gzip позволяет также распаковывать файлы, сжатые командами compress/pack.
3.3 R-команды
R-команды используют sockets, они действуют на удаленном компьютере.
Login – службой для удаленного компьютера является rlogin; для ее реализации имеется демон rlogind (его стартует демон inetd; устанавливается связь с rlogind удаленного компьютера; реализуется эмуляция терминала; стартует shell; вывод shell перенаправляется на локальный компьютер)