
- •I Операционная система ос Unix
- •Понятие о программном обеспечении эвм. Состав, структура, многоуровневый иерархический характер.
- •Понятие об операционой системе.
- •Краткая историческая справка об ос Unix.
- •Особенности ос Unix (режим работы, инструментальные и сервисные средства, язык Си, tcp/ip, интернет и пр.).
- •Основы интерактивной работы в ос Unix. Начало и окончание сеанса. Доступ к оперативной документации.
- •Команды ос Unix. Формат команд. Интерпретатор команд.
- •Протоколирование сеансов ос Unix.
- •Файловая система ос Unix (структура, именование, навигация).
- •Управление файлами (создание, копирование, сцепление, переименование, удаление).
- •Управление каталогами (создание, просмотр, удаление).
- •Переадресация ввода и вывода в ос Unix.
- •Конвейеры команд.
- •Фоновые процессы: запуск, остановка, слежение. Приостановка и возобновление Emacs.
- •Общая характеристика командных языков
Управление файлами (создание, копирование, сцепление, переименование, удаление).
Для создания нового файла в домашней директории нужно ввести cat > f1.txt и ввести несколько строк на терминале, завершив их нажатием Ctrl-d в начале строки. Для просмотра этого файла следует ввести команду cat f1.txt.
Аналогично:
touch first.txt
echo "Hello, world" >> first.txt
Скопировать файл можно с помощью команды cp или cat
cp f1.txt f2.txt
cat f1.txt >> f2.txt
Переименовать файл можно с помощью команды mv f1.txt f2.txt, причем изменяется только имя файла, все остальные атрибуты остались прежними.
Сконкатенировать файлы f1.txt и f2.txt в файл f3.txt можно командой cat f1.txt f2.txt > f3.txt
Удаление файлов происходит с помощью команды rm.
Управление каталогами (создание, просмотр, удаление).
Для создания каталога нужно ввести команду mkdir dir1, для перехода в директорию следует ввести cd dir1. Скопировав файл f1.txt в директорию dir1 (cp f1.txt dir1), можно убедиться в успешном осуществлении копирования с помощью команды ls.
Следует знать, что удалить непустую директорию командой rm dir1 невозможно, для этого следует использовать ключ –r. Тогда, введя команду rm –r dir1, удаление директории произойдет успешно.
Переадресация ввода и вывода в ос Unix.
В системе UNIX некоторые команды ожидают ввод только с клавиатуры (стандартный ввод) и большинство команд отображают свой вывод на экране терминала (стандартный вывод). Однако система UNIX позволяет вам перенаправлять ввод и вывод в файлы и программы, т.е. вы можете сказать shell:
взять ввод из файла, а не с клавиатуры;
послать вывод в файл, а не на терминал;
использовать программу как исходные данные для другой программы.
Перенаправить ввод
command < имя_файла
Перенаправить вывод
command > имя_файла
Если перенаправить вывод в уже существующий файл, то вывод вашей команды заменит содержимое существующего файла.
Добавить вывод в существующий файл
Чтобы добавить вывод в существующий файл и не разрушить его, вы можете воспользоваться символом >>:
command >> имя_файла
В результате выполнения команды вывод будет добавлен в конец существующего файла. Если файл не существует, то он будет создан.
Некоторые применения перенаправления вывода
Перенаправление вывода очень удобно в том случае, если вы не хотите, чтобы вывод появлялся на экране немедленно, или хотите сохранить его. Рассмотрим две команды: spell и sort.
Команда spell
Команда spell сравнивает каждое слово в файле со своим словарем и печатает список всех потенциальных орфографических ошибок на экране. Если в словаре spell нет какого-либо слова (например, персональное имя), то она также выдает его как орфографическую ошибку. Команда spell распечатывает весь список ошибок сразу. Поэтому лучше всего перенаправить вывод spell в файл.
spell memo > misspell
Конвейеры команд.
Конвейер - это последовательность одной или более команд, разделенных |. Стандартный выходной поток каждой команды, кроме последней, соединяется при помощи программного канала со стандартным входным потоком следующей команды. Каждая команда выполняется как отдельный процесс; интерпретатор ожидает окончания последней команды. Статусом выхода конвейера является статус выхода его последней команды. С помощью конвейеров удается комбинировать возможности, предоставляемые разными командами, получая по существу новое качество.
Например, утилита ls не подсчитывает число файлов в каталоге, а лишь выдает информацию о них. С другой стороны, служебная программа wc способна подсчитать число строк в файле, но не имеет отношения к распечатке содержимого каталогов. Если же построить конвейер из двух упомянутых команд, количество файлов в каталоге легко вычисляется. Например, результатом работы конвейера на нашей установке ОС Linux будет число 92 (утилита wc, вызванная без аргументов, обрабатывает файл стандартного ввода, который в данном случае является результатом работы команды ls). Значит, в каталоге /bin 91 файл, если считать и элементы, соответствующие текущему и вышележащему каталогам (первая строка выдачи ls содержит суммарное число блоков, занятых файлами каталога). ls -al /bin | wc –l