От DOS к Linux (заключение)
Файлы инициализации системы
В операционной системе MS DOS важную роль играют файлы AUTOEXEC.BAT и CONFIG.SYS, которые используются в процессе загрузки для инициализации системы, значений некоторых переменных, например PATH и FILES, загрузки драйверов устройств и запуска некоторых программ или командных .BAT файлов. У ОС Linux тоже имеется несколько файлов инициализации, и некоторые из них не рекомендуется модифицировать, пока Вы не будете знать, чем грозит изменение каждой строки. Важнейшими являются файл /etc/inittab и все файлы в каталоге /etc/rc.d/*.
Если все, что Вам нужно, - это настроить некоторые переменные, например PATH, изменить вид системного приглашения, либо автоматически запускать какую-либо программу сразу после входа в систему, обратите внимание на эти файлы:
/etc/issue - сообщение, которое выводится на экран перед входом в систему;
/etc/motd - сообщение, которое выводится на экран сразу после входа в систему;
/etc/profile - хранит PATH и другие переменные;
/etc/bashrc - описания пользовательских команд (aliases) и функций;
home/your_home/.bashrc - описания Ваших личных команд и функций;
home/your_home/.bash_profile - настройки переменных среды пользователя и запуск программ;
home/your_home/.profile - то же..
В ОС Linux практически все может быть настроено согласно Вашим потребностям, возможностям и желаниям. Многие программы имеют файлы инициализации, которые можно "перешивать под себя", часто они размещаются в Вашем домашнем каталоге и имеют названия.prognamerc. Точка в начале имен этих файлов говорит о том, что обнаружить их нелегко. Вот файлы, которые уже можно попробовать изменить:
.inputrc - используется шеллом bash для описания комбинаций и групп клавиш;
.xinitrc - используется программой startx для инициализации графического оконного интерфейса;
.fvwmrc - используется оконным менеджером fvwm;
.Xdefault - используется rxvt, эмулятором терминала в Х и другими программами.
Немного программирования
Если Вам приходилось создавать.ВАТ файлы для того, чтобы просто упрятать в маленьком командном файле длинную командную строку, то в Linuxэта проблема решается добавлением команд пользователя в файл.profile. Но если Ваши.ВАТ файлы имели более сложную структуру, то Вам, безусловно, понравится встроенный язык интерпретатора командной строки в Linux. Поверьте, он будет получше, чем QBasic. Можно оперировать системными и описанными пользователем переменными, набором логических и циклических операторов и структур, таких, как while, for, if... then... else, case и многими другими инструментами. Язык скриптов шелла может быть достойной альтернативой "настоящим" языкам программирования.
Написать скрипт - равнозначно написанию.ВАТ файлов для ДОС - это стандартные текстовые файлы с набором команд. Сохраните этот файл на диске и сделайте его выполнимым при помощи команды:
$ chmod +x <scriptfile>
Чтобы выполнить программу-скрипт, просто введите его имя.
Хочу напомнить, что текстовым редактором по умолчанию система обычно устанавливает редактор vi, многие годы лидирующий в списках популярности согласно опросам пользователей, возможно, потому, что мало кому удается перейти к использованию другого, более удобного (например, joe или emacs).
У редактора vi два режима: командный и режим редактирования. Переключателем режимов работает клавиша <Esc> . Все команды редактора начинаются с символа "двоеточие", который тоже должен быть введен пользователем, и печатаются на нижней строке экрана. Пособие по работе с этой классической программой - это книжка в несколько сот страниц, поэтому приведу только пару советов, которые должны пригодиться новичкам:
- чтобы вставить текст, нажмите клавишу "i", а потом набирайте уже сам текст;
- чтобы выйти из редактора без сохранения документа нажмите <Esc>, а затем:q!
- чтобы сохранить файл и выйти, нажмите <Esc>, а затем:wq.
Понравится Вам это или нет, но в UNIX системным языком программирования является язык С. Хотя для программистов доступны и другие языки (FORTRAN, Pascal, Lisp, Basic, Perl, awk... и т.д.). Тем, кто пользовался Turbo C++ или одним из его ДОС'овских родственников, будет несложно сменить "тарелку" операционной системы. Компилятор языка С в Linux называется gcc и не содержит встроенного описания, отладчика и прочих наворотов своего конкурента от DOS. Приготовьтесь к работе со скромной командной строкой, но достаточно мощной и эффективной. Чтобы откомпиллировать стандартный файл hello.c, выполните простую команду:
$gcc hello.c
в результате Вы получите выполняемый файл a.out.
Чтобы использовать библиотеки стандартных программ, добавьте ключ -l<libname> . Пример:
$gcc -o mathprog mathprog.c -lm
(ключ -l<libname> направляет gcc за библиотекой /usr/lib/lib<libname> .a; так что -lm указывает на /usr/lib/libm.a).
Если Ваша программа состоит из нескольких файлов, нужно использовать утилиту make и создавать специальные файлы, в которых содержится описание связей и зависимостей между фрагментами программы - makefile.
Создаем виртуальную память
Хотя Linux и может работать на компьютере с двумя мегабайтами оперативной памяти, но чем большим объемом Вы располагаете, тем больше задач можете выполнять на своей машине. Графический оконный интерфейс Х, например, вообще не стартует, если размер памяти менее 8 Мб.
Чтобы создать дополнительные 8 Мб виртуальной памяти, введите следующие команды:
# dd if=/dev/zero of=/swapfile bs=1024 count=8192
# mkswap /swapfile 8192
# sync
# swapon /swapfile
Добавьте последнюю строку в файл /etc/rc.d/rc.local, чтобы созданный свопинг-раздел был доступен после следующей перезагрузки системы, или допишите вот такую строчку в файл /etc/fstab:
/swapfileswapswapdefaults
Устанавливаем приложения
Прежде всего, устанавливать дополнительные программы и приложения может только администратор системы. Некоторые Linux приложения распространяются в виде архивов.tar,.gz или.tgz, которые специально подготовлены для распаковки командой:
# gzip -dc <file.tar.gz> | tar xvf -
Все файлы будут размещены в специально созданном каталоге. У пользователей дистрибутива Slackware есть хорошая программа pkgtool, пользователи Red Hat Linux могут использовать rpm или glint.
Рекомендуется устанавливать приложения из каталога /usr/local. Некоторые приложения распространяются в виде исходных текстов на языке С или С++, они нуждаются в компилляции, а для этого должны быть в наличии как сам компиллятор gcc, так и необходимые библиотеки. В большинстве случаев требуется выполнение команды make.
Полезные советы
Дополнение имен файлов - нажатие <Tab> во время ввода команды в командной строке может дополнить командную строку вместо Вас. Достаточно ввести несколько символов начала имени файла и по нажатию клавиши "табуляции" это имя будет выведено полностью (если в текущем каталоге находится несколько файлов с похожими названиями, следует ввести дополнительные символы).
Скроллинг, прокрутка экрана - нажав <Shift> +<Page Up> можно просматривать несколько страниц текста, выводимого на экран рабочей консоли. Размер этого буфера зависит от объема видеопамяти.
Очистка экрана - простые команды clear или reset.
Использование мыши - установите gpm, драйвер мыши для консоли. Теперь можно выделять фрагменты текста, видимого на экране, и вставлять его нажатием правой клавиши мыши. Перенос информации возможен между различными виртуальными консолями. В ОС Linux может быть задействована средняя клавиша мыши (если она в наличии) либо возможно ее эмулирование одновременным нажатием левой и правой клавиш.
Сообщения системы - как администратор системы обратите внимание на файлы /var/log/messages или /var/adm/messages, в них заносятся все сообщения кернела, начиная с процесса загрузки.
Полезные программы и команды
Этот справочник краток, но может пригодиться новичкам в начале работы. Напоминаю, что узнать подробности о синтаксисе и возможных передаваемых команде параметрах поможет самая главная для новичка команда - man!
- at - позволяет запускать программы в определенное время;
- df - вывод информации о дисках;
- dosemu - разрешает выполнение некоторых (не всех) DOS программ, включая Windows 3.x, эмулятор;
- file <filename> - сообщает тип файла (текстовый, выполнимый, архивный... и т.д.);
- find - весьма полезная программа для поиска файлов и выполнения файловых операций;
- grep - поиск текста внутри файлов;
- gzexe - программа сжатия выполнимых файлов с сохранением возможности их выполнения;
- joe - замечательный текстовый редактор, похожий на WordStar;
- less - лучшая программа для просмотра текстовых файлов;
- lpr <file> - печать файлов в фоновом режиме. Просмотр очереди печати выполняется командой lpq, очистка очереди, удаление заданий - lprm;
- mc - чудесный менеджер файлов;
- pine - хорошая почтовая программа;
- script <script_file> - сохраняет все, что появляется на экране в указанном файле до ввода команды exit. Полезно при отладке;
- sudo - позволяет рядовым пользователям выполнять некоторые задачи администратора системы, например форматирование и монтирование дисков;
- uname -a - выводит на экран информацию об операционной системе;
- zcat и zless - пригодятся для просмотра архивированных текстовых файлов без их распаковки;
- passwd - изменение пользовательского пароля;
- tail - просмотр последних 20 строк файла.
Поздравляю! Теперь Вы знаете немного больше об операционной системе UNIX и можете начинать работать самостоятельно и применять эти знания на практике. В поисках информации, документации, программного обеспечения, разрешения возможных проблем, возникших при эксплуатации системы, можно обратиться в MLUG (Minsk Linux Users Group): http://www.minsk. lug.net или http://mirror.minsk.lug.net.
Игорь Грень
В операционной системе MS DOS важную роль играют файлы AUTOEXEC.BAT и CONFIG.SYS, которые используются в процессе загрузки для инициализации системы, значений некоторых переменных, например PATH и FILES, загрузки драйверов устройств и запуска некоторых программ или командных .BAT файлов. У ОС Linux тоже имеется несколько файлов инициализации, и некоторые из них не рекомендуется модифицировать, пока Вы не будете знать, чем грозит изменение каждой строки. Важнейшими являются файл /etc/inittab и все файлы в каталоге /etc/rc.d/*.
Если все, что Вам нужно, - это настроить некоторые переменные, например PATH, изменить вид системного приглашения, либо автоматически запускать какую-либо программу сразу после входа в систему, обратите внимание на эти файлы:
/etc/issue - сообщение, которое выводится на экран перед входом в систему;
/etc/motd - сообщение, которое выводится на экран сразу после входа в систему;
/etc/profile - хранит PATH и другие переменные;
/etc/bashrc - описания пользовательских команд (aliases) и функций;
home/your_home/.bashrc - описания Ваших личных команд и функций;
home/your_home/.bash_profile - настройки переменных среды пользователя и запуск программ;
home/your_home/.profile - то же..
В ОС Linux практически все может быть настроено согласно Вашим потребностям, возможностям и желаниям. Многие программы имеют файлы инициализации, которые можно "перешивать под себя", часто они размещаются в Вашем домашнем каталоге и имеют названия.prognamerc. Точка в начале имен этих файлов говорит о том, что обнаружить их нелегко. Вот файлы, которые уже можно попробовать изменить:
.inputrc - используется шеллом bash для описания комбинаций и групп клавиш;
.xinitrc - используется программой startx для инициализации графического оконного интерфейса;
.fvwmrc - используется оконным менеджером fvwm;
.Xdefault - используется rxvt, эмулятором терминала в Х и другими программами.
Немного программирования
Если Вам приходилось создавать.ВАТ файлы для того, чтобы просто упрятать в маленьком командном файле длинную командную строку, то в Linuxэта проблема решается добавлением команд пользователя в файл.profile. Но если Ваши.ВАТ файлы имели более сложную структуру, то Вам, безусловно, понравится встроенный язык интерпретатора командной строки в Linux. Поверьте, он будет получше, чем QBasic. Можно оперировать системными и описанными пользователем переменными, набором логических и циклических операторов и структур, таких, как while, for, if... then... else, case и многими другими инструментами. Язык скриптов шелла может быть достойной альтернативой "настоящим" языкам программирования.
Написать скрипт - равнозначно написанию.ВАТ файлов для ДОС - это стандартные текстовые файлы с набором команд. Сохраните этот файл на диске и сделайте его выполнимым при помощи команды:
$ chmod +x <scriptfile>
Чтобы выполнить программу-скрипт, просто введите его имя.
Хочу напомнить, что текстовым редактором по умолчанию система обычно устанавливает редактор vi, многие годы лидирующий в списках популярности согласно опросам пользователей, возможно, потому, что мало кому удается перейти к использованию другого, более удобного (например, joe или emacs).
У редактора vi два режима: командный и режим редактирования. Переключателем режимов работает клавиша <Esc> . Все команды редактора начинаются с символа "двоеточие", который тоже должен быть введен пользователем, и печатаются на нижней строке экрана. Пособие по работе с этой классической программой - это книжка в несколько сот страниц, поэтому приведу только пару советов, которые должны пригодиться новичкам:
- чтобы вставить текст, нажмите клавишу "i", а потом набирайте уже сам текст;
- чтобы выйти из редактора без сохранения документа нажмите <Esc>, а затем:q!
- чтобы сохранить файл и выйти, нажмите <Esc>, а затем:wq.
Понравится Вам это или нет, но в UNIX системным языком программирования является язык С. Хотя для программистов доступны и другие языки (FORTRAN, Pascal, Lisp, Basic, Perl, awk... и т.д.). Тем, кто пользовался Turbo C++ или одним из его ДОС'овских родственников, будет несложно сменить "тарелку" операционной системы. Компилятор языка С в Linux называется gcc и не содержит встроенного описания, отладчика и прочих наворотов своего конкурента от DOS. Приготовьтесь к работе со скромной командной строкой, но достаточно мощной и эффективной. Чтобы откомпиллировать стандартный файл hello.c, выполните простую команду:
$gcc hello.c
в результате Вы получите выполняемый файл a.out.
Чтобы использовать библиотеки стандартных программ, добавьте ключ -l<libname> . Пример:
$gcc -o mathprog mathprog.c -lm
(ключ -l<libname> направляет gcc за библиотекой /usr/lib/lib<libname> .a; так что -lm указывает на /usr/lib/libm.a).
Если Ваша программа состоит из нескольких файлов, нужно использовать утилиту make и создавать специальные файлы, в которых содержится описание связей и зависимостей между фрагментами программы - makefile.
Создаем виртуальную память
Хотя Linux и может работать на компьютере с двумя мегабайтами оперативной памяти, но чем большим объемом Вы располагаете, тем больше задач можете выполнять на своей машине. Графический оконный интерфейс Х, например, вообще не стартует, если размер памяти менее 8 Мб.
Чтобы создать дополнительные 8 Мб виртуальной памяти, введите следующие команды:
# dd if=/dev/zero of=/swapfile bs=1024 count=8192
# mkswap /swapfile 8192
# sync
# swapon /swapfile
Добавьте последнюю строку в файл /etc/rc.d/rc.local, чтобы созданный свопинг-раздел был доступен после следующей перезагрузки системы, или допишите вот такую строчку в файл /etc/fstab:
/swapfileswapswapdefaults
Устанавливаем приложения
Прежде всего, устанавливать дополнительные программы и приложения может только администратор системы. Некоторые Linux приложения распространяются в виде архивов.tar,.gz или.tgz, которые специально подготовлены для распаковки командой:
# gzip -dc <file.tar.gz> | tar xvf -
Все файлы будут размещены в специально созданном каталоге. У пользователей дистрибутива Slackware есть хорошая программа pkgtool, пользователи Red Hat Linux могут использовать rpm или glint.
Рекомендуется устанавливать приложения из каталога /usr/local. Некоторые приложения распространяются в виде исходных текстов на языке С или С++, они нуждаются в компилляции, а для этого должны быть в наличии как сам компиллятор gcc, так и необходимые библиотеки. В большинстве случаев требуется выполнение команды make.
Полезные советы
Дополнение имен файлов - нажатие <Tab> во время ввода команды в командной строке может дополнить командную строку вместо Вас. Достаточно ввести несколько символов начала имени файла и по нажатию клавиши "табуляции" это имя будет выведено полностью (если в текущем каталоге находится несколько файлов с похожими названиями, следует ввести дополнительные символы).
Скроллинг, прокрутка экрана - нажав <Shift> +<Page Up> можно просматривать несколько страниц текста, выводимого на экран рабочей консоли. Размер этого буфера зависит от объема видеопамяти.
Очистка экрана - простые команды clear или reset.
Использование мыши - установите gpm, драйвер мыши для консоли. Теперь можно выделять фрагменты текста, видимого на экране, и вставлять его нажатием правой клавиши мыши. Перенос информации возможен между различными виртуальными консолями. В ОС Linux может быть задействована средняя клавиша мыши (если она в наличии) либо возможно ее эмулирование одновременным нажатием левой и правой клавиш.
Сообщения системы - как администратор системы обратите внимание на файлы /var/log/messages или /var/adm/messages, в них заносятся все сообщения кернела, начиная с процесса загрузки.
Полезные программы и команды
Этот справочник краток, но может пригодиться новичкам в начале работы. Напоминаю, что узнать подробности о синтаксисе и возможных передаваемых команде параметрах поможет самая главная для новичка команда - man!
- at - позволяет запускать программы в определенное время;
- df - вывод информации о дисках;
- dosemu - разрешает выполнение некоторых (не всех) DOS программ, включая Windows 3.x, эмулятор;
- file <filename> - сообщает тип файла (текстовый, выполнимый, архивный... и т.д.);
- find - весьма полезная программа для поиска файлов и выполнения файловых операций;
- grep - поиск текста внутри файлов;
- gzexe - программа сжатия выполнимых файлов с сохранением возможности их выполнения;
- joe - замечательный текстовый редактор, похожий на WordStar;
- less - лучшая программа для просмотра текстовых файлов;
- lpr <file> - печать файлов в фоновом режиме. Просмотр очереди печати выполняется командой lpq, очистка очереди, удаление заданий - lprm;
- mc - чудесный менеджер файлов;
- pine - хорошая почтовая программа;
- script <script_file> - сохраняет все, что появляется на экране в указанном файле до ввода команды exit. Полезно при отладке;
- sudo - позволяет рядовым пользователям выполнять некоторые задачи администратора системы, например форматирование и монтирование дисков;
- uname -a - выводит на экран информацию об операционной системе;
- zcat и zless - пригодятся для просмотра архивированных текстовых файлов без их распаковки;
- passwd - изменение пользовательского пароля;
- tail - просмотр последних 20 строк файла.
Поздравляю! Теперь Вы знаете немного больше об операционной системе UNIX и можете начинать работать самостоятельно и применять эти знания на практике. В поисках информации, документации, программного обеспечения, разрешения возможных проблем, возникших при эксплуатации системы, можно обратиться в MLUG (Minsk Linux Users Group): http://www.minsk. lug.net или http://mirror.minsk.lug.net.
Игорь Грень
Компьютерная газета. Статья была опубликована в номере 07 за 1999 год в рубрике soft :: unix