UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
$ echo hello worldhello world$Но аргументы могут формироваться путем выбора по шаблону. Так, команда
$ echo ch1.*перечисляет имена всех файлов в гл. 1,
$ echo *перечисляет имена всех файлов текущего каталога в алфавитном порядке,
$ pr *выводит на печать содержимое всех ваших файлов (в алфавитном порядке), а
$ rm *удаляет все файлы текущего каталога. (Лучше быть абсолютно уверенным, что вы действительно этого хотите!)
Символ
*$ rm *.saveудалит все файлы, оканчивающиеся на
.saveЗаметьте, что все имена файлов выбираются в алфавитном порядке, который отличается от числового. Если в вашей книге 10 глав, порядок может быть не тем, на который вы рассчитываете, поскольку
ch10ch2$ echo *ch1.1 ch1.2 ... ch10.1 ch10.2 ... ch2.1 ch2.2 ...Символ
*shell[...]$ pr ch[12346789]* $ pr ch[1-46-9]* $ rm temp[a-z] Шаблон
?$ ls ? $ ls -l ch?.1 $ rm temp? Отметим, что шаблоны сопоставляются только с именами существующих файлов. В частности, нельзя создать новые имена файлов с помощью шаблонов. Например, если вы захотите расширить
chchapter$ mv ch.* chapter.*поскольку
chapter.*Символы шаблонов, подобные
*/usr/mary/*/usr/mary//usr/*/calendarcalendarЕсли вам когда-нибудь придется отказаться от специального назначения символов
*?$ ls '?'Можно также предварить специальный символ обратной дробной чертой:
$ ls ?(Вспомните, что, поскольку
?shellВ чем состоит различие между следующими командами:
$ ls junk $ echo junk$ ls / $ echo /$ ls $ echo$ ls * $ echo *$ ls '*' $ echo '*'Большинство команд, которые мы рассматривали, производят вывод на терминал, некоторые из них, подобно редактору, осуществляют ввод с терминала. А теперь приведем почти универсальное правило: терминал может быть заменен для ввода, вывода или обеих операций на файл.
Например,
$ lsвыдает список файлов на ваш терминал. Но если задать
$ ls > filelistто тот же список файлов помещается вместо этого в файл
filelist>cat$ cat f1 f2 f3 > tempСимвол
>>>$ cat f1 f2 f3 >> tempсольет содержимое
f1f2f3temp>tempАналогично символ
<let$ mail mary joe torn bob < letВо всех этих примерах наличие пробелов по обе стороны символа
><Имея возможность переключать выходной поток с помощью
<$ who > temp$ sort < tempПоскольку команда
whowc -l
