Мендель Купер - Искусство программирования на языке сценариев командной оболочки

Тут можно читать онлайн Мендель Купер - Искусство программирования на языке сценариев командной оболочки - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Искусство программирования на языке сценариев командной оболочки
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.7/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Мендель Купер - Искусство программирования на языке сценариев командной оболочки краткое содержание

Искусство программирования на языке сценариев командной оболочки - описание и краткое содержание, автор Мендель Купер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток, постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев -- это написание сценариев.

Искусство программирования на языке сценариев командной оболочки - читать онлайн бесплатно полную версию (весь текст целиком)

Искусство программирования на языке сценариев командной оболочки - читать книгу онлайн бесплатно, автор Мендель Купер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

...

bash$ rpm -qa docbook-utils

docbook-utils-0.6.9-2

bash$ rpm -qa docbook | grep docbook

docbook-dtd31-sgml-1.0-10

docbook-style-dsssl-1.64-3

docbook-dtd30-sgml-1.0-10

docbook-dtd40-sgml-1.0-11

docbook-utils-pdf-0.6.9-2

docbook-dtd41-sgml-1.0-10

docbook-utils-0.6.9-2

cpio

Специализированная утилита архивации и копирования ( co py input and output). Используется все реже и реже, поскольку вытесняется более мощным архиватором tar/ gzip. Наиболее употребительна для таких операций, как перемещение дерева каталогов.

Пример 12-22. Пример перемещения дерева каталогов с помощью cpio

#!/bin/bash

# Копирование дерева каталогов с помощью cpio.

ARGS=2

E_BADARGS=65

if [ $# -ne "$ARGS" ]

then

echo "Порядок использования: `basename $0` source destination"

exit $E_BADARGS

fi

source=$1

destination=$2

find "$source" -depth | cpio -admvp "$destination"

# Информацию по ключам утилиты cpio вы найдете в страницах руководства "man cpio".

exit 0

rpm2cpio

Эта утилита конвертирует rpm-пакет в архив cpio.

Пример 12-23. Распаковка архива rpm

#!/bin/bash

# de-rpm.sh: Распаковка архива 'rpm'

: ${1?"Порядок использования: `basename $0` target-file"}

# Сценарию должно быть передано имя архива 'rpm'.

TEMPFILE=$$.cpio # Временный файл с "уникальным" именем.

# $$ -- PID процесса сценария.

rpm2cpio < $1 > $TEMPFILE # Конверсия из rpm в cpio.

cpio --make-directories -F $TEMPFILE -i # Рапсковка cpio-архива.

rm -f $TEMPFILE # Удаление cpio-архива.

exit 0

# Упражнение:

# Добавьте проверку на: 1) Существование "target-file"

#+ 2) Действительно ли "target-file" является rpm-архивом.

# Подсказка: используйте комсанду 'file'.

Сжатие

gzip

Стандартная GNU/UNIX утилита сжатия, заменившая более слабую, и к тому же проприетарную, утилиту compress. Соответствующая утилита декомпрессии (разжатия) -- gunzip, которая является эквивалентом команды gzip -d.

Для работы со сжатыми файлами в конвейере используется фильтр zcat, который выводит результат своей работы на stdout , допускает перенаправление вывода. Фактически это та же команда cat, только приспособленная для работы со сжатыми файлами (включая файлы, сжатые утилитой compress). Эквивалент команды zcat-- gzip -dc.

картинка 97В некоторых коммерческих версиях UNIX, команда zcatявляется синонимом команды uncompress -c, и не может работать с файлами, сжатыми с помощью gzip .

См. также Пример 7-7.

bzip2

Альтернативная утилита сжатия, обычно дает более высокую степень сжатия (но при этом работает медленнее), чем gzip, особенно это проявляется на больших файлах. Соответствующая утилита декомпрессии -- bunzip2.

картинка 98В современные версии tar добавлена поддержка bzip2.

compress, uncompress

Устаревшие проприетарные утилиты для работы с архивами, входящие в состав некоторых коммерческих дистрибутивов UNIX. В последнее время вытесняются более мощной утилитой gzip. Linux-дистрибутивы, как правило, включают в свой состав эти утилиты для обратной совместимости, однако gunzipкорректно разархивирует файлы, обработанные с помощью compress.

картинка 99Утилита znewпредназначена для преобразования compress -архивов в gzip -архивы.

sq

Еще одна утилита-фильтр сжатия, которая обслуживает только отсортированные списки слов. Использует стандартный, для фильтров, синтаксис вызова -- sq < input-file > output-file. Быстрая, но не такая эффективная как gzip. Соответствующая ей утилита декомпрессии называется unsq, синтаксис вызова аналогичен утилите sq.

картинка 100Вывод от sqможет быть передан по конвейеру утилите gzip, для дальнейшего сжатия.

zip, unzip

Кроссплатформенная утилита архивирования и сжатия, совместимая, по формату архивного файла, с утилитой DOS -- pkzip.exe . "Zip"-архивы, по-моему, более приемлемый вариант для обмена данными через Internet, чем "tarballs" (тарболлы, или tar-архивы).

unarc, unarj, unrar

Этот набор утилит предназначен для распаковки архивов, созданных с помощью DOS архиваторов -- arc.exe , arj.exe и rar.exe .

Получение сведений о файлах

file

Утилита идентификации файлов. Команда file file-nameверне тип файла file-name , например, ascii text или data . Для этого она анализирует сигнатуру, или магическое число и сопоставляет ее со списком известных сигнатур из /usr/share/magic , /etc/magic или /usr/lib/magic (в зависимости от дистрибутива Linux/UNIX).

-f -- ключ пакетного режима работы утилиты file, в этом случае утилита принимает список анализируемых имен файлов из заданного файла. Ключ -z используется для анализа файлов в архиве.

bash$ file test.tar.gz

test.tar.gz: gzip compressed data, deflated, last modified: Sun Sep 16 13:34:51 2001, os: Unix

bash file -z test.tar.gz

test.tar.gz: GNU tar archive (gzip compressed data, deflated, last modified: Sun Sep 16 13:34:51 2001, os: Unix)

Пример 12-24. Удаление комментариев из файла с текстом программы на языке C

#!/bin/bash

# strip-comment.sh: Удаление комментариев (/* COMMENT */) из исходных текстов программ на языке C.

E_NOARGS=65

E_ARGERROR=66

E_WRONG_FILE_TYPE=67

if [ $# -eq "$E_NOARGS" ]

then

echo "Порядок использования: `basename $0` C-program-file" >&2 # Вывод сообщения на stderr.

exit $E_ARGERROR

fi

# Проверка типа файла.

type=`eval file $1 | awk '{ print $2, $3, $4, $5 }'`

# "file $1" -- выводит тип файла...

# затем awk удаляет первое поле -- имя файла...

# после этого результат записывается в переменную "type".

correct_type="ASCII C program text"

if [ "$type" != "$correct_type" ]

then

echo

echo "Этот сценарий работает только с исходными текстами программ на языке C."

echo

exit $E_WRONG_FILE_TYPE

fi

# Довольно замысловатый сценарий sed :

#--------

sed '

/^\/\*/d

/.*\/\*/d

' $1

#--------

# Если вы потратите несколько часов на изучение основ sed, то он станет немного понятнее.

# Следовало бы добавить еще обработку

#+ комментариев, расположенных в одной строке с кодом.

# Оставляю это вам, в качестве упражнения.

# Кроме того, этот сценарий удалит все строки, которые содержат комбинации символов "*/" или "/*",

# не всегда желаемый результат.

exit 0

# ----------------------------------------------------------------

# Строки, расположенные ниже не будут исполнены из-за стоящей выше команды 'exit 0'.

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

Интервал:

Закладка:

Сделать


Мендель Купер читать все книги автора по порядку

Мендель Купер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Искусство программирования на языке сценариев командной оболочки отзывы


Отзывы читателей о книге Искусство программирования на языке сценариев командной оболочки, автор: Мендель Купер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x