Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционная система UNIX.doc
Скачиваний:
94
Добавлен:
01.05.2014
Размер:
1.67 Mб
Скачать

8.1.1. Поиск всех символов (метасимвол *)

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

echo *<CR>

В ответ система распечатает перечень всех имен файлов в вашем текущем справочнике.

Символ * может представлять символы в любой части имени файла. Например, если вы знаете, что несколько файлов имеют одинаковые первые и последние буквы, то вы можете выдать запрос, основываясь на этом факте. Если в вашем справочнике находятся файлы FATE, FE, FADED_LINE, FIG3.4E, FINE_LINE, FAST_LINE, то для отображения всех этих файлов на экране введите команду:

ls F*E<CR>

Вы можете, например, с помощью метасимвола * найти все файлы с именами memo в системном справочнике: ls */memo

8.1.2. Поиск по одному символу (метасимвол ?)

Метасимвол ? осуществляет поиск любого одного символа в имени файла за исключением лидирующей точки. Предположим, вы имеете книгу, в которой 12 глав и хотите получить список глав до 9-ой главы. Если ваш справочник содержит следующие файлы:

Chapter1

Chapter2

Chapter5

Chapter9

Chapter11

то введите команду ls с метасимволом ? для получения всех глав, которые начинаются со строки "Chapter" и заканчиваются одним символом:

$ ls Chapter?<CR>

Chapter1

Chapter2

Chapter5

Chapter9

$

Хотя метасимвол осуществляет поиск одного символа, вы можете использовать его для поиска более одного символа в имени файла. Например, вы получите перечень всех остальных глав в текущем справочнике, если введете следующую команду:

ls Chapter??<CR>

И, конечно, чтобы получить список всех глав в текущем справочнике, используйте метасимвол *:

ls Chapter*<CR>

8.1.3. Поиск одного набора (метасимвол [])

Если вы хотите, чтобы shell нашел любой символ из перечисленных вами символов, то заключите эти символы в квадратные скобки. Предположим, ваш справочник содержит следующие файлы: cat, fat, mat, rat. Если вы воспользуетесь в качестве части имени файла шаблоном [crf], то shell будет искать имена файлов, в которые входят либо буква "c", либо буква "r", либо буква "f" в указанной позиции. Пример:

$ ls [crf]at<CR>

cat

fat

rat

$

Символы, которые могут быть сгруппированы в скобки, называются классом символов.

Скобки могут также использоваться для обозначения диапазона символов, цифр или букв. Предположим в вашем справочнике содержатся следующие файлы: chapter1, chapter2, chapter3, chapter4, chapter5, chapter6. Если вы укажете:

chapter[1-5]

то shell найдет файлы c chapter1 по chapter5.

Класс символов можно также указать с помощью диапазона букв. Если вы укажете [A-Z], то shell будет искать только большие буквы, если [a-z] - то малые буквы.

8.2. Специальные символы

shell имеет также и другие символы, которые выполняют различные полезные функции.

8.2.1. Запуск команды в фоновом режиме (символ &)

Некоторые команды shell занимают много времени при выполнении. Эти команды можно запустить в фоновом режиме с использованием &, освобождая тем самым терминал для других задач. Общий формат для запуска команд в фоновом режиме следующий:

command &<CR>

Примечание. Интерактивные команды shell (например, read) нельзя запускать в фоновом режиме.

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

Запустить команду в фоновом режиме вы можете только в том случае, если ваш терминал предоставляет вам такую возможность.

Соседние файлы в предмете Операционные системы