Командный интерпретатор

Ознакомление с командным языком системы UNIX (командами работы с файловой системой), перенаправлением потоков ввода/вывода и программными каналами. Основы работы интерпретатора SHELL, а также управление заданиями, архивированием и сжатием файлов.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 28.02.2015
Размер файла 87,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Пример:      ls | wc -l

Команда ls выводит на экран (стандартный поток вывода) список файлов текущего каталога, а команда wc -l считает количество строк во входном потоке (в файле, а если файл не указан - в стандартном входном потоке). Таким образом, объединение этих двух команд программным каналом позволяет посчитать количество файлов в текущем каталоге. Те же действия можно организовать так:

ls > buffer

wc -l < buffer

rm -f buffer

Итоговая таблица:

> file

Перенаправление стандартного потока вывода в файл file

>> file

Добавление в файл file данных из стандартного потока вывода

< file

Получение стандартного потока ввода из файла file

p1 | p2

Передача стандартного потока вывода программы p1 в поток ввода программы p2

n > file

Переключение потока вывода из файла с дескриптором n в файл file

n >> file

Добавление записей потока вывода из файла с дескриптором n в файл file

n > &m

Слияние потоков с дескрипторами n и m

2.10 Текстовый редактор

Запуск редактора: vi [+[n]] имя_файла

+            вывести на экран конец файла;

n            вывести на экран текст файла, начиная со строки n.

Текстовый полноэкранный редактор vi работает в двух основных режимах: в режиме “ввод текста” и в режиме “команда”.

Режим “ввод текста”. В этот режим редактор переводится с помощью клавиш <a> и <i>:

<a>            набор текста в текущую строку;

< i >            вставка текста в текущую строку перед курсором;

<ESC>            выход из режима “ввод текста” в режим “команда”.

Режим “команда”. Это - основной режим редактирования текста:

<x>            уничтожение текущего символа, выделенного курсором;

<r>      замена текущего символа на символ, набранный вслед за командой <r>;

<s>            замена одного или нескольких символов текстом. Например: 2sTEXT - замена двух текущих символов на слово TEXT;

<o>            вставить пустую строку после текущей;

[n]<dw>      уничтожить текущее слово или n слов;

[n]<dd>      уничтожить текущую строку или n строк.

Выход из редактора

<ESC>:wq!            Выход с сохранением;

<ESC>:q!            Выход без сохранения.

2.11 Архивирование и сжатие

Архивирование файлов и сжатие файлов по своей природе - разные операции. Архивирование - это операция объединения нескольких файлов (и каталогов) в один файл специального формата, который называется архивом. За счет наличия служебной информации в архиве, размер архива больше суммы размеров входящих в него файлов. Сжатие - это операция уменьшения размера файла с помощью специальных алгоритмов. В Unix архивирование и сжатие выполняется как правило разными программами.

Архивирование - tar

Команда tar предназначена для создания архивов на магнитной ленте, а также в файлах. Признак tar-архива: расширение файла ".tar" или буква "t" в расширении ".tgz". На профессиональном слэнге файл с tar-архивом часто называется tarball. Примеры работы с tar следуют ниже.

создать архив arh.tar, поместив в него файл b.txt и каталог prog со всеми его файлами и подкаталогами:

tar cvf arh.tar b.txt prog

вывести оглавление архива arh.tar:

%tar tvf arh.tar

извлечь файл prog/a.c из архива arh.tar (создается каталог prog {если его не было} и в него записывается файл a.c из архива):

%tar xvf arh.tar prog/a.c

извлечь все файлы из архива arh.tar:

%tar xvf arh.tar

добавить файл uran к архиву:

%tar uvf arh.tar uran

%tar tvf arh.tar

Сжатие - gzip, compress, zip

Наиболее широко используемым компрессором файлов под Unix является утилита gzip (обратная ей утилита - gunzip). Однако, эти утилиты необязательно входят в поставку операционной системы. Признак файла, сжатого програмой gzip - расширение ".gz" или ".tgz" (tar+gzip).

Формат команды

%gzip file

%gunzip file.gz

При сжатии (без дополнительных ключей) исходный файл удаляется, вместо него образуется сжатый файл, имя которого равно имени исходного файла плюс ".gz". При восстановлении происходит обратное: удаляется сжатый файл и создается исходный.

С ОС Unix поставляется стандартный компрессор compress (uncompress). Работа с этими утилитами аналогична работе с gzip (gunzip), но используется расширение ".Z"

Для ОС Unix также имеются программы zip и unzip, которые работают аналогично DOS-версиям, в том числе, в дополнение к сжатию, производят архивирование и распаковку архивов. Формат архивов совместим с форматом DOS pkzip и WinZip. (Для DOS/Windows также уже написаны утилиты gz и tar.)

Формат команды

zip file.zip список_файлов

gunzip file.zip

gunzip file.zip список_файлов

Для более подробной информации обо всех утилитах см. справочник man.

Справочная таблица по быстрой распаковке архивов

Вид файла

Действия

file.tar

tar xvf file.tar

file.gz

gunzip file.gz

file.tar.gz

gunzip -c file.tar.gz | tar xvf -

file.tgz

gunzip -c file.tgz | tar xvf -

file.Z

uncompress file.Z

file.taz

gunzip -c file.taz | tar xvf -

file.tar.Z

uncompress -c file.tar.Z | tar xvf -

file.zip

unzip file.zip

ЗАДАНИЯ НА ЛАБОРАТОРНУЮ РАБОТУ

1. Получить справку по одной из команд SHELL

2. Вывести содержимое текущей директории. Определить тип объектов, права доступа, владельца.

3. Записать содержимое домашней директории в файл brig.dat

4. Добавить в конец файла brig.dat содержимое директории /tmp

5. Создать каталог в домашней директории и скопировать в него файл brig.dat

6. Изменить права доступа к файлу, разрешив запись в него другим пользователям.

7. Вывести содержимое файла в стандартный вывод. Выполнить постраничный вывод содержимого файла.

8. Определите тип созданного файла с помощью команды file

9. Выведите первые 7 и последние 7 строк файла brig.dat

10. Найдите в файле brig.dat все строки, содержащие “dat”

11. Найдите в домашнем каталоге все объекты, которые являются директориями. Найдите все файлы в директории /tmp, имеющие в своем имени символ L

12. Выведите в файл brig3.dat содержимое директории /tmp Определите количество строк в файле. Проведите сравнение файлов brig.dat и brig3.dat. Результаты выведите на консоль.

13. Получите список всех процессов в системе, а также параметры загрузки системы (с помощью команды top)

14. Изучите список всех запущенных в вашей системе процессов. Какой процесс истратил больше всего процессорного времени? Какой процесс занимает больше всего памяти? Сколько демонов запущено в системе? Запустите два процесса (например, find и sort) в фоновом режиме (c подавлением потоков вывода, чтобы не мешали), и два (например, ps и cat) - в интерактивном.

%find / 2>/dev/null | sort >/dev/null 2>&1 &

%ps -ej | cat

15. Выпишите из листинга команды ps строки, относящиеся к четырем выше указанным процессам и к вашему шеллу. Найдите идентификаторы группы и сеанса для каждого процесса, определите лидеров групп и сеанса.

16. Запустите процесс top в фоновом режиме. Переведите процесс в интерактивный режим.

17. Отредактировать файл brig.dat с использованием редактора vi. Записать изменения в файл brig2.dat

18. Сжать файлы с помощью архиваторов tar, gzip, compress, zip и сравнить степень сжатия. Выполнить сортировку по размеру файлов.

19. Создать символическую ссылку и жесткую ссылку на файл brig.dat. Проверьте параметры файлов с помощью команды ls

20. 18. Определите свой идентификатор и группу к которой вы относитесь использую вывод переменных среды (команда set).

21. Посчитать количество пользователей в системе.

22. Отсортировать список файлов текущей директории в обратном порядке и записать его в файл.

23. Посчитать количество файлов текущего каталога, содержащих подстроку "include".

24. Посчитать, сколько раз пользователь X вошел в систему.

25. Отсортировать список текстовых файлов текущей директории в алфавитном порядке и записать его в файл.

26. Удалить из текущего каталога все файлы, содержащие подстроку "text".

27. Объединить все файлы с расширением ".txt" в один файл.

28. Посчитать, сколько процессов запущено с данного терминала.

29. Вывести на экран отсортированный в алфавитном порядке список файлов, содержащих подстроку "include".

30. Написать скрипт, удаляющий все файлы содержащие кодовую сигнатуру из указанного каталога.

Контpольные вопpосы

1. Что такое внутренние и внешние команды Shell-интерпретатора? Приведите примеры внутренних команд.

2. Какие существуют средства группирования команд? Приведите примеры использования.

3. Как осуществляется перенаправление ввода-вывода?

4. В чем сущность конвейера команд? Приведите примеры использования.

5. Как средствами Shell выполнить арифметические действия над Shell-переменной?

6. Каковы правила генерации имен файлов?

7. Как выполняется подстановка результатов выполнения команд?

8. Как интерпретировать строку cmd1 & cmd2 & ?

9. Как интерпретировать строку cmd1 && cmd2 & ?

10. Как интерпретировать строку cmd1 || cmd2 & ?

11. В каком режиме выполняется интерпретатор команд Shell?

12. Кем и в каком режиме осуществляется чтение потока символов с терминала интерпретатором Shell?

Размещено на Allbest

...

Подобные документы

  • Изучение подсистемы ввода-вывода и файловой системы ОС семейства Windows NT. Анализ особенностей работы приложения TotalCommander и его взаимодействия с файловой системой и подсистемой ввода-вывода. Взаимодействие TotalCommander с сетевыми адаптерами.

    лабораторная работа [1,1 M], добавлен 12.06.2012

  • Иерархическая структура файловой системы Unix. Согласованная обработка массивов данных, возможность создания и удаления файлов, буферный кэш. Защита информации, трактовка периферийных устройств как файлов. Внутренняя структура файловой системы Unix.

    реферат [102,2 K], добавлен 23.03.2010

  • Создание программы для среды UNIX, проверяющей атрибут выполнения файла для текущего пользователя. Особенности прав доступа для каталогов. Командный интерпретатор shell; общий синтаксис скрипта. Установка атрибутов защиты для групп пользователей.

    курсовая работа [18,8 K], добавлен 12.05.2013

  • Файлы IO.SYS и MSDOS.SYS; командный процессор DOS. Базовая система ввода-вывода, загрузчик, диалог пользователя с DOS, команды. Недостатки языка програмирования с++. Создание и описание программы, позволяющей работать с файлами в среде DOS, ее алгоритм.

    курсовая работа [24,4 K], добавлен 02.12.2009

  • Использование дистрибутива GNU/Linux Mandriva, который по праву считается одним из наиболее легких для освоения начинающими пользователями, для взаимодействия с командным интерпретатором GNU/Linux. Информация о формате и основных ключах команды cal.

    лабораторная работа [2,4 M], добавлен 28.12.2012

  • Проектирование программного обеспечения. Схема начального формирования каталога файлов, вывода на экран каталога файлов, удаления файлов, сортировки файлов по имени, дате создания и размеру методом прямого выбора. Управление каталогом в файловой системе.

    курсовая работа [804,0 K], добавлен 08.01.2014

  • История развития ОС UNIX, ее достоинства. Управление компьютером под управлением UNIX. Интерпретация командной строки и структура файловой системы. Команды управления процессами. Средства системного администрирования и учетные записи пользователей.

    презентация [78,1 K], добавлен 12.05.2014

  • Функции и основные компоненты систем программирования. Средства создания программ. Трансляторы языков программирования. Принципы и фазы работы компилятора, трансформация языка программирования в машинный код. Механизм преобразования интерпретатора.

    презентация [3,3 M], добавлен 07.02.2012

  • Изучение основных правил проектирования операционных систем. Структура файловой системы. Компоненты, обеспечивающие способы организации, поиска и управления информацией. Краткий обзор специальных и обыкновенных файлов. Основные команды системы UNIX.

    методичка [36,4 K], добавлен 02.12.2009

  • Описание файловой системы Unix. Работа основных команд ls, cmp, comm, их ключей. Разработка программного продукта, работающего в среде Windows и представляющего собой эмулятора командного процессора операционной системы Unix. Выбор средств реализации.

    курсовая работа [183,0 K], добавлен 29.04.2015

  • Этапы загрузки Linux-системы, регистрация. Управление учетными записями пользователей. Принцип именования устройств, назначение и применение специальных файлов. Управление файлами, доступом к файловой системе, заданиями. Базовая файловая структура Linux.

    методичка [1,6 M], добавлен 15.11.2014

  • Характеристика, разновидности, архитектура процессоров. Понятие интерфейса, описание видов шин, внешних запоминающих устройств, особенности конструкции. Специфика файловой системы устройства подсистемы ввода/вывода, достоинства, недостатки, база данных.

    курс лекций [747,0 K], добавлен 24.06.2009

  • Общая организация файловой системы. Виртуальные страницы. Команды для работы с ФС. Способы организации файлов. Системные вызовы управления процессами. Алгоритм работы планировщика процессов. Мультипрограммный режим работы ОС. Структура ядра системы.

    курсовая работа [645,3 K], добавлен 23.03.2015

  • Предназначение дисковых накопителей, схема устройства жесткого диска. Критерии эффективности физической организации файлов. Схема адресации кластеров файла, используемая в стандартной на сегодняшний день для UNIX файловой системе ufs. Функции флэш-памяти.

    реферат [4,0 M], добавлен 09.12.2009

  • Компиляция программ на языке C/C++. Компиляция нескольких файлов. Библиотеки объектных файлов. Создание статической и динамической библиотеки. Функции работы. Создание динамической библиотеки для решения системы линейных уравнений.

    курсовая работа [27,4 K], добавлен 07.08.2007

  • Функции ввода с клавиатуры и вывода на экран, алгоритм вывода чисел. Генерация звуковых сигналов в ПЭВМ. Принципы работы видеосистемы: адресация и режимы работы адаптера CGA, режим работы дисплея. Таблица векторов прерываний в работе клавиатуры.

    отчет по практике [700,4 K], добавлен 23.11.2010

  • Назначение и свойства стандартных диалоговых окон для работы с файловой системой. Свойства, управляющие видом меню. Программирование чтения и записи файлов. Исключительные ситуации и диагностические сообщения. Приемы составления контекстного меню.

    лекция [775,2 K], добавлен 09.12.2013

  • Ознакомление с методами управления вводом/выводом в вычислительных системах. Принципы и этапы проектирования, а также реализация интеллектуальной системы с применением ввода-вывода управляемого прерываниями, с использованием языка программирования Си.

    курсовая работа [71,8 K], добавлен 18.04.2015

  • Классификация периферийных устройств ввода и вывода данных для обмена информацией между компьютером и внешним миром. Системы распознавания магнитных знаков, символов. Принцип работы мониторов и принтеров. Вид манипуляторов для управления курсором.

    реферат [272,7 K], добавлен 01.04.2014

  • Создание интерактивного интерпретатора для мелких вычислений стандартного "Калькулятора" Windows. Его реализация относительно несложного языка программирования, работающий в интерактивном режиме, то есть выполняющий вводимые команды с клавиатуры.

    курсовая работа [287,3 K], добавлен 17.09.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.