Библиотека сайта rus-linux.net
Приемы профессиональной работы в UNIX. Введение
Непрерывное снижение цен, рост производительности в наше время и ожидаемое появление новых микро- и супер-микрокомпьютеров делают мощь системы UNIX доступной для все большего круга пользователей. Системы UNIX или типа UNIX работают на любых машинах, от уровня PC-XT до AT и выше. Доступность больших объемов оперативной памяти и мощных микропроцессоров привела к возрастанию интереса к многозадачности, системам мультипроцессирования - сфере, в которой UNIX имеет солидную репутацию.
Однако применение UNIX с максимальной отдачей - дело нелегкое. Люди годами высказывали неудовлетворение тем, что она не является "дружественной" по отношению к пользователю - и это разумная критика, хотя на самом деле UNIX содержит средства для построения интерфейсов любого требуемого уровня сложности. Наиболее важная причина трудоемкости эффективного использования UNIX состоит в том, что в системе используются очень плодотворные идеи, не знакомые многим людям, работавшим с более простыми операционными системами. UNIX предоставляет также гораздо больше инструментальных средств, более гибких и с существенно большими возможностями, чем, например, популярная MS-DOS (в чем можно убедиться беглым сравнением соответствующих руководств). Вероятно, Вы, читатель, начинали с изучения UNIX в объеме, достаточном для решения конкретных задач в вашей системе, будь то текстовая обработка и форматирование текстов, программирование или запуск статистических пакетов. Через некоторое время вы, видимо, накопили (от других людей или в результате собственной работы) небольшой набор приемов, включающий, возможно, некоторый опыт простого программирования для интерпретатора командного процессора.
Хотя это естественный путь развития, принимая во внимание, что в UNIX более 200 команд, вы можете не заметить или пропустить многие мощные и полезные идеи. Более важно то, что вы можете лишиться перспективного взгляда, который приходит с полным пониманием того, как работают различные части UNIX, и концепций, которые лежат в их основе. В книге показаны многие полезные инструментальные средства и приемы, которые вы можете сразу применять в работе, чтобы значительно повысить производительность UNIX. В отличие от некоторых книг, которые просто представляют набор командных файлов или других средств, здесь описываются подробности того, как работает каждая программа, и указываются некоторые направления адаптации программ для ваших конкретных нужд. Сочетание инструментальных средств, концепций и техники решения задач поможет вам стать мастером UNIX.
ЧТО ВЫ ДОЛЖНЫ УЖЕ ЗНАТЬ
Для того, чтобы извлечь пользу из данной книги, вы должны обладать некоторым базовым опытом работы в системе UNIX. Вы должны знать общие аспекты файловой системы, такие, как каталоги, вложенность и маршрутные имена. Вы должны знать, как использовать один из редакторов UNIX, чтобы вводить командные файлы интерпретатора командного процессора и, по крайней мере, слегка знать программирование с использованием командного процессора. Мы сделали мало допущений, касающихся того, что вы должны знать о данной команде или особенностях UNIX. Каждая команда или понятие объясняется, когда оно вводится, а периодические экскурсы в ваши руководства по UNIX могут прояснить все темные места. Запомните одно: имеется так много команд с таким большим количеством опций, что даже мы, профессионалы, должны время от времени обращаться к книге.
Если вы только начинаете использовать UNIX, то книга "UNIX Primer Plus" ("Расширенный букварь по UNIX") Митчела Уэйта (Mitchell Waite), Дональда Мартина (Donald Martin) и Стефена Прата (Stephen Prata) (SAMS, 1983) даст вам исчерпывающее введение в предмет. Если вы уже не новичок, но все еще не имеете четкого представления о внутренней работе командного процессора и программировании для него, то вам даст фундаментальные основы другая книга - "Advanced UNIX - A Programmer's Guide" ("Руководство программиста по расширенному UNIX") Стефена Прата (SAMS, 1985). Фактически эта книга является идеальным спутником и справочником для дополнительных исследований, которые составляют нашу книгу.
О КАКОЙ СИСТЕМЕ UNIX ИДЕТ РЕЧЬ
Имеется, конечно, много вариантов UNIX. Помимо основных семейств реализаций UNIX (AT&T System V, Microsoft XENIX и Berkeley [BSD]), распространено несколько различных командных процессоров, среди которых наиболее широко используются два - командный процессор Bourne командный процессор Си. Все командные файлы в данной книге были проверены и в System V, и в XENIX с использованием командного процессора Bourne, за исключением тех случаев, которые специально отмечены. БОЛЬШИНСТВО наших командных файлов работает также под управлением командный процессор Bourne в BSD, хотя нескольких команд System V нет в системе BSD и наоборот. Мы пытались указать те места, в которых эти две системы существенно отличаются, и дать некоторые альтернативные подходы для пользователей BSD.
Большинство наших командных файлов было также переписано для запуска под управлением программного процессора Си после учета синтаксических отличий. Если вы пользуетесь командным процессором Bourne и хотели бы поэкспериментировать с программным процессором Си, то хорошим введением является указанная ранее книга "Advanced UNIX - A Programmer's Guide".
Если один из наших командных файлов не работает в вашей системе, не впадайте в панику. Проверьте, пожалуйста, следующее:
- Какая у вас версия UNIX? Отмечали ли мы что-нибудь относительно этой версии?
- Какой командный процессор вы используете (Bourne, Си или другой)?
- Должны ли вы поменять маршрутное имя в силу того, что в вашей системе что-то находится в другой части?
- Не утратили ли вы прав доступа к определенному файлу? Не нужно ли вам применить команду su, чтобы получить другой идентификатор пользователя или стать в корень?
- Использует ли данный командный файл предварительно подготовленный командный файл, который вы еще не ввели в вашу систему?
Большинство из этих советов довольно очевидны, но никогда не мешает сделать глубокий вдох и внимательно подумать, прежде чем нырять в отладочные сеансы.
ОБЗОР ГЛАВ
Давайте бросим беглый взгляд на то, что описывается в данной книге, чтобы вы получили представление о предмете книги и знали, где найти нужную тему.
Глава 1 - введение в среду выполнения системы UNIX в целом, способы обращения пользователей к ее различным частям. Вы увидите, каким образом ваш рост как мастера UNIX позволит вам максимально успешно применять все аспекты и особенности среды.
В главе 2 рассматривается наиболее важная особенность среды UNIX - файловая система - и вводятся инструментальные средства для изучения файловых структур и содержимого файлов.
Глава 3 предоставляет средства для практических каждодневных задач по сопровождению файлов - для копирования и сохранения файлов и для удаления ненужных файлов.
В главе 4 описываются виды файлов, которые важны для программной документации, и предоставляются инструментальные средства, которые облегчают вам сопровождение вашей растущей коллекции программных средств.
В главе 5 обращено внимание на вашу собственную среду (home-среду) и личное администрирование. Сюда относится управление вашим планированием и задачами. Представлено несколько полезных средств, помогающих вам.
Глава 6 предоставляет способы получения сведений о других пользователях и средства для обеспечения безопасности вашего рабочего пространства в системе.
В главе 7 рассматриваются некоторые аппаратные части устройств UNIX, особенно, терминалы и диски с некоторыми примерами инструментальных программных средств. Включены также инструменты для работы с файловыми системами.
Глава 8 посвящена коммуникациям в UNIX - сфере, значимость которой быстро возрастает. Этот материал поможет вам работать с несогласованными модемами, а также с проблемами безопасности и управления, которые возникают при работе с командами cu и uucp. Предлагаемые средства помогут вам в работе как с коммуникациями от UNIX к другой операционной системе, так и от UNIX к UNIX. Приведены также практические примеры аппаратных конфигураций.
Глава 9 вводит читателя в системное администрирование и безопасность. Вы можете найти здесь информацию, которую вы могли бы получать самостоятельно только посредством многолетнего чтения и экспериментирования. Поскольку UNIX становится более распространенным в "реальном мире", безопасность становится очень важным вопросом. Мы представляем концепции, даем информацию о том, за чем необходимо следить, и инструментальные средства, помогающие следить.
Глава 10 завершает книгу подборкой специальных приемов UNIX, включающих одну-две командные строки, которые действуют неожиданно эффективно.
Набор приложений предоставляет информацию, полезную при программировании с помощью командного процессора и при отладке. Поскольку некоторые из инструментальных средств используют командные файлы, введенные ранее в данной книге, вы должны работать над книгой в соответствии с последовательностью глав, когда внедряете командные файлы в вашу систему. Однако вам не помешает сначала перелистать всю книгу.