Практическая работа по предмету UNIX
с помощью командной
строки:
cd; ls -a . secnew
Заметьте, что файл .profile существует в Вашем личном
каталоге, а в подкаталоге secnew такого файла нет. Команда
mv .profile secnew
переместит файл .profile в каталог secnew. А команда
ls -a . secnew
подтвердит выполнение команды mv.
Чтобы вернуть файл .profile в Ваш личный каталог, следует
воспользоваться командой
mv secnew/.profile .
Увидеть результат позволит все та же команда
ls -a . secnew
С помощью команды mv можно переместить и несколько файлов,
но опять же лишь в существующий каталог. Давайте переместим
файлы hel и vrem из подкаталога secnew в Ваш личный
каталог, для чего используем команду
mv secnew/hel secnew/vrem .
и проверим, что файлы перемещены
ls -a . secnew
Обратите внимание, что, если до перемещения файлов, в
каталоге существуют файлы, имена которых совпадают с
именами перемещаемых файлов, то после перемещения такие
файлы будут уничтожены, и команда mv не предупредит Вас об
этом.
Чтобы убедиться в вышесказанном введите следующие команды:
cd secnew; echo hi>hel
Вы создали файл hel в каталоге secnew.
ls . newcat; cat hel; cat newcat/hel
Вы вывели на экран списки файлов и подкаталогов каталогов
secnew и newcat, а также содержимое файла hel каталога
secnew и файла hel каталога newcat.
mv hel newcat; cat newcat/hel
Вы переместили файл hel из каталога secnew в каталог newcat
и вывели на экран содержимое файла hel каталога newcat.
2. Перемещение каталогов.
Команда mv позволяет также перемещать каталоги со всеми их
файлами и подкаталогами. В этом случае вместо имени
перемещаемого файла указывается имя каталога. Для
перемещения подкаталога newcat в подкаталог secnew
используйте команду
mv newcat secnew
Чтобы увидеть результат, лучше воспользоваться следующей
командой:
ls -aF secnew .
3. Использование шаблонов.
Для перемещения файлов разрешается использовать шаблоны.
Попробуйте переместить все файлы подкаталога secnew в новый
каталог. Сначала создайте каталог ctmv - в него Вы переместите
файлы и проверьте, что каталог создан:
cd; mkdir ctmv; ls -F . secnew ctmv
А затем воспользуйтесь шаблоном *:
mv secnew/* ctmv
Команда
ls -F secnew ctmv
позволит увидеть изменения, произошедшие в каталогах secnew и
ctmv.
3. Переименование файлов.
В формате MS Word 97
1. Работа с shell.
Интерпретатор shell - это наиболее важная программа для пользователей
UNIX, быть может, за исключением текстового редактора. Она исполняет
запросы на запуск программ и предоставляет дополнительные возможности
использования имеющихся команд и даже написания собственных. С
некоторыми свойствами shell Вы уже знакомы. Одно из них способность
ссылаться сразу более чем на один файл, используя для этого
специальные символы - шаблоны; другое - задание списка каталогов, в
которых производится поиск команд для запуска по неполному имени,
третье - возможность использования нескольких команд в одной командной
строке. Сейчас Вы познакомитесь и с некоторыми другими возможностями
интерпретатора shell.
1. Стандартный вход и стандартный выход.
Многие команды UNIX получают информацию с так называемого
стандартного входа и посылают информацию на опять же так
называемый стандартный выход. (Для них часто используются
сокращения "stdin" и "stdout" соответственно). shell организует
дело так, что стандартным входом служит клавиатура, а
стандартным выходом - экран.
Рассмотрим, к примеру, использование команды cat. В случае,
когда в качестве параметров заданы имена файлов, cat читает
данные из файлов, имена которых определены в командной строке и
посылает эти данные прямо на stdout. Поэтому при выполнении
команды
cat .profile .kermrc
на экран будет выведено содержимое файла .profile, а следом за
ним содержимое файла .kermrc.
Но если команде cat не заданы имена файлов в качестве
параметров, то она читает данные со стандартного входа
(клавиатуры) и посылает их на стандартный выход (экран). Вот
пример. Введите команду
cat -u
Затем напечатайте
Hello there.
На экране появится
Hello there.
Напечатайте
Bye.
Вы получите ответ:
Bye.
Как видите, каждая строка, которую Вы напечатали, немедленно
выдается командой cat на экран. При вводе со стандартного входа
команда считает, что ввод закончен тогда, когда Вы нажимаете
клавиши CTRL-d. Эта комбинация клавиш посылает команде сигнал
EOT (End-Of-Text - конец текста). Поэтому нажмите CTRL-d (должно
появиться новое приглашение на ввод $) и давайте рассмотрим
другой пример.
Воспользуемся новой для Вас командой sort. Это команда
сортировки. Без указания аргументов она сортирует информацию,
поступающую со стандартного входа, упорядочивая строки в
лексикографическом порядке, и выдает результат на стандартный
выход - экран.
Попробуйте так:
введите команду
sort
напечатайте с клавиатуры следующее (для перехода на новую строку
используйте ENTER):
bananas
carrots
apples
Нажмите CTRL-d и Вы увидите измененный список.
apples
bananas
carrots
В конце появится новое приглашение на ввод команд $.
2. Перенаправление входа и выхода.
Теперь, предположим, что Вы хотите послать результат сортировки
в файл, чтобы сохранить список планируемых покупок. shell дает
возможность перенаправлять стандартный выход в файл, используя
символ ">". Вот как это работает:
напечатайте команду sort и после символа > укажите имя файла, в
который хотите сохранить результат выполнения команды (эта
процедура должна быть Вам знакома - Вы уже создавали файлы
подобным образом)
sort > shopping-list
Затем введите с клавиатуры список предполагаемых покупок (он
попадет во входной поток команды, ведь по умолчанию входной
поток - клавиатура):
bananas
carrots
apples
Снова нажмите CTRL-d.
Как Вы можете видеть, результат работы команды sort не
отображается на экране (после нажатия клавиш CTRL-d сразу
появляется новое приглашение), вместо этого он сохраняется в
файле shopping-list (список покупок). Давайте проверим,
действительно ли это так с помощью давно знакомой Вам команды
cat:
cat shopping-list
Если Вы все сделали правильно, то содержимое файла shopping-list
будет выглядеть следующим образом:
apples
bananas
carrots
Другой вариант - у Вас сохранен не отсортированный список в
некотором файле. Один из способов его сортировки и сохранения
такой - отсортировать файл с данным именем вместо получения
содержимого файла со стандартного входа и перенаправить
стандартный выход в файл.
Создайте файл pokupki, с помощью команды echo и перенаправления
выходного потока:
echo " carrots
bananas
apples "> pokupki
для перевода строки используйте клавишу ENTER. ENTER не будет
восприниматься как сигнал завершения ввода команды до тех пор,
пока Вы не закроете кавычки. В начале каждой строки будет
появляться повторное приглашение на ввод ">".
После того как Вы создали файл, отсортируйте его и сохраните
указанным выше способом:
sort pokupki > shopping-list
С помощью команды cat проверьте выполнение введенной команды:
cat shopping-list
Результат должен быть аналогичным предыдущему:
apples
bananas
carrots
То же самое можно сделать и по-другому. Перенаправлен может быть
не только стандартный выход, но также и стандартный вход. Для
этого следует использовать символ "&l
| | скачать работу |
Практическая работа по предмету UNIX |