Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

8. Shell - интерпретатор командного языка

В этом разделе описаны команды и символы, имеющие специальное значение, которые позволяют:

  • находить с помощью шаблона и манипулировать группами файлов;
  • запускать команду в фоновом режиме или в определенное время;
  • выполнять последовательно группу команд;
  • перенаправлять стандартный ввод и вывод;
  • завершать работающие программы.

8.1. Метасимволы

В табл. 20 приведены метасимволы, используемые shell.

Таблица 20
Метасимволы

Символ Функция
* ? [ ] Эти метасимволы позволяют указывать сокращенные имена файлов при поиске по шаблону
& Означает, что команда будет выполняться в фоновом режиме
; Точка с запятой разделяет команды в командной строке
\ Отменяет специальное значение символов, таких как *, ?, [, ], &, ;, <, >, |
'...' Одиночные кавычки отменяют значение пробела как разделителя и специальное значение всех символов
"..." Двойные кавычки отменяют значение пробела как разделителя и специальное значение всех символов, за исключением $ и \
> Перенаправляет вывод команды в файл
< Перенаправляет ввод для команды из файла
>> Перенаправляет вывод команды, который должен быть добавлен в конец существующего файла
| Создает канал, направляющий вывод одной команды во ввод другой команды
`...` Используется в паре; позволяет использовать вывод команды как аргументы в командной строке
$ Используется с позиционными параметрами и определенными пользователем пременными; также используется по умолчанию в качестве подсказки shell

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

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] - то малые буквы.

Назад | Содержание | Вперед

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...