CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Консоль для линуксоида

Петр 'Roxton' СЕМИЛЕТОВ

Если с графическим интерфейсом Линукса может разобраться каждый желающий, то консоль была и остается для новичков загадочным текстовым окном, непонятно зачем соседствующим рядом с вкусными окошками Гнома или KDE. Между тем настоящий линуксоид пользуется консолью чаще, чем курильщик — зажигалкой.

Правда, для этого навыки нужны. Однако пока человек не обнаружит положительную сторону чего-либо, нет у человека охоты это изучать. Какие же преимущества у консоли перед графическим интерфейсом? Преимущество одно — многие программы под Линуксом функционируют именно в консольном режиме. Конечно же, никто не мешает сделать под них ссылки, вытащить их на рабочий стол и снабдить красивыми иконками, но... Проще и быстрее общаться с консолью.

Первое, что отпугивает юзеров — это необходимость набирать вручную громоздкие команды со множеством параметров. Между тем, не все так худо. Предположим, вы хотите набрать нечто забористое вроде команды insmod_ksymoops_clean. Думаете, надо вводить все это собственными пальцами, которые от непосильного топтания клавиатуры до того устали, что даже в носу ковырять отказываются? Вот и нет! Просто начинаете набирать insmod_ и нажимаете Tab. В результате команда автоматически дополняется до нужной. А вот ежели ввести insmod и нажать на Tab, то отобразятся все доступные команды, начинающиеся на «insmod». Другой пример — подстановка имени файла в качестве параметра к чему-либо. Здесь снова действует клавиша Tab, на сей раз «дополняя» уже название файла из текущей директории.

Вторым акселератором работы с консолью является команда history, выводящая введенные ранее команды, причем в пронумерованном виде. Выискиваем орлиным взглядом нужную нам команду, запоминаем ее номер в списке, а затем вводим:

Пример:

Выводится история (привожу здесь фрагмент):

Команда номер 384 устанавливает скорость CD-ROM'а в 40, а номер 386 — снижает до двадцати. Допустим, я хочу выполнить последнее, поэтому ввожу команду:

Все, сработало!

Существует еще один, более медленный способ обращения с историей команд — это последовательный их перебор клавишами «вверх» и «вниз». Мне больше нравится history... Кстати, содержимое «истории» хранится в файле .bash_history, лежащем в вашей домашней директории. Размер этого файла и количество записей в нем регулируется в файле etc/bashrc либо в локальных настройках — файле /<homedir>/.bashrc.

Туда можно добавить два параметра:

Первый определяет, сколько записей может быть в файле истории, а второй — максимальный размер самого файла. Числа в примере взяты «с потолка» :-).

Неочевидная вещь: если вы работаете в «голой» консоли, то прокручивать текст на страницу вверх или вниз можно с помощью клавиш Shift+вверх/вниз.

Основываясь на письмах читателей, предположу, что самым непонятным в Линуксе для них является установка программ из исходников. Читатель обычно пишет: вот, мол, я скачал какой-то архив, а дальше что с ним делать? Если относительно пакетов RPM («эрпээмок») вопросов обычно не возникает (скачал, запустил, работает — если конфликтов нет), то понятие «исходника» или же source, исходного кода программы, вызывает в глазах пользователя большой знак вопроса. Особенно если этот пользователь в последний раз видел код программы на школьном уроке по информатике. Всплывает вычисление факториала и тому подобное, более пригодное для научных исследований, нежели в практическом программировании. Но это уже философия...

Для установки программ из исходников используется консоль. Как именно? Сейчас я расскажу. Итак, большинство программ под Линукс распространяются в исходных кодах на языках С или С++. «Зачем такой геморрой?» — задаст вопрос читатель. Отвечаю — согласно философии Линукса, софт должен быть бесплатным и с открытым кодом, дабы каждый мог внести свою лепту в уже существующие наработки. Кроме того, дистрибуция продукта в исходных кодах фактически исключает распространение вирусов. Вот почему известно всего с десяток вирусов под Линукс, однако свыше 60 тысяч — для DOS и Windows, где большинство программ попадают на компьютер в уже откомпилированном, «бинарном» формате, к которому и любят цепляться вирусы.

Итак, вот скачали вы «архив» — обычно он упакован tar'ом и вдобавок сжат zip'ом, потому имеет двойное расширение —tar.gz. Его нужно распаковать в отдельную папку. Проще всего сделать это в любом файловом менеджере вроде Konqueror или Krusader — просто заходите в архив, как в обычную директорию, и копируете оттуда куда-нибудь файлы. В консольном файл-менеджере Midnight Commander распаковать архив можно так: установите курсор на файл, а затем нажмите F2. Вылезет контекстное меню. В нем выбирайте пункт Extract the contents of a compressed tar file, после чего в текущей директории появится новая, с распакованным содержимым архива. Все, можем заняться установкой.

Теперь все зависит от разработчиков. Чем лучше они обеспечили процесс компиляции, тем лучше для вас. Вам нужно откомпилировать исходный код, чтобы получить бинарный (грубо говоря, «экзешник» или/и статические либо динамические библиотеки). Для компиляции нужны: компилятор для того языка, на котором написаны исходники (чаще всего это С или С++), а также «пакеты для разработчиков», в которых содержатся заголовки функций к разным библиотекам. Ну и сами библиотеки, разумеется. Например, если вы хотите откомпилировать программу, созданную для работы в Гноме, то сначала нужно установить пакеты вроде libgtk+x-devel. То, что для компиляции нужно, описывается в сопроводиловке к программе — файлах README либо install. Чтобы не вызывать компилятор напрямую, используется утилита make, которой «скармливается» make-файл с различными параметрами для компилятора и линкера. Make-файл или прилагается к исходнику, либо генерируется запуском скрипта (configure). Большим программам перед компиляцией требуется настройка, поэтому configure зачастую имеет множество параметров. Хорошим примером служит конфигурационный скрипт популярного видео-плейера MPlayer (http://www.mplayerhq.hu), который при запуске автоматически выполняет проверки — какой у вас процессор, видеокарта и так далее, чтобы оптимизировать плейер под конкретную систему. Результатом работы configure является файл с именем Makefile.

Затем следует ввести команду make. Если make-файл корректен, то начнется процесс компиляции. Он может занять от нескольких секунд до минут или даже часов — в зависимости от величины программы и скорости вашего компьютера. Если компиляция завершается успешно, запускаем команду make install, которая по идее должна скопировать полученные в процессе компиляции бинарники в нужные директории и зарегистрировать библиотеки. То есть, в идеале установка софта из исходника выглядит так, пошагово:

На практике случается вот что. В шаге первом скрипту может что-то не понравиться, чего-то он не найдет или не поймет. Например, тот же скрипт от MPlayer'а в упор не видит, что у меня установлены библиотеки SVGALib и SDL. При шаге втором может обнаружиться ошибка в исходном коде. В солидных дистрибутивах такое не случается. Лекарство в этом случае — хирургическое вмешательство в исходник при помощи остро отточенного... текстового редактора. При условии, что вы знаете С или С++, а заодно и специфику используемых в продукте библиотек. И наконец, в ходе третьего шага могут быть выполнены отнюдь не все нужные действия. Например, куда-то не скопировался какой-то файл. Его приходится копировать вручную. Чем солиднее продукт, тем меньше таких вот «накладок» получается.

Давайте теперь о чем-нибудь веселом. Как получить лог действий пользователя, точнее, записать в файл все, что будет происходить в его консольном сеансе? Для этого запускаем команду:

В этот файл будет писаться все, что произойдет на экране. До тех пор, пока пользователь не завершит сеанс работы. Впрочем, скрипт виден в любом просмотрщике процессов (тот же консольный pstree, например), так что в качестве серьезного средства слежения за юзерами эта команда вряд ли может использоваться. Разве что против чайников...

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

Параметр -b1m означает, что каждый кусочек будет размером своим равен 1 Мб. Отсюда и буква m после единицы. Если бы мы хотели задать размер в килобайтах, то написали бы -b1024k. Второй параметр указывает на имя разбиваемого файла, а третий — с какого префикса будет начинаться имя каждого из фрагментов. Разбили? Теперь соберем фрагменты вместе с помощью универсальной палочки-выручалочки — команды cat:

Вот и вся премудрость. Как вы поняли, фрагменты собрались в файл big.txt.

А вот простейший способ создания полной копии диска:

При выполнении этой команды в файле mycd.iso создается точная копия вставленного в сидюк диска. Чтобы записать ее на болванку, останется лишь дать команду вроде:

Здесь speed — скорость записи, dev — записывающее устройство (в параметрах обычно нули), fs — размер буфера записи, 16 метров. Наконец, параметр -eject выдвинет каретку с диском после окончания записи. Следует отметить, что команда dd лучше, нежели утилита mkisofs, подходит для создания копий дисков. Не нужно заморачиваться с выбором файловой системы и так далее — просто создается точный образ диска, и баста!

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

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov