Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
I Операционная система ОС Unix.docx
Скачиваний:
31
Добавлен:
15.11.2019
Размер:
93.1 Кб
Скачать
  1. Управление файлами (создание, копирование, сцепление, переименование, удаление).

Для создания нового файла в домашней директории нужно ввести 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.

  1. Управление каталогами (создание, просмотр, удаление).

Для создания каталога нужно ввести команду mkdir dir1, для перехода в директорию следует ввести cd dir1. Скопировав файл f1.txt в директорию dir1 (cp f1.txt dir1), можно убедиться в успешном осуществлении копирования с помощью команды ls.

Следует знать, что удалить непустую директорию командой rm dir1 невозможно, для этого следует использовать ключ –r. Тогда, введя команду rmr dir1, удаление директории произойдет успешно.

  1. Переадресация ввода и вывода в ос Unix.

В системе UNIX некоторые команды ожидают ввод только с клавиатуры (стандартный ввод) и большинство команд отображают свой вывод на экране терминала (стандартный вывод). Однако система UNIX позволяет вам перенаправлять ввод и вывод в файлы и программы, т.е. вы можете сказать shell:

  • взять ввод из файла, а не с клавиатуры;

  • послать вывод в файл, а не на терминал;

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

  1. Перенаправить ввод

command < имя_файла

  1. Перенаправить вывод

command > имя_файла

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

  1. Добавить вывод в существующий файл

Чтобы добавить вывод в существующий файл и не разрушить его, вы можете воспользоваться символом >>:

command >> имя_файла

В результате выполнения команды вывод будет добавлен в конец существующего файла. Если файл не существует, то он будет создан.

  1. Некоторые применения перенаправления вывода

Перенаправление вывода очень удобно в том случае, если вы не хотите, чтобы вывод появлялся на экране немедленно, или хотите сохранить его. Рассмотрим две команды: spell и sort.

Команда spell

Команда spell сравнивает каждое слово в файле со своим словарем и печатает список всех потенциальных орфографических ошибок на экране. Если в словаре spell нет какого-либо слова (например, персональное имя), то она также выдает его как орфографическую ошибку. Команда spell распечатывает весь список ошибок сразу. Поэтому лучше всего перенаправить вывод spell в файл.

spell memo > misspell

  1. Конвейеры команд.

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

Например, утилита ls не подсчитывает число файлов в каталоге, а лишь выдает информацию о них. С другой стороны, служебная программа wc способна подсчитать число строк в файле, но не имеет отношения к распечатке содержимого каталогов. Если же построить конвейер из двух упомянутых команд, количество файлов в каталоге легко вычисляется. Например, результатом работы конвейера на нашей установке ОС Linux будет число 92 (утилита wc, вызванная без аргументов, обрабатывает файл стандартного ввода, который в данном случае является результатом работы команды ls). Значит, в каталоге /bin 91 файл, если считать и элементы, соответствующие текущему и вышележащему каталогам (первая строка выдачи ls содержит суммарное число блоков, занятых файлами каталога). ls -al /bin | wc –l