Библиотека сайта rus-linux.net
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, и работает он очень хорошо.
