BASH Programming - Введение

BASH Programming - Введение

В данном HOW-TO осуществляется попытка предоставить Вам некоторые рекомендации по shell-программированию, основанные только на примерах.
В данном разделе Вы обнаружите небольшие скрипты, которые, вероятно, будут Вам полезны при освоении некоторых приёмов.

Простейшие скрипты
В данном HOW-TO осуществляется попытка предоставить Вам некоторые рекомендации по shell-программированию, основанные только на примерах. В данном разделе Вы обнаружите небольшие скрипты, которые, вероятно, будут Вам полезны при освоении некоторых приёмов.

Терминология ... лазеры на максимум ... огонь!
CD-ROM обозначает Compact Disc Read Only Memory (Постоянное Запоминающее Устройство на Компактных Дисках) - носитель использующий оптический лазер, для восприятия микроскопических ям (питов - pits) на диске с изменяющейся степенью отражения. Отражение происходит от слоя аллюминия, который является носителем. Ямки представляют биты информации и настолько миниатюрны, что на диске помещаются несколько миллиардов. Таким образом CD-ROM - высокоемкое устройство памяти.

Местоположение документа и обратная связь
Ниже я опишу способ, как "справиться" с драйвером Linux консоли. Поэтому, если вы пытаетесь русифицировать консоль в другой системе, то не ожидайте, что описанные приемы будут в ней работать. Взамен проконсультируйтесь с руководством по драйверу терминала и пошлите мне любую информацию, которую вы найдете. В этом случае я смогу включить ее в дальнейшие версии этого документа.

Шрифты TrueType
Благодаря своей популярности шрифтов в этом формате (в том числе и кириллических) в сети можно найти в очень большом количестве; только, как правило, они имеют не очень высокое качество, и пока мало программ под Unix/Linux могут использовать их без "напильника и кувалды". Но времена меняются -- поддержка ttf уже встроена в X-window, с помощью gnu-библиотеки freetype некоторые программы умеют выводить шрифты на экран и в печать (например, текстовый редактор yudit).

Настройка кеширующего сервера имен
Кеширующий сервер найдет ответ на запрос об имени машины и запомнит его, чтобы ответить, когда вы запросите эту же информацию в следующий раз. Это значительно уменьшит время ожидания ответа при следующем запросе, особенно если у вас медленное соединение.

Нужен ли Вам Linux?
Вы должны решить, что вам необходимо. Более того, Linux дает вам мощь, но он требует некоторого времени для того, чтобы научиться, как обуздывать его. Таким образом, если вам в основном нужно коммерческое программное обеспечение, или вы не чувствуете в себе силы для обучения новым командам и концепциям, то вам лучше поискать что-нибудь другое. Сознавайте, что много новичков сдались под действием начальных трудностей.

Что такое Emacs?
Emacs является одним из наиболее популярных и мощных текстовых редакторов, используемых в Linux (и Unix). Он находится на втором месте по популярности после vi. Он известен своим огромным количеством возможностей? возможностью легкой настройки и отсутствием ошибок. Огромное количество возможностей и возможность настройки является следствием того, как Emacs был спроектирован и реализован. Без углубления в детали я просто укажу, что Emacs не является ``только редактором''. Это редактор, в большинстве своем написанный на языке программирования Lisp. Основой Emacs является полнофункциональный интерпретатор языка Lisp, который написан на языке C. Только самые базовые и низкоуровневые части Emacs написаны на языке C. Большая часть редактора в действительности написана на языке Lisp.

Поддерживаемые архитектуры
В этом документе перечислено большинство устройств поддерживаемых Линукс , его основная цель помочь вам выбрать компоненты для вашей Линукс системы. Следует учитывать , что список устройств поддерживаемых Линукс постоянно растет,поэтому если вы не нашли какого либо устройства в данном документе , то это совсем не означает , что Линукс его не поддерживает,возможно ,что поддержка данного устройства была включена в ядро уже после последнего обновления данного документа или автору просто ничего о ней не известно.

Агент транспортировки почты (MTA)
За последние несколько лет ifmail завоевал большую популярность среди сисопов ftn-узлов, переходящих с привычных ftn-мейлеров под DOS и программ для гейтования в Интернет на UNIX-мейлеры, выполняющие преобразование форматов ftn-rfc. Так как число сисопов увеличивается, то находится все больше людей чувствующих себя не в своей тарелке из-за сложности освоения unix. Этот HOWTO поможет снять непонимание, показав насколько можно успешно администрировать юниксовый rfc-ftn мейлер, используя комбинацию из ifmail, sendmail и INN.

Введение в Linux
Linux является полностью свободной реализацией спецификации POSIX, с расширениями SYSV и BSD (что означает, что Linux выглядит как Unix, не основан не на том же исходном коде), Linux доступен и в двоичной форме и в форме исходных текстов. Авторскими правами на него владеет Linus Torvaldsи другие люди, работавшие над ним, и он свободно может распространятся действием терминов, определенных в GNU General Public License (GPL). Копия GPL включена в исходные тексты Linux

Ядро с фильтрацией пакетов
Это - Linux IPCHAINS-HOWTO; в ``Где?" указан исходный сайт, который содержит последнюю копию этого документа. Вы должны также прочесть Linux NET-3-HOWTO. Также неплохо бы ознакомиться с IP-Masqurading HOWTO, PPP-HOWTO, Ethernet-HOWTO и Firewall HOWTO.

Поддержка списка рассылки
Существует список рассылки, учрежденный для дискуссий о различных пакетах программного обеспечения IPX для Linux, описанных в этом документе. Вы можете подписаться на них послав сообщение на адрес `listserv@sh.cvut.cz' со строкой `add linware' в теле сообщения. Чтобы послать сообщение в список рассылки, пошлите ваше сообщение на адрес `linware@sh.cvut.cz'. Я регулярно просматриваю этот список рассылки.

Как мне подсоединиться к остальному миру?
Предполагается, что мы уже имеем установленные модули сетевого программного обеспечения (напр., часть N-серии Slackware), и что вы используете последовательный порт /dev/modem. Настройка по умолчанию позволяет обращаться к /dev/modem только как пользователь root.

Одно слово о стиле
Текст, который выглядит вот так-- это либо то, что появится на вашем экране, либо имя файла, либо то, что может быть прямо набрано, например команда, или опции команды (если вы читаете это как простой текст, то это различие не видно). Команды и другой ввод часто взяты в кавычки (с помощью ` '), что вызывает классическую проблему пунктуации: Если такой пункт появляется в конце предложения в кавычках, то люди часто набирают `.' вместе с командой, потому-что Американский стиль цитирования заставляет помещать точку внутри кавычек.

О RLDP
Допустим у вас есть диск с более чем 1024 цилиндров. Допустим так же, что ваша операционная система использует старый интерфейс INT13 BIOS для операций ввода-вывода на диск. В этом случае у вас есть проблема, этот интерфейс использует поле из 10 бит для номера цилиндра на который будет выполняться В/В, следовательно цилиндры начиная с 1024 будут недоступны.

Давайте готовиться к разгрому!
Многие люди недавно купили новые компьютеры, которые (к несчастью) приходят с предустановленной Windows 95. Открыв для себя Internet, многие пользователи обнаруживают Linux, и желают запустить лучшую ОС за лучшую цену. Здесь возникает множество различных сложностей, поскольку на новых компьютерах установлены EIDE жесткие диски большой емкости, а Windows 95 работает на устаревшей файловой системе FAT. Linux эти сложности понимает и может предложить соответствующие меры в аппаратной и программной области.

Определение типа LinuxDoc
Такие документы в общем построены следующим образом: они начинаются с заголовка, за которым следует имя автора, номер версии и дата. Затем идет краткое изложение (??? abstract) (так что вам не надо просматривать документ полностью до понимания, того что этот документ не то что вам нужно), затем идет содержание, которое показывает структуру, так что вы в спешке перейти к части, которую вы хотите прочитать.



Серверная сторона
Этот mini-HOWTO описывает как установить Linux-машину для того, чтобы обеспечить совместный доступ к модему другим машинам в этой же сети TCP/IP.

Краткая история разработки сетевой подсистемы Линукса
Первый NET-FAQ, содержавший ответы на часто задаваемые вопросы по работе с сетью в Линуксе, был написан Маттом Уэлшем (Matt Welsh) и Тэрри Доусоном (Terry Dawson) до того, как был формально начат проект по документированию Линукса. Он описывал самые первые версии сетевой подсистемы Линукса. Затем последовал NET-2-HOWTO, расширивший круг рассматриваемых вопросов по сравнению с NET-FAQ. Он был одним из первых HOWTO, и описывал версию 2 (а в дальнейшем и версию 3) сетевой подсистемы Линукса. Этот документ, в свою очередь, стал расширением NET-2-HOWTO и описывает только версию 3 сетевой подсистемы Линукса.

Что такое Linux?
Цель этого документа состоит в том, чтобы дать краткий обзор возможностей работы с сетями операционной системы Linux. Хотя одним из достоинств Linux - является то, что имеется множество источников информации, доступной почти по каждой теме, большинство ее сосредоточено на реализации. Новички в Linux, особенно пришедшие из среды Windows, не осознают возможностей Linux при работе с сетями. Этот документ стремится дать общее представление о таких возможностях с кратким описанием каждой и указать источники для поиска дальнейшей информации. Информация была собрана из многих источников: различные howto, факи, проектов веб-страниц и моего собственного опыта.

Portmapper
Portmapper на Linux называется либо portmap либо rpc.portmap. Справочная страница на моей системе говорит, что это "Преобразователь номеров портов DARPA в вызовы соответствующих программ RPC". Это первая дыра в безопасности, которую вы откроете читая этот документ. Описание того, как закрыть одну из таких дыр находится в , который я советую вам обязательно прочитать.

Клиенты и серверы
PPP строго двухточечный протокол; (технически) нет различий между машиной, которая дозвонилась, и машиной, которая приняла звонок. Однако, для наглядности, полезно рассматривать это соединение с точки зрения архитектуры "клиент-сервер".

Используя LPD и команду lpr
Большинство систем в настоящее время продаются с lpd, так что данный раздел не будет к ним применяться. Я рекомендую людям для большинства случаев установить и использовать PDQ вместо (или в добавление к) lpd. PDQ просто имеет лучшую поддержку принтеров и тому подобное.

История Linux Printing HOWTO
Этот документ описывает как использовать линейную систему принтерного спулинга поставляемую с операционной системой Linux. Этот документ является supplementary документом к Linux Printing Setup HOWTO, который обсуждает установку и настройку системы печати Linux. Материал представленный в этом документе должен быть также правильным для всех семейств операционых систем серии BSD в добавлении к операционной системе Linux.

Получение RPM
RPM это Red Hat Package Manager (Менеджер пакетов RedHat). Хотя он содержит Red Hat в своем имени, он полностью предназначен работать как открытая пакетная система доступная для использования кем угодно. Она позволяет пользователям брать исходный код для нового программного обеспечения и упаковывать его в форме исходного и двоичного кода, так что двоичные файлы могут быть легко установлены и отслежены, а исходный код легко построен. Эта система также сопровождает базу данных всех пакетов и их файлов, что может быть использовано для проверки пакетов и запроса информации о файлах и/или пакетах.

Зачем нам нужна безопасность?
Этот документ покрывает некоторые из главных вопросов безопасности, которые касаются 0 Linux. Обсуждаются также общая философия и порождаемых сетью ресурсов. Существуют и другие документы HOWTO касающиеся темы безопасности, о них будет указано, когда это будет уместно.

Поддерживаемые последовательные аппаратные устройства
Это - Linux Serial HOWTO. В нем приведена информация о последовательных портах, которая не описана в других HOWTO'S. Это - информация об установке модема под Linux, некоторые советы по последовательным устройствам и советы по поиску неисправностей.

Запуск демонов
Есть два демона SMB /usr/sbin/smbd и /usr/sbin/nmbd. В большинстве дистрибутивов Linux, они запускаются, останавливаются и перезапускаются через стартовый скрипт, расположенный в /etc/rc.d/init.d/smb, на который созданы символьные ссылки с соответствующих уровней запуска. Если вы не будете использовать стандартные стартовые скрипты, то Вы можете запустить демоны Samba из inetd или как автономные процессы. Samba будет отвечать чуть быстрее когда она запущена как автономный процесс, чем в случае когда она запускается из inetd.

Понимание RAID
RAID - путь комбинирования нескольких дисков в одно целое для увеличения скорости и/или надежности. Существует несколько различных типов и реализаций RAID, каждый со своими преимуществами и недостатками. Например, помещая копию одинаковых данных на два диска (называется зеркализация дисков, или RAID уровня 1), скорость чтения может быть повышена поочередным считыванием с каждого диска зеркала. В среднем, каждый диск менее занят, т.к. он обрабатывает только половину операций чтения (для двух дисков), или 1/3 (для трех дисков), и т.д. В дополнение, зеркало может повышать надежность: если один диск выходит из строя, другой диск содержит копию данных.

Уровни RAID
Есть много преимуществ в использовании RAID. Некоторые из них: возможность комбинировать несколько физических дисков в один большой ``виртуальный'' диск, увеличение производительности и надежности.

Технология звуковых карт
Звук это аналоговое свойство; он может принимать любое значение в бесконечном ряду. Компьютеры являются цифровыми; Они предпочитают работать с дискретными величинами. Звуковые карты используют устройство известное как Аналогово-Цифровой Преобразователь (A/D или ADC или АЦП) для преобразования напряжений соответствующих звуковым волнам в численные значения, которые могут быть сохранены в памяти. Подобным образом, Цифровой-Аналоговый Преобразователь (D/A или DAC или ЦАП) преобразует числовые значения обратно в аналоговое напряжение, которое в свою очередь может управлять динамиком, производя звук.

Проигрывание различных форматов звука
Существует множество форматов звука (WAV, MIDI, MPEG и т.д.). Ниже перечислены различные форматы и приложения, которые могут проигрывать их.