Чтение онлайн

на главную

Жанры

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

Купер Мендель

Шрифт:

# (см. библиографию).

}

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

load_alpha # Инициализация массива.

print_alpha # Вывод на экран.

rotate # Повернуть на 45 градусов против часовой стрелки.

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

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

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

# 1) Сделайте инициализацию и вывод массива на экран

# + более простым и элегантным способом.

#

# 2) Объясните принцип работы функции rotate.

exit 0

По

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

Более сложный пример эмуляции двумерного массива вы найдете в Пример A-11.

Глава 26. Файлы

сценарии начальной загрузки

Эти файлы содержат объявления псевдонимов и переменных окружения, которые становятся доступны Bash после загрузки и инициализации системы.

/etc/profile

Настройки системы по-умолчанию, главным образом настраивается окружение командной оболочки (все Bourne-подобные оболочки, не только Bash [ 55 ] )

/etc/bashrc

функции и псевдонимы Bash

$HOME/.bash_profile

пользовательские настройки окружения Bash, находится в домашнем каталоге у каждого пользователя (локальная копия файла /etc/profile)

55

Это не относится к таким оболочкам, как csh, tcsh и другим, которые не являются производными от классической Bourne shell (sh).

$HOME/.bashrc

пользовательский файл инициализации Bash, находится в домашнем каталоге у каждого пользователя (локальная копия файла /etc/bashrc). См. Приложение Gпример файла .bashrc.

Сценарий выхода из системы (logout)

$HOME/.bash_logout

Этот сценарий отрабатывает, когда пользователь выходит из системы.

Глава 27. /dev и /proc

Как правило, Linux или UNIX система имеет два каталога специального назначения: /dev и /proc.

27.1. /dev

Каталог /dev содержит файлы физических устройств, которые могут входить в состав аппаратного обеспечения компьютера [ 56 ] . Каждому из разделов не жестком диске соответствует свой файл-устройство в каталоге /dev, информация о которых может быть получена простой командой df.

bash$ df

Filesystem 1k-blocks Used Available Use%

Mounted on

/dev/hda6 495876 222748 247527 48% /

56

Каталог /dev содержит специальные файлы -- точки монтирования физических и виртуальных устройств. Они занимают незначительное пространство на диске.

Некоторые из устройств, такие как /dev/null, /dev/zero или /dev/urandom -- являются виртуальными. Они не являются файлами физических устройств, система эмулирует эти устройства программным способом.

/dev/hda1 50755 3887 44248 9% /boot

/dev/hda8 367013 13262 334803 4% /home

/dev/hda5 1714416 1123624 503704 70% /usr

Кроме

того, каталог /dev содержит loopback– устройства ("петлевые" устройства), например /dev/loop0. С помощью такого устройства можно представить обычный файл как блочное устройство ввода/вывода [ 57 ] . Это позволяет монтировать целые файловые системы, находящиеся в отдельных больших файлах. См. Пример 13-6 и Пример 13-5.

57

Блочное устройство читает и/или пишет данные целыми блоками, в отличие от символьных устройств, которые читают и/или пишут данные по одному символу. Примером блочного устройства может служить жесткий диск, CD-ROM. Примером символьного устройства -- клавиатура.

Отдельные псевдоустройства в /dev имеют особое назначение, к таким устройствам можно отнести /dev/null, /dev/zero и /dev/urandom.

27.2. /proc

Фактически, каталог /proc -- это виртуальная файловая система. Файлы, в каталоге /proc, содержат информацию о процессах, о состоянии и конфигурации ядра и системы.

bash$ cat /proc/devices

Character devices:

1 mem

2 pty

3 ttyp

4 ttyS

5 cua

7 vcs

10 misc

14 sound

29 fb

36 netlink

128 ptm

136 pts

162 raw

254 pcmcia

Block devices:

1 ramdisk

2 fd

3 ide0

9 md

bash$ cat /proc/interrupts

CPU0

0: 84505 XT-PIC timer

1: 3375 XT-PIC keyboard

2: 0 XT-PIC cascade

5: 1 XT-PIC soundblaster

8: 1 XT-PIC rtc

12: 4231 XT-PIC PS/2 Mouse

14: 109373 XT-PIC ide0

NMI: 0

ERR: 0

bash$ cat /proc/partitions

major minor #blocks name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

3 0 3007872 hda 4472 22260 114520 94240 3551 18703 50384 549710 0 111550 644030

3 1 52416 hda1 27 395 844 960 4 2 14 180 0 800 1140

3 2 1 hda2 0 0 0 0 0 0 0 0 0 0 0

3 4 165280 hda4 10 0 20 210 0 0 0 0 0 210 210

...

bash$ cat /proc/loadavg

0.13 0.42 0.27 2/44 1119

Сценарии командной оболочки могут извлекать необходимую информацию из соответствующих файлов в каталоге /proc. [ 58 ]

bash$ cat /proc/filesystems | grep iso9660

iso9660

kernel_version=$( awk '{ print $3 }' /proc/version )

CPU=$( awk '/model name/ {print $4}' < /proc/cpuinfo )

if [ $CPU = Pentium ]

58

Отдельные системные команды, такие как procinfo, free, vmstat, lsdev и uptime делают это именно таким образом.

Поделиться:
Популярные книги

Путь Шедара

Кораблев Родион
4. Другая сторона
Фантастика:
боевая фантастика
6.83
рейтинг книги
Путь Шедара

Метаморфозы Катрин

Ром Полина
Фантастика:
фэнтези
8.26
рейтинг книги
Метаморфозы Катрин

Охота на разведенку

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
6.76
рейтинг книги
Охота на разведенку

Я до сих пор не князь. Книга XVI

Дрейк Сириус
16. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я до сих пор не князь. Книга XVI

Последний Паладин

Саваровский Роман
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин

"Малыш"

Рам Янка
2. Девочка с придурью
Любовные романы:
современные любовные романы
эро литература
6.00
рейтинг книги
Малыш

Мастер Разума II

Кронос Александр
2. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.75
рейтинг книги
Мастер Разума II

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Счастливый торт Шарлотты

Гринерс Эва
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Счастливый торт Шарлотты

Назад в СССР: 1984

Гаусс Максим
1. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
4.80
рейтинг книги
Назад в СССР: 1984

Не грози Дубровскому! Том IX

Панарин Антон
9. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том IX

Секретарша генерального

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
8.46
рейтинг книги
Секретарша генерального

Газлайтер. Том 2

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов