Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents

9. Оставшийся 1%

В действительности это больше, чем 1%...

9.1. Использование tar & gzip

Под UNIX имеются некоторые широко используемая приложения для архивации и сжатия файлов. tar используется, чтобы сделать архив --- он подобен PKZIP, но не сжимает. Сделать новый архив:


       $ tar -cvf <archive_name.tar> <file> [file...]

Извлечь файлы из архива:


       $ tar -xpvf <archive_name.tar> [file...]

Выдать список содержимого архива:


       $ tar -tf <archive_name.tar> | less

Вы можете сжать файлы, используя compress, который является устаревшим и не должен больше использоваться, или gzip:


       $ compress <file>

       $ gzip <file>

Создание сжатого файла с расширением .z (compress) или .gz (gzip). Эти программы могут сжимать только один файл одновременно. Для декомпрессии, используйте:


       $ compress -d <file.Z>

       $ gzip -d <file.gz>

RMP. Имеются также утилиты unarj, zip и unzip (PKZIP совместимые). Файлы с расширением .tar.gz или .tgz (сархивированный tar, затем сжатый gzip) - наиболее общие в мире UNIX, поскольку .ZIP файлы находятся под DOS. Вот как вывести список содержимого .tar.gz архива:


       $ tar -ztf <file.tar.gz> | less

9.2. Установка приложений Прежде всего: установка пакетов - работа root. Большинство Linux приложений распространяется как .tar.gz архивы, которые обычно будут содержать каталог, называемый pkgname/ содержащий файлы и/или подкаталоги. Есть хорошее правило для установки этих пакетов - устанавливайте их в /usr/local командой


       # tar -zxf <archive.tar.gz>

затем читайте README или INSTALL файлы. Во многих случаях, пакет распространяется в виде исходных текстов, коорые вам надо скомпилировать, чтобы создать бинарные файлы; обычно, надо напечатать make, затем make install и все. Очевидно, что вам нужен компилятор gcc или g++. Другие архивы возможно надо распаковать из /; это относится к архивам Slackware. Другие архивы содержат файлы без подкаталогов. Всегда просматривайте список содержание архива перед установкой этого. Дистрибутивы Debian и Red Hat имеют собственные форматы архивов; соответственно, .deb и .rpm. Последний особенно широко распространен; чтобы установить .rpm пакет, напечатайте


       # rpm -i package.rpm

9.3. Советы, без которых не обойтись

Дописывание команды: нажатие <TAB> при наборе команды завершит командную строку за Вас. Пример: Вы должны напечатать gcc this_is_a_long_name.c; напечатайте gcc thi<TAB> . (Если у Вас имеются другие файлы, которые начинаются с тех же самых символов, то следут набирать достаточное количество символов, чтобы решить эту неоднозначность.)

Просмотр экрана вверх: нажатие <SHIFT + PAGUP> (серая клавиша) позволяет Вам прокрутить эркран вверх на несколько страниц, в зависимости от того, сколько видеопамяти Вы имеете.

Сброс экрана: если Вам случилось применить more или cat для двоичных файлов, то ваш экран может заполниться мусором. Чтобы это поправить, вслепую напечатайте reset или наберите последовательность символов: echo CTRL-V ESC c RETURN.

Вставка текста: в консоли, см. ниже; в X, нажмите, и переместите мышь, чтобы выбрать текст в окне xterm, затем нажмите среднюю кнопку (или две кнопки вместе, если у Вас мышь с двумя кнопками), чтобы вставить текст. Имеется также xclipboard (только для текста); не пугайтесь очень медленного ответа.

Использование мыши: если Вы установили gpm, драйвер мыши для консоли, Вы можете нажимать и перемещаться, чтобы выбрать текст, затем правый щелчок, чтобы вставить выбранный текст. Этот прием работает и для разных VC.

Сообщения от ядра: просмотрите в /var/adm/messages или /var/log/messages от root, чтобы увидеть то, что ядро сообщает Вам, включая загрузочные сообщения. Удобно для этого использовать команду dmesg.

9.4. Где найти приложения

Если вы задаетесь вопросом, имеются ли приложения для замены ваших старых DOS/Win, я предлагаю Вам просмотреть главные склады программного обеспечения Linux: ftp://sunsite.unc.edu/pub/Linux , ftp://tsx-11.mit.edu/pub/linux , и ftp://ftp.funet.fi/pub/Linux . Другое классное место - это ``Страница приложений и утилит Linux'' на http://www.xnet.com/~blatura/linapps.shtml .

9.5. Вещи, которые вы не могли делать раньше

Linux может делать ужасно много вещей, которые было тяжело, трудно или невозможно сделать в DOS/Win. Вот короткий список тех возможностей, которые могут вас заинтересовать:

  • at позволяет запускать программы в указанное время;
  • awk простой, но мощный язык манипулирования файлами данных (и не только). Например, пусть data.dat - это ваш файл данных с несколькими полями,

    
           $ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
    
    

    печатает 1 и 4 поля каждой строки в data.dat, чье второе поле содержит "abc".

  • cron полезен для периодического выполнения задач в указанный день и час. Напечатайте man 5 crontab.
  • file <filename> говорит, чем по формату является filename (ASCII текст, выполнимый, архиы, итд.);
  • find (см. также раздел ``Каталоги: трансляция команд'') - одна из наиболее мощных и полезных команд. Она используется для поиска файлов, которые соответствуют нескольким условиям и выполняет над ними какие-либо действия. Обычное использование find:

    
           $ find <directory> <выражение>
    
    

    где <выражение> включает критерии поиска и действия. Примеры:

    
           $ find . -type l -exec ls -l {} \;
    
    

    Находит все файлы, которые являются символическими связями, и показывает на что они указывают.

    
           $ find / -name "*.old" -ok rm {} \;
    
    

    Находит все файлы, соответствующие образцу и удаляет их, сначала запрашивая ваше разрешение.

    
           $ find . -perm +111
    
    

    Находит все файлы, чьи права доступа соответствуют 111 (выполнимой программе).

    
           $ find . -user root
    
    

    ищет все файлы, которые принадлежат root. Существует большое количество возможностей --- RMP.

  • grep ищет по текстовым образцам в файлах. Например,

    
           $ grep -l "геология" *.tex
    
    

    перечисляет файлы *.tex, которые содержат слово "геология". Вариант zgrep работает на gzipped файлах. RMP;

  • регулярные выражения сложны, но это мощный способ выполнения операций поиска в тексте. Например, ^a[^a-m]X{4,}txt$ соответствует строке, которая начинается с "а", далее идет любой символ за исключением тех, что находятся в интервале a-m, далее 4 или больше символов "X", и в конце "txt". Вы используете регулярные выражения с мощными редакторами, less и многими другими приложениями. Почитайте man grep для примера использования регулярных выражений.
  • script <script_file> отображает на экране содержимое script_file до тех пор, пока вы не введете команду exit. Полезен для отладки;
  • sudo позволяет пользователям выполнять некоторые из задач root (например, форматирование и монтирование дисков; RMP);
  • uname -a выдает имя вашей системы;
  • Следующие команды часто запускаются вручную: bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew. RMP.

9.6. Общие расширения и связанные с ними программы

Вы можете натолкнуться на множество расширений файлов. Исключив более экзотические (то есть шрифты, и т.д.), перечислим и разъясним некоторых из них:

  • 1 ... 8: man страницы. Маловероятно, что у Вас их нет, нужен man.
  • arj: архив, созданный arj.
  • dvi: результат работы TeX (см. ниже). Эти файлы отображаются xdvi; dvips преобразует их в формат PostScript - .ps файлы.
  • gz: архив, созданный gzip.
  • info: файл info (альтернатива для man страниц). Нужен info.
  • lsm: файл Linux Software Map. Он содержит описание пакета в формате простого ASCII текста.
  • ps: файл PostScript. Для отображения или печати нужен gs и, возможно, ghostview или gv.
  • rpm: пакет Red Hat. вы можете установить его на любой системе, использующей менеджер пакетов rpm.
  • taz, tar.Z: архив, созданный tar и сжатый compress.
  • tgz, tar.gz: архив, созданный tar и сжатый gzip.
  • tex: текстовый файл, созданный TeX, мощной печатной системой. Нужен пакет tex, который доступен во многих дистрибутивах; но остерегайтесь NTeX, который разрушает шрифты и включен в некоторые версии Slackware.
  • texi: texinfo файл, может обрабатывать и TeX, и info файлы (cp. info). Нужен texinfo.
  • xbm, xpm, xwd: графический файл. Их можно редактировать с помощью xpaint.
  • Z: архив создан утилитой compress.

9.7. Преобразование текстовых файлов

Если Вам нужно переносить текстовые файлы между DOS/Win и Linux, то берегитесь проблемы "конца строки". Под DOS конец каждой строки заканчивается комбинацией CR/LF, в то время как в Linux - символом LF. Если Вы попробуете отредактировать текстовый файл DOS под Linux, каждая строка скорее всего будет заканчиваться странно выглядищим символом `M'; текстовый файл Linux под DOS будет выглядеть как одна километровая строка без параграфов. Имеется пара утилит, dos2unix и unix2dos, для преобразования текстовых файлов.

Если ваши файлы содержат символы с диакритическим знаком, удостоверьтесь, что они сделаны под Windows (скажем, с помощью Write или Notepad), а не под простым DOS; иначе, все символы с диакритическим знаком будут искажены.

Преобразовать файлы в формате Word или WordPerfect в простой текст немного сложнее, но вполне возможно. Вам понадобится одна из утилит, которые могут быть найдены на сайтах CTAN; например - ftp://ftp.tex.ac.uk. Возьмите пакет word2x из каталога /pub/tex/tools/, или попробуйте пакеты в каталоге /pub/tex/support/. Я пробовал только word2x, и работает он очень хорошо.


Next Previous Contents