Автор: Пользователь скрыл имя, 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
D – процесс ожидает во время ввода/вывода;
S – процесс «спит» <20c;
I – процесс «спит» >20c;
Вторая буква:
W – процесс перемещен;
Пробел – процесс в памяти;
TIME – общее время выполнения процесса;
COMMAND – имя команды в командной строке.
Для получения дальнейших параметров введите команду ps –al:
Пример:
$ ps –al
F |
UID |
PID |
PPID |
CP |
PRI |
NI |
ADDR |
SZ |
RSS |
WCHAN |
S |
11008001 |
2569 |
22464 |
21858 |
68 |
42 |
0 |
2afa |
584 |
484 |
R |
Здесь параметры означают:
F – флаг процесса, некоторые из них:
000000 – процесс рожден;
000001 – процесс в памяти;
000002 – системный процесс для перемещения;
000010 – процесс трассируется;
000020 – другой флаг трассировки;
008000 – процесс будет перемещен;
UID – пользовательский номер владельца процесса;
PPID – номер процесса предка;
СР – время процесса;
PRI – приоритет, большие значения соответствуют низкому приоритету;
ADDR – адрес памяти (куда перемещен процесс);
WCHAN – номер события, которого ждет процесс. Если колонка пуста, это означает, что процесс выполняется;
NI – значение, характеризующее приоритет;
SZ – виртуальная величина процесса (Кбайт).
Команда nice устанавливает, что некоторая команда будет выполняться с определенным приоритетом.
nice[ -number] command[arg…] – изменить приоритет команды
-number – имеет значение от 1 до 19, при этом большим числам соответствуют низкие значения приоритета. 0 – это стартовый приоритет каждого процесса, если он первый раз ждет процессорное время;
arg – аргумент команды command.
Команда kill по умолчанию передает процессу сигнал о его прекращении:
kill[ -signal][ processnumber]
signal – число 1,2,…9,…
-1 – вывести все возможные имена сигналов.
Приведем пример, сначала запустим некоторую команду, потом посмотрим какие процессы выполняются а потом прекратим выполнение этой команды:
$ vi (vi – это редактор)
.
.
.
$ ps
PID |
TTY |
STAT |
TIME |
COMMAND |
11745 |
p5 |
S |
0:01 |
-bash |
11822 |
p5 |
T |
0:00 |
Vi |
11823 |
p5 |
R |
0:00 |
Ps |
$ kill –9 11822
[1]+killed
$ ps
PID |
TTY |
STAT |
TIME |
COMMAND |
11745 |
p5 |
S |
0:01 |
-bash |
11824 |
p5 |
R |
0:00 |
Ps |
С помощью команды sleep можно временно приостановить процесс:
sleep time – процессы временно приостановить
пример:
$ sleep 20 (терминал блокируется на 20 секунд)
Пользователи могут осуществлять коммуникацию:
write user_name[ terminal] – послать сообщение на экран пользователя
пример:
Послать сообщение пользователю ККК, работающему на той же самой системе:
$ write KKK
Какая прекрасная погода!
EOF (end of file: комбинация клавиш CTRL+D)
На экране пользователя ККК появляется:
Message from Diamin tty10
Какая прекрасная погода!
Команды для работы с каталогами. Каталог в котором находится пользователь в данный момент времени, называется текущим; используя команду pwd можно вывести имя этого каталога.
pwd – вывести путь к текущему коталогу
В текущий каталог можно попасть, используя команду cd:
cd[ directory] – перейти в другой каталог
directory – имя каталога, в который пользователь хочет перейти;
без аргумента – переход в домашний каталог;
/ - переход в корневой каталог;
… - переход на один уровень вверх.
Содержимое каталога можно вывести, используя команду:
ls[ -Rfabdgilrstu][file…] – вывести информацию о файлах
-file – имя объекта, о котором хотят получить информацию;
-R (rekursiv) – вывести список всего дерева файлов;
-F – добавить символ к имени файла;
* - исполняемые файлы;
/ - каталоги;
@ - маркировка symbolic link;
| - маркировка Named-Pipe;
= - маркировка Socket;
-a – вывести файлы каталога, которые начинаются точкой (например, .profile);
-b – вывести непечатаемые символы в восьмеричном представлении;
-с – сортировать файлы в соответствии с временем последнего изменения статуса;
-d – вывести только запись о каталоге, но не его содержание;
-g – вывести групповую принадлежность файла, а не идентификатор владельца;
-i – вывести I-Node-номер для каждого файла;
-l – вывести данные в длинном формате;
-r – сортировать в обратном порядке;
-s – вывести размер файла (кар число блоков);
-t – сортировать в соответствии с датой последнего изменения;
-u – применить дату последнего доступа вместо даты последнего изменения в качестве критерия сортировки.
Команда mkdir позволяет создать новый каталог
mkdir directory –создать коталог
directory – имя каталога;
Команда rmdir уничтожает каталог
rmdir [ -r] directory – уничтожить пустой каталог
-r – уничтожить каталоги рекурсивно
directory – имя каталога
Файлы в уничтожаемом каталоге должны быть предварительно уничтожены командой rm(смотрите далее), а подкаталоги командой rmdir. Последние должны быть также пусты. Не пустые каталоги должны быть уничтожены командой rm –r:
Пример: уничтожить каталоги dir1 и dir2
$ rmdir dir1 dir2
rmdir: dir1 not empty
Каталог dir1 не был уничтожен, так как содержал файлы. Его можно, однако, уничтожить вместе со всеми находящимися там файлами командой
$ rm –r dir1
Команды для работы с файлами. Для вывода на экран содержимого текстового файла используется cat-команда; она выполняет также и другие функции:
cat[ -u][ -s][ -v][ -t][ -e][file…] – присоединить файлы друг к другу и вывести на экран
-u – при чтении со стандартного ввода проводится вывод без промежуточного запоминания;
-s – подавить сообщение о файлах, не имеющихся в наличии;
-v – вывести непечатаемые символы, кроме знаков TAB и NEWLINE;
-t – будет выведен знак TAB (не применять вместе с –v);
-e – вывести символ $ (применять вместе с –v);
file – имя выводимого файла.
Если пользователь вводит символ -/пробел, то cat читает со стандартного ввода. Используя >file/>>file можно перенаправить вывод в файл, при этом при использовании символа > , содержимое старого файла будет переписано, а при применении символа >>, вывод будет присоединен к старому файлу.
Файл file можно вывести следующим образом:
$ cat file (пишет содержимое файла на стандартный вывод).
Файл fil1 можно присоединить к файлу fil2 и результат записать в файл fil3 следующим образом:
$ cat fil1 file2 > fil3
Команда mv позволяет переименовывать файлы и перемещать файлы в пределах дерева файлов:
mv[ -f] file1[file2…] newfile – файл переименовать/переместить
-f – подавить вопрос, хочет ли пользователь использовать команду;
file[file2] – имя, которое должно быть переименовано или имя файла, который должен быть перемещен;
newfile – если file является файлом, то он будет переименован; если newfile является каталогом то все переименованные файлы будут перемещены в этот каталог.
Пример:
Переименуем text3 в text5 и переместим в каталог /usr/kurs/vvvv
$ mv text3 /usr/kurs/vvvv/text5
Команда ср предназначена для копирования файлов:
cp[ r] file copy – файл копировать
cp[ file…] directory – файл копировать
copy – имя копии. Копия имеет права доступа оригинала и пользовательский и групповой номер пользователя, который вводил команду;
r (recursive) – копировать, включая содержимое подкаталогов;
file – оригинал;
directory – каталог в который будет внесена копия. Оригинал и копия имеют одно и тоже имя.
Пример:
Скопируем text2 под именем text4, оба файла должны находится в каталоге my:
$ cd my
$ cp text2 text4
теперь скопируем все файлы текущего каталога, начинающиеся с “text”, в каталог /usr/kurs/vvvv
$ cp text* /usr/kurs/vvvv
Для уничтожения одного или нескольких файлов используется команда rm
rm[ options] file… - уничтожить файл
file – имя уничтожаемого файла или каталога;
-r – уничтожить рекурсивно (содержимое каталога и каталог сам);
-i – ставится соответствующий вопрос пользователю.
Команда rm уничтожает в каталоге одну или несколько записей о файлах. Однако на самом запоминающем устройстве данные остаются не уничтоженными вплоть до новой записи на то же место физического диска.
Записи о файлах можно уничтожить только в том случае, если имеется право записи для каталога, в котором файл находится. Для самого файла не требуется ни права чтения ни права записи.
Команда tee читает со стандартного ввода, пишет на стандартный вывод и копию в файл
tee[ -i][ -a][ file…] – вывести результат выполнения команды на экран и записать в файл
-i – игнорировать сигналы прерывания;
-а – не переписывать файл данными команды teе, а присоединить к концу файла;
file –имя файла копии.
Если файл уже существует то он будет переписан, в противном случае он будет создан. Схема работы команды показана на рисунке
Пример:
Запишем все имена текущего каталога в файл filetee и просмотрим их на экране:
$ ls –l | tee filetee
Следующая команда echo она позволяет: