1. Изучить основные возможности встроенного текстового редактора vi.
2. Научиться редактировать текстовые файлы средствами редактора vi.
Порядок выполнения работыИзучаются команды:
- сохранение файлов;
- ввода текста;
- удаления фрагментов текста;
- копирования фрагментов текста в буферную область памяти;
- вставки содержимого буфера в текст файла;
- редактирования (изменения) текста;
- поиска строк файлов по их фрагментам;
- многострочных операций с файлом (префиксные команды)
1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Войдите опять в vi для редактирования созданного файла с использованием команд из групп "Команды копирования в буфер" и "Команды вставки буфера в текст".
3) Поменяйте местами несколько слов в строках файла.
4) Поменяйте местами несколько строк.
5) Поменяйте местами последовательно начало строки с её концом и наоборот.
6) Выполните операции поиска строк файла по заданным их фрагментам с различными направлениями поиска ( см. "Команды поиска строки файла по фрагменту её текста").
7) Не выходя из vi, перепишите полученную в результате редактирования версию файла в файл с тем же именем, но с расширением .new.
8) Добавьте первые 3 строки редактируемого файла к файлу .1.
9) Не выходя из vi, загрузите в буфер файл с расширением .1.
10) Последовательно удалите части строк и несколько строк с использованием команд из группы "Команды удаления текста".
11) Выйдите из редактора без сохранения файла.
12) Просмотрите и проанализируйте содержимое редактируемых файлов в текущем каталоге.
Контрольные вопросы:1. В чем особенности и преимущества встроенного редактора vi ОС UNIX?
2. Какие два основных режима работы использует редактор? Как осуществляется переключение режимов?
3. Какую структуру имеет экран при редактировании файла? Назначение полей экрана?
4. Как в vi организовано редактирование открытого в нем файла?
5. Как организована работа с клавишными командами редактора?
6. Что такое "префиксные команды" и их назначение? Как организована работа с командами этого вида?
7. Какие функции редактора Вы использовали при выполнении лабораторной работы?
Тема 2.5. Изучение сетевых команд shell 2.5.1. Сетевые команды ShellПерсональный компьютер на вашем рабочем месте может быть подключен к локальной сети. Более того, локальные сети становятся реальностью и в домашних условиях. Рассмотрим работу с одной из сетевых команд ОС Linux – утилитой netstat.
Утилита netstat выводит информацию о локальной сети и средствах TCP/IP. Именно к ней чаще всего обращаются администраторы, чтобы быстро отыскать причину неисправности в сети TCP/IP. Содержание и форма выходной информации зависят от операционной системы, но обычно выводятся следующие данные: список соединений, статистика сетевых интерфейсов, информация по буферам данных, содержание таблицы маршрутизации, статистика работы протокола. Характер выводимой информации можно выбирать с помощью опции командной строки.
Основные ключи утилиты:
при выведении параметров утилиты на экран используйте команду | more для постраничного вывода.
Ключ | Функция |
-r route | вывод таблицы маршрутизации |
-i interfaces | вывод статистики сетевых интерфейсов |
-s statistics | Фвывод статистики передачи данных (по протоколу SNMP) |
-n numeric | имена портов в числовом виде |
-N symbolic | имена портов в символическом виде |
-l listening | вывод состояния портов, находящиеся в режиме ожидания |
-a all | вывод состояния всех портов |
Активные соединения через порты: | |
-st | TCP |
-u | UDP |
-W | RAW |
-X | UNIX |
Команда netstat обладает набором ключей для отображения портов, находящихся в активном и/или пассивном состоянии. Таким образом, можно получить список всех серверных приложений, работающих на данном компьютере.
Информация выводится столбцами. В первом из них указан протокол, затем размеры очередей приема и передачи для установленного соединения на данной машине (на другом конце соединения размеры очередей могут быть другими), локальный и удаленный адреса и текущее состояние соединения.
Пример:
st1@pds:~ > netstat -ta
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 2 pds.sut.ru:telnet gerasim.pds.sut.ru:1288 ESTABLISHED
tcp 1 0 pds.sut.ru:4550 pds.sut.ru:3128 CLOSE_WAIT
tcp 1 0 pds.sut.ru:4548 pds.sut.ru:3128 CLOSE_WAIT
tcp 0 0 gw.pds.sut.:netbios-ssn marya.pds.sut.ru:1027 ESTABLISHED
tcp 0 0 gw.pds.sut.:netbios-ssn yanko.pds.sut.ru:1104 ESTABLISHED
tcp 0 0 gw.pds.sut.:netbios-ssn mumu.pds.sut.ru:1065 ESTABLISHED
tcp 0 0 *:6000 *:* LISTEN
tcp 0 0 *:3128 *:* LISTEN
tcp 0 0 *:53333 *:* LISTEN
tcp 0 0 *:389 *:* LISTEN
tcp 0 0 localhost:1032 localhost:1033 ESTABLISHED
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp 0 0 *:imap2 *:* LISTEN
tcp 0 0 *:pop3 *:* LISTEN
tcp 0 0 *:login *:* LISTEN
tcp 0 0 *:shell *:* LISTEN
tcp 0 0 *:8000 *:* LISTEN
tcp 0 0 *:telnet *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:time *:* LISTEN
tcp 0 0 *:www *:* LISTEN
tcp 0 0 *:2049 *:* LISTEN
tcp 0 0 *:832 *:* LISTEN
--More—
Как видно из примера, большинство серверов находится в режиме ожидания запроса на соединение (LISTEN). В первой строке отражено соединение (ESTABLISHED) через telnet с машиной gerasim.pds.sut.ru. Состояние CLOSE_WAIT означает, что соединение разорвано, но переключение в состояние LISTEN еще не произошло; TIME_WAIT – что соединение ожидает разрыва. Если соединение находится в состоянии SYN_SENT, то это означает наличие процесса, который пытается установит соединение с несуществующим сервером. Состояние соединения имеет значение только для протокола TCP. Протокол UDP факта установления соединения не проверяет.
Содержание таблицы маршрутизации.Каждое соединение машины с сетью называется сетевым интерфейсом. Машина, имеющая более одного интерфейса, может принимать данные по одному интерфейсу и передавать их по другому, таким образом осуществляя пересылку данных между сетями. Эта функция называется маршрутизацией, а машина, выполняющая ее – шлюзом.
Данные маршрутизации хранятся в одной из таблиц ядра. Для направления пакета по конкретному адресу ядро подбирает наиболее подходящий маршрут. Если такой маршрут отсутствует и нет маршрута по умолчанию, то отправителю возвращается сообщение об ошибке.
Команда netstat –r позволяет отображать таблицу маршрутизации.
Пункты назначения и шлюзы могут показываться или именами машин, или их IP-адресами. Флаги дают оценку маршрута.
Пример:
st1@pds:~ > netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags Ifac
pds.sut.ru * 255.255.255.255 UH eth1
195.19.219.120 * 255.255.255.248 U eth0
195.19.219.128 * 255.255.255.192 U eth1
192.168.1.0 * 255.255.255.0 U eth0
195.19.221.0 lgw.ccs.sut.ru 255.255.255.0 UG eth1
193.125.0.0 lgw.ccs.sut.ru 255.255.0.0 UG eth1
loopback * 255.0.0.0 U lo
default lgw.ccs.sut.ru 0.0.0.0 UG eth1
Название столбца | Расшифровка |
Gatway | Имена используемых шлюзов |
Genmask | Маска, используемая для отображения общей части адреса, соответствующего данному маршруту |
Flags | Флаги, описывающие маршрут: G Маршрут использует шлюз |
U Интерфейс активен, может использоваться для передачи данных | |
H Данные можно передавать только одному узлу | |
D Запись создана перенаправляющим сообщением протокола ICMP | |
M Запись модифицирована перенаправляющим сообщением протокола ICMP | |
Iface | Интерфейс, используемый для передачи пакетов |
При использовании ключа –i команды netstat на экран будут выведены статистические данные всех используемых интерфейсов. Исходя из них, можно выяснить, исправно ли соединение с сетью.
Пример:
st1@pds:~ > netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1000 0 844904 0 17 0 1454454 5 0 0 BRU
eth0: 1000 0 - no statistics available - BRU
eth1 1500 0 590844 0 7 0 434438 59 0 0 BRU
lo 3924 0 45754 0 0 0 45754 0 0 0 LRU
Название столбца | Расшифровка |
Gatway | Имена используемых шлюзов |
Genmask | Маска, используемая для отображения общей части адреса, соответствующего данному маршруту |
Ошибки являются следствием проблем в кабельной системе. В нормально работающей сети количество конфликтов (RX-OVR, TX-OVR) не должно превышать 3% от числа пакетов, а другие ошибки не должны составлять более 0,5% от общего числа пакетов.
Статистика передачи данных.Команда netstat –s выдает содержимое счетчиков сетевых программ. В выходной информации есть разделы, относящиеся к различным протоколам: IP, ICMP, TCP, UDP. С ее помощью можно определить место появления ошибки в принятом пакете.
Пример:st1@pds:~ > netstat -s
Ip:
179495 total packets received 13 with invalid headers 8753 forwarded
0 incoming packets discarded
168812 incoming packets delivered
325599 requests sent out
544 fragments failed
Icmp: 728 ICMP messages received
3 input ICMP message failed
ICMP input histogram:
destination unreachable: 82
timeout in transit: 55
source quenchs: 9
echo requests: 582
1235 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 646
time exceeded: 6
redirect: 1
echo replies: 582
Tcp:
2428 active connections openings
0 passive connection openings
0 failed connection attempts
0 connection resets received
17 connections established
154840 segments received
318758 segments send out
1480 segments retransmited
99 bad segments received.
499 resets sent
Udp:
13397 packets received
73 packets to unknown port received.
12 packet receive errors
5608 packets sent
TcpExt:
15 resets received for embryonic SYN_RECV sockets Утилита netconf
Настройки локальной сети можно производить и с помощью специальных утилит netconf или netcfg, которые являются просто составной частью пакета linuxconf. Первая из них работает в графическом режиме, а вторая — в текстовом.
Надо иметь в виду, что многие опытные пользователи Linux критически относятся к возможностям пакета linuxconf и предпочитают прямое редактирование конфигурационных файлов. Но для новичка эти утилиты могут оказаться удобнее.
Практическая работа №7(1) Утилита netstat: список соединений, открытых на сервере Цель работы:1. С помощью утилиты netstat исследовать состояние локальной IP-сети.
2. Научиться получать список соединений, открытых на сервере.
Порядок выполнения работы1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) С помощью утилиты netstat получить список соединений, открытых на сервере. Прокомментировать соединения, находящиеся в режиме ESTABLISHED (внутренний или внешний интерфейс, с каким узлом, по какому протоколу).
Практическая работа №7(2) Утилита netstat: таблица маршрутизации Цель работы:1. С помощью утилиты netstat исследовать состояние локальной IP-сети.
2. Научиться анализировать таблицу маршрутизации.
Порядок выполнения работы1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Получить таблицу маршрутизации. Указать, через какие интерфейсы с какими сетями происходит связь, имя шлюза, маски локальных сетей.
Практическая работа №7(3) Утилита netstat статистика сетевых интерфейсов, статистика передачи данных Цель работы:1. С помощью утилиты netstat исследовать состояние локальной IP-сети.
2. Научиться анализировать статистику сетевых интерфейсов и статистику передачи данных.
Порядок выполнения работы1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Получить статистику сетевых интерфейсов. Построить графики статистической информации для внутренней (eth0) и внешней (eth1) локальных сетей, объяснить значение установленных флагов. Сравнить количество ошибок с требованиями, предъявляемыми к работе сетей; сделать вывод о работе локальной сети.
3) Получить статистику сетевых интерфейсов. Проанализировать работу каждого из протоколов. Для протокола ICMP построить графики входной и выходной гистограмм.
Контрольные вопросы:1. Каково назначение утилиты netstat?
2. Какие ключи утилиты netstat позволяют отображать порты, находящиеся в активно и/или пассивном состоянии?
3. В каких состояниях может находиться сервер в системе?
4. Какой ключ утилиты netstat позволяет отображать таблицу маршрутизации?
5. Какую информацию отражает таблица маршрутизации?
6. Как с использованием утилиты netstat вывести статические данные всех используемых интерфейсов? Какую информацию позволяют выяснить эти данные?
7. Как вывести на экран содержимое счетчиков сетевых протоколов? Что позволяет выявить данная информация?
8. Какие утилиты, позволяют производить настройку локальной сети?
Архив - это файл, заключающий в себе содержимое многих файлов. Кроме того, архив идентифицирует имена файлов, их хозяев и т.д. (в архивах также записываются разрешение доступа, пользователь и группа, размер в байтах и время последней модификации. В некоторых архивах еще указываются имена файлов в каждом заархивированном каталоге и информация о каталогах).
Файлы, содержащиеся в архиве, называются членами архива.
Основным средством архивирования в UNIX (а, следовательно, и в Linux) является комплекс из двух программ — tar и gzip. Хотя никто не запрещает пользоваться arj, pkzip, lha, rar и т. д. — версии этих программ для Linux общедоступны. Просто уж исторически сложилось, что пользователи Unix чаще применяют именно tar и gzip, и именно в таком формате распространяется большая часть программного обеспечения для Unix.
"Зачем использовать две программы архивирования?” Все дело в том, что tar расшифровывается как Tape ARchiver, он не сжимает данные, а лишь объединяет их в единый файл с последовательным доступом для последующей записи на ленту. По умолчанию этот архивный файл создается на ленточном накопителе, точнее на устройстве /dev/rmt0. Если вы хотите создать архивный файл на диске, то необходимо использовать команду tar с опцией f, после которой указывается имя архивного файла.
Хотя программа tar создает архивы, она, как было сказано, не сжимает архивы, а просто соединяет отдельные файлы в единый архивный файл. Для сжатия этого файла часто применяют команду gzip.
Поскольку программа gzip не умеет сохранять в одном архиве несколько файлов, то обычно ее применяют для сжатия архивов, созданных программой tar.
В последнее время все чаще вместо программы gzip используется архиватор bzip2, который обеспечивает более высокую степень сжатия и работает несколько быстрее. Команда bzip2 обычно не устанавливается автоматически при инсталляции Linux. Но она имеется на дистрибутивном диске в виде rpm-пакета и ее легко установить.
Работает bzip2 примерно так же, как команда gzip, т. е. замещает каждый файл, имя которого задано в командной строке, сжатой версией, добавляя к имени файла суффикс .bz2.
Сжатый файл имеет то же самое время модификации, права доступа и, по возможности, того же владельца, что и исходный файл, что дает возможность восстановить эти атрибуты при извлечении файлов из архива.
В некоторых случаях сжатый файл может оказаться даже больше по размеру, чем исходный. Это происходит, например, для файлов длиной менее 100 байт, потому что механизм сжатия использует заголовок длиной около 50 байт. Для файлов, представляющих собой случайную последовательность символов (в том числе для выходных файлов большинства файловых архиваторов) длина файла увеличивается примерно на 0.5%.
Утилита arkАрхиваторы tar, zip, gzip, bzip2, lha изначально были предназначены для работы через интерфейс командной строки. В настоящее время существуют программы, представляющее собой графические оболочки для упаковщиков и архиваторов. Они не подменяют их собой, а лишь обеспечивают более удобный (интуитивно понятный) интерфейс работы с архивами.
В KDE имеется утилита ark, позволяющая работать с архивами tar, zip, gzip, bzip2, lha. Она входит в состав пакета kdeutils-2.2.1-1.asp, ее внешний вид представлен на рис. 1.
Рис.3.1.1.
Ark прост в использовании, имеет русифицированное меню. Кроме них можно пользоваться программами LinZip, Karchiveur и RAR для Linux.
Практическая работа №8(1). Создании архивов с использованием программ архивации tar, gzip, bzip, bzip2 Цель работы:
0 комментариев