Брайан Керниган - UNIX — универсальная среда программирования

Здесь есть возможность читать онлайн «Брайан Керниган - UNIX — универсальная среда программирования» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1992, ISBN: 1992, Издательство: Финансы и статистика, Жанр: ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

UNIX — универсальная среда программирования: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «UNIX — универсальная среда программирования»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

UNIX — универсальная среда программирования — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «UNIX — универсальная среда программирования», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

$ wc ch1.*

113 562 3200 ch1.0

935 4081 22435 ch1.1

974 4191 22756 ch1.2

378 1561 8481 ch1.3

1293 5298 28841 ch1.4

33 194 1190 ch1.5

75 323 2030 ch1.6

3801 16210 88930 total

$

Существует программа с именем echo("эхо"), которая особенно ценна для экспериментов со "смыслом" сокращенных имен. Как вы смогли догадаться, echoлишь повторяет свои аргументы.

$ echo hello world

hello world

$

Но аргументы могут формироваться путем выбора по шаблону. Так, команда

$ echo ch1.*

перечисляет имена всех файлов в гл. 1,

$ echo *

перечисляет имена всех файлов текущего каталога в алфавитном порядке,

$ pr *

выводит на печать содержимое всех ваших файлов (в алфавитном порядке), а

$ rm *

удаляет все файлы текущего каталога. (Лучше быть абсолютно уверенным, что вы действительно этого хотите!)

Символ *может встречаться не только в конце имени файла. Его можно использовать всюду и даже по нескольку раз. Поэтому

$ rm *.save

удалит все файлы, оканчивающиеся на .save.

Заметьте, что все имена файлов выбираются в алфавитном порядке, который отличается от числового. Если в вашей книге 10 глав, порядок может быть не тем, на который вы рассчитываете, поскольку ch10идет перед ch2:

$ echo *

ch1.1 ch1.2 ... ch10.1 ch10.2 ... ch2.1 ch2.2 ...

Символ *— не единственный способ задания шаблона для интерпретатора shell, хотя и наиболее часто используемый. Шаблон [...]задает любые символы из перечисленных внутри скобок. Несколько подряд следующих букв или цифр можно задать в сокращенном виде:

$ pr ch[12346789]*Печать глав 1,2,3,4,6,7,8,9, но не 5

$ pr ch[1-46-9]* То же самое

$ rm temp[a-z] Удалить все tempa, …, tempz

Шаблон ?задает любой одиночный символ:

$ ls ? Список файлов с именем из одного символа

$ ls -l ch?.1Список ch1.1 ch2.1 ch3.1 и т.д., но не ch10.1

$ rm temp? Удалить все файлы temp1, …, tempa и т.д.

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

$ mv ch.* chapter.*Не работает!

поскольку chapter.*не соответствует ни одному из существующих имен файлов.

Символы шаблонов, подобные *, могут использоваться в абсолютных именах наравне с обычными именами файлов; сопоставление происходит для каждого компонента абсолютного имени, содержащего специальный символ. Так, /usr/mary/*инициирует поиск файлов в /usr/mary/, a /usr/*/calendarпорождает список абсолютных имен всех пользователей, работающих с каталогом calendar.

Если вам когда-нибудь придется отказаться от специального назначения символов *, ?и др., заключите весь аргумент в апострофы, например:

$ ls '?'

Можно также предварить специальный символ обратной дробной чертой:

$ ls \?

(Вспомните, что, поскольку ?не является символом стирания или уничтожения, обратная дробная черта перед ним будет обрабатываться не ядром, а интерпретатором shell.) Использование кавычек подробно рассматривается в гл. 3.

Упражнение 1.4

В чем состоит различие между следующими командами:

$ ls junk $ echo junk

$ ls / $ echo /

$ ls $ echo

$ ls * $ echo *

$ ls '*' $ echo '*'

Переключение ввода-вывода

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

Например,

$ ls

выдает список файлов на ваш терминал. Но если задать

$ ls > filelist

то тот же список файлов помещается вместо этого в файл filelist. Символ >означает, что выходной поток должен быть помещен в указанный далее файл, а не выведен на терминал. Файл будет создан, если он ранее не существовал, или будет заменено содержимое старого. На своем терминале вы ничего не получите. В качестве другого примера можно слить несколько файлов, "перехватив" выходной поток команды catи направив его в файл:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «UNIX — универсальная среда программирования»

Представляем Вашему вниманию похожие книги на «UNIX — универсальная среда программирования» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «UNIX — универсальная среда программирования»

Обсуждение, отзывы о книге «UNIX — универсальная среда программирования» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x