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