Пример 12-1. Создание оглавления диска для записи CDR, с помощью команды ls

Пример 12-1. Создание оглавления диска для записи CDR, с помощью команды ls

#!/bin/bash

# burn-cd.sh

# Сценарий, автоматизирующий процесс прожигания CDR.

SPEED=2 # Если ваше "железо" поддерживает более высокую скорость записи -- можете увеличить этот параметр

IMAGEFILE=cdimage.iso

CONTENTSFILE=contents

DEFAULTDIR=/opt # В этом каталоге находятся файлы, которые будут записаны на CD.

# Каталог должен существовать.

# Используется пакет "cdrecord" от Joerg Schilling.

# (http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html)

# Если этот сценарий предполагается запускать с правами обычного пользователя,

#+ то необходимо установить флаг suid на cdrecord

#+ (chmod u+s /usr/bin/cdrecord, эта команда должна быть выполнена root-ом).

if [ -z "$1" ]

then

IMAGE_DIRECTORY=$DEFAULTDIR

# Каталог по-умолчанию, если иной каталог не задан из командной строки.

else

IMAGE_DIRECTORY=$1

fi

# Создать файл "table of contents".

ls -lRF $IMAGE_DIRECTORY > $IMAGE_DIRECTORY/$CONTENTSFILE

# Ключ "l" -- "расширенный" формат вывода списка файлов.

# Ключ "R" -- рекурсивный обход дерева каталогов.

# Ключ "F" -- добавляет дополнительные метки к именам файлов (к именам каталогов добавдяет оконечный символ /).

echo "Создано оглавление."

# Создать iso-образ.

mkisofs -r -o $IMAGFILE $IMAGE_DIRECTORY

echo "Создан iso-образ файловой системы ISO9660 ($IMAGEFILE)."

# "Прожигание" CDR.

cdrecord -v -isosize speed=$SPEED dev=0,0 $IMAGEFILE

echo "Запись диска."

echo "Наберитесь терпения, это может потребовать некоторого времени."

exit 0

cat, tac

cat -- это акроним от concatenate, выводит содержимое списка файлов на stdout. Для объединения файлов в один файл может использоваться в комбинации с операциями перенаправления (> или >>).

cat filename cat file.1 file.2 file.3 > file.123

Ключ -n, команды cat, вставляет порядковые номера строк в выходном файле. Ключ -b -- нумерут только не пустые строки. Ключ -v выводит непечатаемые символы в нотации с символом ^. Ключ -s заменяет несколько пустых строк, идущих подряд, одной пустой строкой.

см. также Пример 12-21 and Пример 12-17.

tac -- выводит содержимое файлов в обратном порядке, от последней строки к первой.

rev

выводит все строки файла задом наперед на stdout. Это не то же самое, что tac. Команда rev сохраняет порядок следования строк, но переворачивает каждую строку задом наперед.

bash$ cat file1.txt

Это строка 1.

Это строка 2.

bash$ tac file1.txt

Это строка 2.

Это строка 1.

bash$ rev file1.txt

.1 акортс отЭ

.2 акортс отЭ

cp

Команда копирования файлов. cp file1 file2 скопирует file1 в file2, перезаписав file2 если он уже существовал (см. Пример 12-5).

С флагами -a и -r, или -R выполняет копирование дерева каталогов.

mv

Команда перемещения файла. Эквивалентна комбинации команд cp и rm. Может использоваться для перемещения большого количества файлов или для переименования каталогов. Примеры использования команды mv вы найдете в Пример 9-17 и Пример A-3.

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

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

bash$ mv source_directory target_directory

bash$ ls -lF target_directory

total 1

drwxrwxr-x 2 bozo bozo 1024 May 28 19:20 source_directory/

rm

Удаляет (remove) файл(ы). Ключ -f позволяет удалять даже файлы ТОЛЬКО-ДЛЯ-ЧТЕНИЯ и подавляет запрос подтверждения на удаление.

С ключом -r, удаляет все файлы в подкаталогах.

rmdir

Удаляет каталог. Удаляемый каталог не должен содержать файлов, включая "скрытые файлы"[ 28 ], иначе каталог не будет удален.

mkdir

Создает новый каталог. mkdir -p project/programs/December создает каталог с заданным именем в требуемом каталоге. Ключ -p позволяет создавать промежуточные родительские каталоги.

chmod

Изменяет атрибуты существующего файла (см. Пример 11-10).

chmod +x filename

# Делает файл "filename" доступным для исполнения всем пользователям.

chmod u+s filename

# Устанавливается бит "suid" для "filename".

# В результате, любой пользователь сможет запустить "filename" с привилегиями владельца файла.

# (Это не относится к файлам-сценариям на языке командной оболочки.)

chmod 644 filename

# Выдает право на запись/чтение владельцу файла "filename", и право на чтение

# всем остальным

# (восьмеричное число).

chmod 1777 directory-name

# Выдает право на чтение, запись и исполнение файлов в каталоге,

# дополнительно устанавливает "sticky bit".

# Это означает, что удалять файлы в этом каталоге могут только владельцы файлов,

# владелец каталога и, само собой разумеется, root.

chattr

Изменяет атрибуты файла. Эта команда подобна команде chmod, за исключением синтаксиса вызова, и работает исключительно в файловой системе ext2.

ln

Создает ссылку на существующий файл. Чаще всего используется с ключом -s, что означает символическую, или "мягкую" (symbolic или "soft") ссылку. Позволяет задавать несколько имен одному и тому же файлу и превосходная альтернатива "псевдонимам" (алиасам) (см. Пример 4-6).

ln -s oldfile newfile создает ссылку, с именем newfile, на существующий файл oldfile, .

man, info

Команды доступа к справочным и информационным страницам по системным командам и установленным программам и утилитам. Как правило, страницы info содержат более подробную информацию, чем man.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Практическая работа 35. Создание структуры документа и вставка оглавления

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

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


Создание оглавления

Из книги Adobe InDesign CS3 автора Завгородний Владимир

Создание оглавления Программа Adobe InDesign позволяет автоматически создавать оглавления для документа (и даже для нескольких документов, если мы объединим их в книгу, о чем будет рассказано позже).Преимущество автоматического создания оглавлений заключается не только в


Создание индексов с помощью команды CREATE INDEX

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Создание индексов с помощью команды CREATE INDEX Помимо создания индексов в процессе формирования таблицы (с помощью предложения CONSTRAINT), можно также создавать индексы уже после того, как таблица сформирована (с помощью предложения CREATE INDEX). Это полезно в тех случаях, когда


7.5. Создание оглавления

Из книги Word 2007.Популярный самоучитель автора Краинский И

7.5. Создание оглавления Автоматическое создание оглавления часто используется при работе с большими документами. Если вы написали книгу или завершили создание рабочего или учебного проекта, то перед распечаткой окончательного варианта документа желательно создать


13.3.9. Создание оглавления

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

13.3.9. Создание оглавления Многие документы Word, к примеру учебные и научные работы, многостраничные служебные документы и т. д., должны содержать оглавление. При большом объеме оно помогает быстро перейти к нужному разделу. Как создать оглавление?Можно очень просто, как


3.6.1. Прожиг с помощью папки Записи

Из книги Самоучитель работы на Macintosh автора Скрылина Софья

3.6.1. Прожиг с помощью папки Записи Использование папки Записи (Bum) — это простейший способ прожига, но только пустого CD- или DVD-диска. Создание папки Записи (Bum) не обязывает нас сразу же производить запись, ее содержимое можно постепенно накапливать, просто перетаскивая


12.3. Восстановление системы с помощью образа диска

Из книги Windows Vista. Трюки и эффекты автора Зозуля Юрий

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


Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд

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

Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд #!/bin/bash# уЩЫЬ for гЯ [гаЩгЫЯЭ], гЯкФСЮЮйЭ г аЯЭЯниР аЯФгдСЮЯзЫЩ ЫЯЭСЮФ.NUMBERS="9 7 3 8 37.53"for number in `echo $NUMBERS` # for number in 9 7 3 8 37.53do echo -n "$number "doneecho exit 0Более сложный пример использования подстановки


Пример 10-25. Создание меню с помощью case

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

Пример 10-25. Создание меню с помощью case #!/bin/bash# Грубый пример базы данныхclear # Очистка экранаecho " Список"echo " ------"echo "Выберите интересующую Вас персону:"echoecho "[E]vans, Roland"echo "[J]ones, Mildred"echo "[S]mith, Julie"echo "[Z]ane, Morris"echoread personcase "$person" in# Обратите внимание: переменная взята в кавычки.


Пример 11-23. Сценарий, завершающий себя сам с помощью команды kill

Из книги автора

Пример 11-23. Сценарий, завершающий себя сам с помощью команды kill #!/bin/bash# self-destruct.shkill $$ # Сценарий завершает себя сам. # Надеюсь вы еще не забыли, что "$$" -- это PID сценария.echo "Эта строка никогда не будет выведена."# Вместо него на stdout будет выведено сообщение "Terminated".exit 0# Какой


Пример 16-3. Одновременное перенаправление устройств, stdin и stdout, с помощью команды exec

Из книги автора

Пример 16-3. Одновременное перенаправление устройств, stdin и stdout, с помощью команды exec #!/bin/bash# upperconv.sh# Преобразование символов во входном файле в верхний регистр.E_FILE_ACCESS=70E_WRONG_ARGS=71if [ ! -r "$1" ] # Файл доступен для чтения?then echo "Невозможно прочитать из заданного файла!" echo


Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков"

Из книги автора

Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков" #!/bin/bashARGS=1 # Ожидаемое число аргументов.E_BADARGS=65 # Код завершения, если число аргументов меньше ожидаемого.test $# -ne $ARGS && echo "Порядок использования: `basename $0` $ARGS аргумент(а)(ов)" && exit $E_BADARGS# Если


Пример 28-2. Создание файла подкачки (swapfile), с помощью /dev/zero

Из книги автора

Пример 28-2. Создание файла подкачки (swapfile), с помощью /dev/zero #!/bin/bash# Создание файла подкачки.# Этот сценарий должен запускаться с правами root.ROOT_UID=0 # Для root -- $UID 0.E_WRONG_USER=65 # Не root?FILE=/swapBLOCKSIZE=1024MINBLOCKS=40SUCCESS=0if [ "$UID" -ne "$ROOT_UID" ]then echo; echo "Этот сценарий должен запускаться с правами


Пример 28-3. Создание электронного диска

Из книги автора

Пример 28-3. Создание электронного диска #!/bin/bash# ramdisk.sh# "электронный диск" -- это область в ОЗУ компьютера#+ с которой система взаимодействует как с файловой системой.# Основное преимущество -- очень высокая скорость чтения/записи.# Недостатки -- энергозависимость, уменьшение


Угроза получения учетной записи администратора с помощью учетной записи опытного пользователя

Из книги автора

Угроза получения учетной записи администратора с помощью учетной записи опытного пользователя Как говорилось раньше, использование группы Опытные пользователи не приветствуется Microsoft, так как данная группа имеет очень многие права в системе. В этой главе хотелось бы