Использование шаблонов.
Для перемещения файлов разрешается использовать шаблоны. Попробуйте переместить все файлы подкаталога secnew в новый каталог. Сначала создайте каталог ctmv - в него Вы переместите файлы и проверьте, что каталог создан: cd; mkdir ctmv; ls -F . secnew ctmv А затем воспользуйтесь шаблоном *: mv secnew/* ctmv Команда ls -F secnew ctmv позволит увидеть изменения, произошедшие в каталогах secnew и ctmv. Переименование файлов. В формате MS Word 97 Работа с 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 То же самое можно сделать и по-другому. Перенаправлен может быть не только стандартный выход, но также и стандартный вход. Для этого следует использовать символ "<". Введите, например, такую командную строку: sort < pokupki Команда sort выведет на экран(стандартныйвыход) отсортированные строки файла pokupki: apples bananas carrots Фактически sort<pokupki эквивалентно sort pokupki, но последний вариант позволяет продемонстрировать сказанное: sort<pokupki ведет себя так, словно читает данные файла pokupki со стандартного входа - клавиатуры (а не из заданного файла), в то время как на самом деле shell перенаправил данные файла в стандартный входной поток. Таким образом, с помощью перенаправления стандартные вход и выход могут быть переведены в файлы. 3. Использование конвейера. Предыдущие примеры предполагали, что Вы ввели данные с клавиатуры своими собственными руками или извлекли их из файла. А что, если данные, которые Вы хотите отсортировать, являются выходными данными другой программы, например, такой как ls? Попробуйте получить список файлов и подкаталогов Вашего личного каталога, отсортированный в порядке обратном к лексикографическому. Для подобной сортировки у команды sort существует опция -r. Но ее одной недостаточно - нужно использовать и возможности shell. Можно применить уже полученные Вами знания: ls > file-list Эта командная строка перенаправила выходной поток команды ls в файл file-list. При желании Вы можете убедиться в этом с помощью команд cat или more. Вторая команда сортирует содержимое файла file-list в указанном порядке и выводит его на экран: sort -r file-list Такой способ не самый быстрый и требует создания временного файла для сохранения результата работы команды ls. shell предоставляет и другой вариант - использование "конвейера" (pipeline). "Конвейер" - это замечательное свойство shell, которое позволяет связать последовательность команд в конвейер, где stdout первой команды посылается прямо на stdin второй команды и так далее. В нашем примере необходимо направить стандартный выходной поток команды ls в стандартный входной поток команды sort. Символ "|" обозначает конвейер. Поэтому Вам достаточно ввести: ls | sort -r и на экране появиться отсортированный список файлов и подкаталогов. Эта командная строка намного короче и не требует создания ненужных файлов. Другой полезный пример. Команда ls /usr/bin выдает на дисплей длинный список имен файлов, большинство из которых слишком быстро исчезают с экрана, и Вы не успеваете прочитать их. Подключите к просмотру перечня имен файлов каталога /usr/bin команду more: ls /usr/bin | more Теперь Вы можете постранично листать файл в свое удовольствие. Вы можете связать в конвейер более двух команд. В примере используется команда head,котораяотображает первые заданные строки входного потока в стандартный выходной поток. Если Вы хотите отобразить на экране последнее имя из списка текущего каталога, упорядоченного по алфавиту, Вы можете ввести следующую командную строку: ls | sort -r | head -1 где head -1 просто выдает первую строку (-1) получаемого входного потока (в данном случае это отсортированный в обратном порядке перечень имен файлов текущего каталога, выданных командой ls). 4. Перенаправление с добавлением. Использование ">" для перенаправления выхода смертельно для файла, в который происходит перенаправление (если этот файл уже существует). Например, ls > file-list уничтожит прежнее содержимое файла file-list. Убедитесь, что теперь файл file-list содержит лишь список имен файлов и подкаталогов текущего каталога в алфавитном порядке, набрав команду cat file-list Если вместо ">" использовать символ перенаправления ">>", выходной поток будет добавлен к содержимому указанного файла (а не записан на место уже хранящейся в нем информации). ls >> pokupki В формате MS Word 97
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (184)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |