3www.net.ua - подробная инструкция для ОС Linux !

:: Меню ::

Головна

ВВЕДЕНИЕ

Часть I. Добро пожаловать в Linux

ЧТО ТАКОЕ LINUX?
BЫБОР ДИСТРИБУТИВА

Часть II. Установка Linux Red Hat 7.1

ПОДГОТОВКА К УСТАНОВКЕ LINUX RED HAT 7.1
УСТАНОВКА LINUX RED НАТ 7.1
ОСОБЫЕ ВАРИАНТЫ УСТАНОВКИ

Часть III. Использование среды рабочего стола в Linux Red Hat 7.1

ОБЗОР X WINDOWS
УСТАНОВКА И КОНФИГУРИРОВАНИЕ X WINDОWS
РАБОТА С GNOME И Х WINDOWS
РАБОТА С ПРОГРАММАМИ В GNOME И X WINDOWS
ДОПОЛНИТЕЛЬНОЕ КОНФИГУРИРОВАНИЕ GNOME
КDЕ
ДОПОЛНИТЕЛЬНАЯ КОНФИГУРАЦИЯ XWINDOWS

Часть IV. Углубленное изучение

ВВЕДЕНИЕ В СИСТЕМУ КОМАНД LINUX
РАБОТА С ФАЙЛАМИ
КОНФИГУРИРОВАНИЕ СИСТЕМЫ СРЕДСТВАМИ LINUXCONF И ПАНЕЛИ УПРАВЛЕНИЯ
ВВЕДЕНИЕ В ОБОЛОЧКИ
ОБЩЕЕ АДМИНИСТРИРОВАНИЕ СИСТЕМЫ
ИСПОЛЬЗОВАНИЕ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ
СРЕДСТВА МУЛЬТИМЕДИА В LINUX
РЕКОМПИЛЯЦИЯ ЯДРА LINUX

Часть V. Основы сетей

РАБОТА В СЕТЯХ LINUX. Основы TCP/IP
СОЕДИНЕНИЕ LINUX С INTERNET
ИСПОЛЬЗОВАНИЕ WORLD WIDE WЕВ
ПРОСМОТР Е-MAIL
РАБОТА С ФАКСОМ В LINUX

Часть VI. Применение Linux для SOHO

ИСПОЛЬЗОВАНИЕ LINUX В SOHO
ИНСТАЛЛЯЦИЯ LIN UX RED HAT 7.1 ДЛЯ SOHO
КОНФИГУРИРОВАНИЕ LINUX RED HAT 7.1 ДЛЯ СЕТИ ETHERNET
РАБОТА LINUX REDHAT7.1 B СЕТЯХ WINDOWS И NOVELL
LINUX RED HAT 7.1 И DOS/WINDOWS
БЕЗОПАСНОСТЬ И LINUX RED HAT 7.1 КАК ЭФФЕКТИВНЫЙ МАРШРУТИЗАТОР

Часть VII. Использование Linux Red Hat 7.1 в качестве сервера Web и электронной почты

ПОСТРОЕНИЕ СОБСТВЕННОГО WEB-СЕРВЕРА.
LINUX RED HAT 7.1 КАК ПОЧТОВЫЙ СЕРВЕР: МОЩЬ SENDMAIL

Приложения

A. LINUX ВО ВСЕМ МИРЕ (НЕ АНГЛОЯЗЫЧНЫЕ ДИСТРИБУТИВЫ).
В. ИНФОРМАЦИОННЫЕ ИСТОЧНИКИ LINUX
С. ОБЗОР КОМАНД LINUX
D. GNU - ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ ОБЩЕГО ВИДА
Е. LINUX НА ПЛАТФОРМЕ, ОТЛИЧНОЙ ОТ INTEL
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Добавить в избранное

:: Друзья:

-

Статті

 

:: Статистика ::

 

 

 

 

 

 

Подстановочные символы

Одно из мощных средств современных оболочек (в том числе Bash) - подстановочные символы, позволяющие задавать несколько имен команд или файлов в одном выражении. Рассмотрим простой пример. Если ввести команду,

$ ls -1

ответом на нее будет полный список файлов текущего каталога. Предположим, что нам надо найти файл, о котором известно только то, что его имя начинается на букву "z". Введем команду,

$ Is -1 z*

в которой аргумент z * означает все файлы, имена которых начинаются на букву "z". Пользователям DOS или Windows такое применение звездочки, вероятно, знакомо. После ввода команды оболочка Bash составляет список всех файлов, имена которых начинаются на "z" и заменяет аргумент z * этим списком. Имена файлов из списка передаются в качестве аргументов команде Is -1. В оболочке Bash возможности подстановочного символа "*" значительно шире, чем в DOS или окне DOS системы Windows.

Подстановочные символы в обозначении каталогов и файлов

Одно из применений подстановочных символов - обозначение каталогов и файлов. Здесь, кроме звездочки, применяются еще два символа. Все символы, а также их значения, перечислены в табл. 16.3.

Табл. 16.3. Применение подстановочных символов в обозначении каталогов и файлов

Символ

Описание

?

[...]

[A-F]

[ .. .] или [!...]

[ A A-F] или [IA-F]

Любой единичный символ

Любой единичный символ, заключенный в скобки

Любой единичный символ, попадающий в указанный диапазон

Любой единичный символ, кроме заключенных в скобки

Любой единичный символ, не попадающий в указанный диапазон

Рассмотрим несколько примеров.

Предположим, надо составить список всех файлов с именами длиной в три символа, первый из которых "а", а последний - "z". Это можно сделать, введя команду

$ Is -1 a?z

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

$ Is -I a*z

Вопросительный знак обозначает один произвольный символ, звездочка - любое их количество, включая нуль.

Рассмотрим ситуацию, когда необходимо получить список файлов, имена которых начинаются на а, Ь, с или d._ Для этого можно воспользоваться следующей командой.

$ Is -1 а* Ь* с* d*

Однако такая форма несколько громоздка. Гораздо удобнее воспользоваться следующей: $ Is -I [abed]*

Выражение в квадратных скобках означает любую из перечисленных букв, звездочка - любое число следующих за ней произвольных символов.

Поскольку перечисленные буквы образуют непрерывную последовательность, команду можно упростить:

$ Is -I [a-d]*

Наконец, иногда необходимо исключить один или несколько символов, включив все остальные, Рассмотрим создание сжатого архива всех исходных каталогов системы. Предположим, нужно архивировать все каталоги кроме тех, имена которых начинаются с буквы "m". Для этого можно воспользоваться командой,

$ tar czvf home.tar.gz /home/[a-1]* /home/[n-z]*

но гораздо удобнее следующая форма этой же команды:

$ tar czvf home.tar.gz /home/[!m]*

Здесь выражение в квадратных скобках обозначает любой символ, кроме буквы "m".

Можно усложнить задачу, исключив архивирование каталогов, имена которых начинаются с букв m, n или о. Соответствующая команда будет иметь вид

$ tar czvf home.tar.gz /home/[^mno]*

или

$ tar czvf home.tar.gz /home/[!m-o]*

Фигурные скобки

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

$ mkdir testdir{1,2,3,4}

По этой команде создаются четыре каталога с именами testdirl, testdir2, testdir3 и testdir4.

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

$ mkdir testdir{01,02,03,04}

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

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

$ mkdir newdir/{firstdir,firstdir/'dir<01,02}}

По этой команде создаются следующие кащлоги.

firstdir

firstdir/dir0l

firstdir/dir02

В приведенной команде выражение {01,02} вложено в другое выражение в фигурных скобках.

Точно так же внутри фигурных скобок можно указывать выражения с подстановочными символами имен файлов и каталогов. По команде

$ chmod 644 testfile.{tx?,bak,0[0-9]}

происходит изменение разрешений доступа к серии файлов, в том числе ко всем файлам, соответствующим выражениям testfile. tx?, testfile.bak и от testfile.00 до testfile.09.

Подстановка команд

Еще один вариант применения подстановочных символов - подстановка команд, напоминающая конвейеризацию. При конвейеризации стандартный вывод одной команды переадресуется на стандартный ввод другой, при подстановке же он передается другой команде как аргумент или параметр.

Для примера, рассмотрим ситуацию, в которой необходимо сжать все файлы с расширением . bak. Список этих файлов можно получить, введя команду

$ find / -name '*.bak' -print

Этой же командой с флажком exec можно воспользоваться для сжатия всех файлов.

$ find / -name '*.bak r -exec gzip {} \;

Другой вариант - подстановка команды, как в следующем примере.

$ gzip "find / -name '*.bak' -print"

Здесь команда find заключена в обратные одинарные кавычки, указывающие, что ее результаты должны использоваться как часть командной строки - в данном случае, как аргументы команды gzip.

Существует альтернативная форма этой конструкции - без обратных кавычек:

$ gzip $(find / -name \*.bak -print)

Основное различие между двумя конструкциями - смысл обратной косой (\) в первой из них. Этот смысл сохраняется, если не указаны символы "$","'" или "\".

Примечание

Приведенный перечень подстановочных символов оболочки Bash не полон. Полный список, наряду с подробным описанием, можно найти на странице руководства Bash. Однако и то, что мы описали, рбеспечивает немалые возможности. Если вам понадобятся дополнительные средства- связанные с подстановочными символами, обратитесь к странице руководства, воспользовавшись командой man bash.

 


:: Реклама ::

-

 


:: Cсылки ::


:: Баннеры ::

 

 

 


Copyright © Kivik, 2012