Текст
                    С. Скловская
Команды
Linux
Справочник
Издание третье,
переработанное и дополненное
ГТТТШ	я°“
L7 DiaSoft
Москва  Санкт-Петербург • Киев
2004

ББК 32.973.2 УДК 681.3. 06(075) С 43 С.Л.Скловская С 43 Команды Linux. Справочник, 3-с изд., псрераб. и доп. / С.Л.Скловская. - СПб.: ООО «ДиаСофтЮП», 2004. — 848 с. ISBN 5-93772-113-6 Что представляют собой команды? Это — основа всех основ. Хотя информация о них под- час рассредоточена в разных местах, нс всегда отличается полнотой, в ряде дистрибутивов на некоторые команды вообще отсутствует документация. Книга «Команды Linux. Справочник. Издание третье, переработанное и дополненное» содержит свыше 530 команд: классических и совсем новых, популярных и нс очень, незаслуженно забытых или не нашедших у нас долж- ного распространения. Их описания расположены в алфавитном порядке. Все команды так- же классифицированы по тематическим направлениям и представлены в разделе «Типовые опе- рации». Третье издание дополнено новыми командами по самым разным направлениям. Большое внимание уделено файловым системам ext3 и ReiserFS и связанным с ними командам. Рас- ширены приложения VI и VII. Справочник рассчитан на пользователей Linux без привязки к определенному дистрибути ву, а также на пользователей FreeBSD и ОС Unix. ББК 32.973.2 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владель- цев авторских прав. Все упомянутые в данном издании товарные знаки и зарегистрированные товарные зна ки принадлежат своим законным владельцам. Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или техни- ческие ошибки, издательство нс может гарантировать абсолютную точность и полноту1 приво- димых сведений и нс несет ответственности за возможные ошибки, связанные с использова- нием книги. © ООО «ДиаСофтЮП», 2004 ISBN 5-93772-113-6 (рус.) © Оформление ООО «ДиаСофтЮП». 2004 Гигиеническое заключение № 77.99.6.953.П.438.2.99 от 04.02. |Ч’)Ч
Содержание Вместо аннотации.......................................................7 Справочник команд - ваш навигатор в динамичном мире Linux..............8 Как работать с командами. Общие положения..............................9 Условные обозначения в описаниях синтаксиса............................9 Как подобрать необходимые команды.....................................10 I. Типовые операции......................................................11 Файлы и каталоги......................................................11 Запуск заданий (команд), управление процессами........................13 Клавиатура............................................................15 Шрифты................................................................16 Сети..................................................................16 Почта............................................................... 18 Usenet, InterNetNews..................................................19 X Window..............................................................21 Работа с изображениями................................................22 Административные задачи...............................................23 Счета пользователей и групп, пароли................................. 27 Разработка программного обеспечения...................................27 Служебные информационные команды......................................29 II. Команды..........................................30 30 awk 61 chattr 94 ЯГ.Г-PSS 31 badblocks 61 chfn 95 addr?line .... 32 banner 61 chgrp 96 adduser 33 hasename . 62 chkconfig 97 adjtimex 33 bash 63 chkfontpath ..... 98 34 batch 64 chmod 99 35 batcher 65 chown..... 102 36 be 66 ch root 103 япясгоп 37 bdflush 68 chsh ...... 103 animate 38 bdftopcf 69 ci 104 42 bo 70 cksum. 108 appres 42 •••• bison 70 clear ..... 109 apropos . .. 43 bitmap 72 emp 109 44 bmptoppm............ 73 co 111 46 bmtoa 74 eolert ..... 115 46 buffchan 74 colrm 115 48 bunzip2 75 column 116 50 bzcat 76 combine 117 ascpu 51 bzip2 76 comm 121 asload 52 bzip2recover 77 comp 123 at 53 c++filt 78 composite 124 atobm 55 cal 79 compress 130 atq . ... 56 cat 79 consolechars 131 atrm 57 СССР, или epp 81 convert 133 audiocompose 57 cd 83 cp 140 audiosend 57 cdp ....................... ... . 83 cpio 142 ai irnix 58 cdrecord 85 cproto......... 148 autofs 59 chage .. 92 cron .. 150 automount.... 60 chat 92 crontab 151
4 Содержание crosspost...........152 cryptdir............153 csplit..............153 ctags...............155 ctlinnd.............160 ctrlaltdel..........164 cu..................164 cut.................167 cvs.................169 cvtbatch............173 cxpm................173 date................174 dd..................176 debugfs.............177 debugreiserfs.......182 decryptdir..........183 depmod..............184 df..................185 dialog..............186 diff................189 diff3...............192 dip.................194 display............... 197 dist................204 dmesg ..............206 dnsdomainname.......207 domainname..........208 du..................208 dump................209 dumpe2fs............212 dumpkeys............214 e2fsck..............215 e2image.............217 echo................218 ed..................218 edquota.............220 egrep...............221 eject...............222 elm.................223 emacs...............225 env.................228 etags...............229 expand..............229 expect..............229 expire..............230 expireindex.........232 expireover..........233 expirerm............234 expr................235 fastmail............235 fastrm..............236 fdformat............237 fdisk...............237 fetch mail..........239 fg..................244 fgrep................244 file.................245 filechan.............246 find.................247 finger...............251 flex.................252 fmt..................256 fold.................257 formail..............257 forw.................260 free.................263 frm (nfrm)...........263 fsck.................264 fsinfo...............266 fslsfonts............266 fstobdf...,..........267 ftp..................267 ftpcount.............275 ftpd.................276 ftpshut..............277 ftpwho...............278 funzip...............278 fuser................279 gawk.................280 gcc, g++.............282 gdb..................285 gdm..................287 getfilename..........288 getkeycodes..........288 getlist..............289 getty................290 gimp.................291 git..................291 gitaction............292 gitkeys..............292 gitmount.............293 gitps................293 gitrgrep.............294 gitunpack............296 gitview..............296 gprof................297 grep.................298 grephistory..........301 grodvi...............302 groff................303 grolj4...............304 groupadd ............304 groupdel.............305 groups...............305 grpck................306 grpconv..............306 grpunconv............306 gs...................307 gtk-config...........308 gunzip...............309 gv....................310 gzexe.................311 gzip..................312 halt..................313 head..................313 history...............315 host..................316 hostname..............317 httpd.................318 hwclock...............319 id....................321 ident.................322 identify..............323 ifconfig..............324 imake...........TTT... 327 import................328 inetd.................332 inews.................333 info..................335 init..................336 innd..................337 inndstart.............340 innfeed...............340 innstat...............344 innxmit...............345 insmod................346 install...............348 ipchains..............349 ipchains-restore......352 ipchains-save.........353 ispell................353 jobs..................356 join..................356 kbdmode...............357 kbdconfig.............358 kbdrate...............358 kdm...................359 kill..................359 killall...............360 ksyms.................361 kudzu ................361 last..................362 lastb.................363 latex.................364 Id....................366 Idconfig..............369 Idd...................370 less..................372 lilo..................380 listres...............382 In....................383 load keys.............384 locate................386 lockfile..............387 logger................388
Содержание 5 login..............391 logname............391 log rotate.........392 look...............395 losetup............396 Ipc................397 Ipd................400 Ipq................401 Ipr................402 Iprm...............404 Is.................405 Isattr.............410 Ismod..............410 Isof...............411 Ispci..............415 lynx...............416 mail...............424 mailpost...........431 mailto.............431 mailto-hebrew......434 make...............435 makeactive.........438 makedepend.........439 makehistory........440 man................443 me.................445 mcookie............446 md5sum.............447 merge..............447 mesg...............448 messages...........449 metamail...........449 metasend............451 mimencode..........453 minicom............454 mkbootdisk.........456 mkdir..............457 mke2fs.............458 mkfifo ............458 mkfontdir..........458 mkfs...............459 mkfs.ext3..........460 mkinitrd...........465 mkisofs............467 mknod..............469 mkreiserfs.........470 mkswap.............472 modinfo............473 modprobe...........474 mogrify............476 montage............483 more...............491 mount..............493 mountd.............500 msgfmt.............500 msgmerge...........501 mt.................502 mv.................505 named..............507 netefg........... 508 netstat............509 newmail............512 news.daily.........513 newsrequeue........515 nfsd...............516 nfsstat............516 nice...............517 nl.................517 nlmconv............519 nm.................520 nnrpd..............523 nntpsend...........524 nohup..............526 nroff..............526 nslookup...........526 ntsysv.............529 objeopy............530 objdump............534 od.................540 overchan...........542 passwd.............542 paste..............543 patch..............544 pathchk............546 pidof..............547 pine...............547 ping ..............552 Pnews..............553 portmap............555 poweroff...........556 pr.................556 printenv...........558 printmail..........559 procmail...........559 ps.................561 psfaddtable........564 psfgettable........564 psfstriptable......564 pullnews...........565 pwek...............566 pwconv.............567 pwd................567 pwunconv...........567 quota..............568 quotacheck.........568 quotaoff...........569 quotaon............569 ranlib.............570 rarp...............571 rep................572 res..................572 rcsclean.............575 resdiff..............576 rcsintro.............577 resmerge.............579 rdist................580 readelf..............583 readmsg..............585 reboot...............586 reconfig.............586 redhat-config-date.... 587 red hat-config- keyboard ............587 red hat-config- network .............589 redhat-config- securitylevel........589 red hat-conf ig services.............591 reiserfsck...........592 reiserfstune.........594 renice...............596 repquota.............596 resize...............597 restore..............598 rev..................601 richtext.............601 rlog.................602 rlogin...............605 rm...................606 rmdir................607 rm mod...............607 rmt..................608 mews.................609 Rnmail...............610 route................612 rpc.mountd...........615 rpc.nfsd.............615 rpm..................616 rsh..................618 rstart...............619 rsync................619 rup..................622 ruptime..............622 rusers...............623 rwho.................623 sal..................624 sa2..................624 sadc.................624 sar..................625 scanlogs.............631 sep..................631 script...............632 sdiff................633 sed..................634
6 Содержание sendmail ......... 637 service.............641 setkeycodes........... 643 setserial...........643 shlock..............646 showaudio...........647 showexternal........647 showkey.............647 showmount...........650 shownonascii........650 showpartial.........651 showpicture............ 651 showrgb........... 651 shrinkfile..........652 shutdown............653 size................654 sleep...............655 sort................655 source..............657 split...............657 splitmail...........658 ssh.................658 ssh-keygen..........661 startinnfeed........663 startx..............663 stat................664 statserial..........664 strace..............665 strip............. 668 stty................669 su..................672 sudo.............. 673 sum.................676 SuperProbe..........676 swapoff.............678 swapon..............678 sync................679 sysctl..............679 tac.................681 tail................681 talk................683 tar.................684 tcpdump.............687 tee К...............688 telnet..............689 telnetd.............691 time................692 tin.................693 top.................696 touch...............699 tr..................700 traceroute..........702 trn.................704 troff...............713 tty.................714 tune2fs.............714 umount............ 718 unalias.............719 uname...............719 uncompress..........719 uniq................720 unzip...............721 uptime..............723 useradd.............723 userdel.............724 users...............724 uudecode.......... 725 uuencode.......... 725 uuidgen........... 726 vim.................726 visudo..............729 vmstat..............730 w...................731 wall................732 wc..................733 which...............734 who.................734 whois...............735 write...............737 writelog............738 X...................738 xbiff...............744 xclipboard.......... 745 xdm.................745 xev.................746 xf86config..........747 xfd.................747 xfs.................749 xgettext............751 xhost...............753 xinit...............754 xlsclients..........755 xlsfonts............756 xmag................758 xmh.................758 xmkmf............. 759 xmodmap.............760 xon.................762 xpaint..............763 xpmroot.............764 xrdb................764 xrefresh............766 Xserver.............767 xset................769 xsetroot............772 xterm...............773 xwd.................776 xwdtopnm............777 xwininfo............777 xwud................779 xxgdb............. 780 yes.................782 zcat................782 zcmp................783 zdiff...............783 zforce..............783 zgrep...............784 zipgrep.............785 zipinfo.............785 zmore...............786 znew................787 . (точка)...........787 Приложения...........................................................788 Приложение I. Допустимые сигналы..................................788 Приложение II. Имена устройств и их номера........................789 Приложение III. Несколько общеизвестных цветов, выраженных в шестнадцатеричном формате....................................... 790 Приложение IV. Типы серверов X....................................790 Приложение V. Формат RCS-файла....................................790 Приложение VI. Аббревиатуры, встречающиеся в описаниях команд.....792 Приложение VII. Файлы, упомянутые в описаниях команд..............802 Приложение VIII. Перечень команд с кратким описанием их функций...815
7 Вместо аннотации Linux и Unix. Как это можно сравнить? Как яркую, многоцветную молодость и муд- рую зрелость... А команды были и остаются основой гой и другой системы. Но Unix не стремится к количеству, зрелость предпочитает один классический костюм, но по- дороже. Документация "классических" версий Unix выглядит более унифицированной, но разве в этом все счастье? Linux экспериментирует: много всякого-разного, порой дублирующегося и не очень удачного. Описание и документация тоже весьма разно- шерстны, не всегда удачны. Но сколько во всем этом напористости, свежести, юно- шеского максимализма, желания экспериментировать и щедро делиться своими разра- ботками со всем миром. По фамилиям авторов видно: Linux создает весь мир... Каждая команда, описание которой содержит букву К в правом верхнем углу, впол- не может быть отнесена к разряду классических, а это означает, что в Unix имеется аналог, хотя н не стопроцентно идентичный. Я постаралась сохранить синтаксис каждой из описанных команд максимально при- ближенным к имеющимся англоязычным оригиналам, к тому, что вы увидите в случае предупреждений и сообщений об ошибках. Справочник команд не привязан к какой-либо разновидности Linux - Red Hat, Slackware или чему бы то ни было. Он будет полезен также и пользователям класси- ческой ОС - Unix. Ведь многие программные продукты имеют версии для Unix, Linux и прочих ОС. А вот и цифры, которые, как известно, убеждают лучше слов. В справочнике команд Unix in plain English, second Edition by Kevin Reichard and Eric Foster-Johnson перевод издательского дома "Питер"- содержится около 225 ко- манд, в этом издании - свыше 530. И это далеко не предел! Все, так или иначе, не упомянешь, каждую не опишешь. Вполне возможно, что некоторая команда существует в Debian Linux, но отсутствует в Slackware или Red Hat. Хотя это - скорее исключение, чем правило. Большая часть команд присутствует во всех дистрибутивах Linux. Так что же собственно такое команды в Linux? Многие представляют их в виде маленьких примитивных программок, выполняющих несложные стандартные функции. Как бы не так! Помимо таких встречаются очень серьезные пакеты с десятками пара- метров. Широко известная команда Is выводит содержимое каталога. "Подумаешь", - скажете вы. Да, а вот опций у нее имеется не одни десяток. Никакой диспетчер файлов со своим графическим интерфейсом ничего подобного не отразит. Или другая коман- да, gcc, вызывает компилятор языка С. Целые книги посвящены описанию ее много- численных опций. Даже графические интерфейсы эго. по сути, команды. То есть в этой книге описаны способы запуска многочисленных компонентов программного обес- печения. Хотя рассматривать ее лишь как перевод справочного руководства man или info не стоит. Часто содержимое этих справочных руководств отличается, иногда иден- тично. Для многих команд вообще не существует шан или info, а подчас содержимое этих руководит в "неудобоваримо". Поэтому в этом справочнике сделана попытка опи- сать в концентрированном виде как можно больше команд, классических и специфич- ных, определив их место в иерархии upoi раммпого обеспечения Linux.
8 Длинные командные строки раздела II не должны вьнывагь у вас никаких страхов, освоить это г, на первый взгляд, загадочный синтаксис совсем несложно. Многие ко- манды пользователь не вызывает напрямую, они вызываются посредством друг их ко- манд. Но и те, н другие полезно знать, чтобы правильно организовать принятую на пред- приятин или фирме технологию обработки информации, "не изобретая велосипеда". А самое главное - все это множество команд доступно вам через сценарии оболо- чек, илн командных процессоров, при программировании на множестве современных языков, включенных в дистрибутивы Linux. Зачем дублировать систему и включать эти команды в состав компиляторов? Главное, что вы всегда их можете вызвать из своей программы, задав требуемые опции, проанализировать код завершения, вклю- чить в циклы и другие конструкции сценарных языков. Кому-то понадобится написать сценарии обработки файлов или почтовых сообще- ний, предназначенных для пакетной обработки, и даже включить их в crontab. Другого больше привлекают задачи системного администрирования, третьего — разработка про- граммного обеспечения и системы управления версиями. Существуют десятки команд для л гобой категории пользователей, на любой вкус или потребности. Сегодня вас ин- тересует одно, завтра - другое. Linux же, как бездонная бочка, чего только в ней не отыщешь! Так что справочник полезно иметь под рукой, всегда найдешь что-нибудь интересующее в настоящий момент. Справочник команд — ваш навигатор в динамичном мире Linux Основная часть книги содержит описания команд, расположенные в алфавитном по- рядке в разделе "Команды". В разделе "Типовые операции" все команды классифициро- ваны, а сам раздел разбит на подразделы, что дает возможность даже самому неопыт- ному пользователю подобрать необходимый набор с учетом его потребностей, чтобы в дальнейшем подробно ознакомиться с каждой конкретной командой. Классификация команд выполнена по следующим направлениям (см. подразделы): Файлы и каталоги Запуск заданий (команд), управление процессами Клавиатура Шрифты Сети Почта Usenet, InlerNetNews(INN) X Window Работа с изображениями Административные задачи Счета пользователей и групп, пароли Разработка программного обеспечения Служебные информационные команды Изложенные команды не привязаны к какому-либо конкретному дистрибутиву Slackware или Red Hat. Многие упомянутые программные пакеты включены в много- численные версии Unix и других операционных систем. Словом, справочник команд незаменимый помощник новичка и опытного пользователя в многогранном мире Linux.
9 Как работать с командами. Общие положения Все команды справочника представлены в разделе II но алфавиту. Первое предло- жение каждого описания отражает в сжатой форме специфику команды. В верхнем пра- вом углу можно встретить букву К ("классическая команда") нли В (встроенная в обо- лочку bash). Так называемые классические команды пришли из Unix, хотя их GNU- версии могут несколько (н даже значительно) отличагься от классического варианта. Сам фаю* встроенное™ команды в оболочку не является таким уж существенным для большинства пользователей. Хотя в некоторых оболочках могут отличаться или от- сутствовать команды, существующие в других оболочках. Описание синтаксиса команды может содержать несколько вариантов. Собственно само описание функций команды может занимать от нескольких предложений до не- скольких страниц. Все опции команды описываются последовательно. Причем слева через запятые приводятся варианты опций разных форматов. Справа следует описание каждой опции (или флага, или переключателя, такие термины можно встретить в разных изданиях). Каждая команда, как правило, имеет аргументы, а также опции, последние определяют специфику выполнения команды. Например, рассмотрим команду Is -al dir. Аргумент dir задает каталог, содержимое которого будет выведено. Знак минус предшествует оп- циям(флагам, переключателям) -al, определяющим формат вывода. За флагом, или пе- реключателем, может следовать параметр. Например, выражение -n tracefile, встречен- ное в командной строке telnet, указывает файл трассировки (см. команду telnet). Здесь -п является флагом, или переключателем, а параметр tracefile задает собственно имя файла трассировки. Флаг вместе с последующим параметром составляют опцию. Некоторые команды, например ftp, запускают интерактивные программы, в кото- рых, в свою очередь, имеются собственные многочисленные команды, которые так- же приводятся. Синтаксис команд бывает достаточно сложным. Некоторые команды имеют десят- ки опций помимо многочисленных встроенных команд. Чтобы это не очень пугало нли отталкивало неопытных пользователей, за описаниями ряда команд следуют примеры, в первую очередь рассчитанные на новичков (объяснение "на пальцах"). Условные обозначения в описаниях синтаксиса Все выражения в квадратных скобках, содержащиеся в описаниях синтаксиса ко- манд, являются необязательными. Все аргументы и параметры, вместо которых долж- ны быть подставлены конкретные значения, отображаются с помощью курсивного шрифта. Применение одной из опций, заключенных в фигурные скобки, обязательно. Варианты наименований одной и той же опции перечисляются через запятые. При этом выражения типа -S, --suffix=.sn£/7x следует понимать как -S suffix. —svffix=siiffix. Иногда, хотя н редко, родственные опции перечисляются через наклонную черчу, отра- жая аналогичные или близкие особенности функционирования. Вертикальная черта означает "исключающее или". Особо следует отметить трактовку выражений в угловых скобках. Предположим по тексту встретилось два следующих предложения: "... Указывает каталог spool-dir для накопления статей. По умолчанию используется <palliarticles in inn. со nt4..." Эпт
10 предложения следует интерпретировать следующим образом: в качестве каталога по умолчанию принят каталог, задаваемый переменной patharticlcs из конфигурацион- ного файла inn.conf. Значит, прежде всего в этом файле конфигурации следует отыс- кать patharticles. Пусть в вашей системе эта переменная установлена в значение /var/spool/ncws/articles. По умолчанию в этом каталоге и будут накапливаться статьи новостей. Можно встретить маршруты такого вида: $HOME/.aumixrc. Первая часть марш- рута определяется содержимым переменной окружения НОМЕ, например, может при- нимать значение /homc/misha. Цифра 1, дабы отличить ее от строчной буквы I ("эл"), помечается в тексте следую- щим образом: jg Как подобрать необходимые команды К сожалению, даже команды по одной тематике могут быть разбросаны в разных концах справочника, так как их наименования, увы, начинаются с разных букв алфави- та. Хотя иной раз англоязычные наименования команд бывают очень информативны. Поэтому начинать поиск команд следует с раздела I "Типовые операции". Каждая ко- манда обязательно встречается в одном из подразделов раздела I, хотя может нахо- диться сразу в нескольких местах. Например, команда cat позволяет выполнить про- смотр файлов, с другой стороны, она также осуществляет конкатенацию (слияние) файлов. Предположим в процессе разработки вам понадобилась система управления верси- ями. Пройдя в разделе I по маршруту Разработка программного обеспечения Системы управления версиями вы обнаружите подходящие команды, далее отыскиваете их в разных концах раздела И. В описаниях команд встречаются ссылки на приложения, расположенные в конце справочника. N/N приложения Краткое содержание I Описание сигналов Linux и Наименования некоторых файлов устройств ш Шестнадцатеричные выражения основных цветов IV Виды Х-серверов V Система управления версиями: RCS VI Аббревиатуры, встречающиеся в описаниях команд VII Файлы, упомянутые в описания команд VIII Перечень команд в алфавитном порядке с кратким описанием их функций
11 I. Типовые операции гамянмпввв Создание Файлы и каталоги файла: touch каталога: mkdir FIFO (именованного канала): mkfifo специального файла устройства: mknod ссылок: In Навигация по каталогам определение местонахождения: pwd смена каталога: cd, chroot вывод содержимого: Is, Isattr, git Имена файлов определение базового имени файла: basename запрос имени в указанном формате: getfilename проверка переносимости имен в другие системы: pathchk Типы файлов, владельцы, полномочия определение типа файла: file установка владельца и группы для файла (каталога): chown, chgrp установка полномочий и атрибутов: chmod, Chattr проверка доступа, изменение времени доступа: access, touch распечатка дескрипторов файлов в удобном для чтения формате: Stat Просмотр содержимого файлов и их дампов: cat, tac, rev, less, more, od, gitview начала файла: head конца файла: tail упакованных и сжатых файлов: zcat. zmore
12 I Типовые операции файлов в форматах PostScript н PDF: gv в формате HTML: lynx в формате nroff: colcrt проверка правописания: ispell Поиск файлов: find, locate в файлах: grep, fgrep, egrep, flex, look, gitgrep в архивах: zgrep, zipgrep Сравнение файлов и включение отдельных изменений в оригинал: cmp, comm, diff, diff3, sdiff, zcmp, zdiff, merge ^Объединение файлов: cat, join, paste Удаление файлов и каталогов: rm, fastrm, rmdir частей текста нз файлов: uniq, colrm. cut. strip Обработка файлов замена символов н фильтрация: expand, col форматирование: fmt, troff, groff, latex, fold, column, pr разбивка на части: split, csplit вывод строк в обратном порядке: rev нумерация строк: nl преобразование: grodvi tr сортировка: sort обрезка по границам строк: shrinkfile Редактирование текстовых файлов: ed, emacs. sed. vim предварительная подготовка: ctags, etags Копирование и установка атрибутов файлов: cp, dd. install И Перенос или переименование: mv Передача файлов no сети: ftp, rep, sep, rsync, rdist
I. Типовые операции 13 Хранение файлов, архивы упаковка, распаковка. ar, bzcat. bzip2, bzip2recover, bunzip2, сжатие, просмотр архивов: compress, gzexe, gzip, gunzip. uncompress, unzip, zipinfo, gitunpack просмотр содержимого архивных файлов: zcat, zmore фильтрация: funzip поиск в архивных файлах: zgrep преобразование форматов: zforce, znew Дублирование, восстановление: dump, restore tar, cpio Проверка целостности файлов подсчет количества байт, символов, строк: wc контрольных сумм: cksum, md5sum, sum шифрование/дешифрованне: cryptdir, decryptdir Печать файлов: Ipq, Ipr, Iprm заголовка: banner форматирование для печати: РГ groff-драйвер печати: grolj4 Нахождение открытых процессом файлов: Isof ! Блокирование - создание lock-файлов: lockfile, shlock Интегрированные инструменты пакет интерактивных утилит GIT: git, gitview, gitrgrep, gitaction, gitunpack менеджер файлов: me Запуск заданий (команд), управление процессами Определение местонахождения команды: which Предварительное создание очередей заданий: crontab, atq, atrm
14 I Типовые операции Запуск команд из указанного файла: с помощью псевдонимов: source alias, unalias в установленное время: at, cron периодически anacron когда позволяет загрузка системы: batch при отключении управляющего терминала: nohup в измененном окружении: env Предварительный подсчет ресурсов, используемых командой: time Ц Оболочки, или командные процессоры: ash, bash, rsh, ssh । ' Управление процессами установка приоритета: nice, renice управление и манипулирование процессами: to р запуск прерванного процесса в фоне: bg в приоритетном режиме: fg создание задержки указанной длительности: Sleep дублирование вывода процесса: tee взаимодействие между процессами: mkfifo попытка создать lock-файл и записать в него PID: Shlock нахождение PID запущенной команды: р i d of завершение процесса: kill, killall Г | Отображение архитектуры компьютера: arch сообщений начальной загрузки Linux: dmesg информации о системе: u pg me списка работающих процессов: pS, gitps, top фоновых и приостановленных процессов: jobs необходимых разделяемых библиотек: Idd открытых процессом файлов: Isof PID, использующих указанные файлы, сокеты, файловые системы: fuser
I. Типовые операции 15 переменных окружения: printenv учетной информации о жизнедеятельности системы: sar, sadc ежедневной деятельности системы: sa1,sa2 используемых памяти: free, vmstat времени ЦП: ascpu нагрузки на систему: asload очистка экрана терминала: clear Протоколирование команд и всего вывода на экран: history, script Клавиатура Информация о режиме клавиатуры: kbd_mode таблицах трансляции клавиатуры: d u m р ke ys последовательности нажимаемых клавиш: gitkeys Драйвер клавиатуры дамп таблиц трансляции: dumpkeys загрузка или модификация таблиц трансляции: load keys Таблица ядра, транслирующая скан-код в код клавиши загрузка таблицы: setkeycodes печать таблицы: getkeycodes проверка кодов нажимаемых клавиш: showkey Конфигурирование и настройка системной клавиатуры конфигурирование: kbdconfig, redhat-config-keyboard переустановка скорости повтора и задержки клавиш: kbdrate Изменение раскладки клавиатуры в X : xmodmap
16 I Типовые операции Загрузка шрифта в генератор символов EGA/VGA: Шрифты consolechars 1 Таблица символов Unicode включение символов Unicode в шрифт консолн: psfaddtable получение таблицы символов Unicode из шрифта консоли: psfgettable удаление символов Unicode нз шрифта консолн: psfstriptable 1 Х-шрифты отображение шрифтов, поддерживаемых сервером шрифтов: fslsfonts инсталлированных шрифтов: xlsfonts символов указанного шрифта: xfd компиляция шрифтов для Х-сервера и сервера шрифтов: bdftopcf генерация шрифтов в формате BDF нз шрифтов Х-ссрвера: fstobdf создание в каталоге индекса файлов шрифтов: mkfontdir TCP/IP Сети конфигурирование сетевого клиентского хоста: redhat-config-network интерфейса: ifeonfig соединения: netefg информация по сетевым соединениям: netstat проложение маршрута к дистанционной системе: route проверка активности соединения: Ping обнаружение неполадок маршрутизации: traceroute отображение Ethemet-адреса по данному 1Р-адресу: arp IP-адреса по данному Ethernct-адресу: rarp Подключение через последовательные линии РРР-иодключение через сценарий обмена компьютер-модем: chat поддержка IP-подключений по телефонным каналам: dip программа коммуникации через последовательные линии: minicom подключение к другой системе через звонок на терминале: Си
I Типовые операции 17 Демоны базовых серверов Web-сервер Apache: httpd демон службы DNS: named демон INN (службы новостей): innd демон сервера NNTP (службы новостей): nnrpd суперсервер Internet: inetd демон конвертации номеров программ RPC в номера TCP и UDP портов для NFS: portmap демон автомонтировання файловых систем NFS: amd демон файл-сервера FTP: ftpd демон обслуживания протокола TELNET: telnetd Системные имена, службы имен дос 1енов вывод нлн установка системного имени машины: hostname вывод доменного имени DNS: dnsdomainname определение адреса указанного имени через DNS: nslookup просмотр информации об узлах Internet через сервер DNS: host вывод нлн установка доменного имени NIS/YP: Goma.nname поиск официальной контактной информации: whois NFS программа воплощения пользовательского уровня службы NFS: rpC.nfsd обслуживания запросов клиентов на монтирование: rpc.mountd отображение состояния сервера NFS: showmount статистики системы NFS: nfsstat запрос автомонтирования файловых систем: amq, autofs, automount FTP, Telnet информация о процессах пользователей FTP-сервера: ftpwho текущем числе пользователей: ftpcount пересылка файлов: ftp закрытие FTP-сервера в заданное время: ftps hut интерфейс подключения на протоколе TELNET: telnet
18 I. Типовые операции | r-команды, сеансы на дистанционных узлах создание пары ключей аутентификации для ssh: ssh-keygen копирование файлов: rep, rsync, rdist, sep запуск терминального сеанса на дистанционном узле: rlogin дистанционной оболочки: rsh, ssh дистанционного клиента (через rsh): rstart отображение состояния узлов локальной сети: rup, ruptime информации о пользователях локальной сети: reisers, rwho сетевого трафика: tepdump Брандмауэры администрирование IP-брандмауэров: ipchains сохранение цепочек IP-брандмауэров: ipchains-save восстановление цепочек IP-брандмауэров: ipchains-restore графический клиент настройки брандмауэра: redhat-config-securitylevel Создание и отправка почтовых сообщений Почта простейший интерфейс создания сообщений: comp создание сообщений, включающих другие сообщения: forw переформатирование почты (и статей): formail разбивка на части MIME-сообщения: splitmail создание аудио фрагмента, включаемого в сообщение: audiocompose быстрый интерфейс отправки: fastmail рассылка сообщения по дополнительным адресам: dist отправка мультимедийной почты: mailto, metasend аудиосообщения в качестве почты: audiosend почты в формате Hebrew: mailto-hebrew запись телефонограммы в виде почтового сообщения: answer двухсторонний обмен сообщениями: talk Мониторинг и обработка поступившей почты уведомление о поступлении почты: xbiff, newmail подсчет сообщений, появившихся в ящике илн папке: messages
I. Типовые операции 19 создание списка тем и адресов полученной почты: frm извлечение сообщений из почтовой папки: read msg получение почты от дистанционных почтовых серверов и переназначение ее локальным системам доставки почты: fetchmail почтовый процессор обработки прибывшей почты: procmail поддержка отображения мультимедийной почты на локальном сайте: metamail отображение почты не в формате ASCII: shownonascii в формате "richtext": richtext проигрывание аудиосообщений: showaudio вывод полученного изображения: showpicture тела сообщения, включенного по ссылке: showexternal слияние отдельных частей сообщения: showpartial конвертация потоков байт в стандартные форматы кодирования н наоборот: mimencode кодирование двоичных файлов в формате ASCH: uuencode, uudecode форматирование почты для печати: printmail Транспортный почтовый агент: send mail Интегрированные почтовые системы: elm, mail, pine, xmh Межтерминальныи обмен сообщениями: write, wall, talk Usenet, InterNetNews Сервер новостей лемон INN, поддерживающий NNTP-подпитки: innd, inndstart управление демоном INN: ctlinnd создание ссылок на входящие статьи: crosspost одновременная подпитка статьями нескольких сайтов: innfeed получение новостей через UUCP-подключение: rnews подготовка ресурсов для innfeed: startinnfeed вытягивание новостей с одной машины на другую: pullnews конечный интерфейс записи файла для INN: filechan, buffchan демон NNTP для читателей новостей: nnrpd получение информации от NNTP-cepncpa: getlist
20 I. Типовые операции Клиенты службы новостей программы чтении новостей: tin, trn экранно-ориентированный инструмент поддержки сообщений (для INN и e-mail): pine Передача подготовленных статей серверу новостей подготовка и отправка подготовленных статей локальному серверу для последующего распространения: inews статен новостей (через inews): Pnews статей Usenet на дистанционный сервер NNTP: i n nxm it naNNTP-сайт: nntpsend подпитка группы новостей почтовыми сообщениями для передачи серверу новостей: mail post ! Уведомление о получении новостей отправка по почте уведомлений о получении: Rn mail j Подготовка новостей в сетях UUCP подготовка пакета новостей для указанного узла: batcher конвертация пакетного файла Usenet в формат INN: cvtbatch перезапись пакетных файлов после аварии системы (через innd): newsreq u cue i Ведение БД статей обновление БД статей по прибытии новых: overchan перестройка файла active. makeactive history: makehistory отображение имен файлов статей по идентификаторам сообщений: grephistory удаление старых статей: expire, exp ire rm элементов из БД обзора новостей: expireover элементов индекса новостей: expireindex Администрирование добавление элементов в журнал INN: writelog подведение итогов по информации журналов INN: scanlogs отчет состояния, удаление старых статей, обработка журналов, их архивация, перенумерация файла active: news.daily
I. Типовые операции 21 информация об оперативном режиме сервера новостей, состоянии журналов и lock-файлов, подисковой памяти: innstat X Window Запуск сеанса рабо. ы X: xinit, startx, xdm альтернативные менеджеры дисплеев, заменяющие xdm в GNOME: gdm в KDE: kdm управление доступом пользователей к Х-серверу: xhost создание "cookies" для использования с системой авторизации: mcookie запуск Х-приложений на дистанционной системе: xon отображение информации о Х-ссрвере: xdpyinfo запуск сервера дисплея: Xserver распознавание инсталлируемого видеооборудования SuperProbe настройка оборудования: xf86config программных компонентов: xset преобразование файла старого формата Xconfig в файл XF86Config: I’econfig чтение и конвертация в исходный вид откомпилированной БД RGB-цветов: showrgb установка фоновых атрибутов: xsetroot фоновых изображений: xpmroot вывод настроек главного окна одного из экранов: xrdb информации об указанном окне: xwininfo изменение раскладки клавиатуры: xmodmap “ Сервер шрифтов запуск сервера шрифтов: xfs отображение информапин о сервере шрифтов: fsinfo поддерживаемых сервером шрифтов: fslsfonts инсталлированных шрифтов: xlsfonts символов указанного шрифта: xfd создание в каталоге индекса файлов шрифтов: mkfontdir добавление, удаление и распечатка каталогов по маршруту сервера шрифтов: chkfontpath компилятор шрифтов для Х-сервсра и сервера шрифтов: bdftopcx
22 I. Типовые операции создание шрифтов в формате BDF из шрифтов Х-сервсра. Запуск fstobdf клиентских приложений: xlsclients эмулятора терминала: xterm приложения, определяющего размер окна xterm: resize графического редактора: xpaint перерисовки экрана: xrefresh увеличение части экрана: xmag вывод информации о событиях окна: xev содержимого буфера(сИрЬоаг<1): xclipboard ресурсов приложений и виджетов: appres, listres Захват изображения: import, xwd последующий вывод изображения на экран: xwud преобразование изображения в мобильный сетевой формат: xwdtopnm aj Электронная почта чтение и отправка e-mail: xmh уведомление о поступлениях почты: xbiff Графические версии программ настройки задание уровней функционирования системных служб: redhat-config-services застройка даты и времени- redhat-config-date конфигурирование системной клавиатуры: redhat-config-keyboard конфигурирование .лиентского сетевого хоста: redhat-config-network задание уровня безопасности и правил для брандмауэра: redhat-config-securitylevel Работа с изображениями import xwd xwud J" Захват изображения: последующий вывод изображения па экран: Манипулирование (ImageMagick) описание формата и характеристик: независимый вывод: identify display
I. Типовые операции 23 трансформация: mognly объединение: combine, composite анимация: animate монтаж: montage захват: import । Преобразование изображений из ANSI-формата в XBM: из ХВМ в ANSI-формат: atobm bmtoa из BMP в PPM: bmptoppm в мобильный сетевой формат PNM: xwdtopnm из одного формата во многие другие: convert проверка корректности файлов ХРМ: exom Графические редакторы: bitmap gimp, xpaint Административные задачи Загрузка и вход в систему загрузчик Linux: lilo создание загрузочной дискеты: mkbOOtdisk образа начального RAM диска для предварительно загружаемых модулей ядра: mkinitrd инициализация процессов, регистрация в системе: init, getty login запуск и задание уровней функционирования системных служб: ntsysv, service, chkconfig, redhat-config-services информация о регистрациях пользователей: users последующая распечатка сообщений начальной загрузки Linux: dmesg Завершение работы Linux останов: shutdown, halt перезагрузка: reboot. Ctrlaltdel отключение питания: poweroff Разбивка диска на разделы: IdiSk
24 I Типовые операции Управление файловыми системами создание файловой системы (конечный интерфейс): проверка и исправление: mkfs fsck отладка файловой системы ext2/3: debugfs печать основных блоков ext2/3: dumpe2fs создание образа файловой системы: e2image Вторая расширенная файловая система подготовка файла для создания внутри него файловой системы losetup создание файловой системы ext2: mke2fs файловой системы ext3: mkfs.ext3 файловой системы ReiserFS: mkreiserfs проверка файловой системы ext2/3: e2fsck файловой системы ReiserFS: reiserfsck отладка файловой системы ext2/3: debugfs файловой системы ReiserFS: debugreiserfs изменение параметров файловой системы ext2/3: tune2fs файловой системы ReiserFS: reiserfstune Область своппинга создание: mkswap активизация: swapon деактивизация: swap off Обновление версий программного обеспечения инсталляция и управление пакетами: rpm заплаты: patch Поддержка файлов конфигурации системы редактирование пользовательских crontab-файлов: редактирование sudoers: crontab visudo редактирование двоичных файлов квот : edquota распространение файлов конфигурации по хостам: rdist. rsync
I. Типовые операции 25 Ядро, загружаемые модули распечатка списка загружаемых модулей ядра: получение информации о модуле ядра: Ismod modinfo отображение экспортируемых символов (идентификаторов) ядра: ksyms поддержка описания зависимостей для загружаемых модулей: depmod загрузка модулей из списка, созданного depmod: modprobe включение загружаемых модулей в ядро: insmod удаление модулей из ядра: rmmod — — - . - — . распечатка и изменение параметров работающего ядра: sysctl Р Внешние устройства, конфигурирование и управление обнаружение и конфигурирование новых устройств: kudzu информация о PCI-устройствах Ispci getty терминалы установка режимов, скорости и линий подключения: изменение и распечатка установок: stty отображение имени устройства текущего терминала: tty управление доступом к терминалу: mesg последовательные порты конфигурирование: setserial получение информации statserial конфигурирование системной клавиатуры: kbdconfig redhat-config-keyboard " - — — — — распознавание видеооборудования: SuperProbe настройка видеооборудования: xf86config CD создание образа файловой системы для записи на компакт-диск: mkisofs запись информации или аудиоданных на компакт-диски: cdrecord воспроизведение аудио компакт-дисков: cdp нахождение сбойных блоков на диске: badblocks магнитная лента управление локальными и дистанционными устройствами: mt, rmt форматирование дискет: fdformat создание специальных файлов: mknod, mkfifo создание файла-образа ISO9660: mkisofs подключение/отключение устронегв монтировапис/дсмонтиропанисустройств: mount, umount
26 I Типовые операции монтирование без указания типа файловой системы: gitmount привязка loop-устройства к обычному файлу: losetup информация о свободных областях смонтированного устройства: df отчет об используемом дисковом пространстве: du замена носителей сменных устройств: eject Буферизация запись содержимого буферов на диск: bdflush, sync Печать демон построчной печати: Ipd управление системой построчной печати: Ipc Квотирование включение/отключение квотирования: quotaon, quotaoff распечатка квот пользователей и групп: quota редактирование квот: edquota проверка соблюдения квот: quotacheck подведение итогов квотирования для файловой системы: repquota Журналирование создание элементов в заданном системном журнале: logger ротация журналов: logrotate Служба времени вывод/установка временных переменных ядра: adjtimex системного времени и даты: date аппаратных часов: hwclock распечатка календаря: cal Учетные средства информация о загрузке системы asload, uptime памяти: free, vmstat накопление информации о жизнедеятельности системы: sar. sadc накопление и ежедневный отчет о деятельности системы: sa1,sa2
I. Типовые операции 27 Счета пользователей и групп, пароли Вход в систему регистрация в системе: login изменение оболочки: Chsh возможность стать другим пользователем: SU, sudo отображение регистрационного имени те.;ущего пользователя: logname информации о раоотающих в системе: who, finger, users, ас last, w попыток безуспешных регистраций: lastb Пользователи и группы изменение имени пользователя и вывод информации о нем: Chfn пароля и информации о нем: passwd, chage оболочки регистрации: chsh добавление пользователей и групп: adduser, useradd, groupadd удаление пользователей и групп: userdel, groupdel информация о группах, в которые входит пользовател!: groups создание уникального значения UUID на всех системах uuidgen распечатка подлинных и действующих UID и GID' id Теневые пароли создание файла теневых паролей из обычного файла паролей и из теневого. если он существует пользователей: групп: pwconv grpeonv проверка целостности файла паролей пользователей: pwek групп: grpek обновление главного файла паролей пользователей: трупп: pwunconv grpunconv Разработка программного обеспечения W Компиляторы, препроцессор, оболочки компиляторы: as, gawk (awk), gcc, g++, gs препроцессор: CPP оболочки, или командные процессоры: ash. bash, rsh. ssh
28 1 Типовые операции Поддержка частей большой программы автоматическое определение частей большой программы, подлежащих повторной компиляции: make создание зависимостей в make-файлах: makedepend интерфейс препроцессора С к утилите make imake автоматическая генерация make-файла из Iinake-файла: xmkmf Переносимость программ на языке С создание переносимых файлов сообщений из С-программ: xgettext создание машинно-зависимого файла из переносимого: msgfmt слияние двух мобильных файлов: msgmerge Средства отладки создание файлов тегов для исходных кодов: ctags, etags трансляция программных адресов в имена файлов и номера строк: addr2line декодирование низкоуровневых имен (меток ассемблера) в имена функций: c++filt генерация прототипов функций для файла на языке С: cproto отладчик GNU: gdb Х-интерфейс к отладчику gdb: xxgdb Объектные файлы компоновка объектных файлов: Id вывод информации объектных файлов objdump получение сведений о GTK+: gtk-config распечатка символов (идентификаторов) объектных файлов: nm установка ссылок на разделяемые библиотеки (для инсталляции новой DLL): Idconfig копирование содержимого одних объектных файлов в другие Objcopy удаление всех идентификаторов: strip информация о размерах секций объектного файла: size об объектных файлах в формате ELF: readelf о необходимых разделяемых библиотеках: Idd генерация индексов объектных файлов, хранящихся и архиве ranlib конвертация объектного кода в код формата NI.M : nlmconv
I. Типовые операции 29 Н Выполнение создание профиля исполнения для программ на языках С, Pascal, Fortran??: трассировка команды (программы): gprof strace вывод строк текста на экран: echo Программируемые диалоги: expect, yes Системы управления версиями RCS: ci, со, res, rcsintro, rcsclean, resdiff, resmerge, ident, rlog CVS: CVS 1| Виджеты создание виджетов: dialog вывод списка ресурсов: listres получение сведений о библиотеке GTK+: gtk-config I Генерация програ лм создание синтаксических анализаторов: bison создание программ, выполняющих действия по найденному образцу: flex создание программ, выполняющих вычисления: be, expr Служебные информационные команды Описание команд: info, man контекстный поиск ключевых слов в описаниях команд. apropos поиск местоположения команд (исполняемых файлов и сценариев): which
30 II. Команды ас - выводит статистику о продолжительности под- ключения пользователей к системе. К Синтаксис ас [-d] [-у] [—р] [-f filename] [-а] [—complain]!—reboots] Команда ас печагает отчет о продолжительности (в часах) работы зарегистриро- ванных в системе пользователей, который базируется на записях типа logins/logouts текущего файла /var/log/wtmp. Данный файл обслуживают init и login. Ни команда ас, ни login не создают /var/log/wtmp; если он не существует, учет вообще не произ- водится. Для ведения учета достаточно создать файл нулевой длины. GNU ас работает чуточку "интеллектуальнее", чем команды ас в других системах; вывод команды ас в разных Unix также несколько отличается. Опции - d Печатает итоги за каждый день и общий итог. - р Печатает продолжительность подключения каждого пользователя вдо- бавок к общему итогу. - f filename Читает информацию из файла по имени filename вместо системного фай- ла /var/log/wtmp. —complain В случае возникновения проблем с файлом /var/log/wtmp сообщает об ошибке. - -reboots Не создает во время перезагрузки записи типа reboots. Некоторые поль- зователи продолжают оставаться зарегистрированными в системе и в этом случае. Команда ас автоматически вычисляет время между реги- страцией и возникновением reboot-записи для каждого пользователя. Если необходимо учесть такое время, включите этот флаг. - а При подведении итогов печатаются ежедневные записи вместо того, чтобы пропускать дни, когда в системе не наблюдалось регн< граций Без этой опции такие дни учитываются в следующий день, когда отме- чались случаи регистрации пользователей. - у Печатает год подведения и готов. Пример Ниже приведен результат выполнения команды ас -d;
II. Команды 31 Jan 26 total 0.01 Jan 30 total 4.21 Feb 12 total 5.53 Feb 13 total 5.45 Feb 20 total 12.95 Feb 27 total 2.86 Feb 28 total 1.95 Feb 29 total 15.21 Mar 1 total 0.56 Mar 5 total 19.40 Mar 9 total 6.38 Mar 10 total 1.44 Mar 11 total 4.98 Mar 12 total 64.58 Mar 13 total 8.16 Mar 14 total 1.25 Mar 15 total 6.53 Mar 16 total 3.18 Mar 17 total 7.80 Mar 18 total 13.83 Mar 19 total 0.00 Today total 4.61 access - определяет, доступен / и файл. Синтаксис access -mode file Программа успешно завершается, если файл по имени file доступен в указанном режиме mode. Комбинация одной или более букв rwx, где г предназначена для чтения, w - для записи, х - для выполнения, определяет задаваемый режим. Разница между командами access и test состоит в том, что вторая команда анализи- рует биты полномочий, тогда как первая использует системный вызов access. Разница становится существенной, если рассматриваемый файл по имени file принадлежит к файловой системе, монтируемой только для чтения. Опции Поддерживаются следующие дополнительные опции: —help Выводит краткое описание опций и завершает работу программы. —version Выводит информацию о версии программы и завершает ее работу Примеры Две проверки - успешная и неудачная - приведены ниже: $ access -rwx /mnt/floppy/arq.doc $ $ access -rwx-w- /mnt/flopny/arq.doc access: Invalid KOBE. $
32 II Комаце addr2line конвертирует программные адреса в имена файлов и номера строк. Сиптаксис addr2Iine [-b bfdnaine|--target=bfdnaoe] ]-C|--denaiigle] ]-е filename|--exe-filename,[-f|--functionsJ[-s|--basenames] ]-H|--help][—V|--version](addr addr ] Большие прикладные программы могут содержать сотни файлов исходных про- грамм. Компиляция и последующая обработ са таких программ могут быть сложными процессами и сопровождаться многочисленными ошибками. Утилита addrlline входит в состав программ разработки GNU binutils. С помощью аргумента addr задается адрес исполняемого файла. Утилита addr21inc работает в двух режима.” В первом из режимов шестнадцатеричные адреса указываются прямо в командной строке, взамен для каждо го адреса выводится имя исходного файла и номер строки. Во втором из режимов addr2line считывает адреса прямо со стандартного ввода. В этом режиме утилита может использоваться в конвейере для динамического конвертирования выбранных адресов. Формат вывода выглядит следующим образом: имя-файла:вомер-строки. При- чем для каждого адреса имя файла и номер строки печатаются на отдельной строке. Помимо имени файла в случае задания опции -f выпечатывается также имя функции, содержащей данный адрес. Если имя файла или функции не может быть определено, nldr21ine распечатывает на их месте два вопросительных знака. Если не может быть определен номер строки, addr2line печатает 0. Опции - b bfdname, --target-bfdname Задает формат объектного кода для объектных файлов. - С, --demangleПреобразует низкоуровневые имена (идентификаторы) в высокоуров- невые имена, ранее определенные пользователем. Чтобы сделать име- на функций C++ читаемыми, удаляет некоторые символы подчеркива- ния, специально предусмотренные системой. - е filename, —exe=filename Указывает имя исполняемого файла, для которого выполняется транс ляция адресов. По умолчанию принимается a.out. - f, —functions Выводит имена функций. - s, —basenames Выводит собственно базовое имя файла. -Н, —help Выводит краткие сведения об опциях npoi рам мы и иверцшет ее вы- полнение. -V, —version Выводит информацию о версии npoi раммы и тавершас i ее выполнение
II. Команды 33 elf32-i386 a.out-1386-linux elf32-little clf32-big srec Ниже перечислены форматы объектных кодов, поддерживаемых addrlline symbolsrec tekhex binary ihex trad-core adduser adjtimex - псевдоним команды useradd. - выводит или устанавливает временные перемен- ные ядра. Синтаксис (ocb iBHr.ie опции) adjtimex [—print}!—tick val J (—frequency newfreq] (—compare 1=count)} (—maxerror val}!—esterror ual}[—help) adjtimex - это препроцессор пользовательского уровня для программы adjtimex-syscall, хотя существует и системный вызов adjtimex. Эта программа дает низкоуровневый доступ к переменным ядра, определяющим время. Но для компьютера, подключенного к Internet, связанного с точным осцилля- тором или радиочасами, наилучшим способом регулировки времени является xntpd (демон синхронизации времени с использованием сети и/или радиоприемников). Любой может распечатать временные переменные, но только суперпользователь может менять их. Если компьютер подключен к сети, вы можете запустить xntpd хотя бы на несколь- ко часов и с помощью команды adjtimex —print узнать об установленных значениях tick и freq. Опции могут вводится с одним или двумя минусами. Основные опции --print --tick val Печатает текущие значения временных переменных ядра. Устанавливает количество микросекунд, которое должно быть добав- лено к каждому tick (тику) прерывания ядра. Микросекунда - это мил- лионная часть секунды, учтя, что секунда - это 100 ticks (тиков), полу- чаем, что значение val равно 10000. Увеличение val на единицу увеличивает скорость системных часов примерно на 100 ppm, или 8.64 секунды, за день. Значение параметра val должно лежать в диапазоне 9000 11000. --frequency newfreq Устанавливает смещение частоты системных часов в величину, задан- ную newfreq. Значение newfreq должно находиться в диапазоне между -6553600 - +6553600 (-lOOppm + ЮОррт).
34 It Команды -- compare! =count] Периодически сравнивает системные часы с часами CMOS. После пер- вых двух вызовов печатает значения tick и смещения частоты, которые приводят системные часы в соответствие с часами CMOS. Интервал между сравнениями составляет 10 секунд. Необязательный параметр представляет собой количество сравнений. Если задается этот параметр, то наличие знака равенства обязательно. —maxerror val Устанавливает максимальную ошибку (usee). —esterror val Устанавливает предполагаемую ошибку (usee). Максимальная и предполагаемая ошибки не используются ядром; они только доступны пользовательским процессам через системный вызов adjtimex. —help Печатает опции программы. Пример Предположим, что ваши системные часы "спешат" на 8секунд в сутки. Вы можете установить значение опции —tick в 9999. Но тогда вы все еще теряете 0.64 секунды за день. Не забывайте, что выражение --tick 10000 --frequency 6S53600 - это примерно —tick 10001 —frequency 0. Чтобы скорректировать остаток (0.64 секунды), доста- точно установить смещение частоты в значение 485452. Таким образом получаем: adjtimex —tick 9999 —freq 485452 Команда adjtimex манипулирует системными часами только до тех пор, пока в ком- пьютере работает блок питания. Для установки и регулировки часов CMOS использу- ется команда clock. alias - назначает псевдоним для длинной команды. В Синтаксис alias [abbrev=command} Определяет аббревиатуру abbrev для длинном команды command, что позволяет облегчить набор командных строк с многочисленными опциями. Эта команда, набран- ная без аргументов, распечатывает текущий список псевдонимов (аббревиатур). Сам аргумент command приходится заключать в одинарные кавычки. Команда alias встроена в оболочку bash. Пример $ alias ff='find . -name gjj -print' $ Далее для запуска достаточно набрать только ff.
II. Команды 35 - автоматически монтирует файловые системы. amd Синтакс ис amd -В amd (-F conf-file} amd ]-nprvH](-a temporary_fiirectory][-c duration}[~d domain} [-k kernel-arch} [-1 logfile}}-o opsysver} [~t interval, interval} [-w interval][-x log-options}[-y YP-domain][-I conf-file} [-0 op sym name}}direc tor у map-name [ -map-options}) Иногда монтирование абсолютно всех типов файловых систем, к которым необхо- димо обеспечить доступ, может оказаться расточительным из-за большого количе- ства томов или из-за значительного времени, которое требуется на их подключение при начальной загрузке системы. Целесообразно использовать программу, автомати- чески подключающую и отсоединяющую тома NFS. В операционной системе Linux самым распространенным средством автоматичес- кого монтирования является amd. Демон amd автоматически монтирует файловые сис- темы всякий раз, когда становится доступным какой-нибудь файл или каталог файло- вой системы. Причем файловая система автоматически демонтируется, когда стано- вится неактивной. С помощью -map-options передаются специфические опции файло- вой системы. '.7; Основные опции - a temporary directory Указывает альтернативное расположение для реальных точек монтиро- вания. По умолчанию принимается /а. - с duration Указывает продолжительность в секундах, определяющую процесс по- иска имени. По умолчанию - 5 минут (300 секунд). - d domain Задает локальное имя домена. - k kernel-arch Задает архитектуру ядра. - 1 logfile Указывает файл, в котором регистрируются процессы монтирования и демонтирования. Если параметр logfile установлен в значение syslog, то сообщения будут направляться системному демону регистрации. - п Нормализует имена узлов перед использованием, транслируя псевдо- нимы в официальные имена. - о op sys ver Не принимает во внимание встроенный номер версии операционной сис- темы. Иногда в целях совместимости требуется такая поправка. .р Выводит на стандартный вывод РЮ демона amd. который можно затем сохранить в файле. - г Перезапускает сущесз вующие подключения. Демон amd сканнру ет таб- лицу монтирования, чтобы определи гь, какие файловые системы смой
36 II Команды тированы в настоящее время. И как только одна из файловых систем сможет стать автоматически монтируемой, amd унаследует ее -t interval.interval Указывает интервал в десятых долях секунды между попытками NFS/RPC7UDP. По умолчанию принято значение, равное 0.8 секунды Второе значение (после точки) меняет счетчик переданных попыток. -V Выводит версию программы и дополнительную информацию по кон- фигурации в стандартный файл ошибок. -w interval Указывает интервал в секундах между попытками демонтировать фай- ловые системы, которые превысили свои возможности. По умолчанию принимается значение, равное 2 минутам. -х log-options Указывает опции регистрации в виде списка, компоненты которого раз- делены запятыми: fatal (фатальная), error (ошибка), user (пользователь), warn (предупреждение) и т.д. -у YP-domain Задает альтернативный домен NIS, из которого извлекаются таблицы (maps) разрешений NIS. По умолчанию берется системное имя домена. Эта опция игнорируется, если не заложена поддержка NIS. - F conf-file Определяет файл конфигурации amd. Обычно файл по имени amd.conf содержит директивы для каждой опции командной строки. Директивы конфигурационного файла, заданного рассматриваемой опцией, будут выполняться после всех других опций, невзирая на его фактическое ме- стоположение в командной строке. - Н Печатает все опции программы. - О op sym пате Не принимает во внимание действительное имя операционной системы. Иногда в целях совместимости требуется такая поправка. amd сам управляет подключением, как и сервер NFS, к каждому из заданных ката- логов directory. Демон amd поддерживает просмотр заданных каталогов, используя таблицу разрешения, имя которой указывается аргументом map-name. amq - инструмент, запрашивающий автоматическое монти- рование. Синтаксис (основные опции) amq [-fmpBUvTU][-h hostname]]-! logfile]]-x log-options][directory] Запуск amq это самый простой способ определения текущего состояния демона amd. Связь организуется через RPC. Текущим протоколом поддерживаются три режи- ма работы. Основные опции - f 11рсдлагает автомонтировщику amd запомни и. к пни.
II. Команды 37 -h hostname Задает альтернативный узел для запросов. По умолчанию используется локальный узел. -1 logfile Предлагает программе amd использовать logfile в качестве имени сис- темного журнала. -m Предлагает автомонтировщику создать список монтируемых файловых систем, включая количество обращений к каждой из них, а также воз- никшие при мош ировании ошибки. -P Возвращает PID дистанционного и локального amd. -s Предлагает автомонтировщику вести статистику по процессу монтиро- вания. -u Просит автомонтировщик демонтировать файловые системы, перечис- ленные в каталоге directory, вместо того, чтобы информировать о них. Демонтирование только запрашивается, а не выполняется. -V Просит автомонтировщик выдать информацию, куда включается инфор- мационное подмножество, получаемое при работе amd с опцией -V. -х log-options Просит автомонтировщик использовать опции регистрации, перечислен- ные в параметре log-options. -Т Просит amd использовать только протокол TCP. Обычно amq пытает- ся работать с помощью TCP. Если это невыполнимо, пробует UDP. -и Просит amd использовать только протокол UDP. Обычно amq пытает- ся работать с помощью TCP. Если это невыполнимо, то переходит к UDP. Пример Для сбора статистики по автоматическому монтированию набираем следующую команду: I amq -raps •root* localhost:(pid413) root 1 localhost is up /etc/amd.conf /net toplvl 1 localhost is up 413 requests stale mount mount unmount deferred fhandles ok failed failed 0 0 10 0 t anacron - периодически запускает команды на машинах, кото ые не работают постоянно. Синтаксис anacron [-s][-f](-n][-d][-q)|-t anacrontab][job]... anacron -u [job]... anacron [~V|-hJ
2 § Н Команды Программа апасгоп считывает список заданий из файла /ctc/anacrontab с перио- дом, указанным в днях (не в часах), задержку в минутах, идентификатор задания и ко- манду оболочки, проверяя, было ли в последние п дней выполнено указанное задание Опции -f Вынуждает преждевременно выполнять задания, игнорируя временные метки. - и Только исправляет временные метки заданий на текущую дату, но не запускает их. - s Не запускает новое задание до тех пор, пока не будет завершено пре- дыдущее. - п Игнорирует спецификацию задержки в файле /etc/anacrontab и запус- кает задания без задержки. Эта опция предполагает опцию -s. - d Не выполняет переход в фоновый режим и направляет сообщения в стан- дартный файл ошибок. Вывод заданий доставляется пользователю, за- пустившему апасгоп (обычно root). Без этой опции после своего стар- та апасгоп выполняет переход в фоный режим, а родительский процесс немедленно завершается. - q Не допускает вывода сообщений в стандартный файл ошибок. Эта оп- ция лишь применима с опцией -d. - t anacrontab Использует указанный anacrontab вместо заданного по умолчанию файла. - V Печатает сведения о версии и завершает апасгоп. - h Печатает информацию по применению команды и завершает ее. animate - демонстрирует последовательность изображений на компьютерах под Х11 Синтаксис animate [options...] file [[options..file...] Программа animate создает единое отображение цветов для последовательности изображений. Это достаточно продолжительная операция, но вы можете существенно ускорить ее с помощью команды mogrify, ограничив цвета в изображении перед его анимацией. Базовые опции -backdrop color Центрирует изображение па, "заднике" указанного цвета, покрывающем весь экран рабочей станции и отвлекающем внимание от других оЖн См. в X описание форматов используемых цветов. -background color Указывает цвет фона.
II. Команды 39 bordercolor color Указывает цвет рамки. См. в X описание форматов используемых цве- тов. -borderwidth geometry Задает ширину рамки. -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное ви- деокэшу. Пока не будет задействовано 80 Мбайт памяти пикселы изоб- ражения хранятся в памяти. Последующие операции с пикселами пере- носятся на диск. Если ваш компьютер не имеет достаточного количе- ства оперативной памяти, вы, возможно, захотите подстроить это зна- чение. -chop widthxheight{+-}x_offset{+-}y_offset{%} Удаляет пикселы из указанной внутренней части изображения. Здесь width и height задают число соответственно столбцов и строк для уда- ления, а х offset к у offset - смещения, указывающие положение само- го левого столбца и самой верхней строки удаляемой части. Удалив указанную часть изображения, опция -chop старается заполнить обра- зовавшийся промежуток, перенося оставшиеся угловые блоки налево и вверх. -colors value Задает предполагаемое количество цветов для изображения (опция ог- раничения числа цветов). -colorspace type Устанавливает альтернативный тип цветового заполнения. На выбор пре- доставляются следующие типы: GRAY, ОНТА, RGB, Transparent. XYZ, YCbCr, YIQ, YPbPr, YUV или CMYK. По умолчанию ограничение цвет- ности имеет место в цветовом заполнении RGB. Эта опция требует оп- цию -colors или опцию -monochrome. -crop widthx.height{+-}x_pffset{+-}y_offset{%} Устанавливает предпочтительный размер и расположение усеченного изображения, используя геометрическую спецификацию (см. X). Вы можете указать ширину или высоту в процентах, добавив %. -delay value Выводит после паузы следующее изображение. Аргумент value - это число сотых долей (1/100) секунды. Максимальная задержка достига- ет 65535. По умолчанию вывод осуществляется без задержки. -density widthv-height Задает горизонтальное и вертикальное разрешение изображения в пик- селах, когда выполняется дешифрирование страницы PostScript или пе- реносимого документа; по умолчанию составляет 72 ppi (pixels per inch - пикселы на дюйм) в горизонтальном и вертикальном направле- ниях. -depth value Задает количество битов (8 или 16) в цветном образце в пределах пик села. Эта опция применяется для низкоуровневых изображений. глуб|
40 II Ком »ад . на цветности которых неизвестна, а именно: для GRAY (изображения в градациях серого), RGB или CMYK. -display host:display[.screen] Указывает Х-сервер для контакта (см. X). -dispose method Определяет метод диспозиции (расположения) для GIF-формата: О расположение не указано 1 не располагает между кадрами 2 перекрывает кадр фоновым цветом из заголовка 3 перекрывает предшествующим кадром -dither Использует диффузию (рассеивание) ошибки по Флойду/Штейнбергу (Floyd/Steinberg), улучшающую изображения, которые страдают от сжатия палитры. Эта опция требует опцию -colors или -monochrome. Базовая стратегия рассеивания состоит в том, чтобы создать простран- ственное разрешение путем усреднения интенсивностей нескольких соседних пикселов. -font пате Для отображения текста использует указанный шрифт XII -foreground color Определяет цвет переднего плана. См. в X описание форматов исполь- зуемых цветов. -gamma value Устанавливает уровень гамма-коррекции (от 0.8 до 2.3), позволяющей подстроить изображения на мониторах разных рабочих станций. Если требуется приложить гамма-значения к красному, зеленому или синему каналам изображения, значения следует отделить друг от друга наклон- ной чертой. -geometry widthxheight{+-}x_offset{+-}y_offset{%] {!} {<} {>} Устанавливает предпочтительный размер или расположение окна изоб- ражения. По умолчанию во время изменения размера пытается сохра- нять формат изображения (соотношение ширины и высоты). Чтобы вы- нудить изображение принять некий определенный размер, добавьте в конце восклицательный знак. Вы можете указать процент ширины (или высоты), добавив %, и изменить размеры с помощью о. Символ > меняет размер изображения только в том случае, если его ширина или высота превышают геометрическую спецификацию Символ < меняет размер изображения только в том случае, если его ширина и высота меньше, чем геометрическая спецификация. Символ указывает мак- симальную область изображения в пикселах. -interlace type Указывает тип чередования (поочередного сканирования линий) для низкоуровневых форматов изображений (RGB пли YUV): None (RGBRGBRGBRGBRGBRGB.. ) по умолчанию Line (RRR...GGG. BBB...RRR...GGG. ,ВВВ ) Plane (RRRRRR.. GGGGGG. ВВВВВВ )
II Команды 41 Partition как Plane, по разные битовые плоскости (матрицы, обра- зованные совокупностью одноименных битов всех пик- селов) сохраняются в разных файлах: image R, nnage.G, image.B -map type Выбирает набор цветов из следующих стандартных типов отображе- ния: best red default green gray blue -monochrome Трансформирует данное изображение в монохромное (черный и белый цвета). -pause seconds Устанавливает паузу в секундах между повторением анимации. -rotate degrees {<} {>} Поворачивает изображение вращением Паеса (Paeth) на указанный угол. Символ > вращает изображение только в том случае, если его ширина превышает высоту; символ < вращает изображение только в том слу- чае, если его ширина меньше высоты. -scenes value-value Указывает номера читаемых изображений. Каждое изображение диапа- зона считывается согласно задаваемому имени файла, в котором после точки присутствует номер. -size widthrtheight{+offset} Указывает ширину и высоту низкоуровневых изображений (GRAY. RGB или CMYK) с неизвестными размерами. -title string Назначает указанный заголовок окну с изображением. -verbose Печатает подробную информацию об изображении. -window id Выполняет изображение фона, задаваемого по имени или идентифика- тору окна. Для id задайте значение root, если в качестве целевого хоти- те указать корневое окно X. Пример
42 II Команды answer - система транскрипции теле-) онных сообщении. Синтаксис answer [-pu] Команда answer — часть почтовой системы elm, позволяет записывать телефоно- граммы в виде сообщений электронной почты. Программа использует стандартные ад- реса телефонной почты или псевдонимы. Она может также использовать свои соб- ственный набор псевдонимов, обычно это подмножество системных псевдонимов. Чтобы использовать указанную возможность, достаточно создать набор псевдонимов и инсталлировать их с помощью команды newalias. Опции -р Приглашает для ввода полей сообщения. -и Разрешает использовать любые имена, даже не встречающиеся в таб- лице псевдонимов. Программа приглашает создать сообщения, требуя заполнить такие поля, как Message to:, где следует ввести имя пользователя, и некоторые другие поля, относя- щиеся к делу: TELEPHONED (звонящий), PLEASE CALL (пожалуйста, вызовите), URGENT (срочно). Из программы answer можно выйти, набрав в приглашении Message to: любое из следующих слов: quit, exit, done или bye. appres - дает список ресурсов системы X. Синтаксис @ appres [cTass[rnstance]][-lHtooT*itoptions] Программа appres выводит список Х-ресурсов, используемых приложением, ко- торое задается классом class и образцом имени instance, идущим сразу после имени класса. Хотя можно задать обычную опцию Xt в качестве toolkitoptions, но только не указывая при этом образец имени. Чтобы вывести ресурсы, соответствующие указан- ному уровню в иерархии, следует добавить в командную строку опцию -1. Пример Учтите, что вывод команды appres может занимать несколько страниц. Ниже при- ведена часть листинга, полученного при задании команды appres Xrnan: ♦quit.Label: Quit *manualBrowser*likeToSave*yes.translations: loverride <BtnlDown>r<BtnlUp>: SaveFormattedPage(Save) reset() \n\ <Key>y: SaveFormattedPage(Save) \n\ <Key>n: SaveFormattedPage(Cancel)
II. Команды 43 *manualBrowser*likeToSave*no.translations: loverride <BtnlDown>f<BtnlUp>: SaveFormattedPage(Cancel) reset() \n\ <Key>y: SaveFormattedPage(Save) \n\ <Key>n: SaveFormattedPage(Cancel) *manualBrowser*likeToSave*translations: loverride <Key>y: SaveFormattedPage(Save) \n\ <Key>n: SaveFormattedPage(Cancel) ‘manualBrowser*search^manualPage.translations: faugment <BtnlDown>,<BtnlUp>: Search(Manpage) reset() *manualBrowser*search*apropos.translations: iaugment <BtnlDown>r<BtnlUp>: Search(Apropos) reset() *manualBrowser*search*cancel*translations: Iaugment <BtnlDown>,<BtnlUp>: Search(Cancel) reset() *manualBrowser*search*value*translations: loverride <Key>Return: Search(Manpage) \n\ Ctrl<Key>m: Search(Manpage) *manualBrowser*directory.translations: ioverride Ctrl<BtnlDown>: XawPositionSimpleHenu(optionMenu) HenuPopup(optionMenu) \n\ Ctrl<Btn2Down>: XawPositionSimpleHenu(sectionHenu) HenuPopup(sectionHenu) \n\ Shift<Btn2Down>,<Btn2Up>: GotoPage(Manpage) \n\ Ctrl<Key>q: Quit() \n\ Ctrl<Key>c: Quit() \n\ Ctrl<Key>r: RemoveThisManpage() \n\ Ctrl<Key>n: CreateNewHanpage() \n\ Ctrl<Key>h: PopupHelp() \n\ Ctrl<Key>d: GotoPage(Directory) \n\ Ctrl<Key>m: GotoPage(HanualPage) \n\ Ctrl<Key>v: ShowVersion() \n\ Ctrl<Key>s: PopupSearch() apropos - исследует базу данных whatis по ключевым словам. Синтаксис apropos keyword ... Команда apropos осуществляет поиск по ключевым словам среди файлов БД, со- держащей краткие описания команд системы, и затем выводит результат на стандарт- ный вывод. Пример В результате выполнения команды apropos show можно получить примерно такой вывод: B::Showlex (3pm) - Show lexical variables used in functions or files QShowEvent [qshowevent) (3qt) - The event sent when a widget is shown
44 II Команды enfsstat (8) - show snapshot of CNFS dn s domai nname [hostname] (1) - show the system's DNS domain name domainname [hostname] (1) - show or set the system's NIS/YP domain паве ftpcount (1) - show current number of users for each class ftpwho (1) _ show current process information for each ftp user hostname (1) - show or set the system's host name last (1) - show listing of last logged in users lastb [last] (1) - show listing of last logged in users mhshow (1) - display HIKE messages next (1) - show the next message nisdomainname [hostname] (1) - show or set system's NIS/YP domain name nodename [hostname] (1) - show or set the system's DECnet node name panel [show panel] (3x) - panel stack extension for curses prev (1) - show the previous message route (8) - show / manipulate the IP routing table ruptime (1) - show host status of local machines show (1) - show (display) messages showaudio (1) - Play an audio email message showexternal (1) - Fetch and display the body of a mail message that is included by reference showfont [showefont] (1) - displays all characters in the current screen-font showkey (1) - examine the scan codes and keycodes sent by th which (1) - shows the full path of (shell) commands who (1) - show who is logged on ypdomainname [hostname] ( 1) - show or set the system's NIS/YP domain name critical (1) - Draw a system showing self-organizing criticality showfont (lx) - font dumper for X font server showrgb (lx) - uncompile an rgb color-name database sxpm (lx) - Show an XPM (X PixMap) file and/or convert ХРМ 1 or 2 files to XPM 3 Помните, что поиск по ключевым словам типа Is или at может вызвать вывод многостраничных листингов. аг - утилита упаковки. К Синтаксис ar [ - ] {dmpqr tx } [abciosuv] [тешЬегпаше]archive files Программа GNU под названием аг создает архивы, модифицирует и извлекает фай- лы из архивов. Архив - это единый файл, содержащий набор других файлов в формате, делающем возможным их последующее восстановление в отдельные оригинальные файлы Со- держимое оригинальных файлов, полномочия, временные метки, владелец и группа могут быть воссозданы при восстановлении. аг обычно работает с двоичными программами, создавая архивы, исполыуемые как библиотеки общедоступных утилит. Таблица символов (идентификаторов) архива применяется программой Id для многочисленных эффективных прохождений через био-
II. Команды 45 лиотеку объектных файлов. Таблица символов архива создается и поддержива< г я 3 ги- литой аг, если, по крайней мере, в архиве имеется хотя бы один объектный модуль. Этот служебный файл никогда не упоминается при выводе содержания архива и напря- мую недоступен пользователям. Прежде всего при работе с утилитой аг следует указать выполняющуюся опера- цию (в фигурных скобках), которая может принимать одно из следующих значений- cl удаляет модули из архива; следует указать имена модулей, которые будут удале- ны как файлы; если указать модификатор v, утилита аг распечатает список уда- ляемых модулей m эта операция осуществляет пересылку компонентов в архив; если дополнитель- но не используются никакие модификаторы, то указываемые файлы перемеща- ются в конец архива; модификаторы а, Ь или i позволят выполнить операцию замещения р выводит содержимое заданных компонентов архива на стандартный вывод; если используется модификатор v, перед выводом содержимого печатается имя ком- понента архива; если имена файлов не указываются, то распечатываются все фай- лы архива q выполняет быстрое добавление: файлы просто добавляются в конец архива без попыток замены; модификаторы a, b, i в этом случае не срабатывают: новые компоненты помещаются в конец архива; модификатор v в этом случае выдает список добавляемых файлов г включает файлы в архив с замещением; эта операция отличается от операции q тем, что любые ранее существующие члены будут удалены, если их имена сов- падут с именами добавляемых файлов; по умолчанию новые члены добавляют- ся в конец архива; а, Ь или i позволят осуществить фактическое замещение ра- нее существующих файлов t выводит таблицы содержания архива; если требуется дополнительная информа- ция о полномочиях, временных метках, владельце, группе и размере помимо имен файлов, необходимо указать модификатор v; если в архиве по имени archiv содержится несколько файлов с одинаковыми именами, скажем, filel, то по ко- манде ar t archiv filel можно получить только первый файл с таким именем; чтобы увидеть все такие файлы, следует запросить полный листинг с помощью команды ar t archiv х извлекает из архива указанные файлы; модификатор v в данном случае позво- ляет получить список извлеченных файлов; если при использовании этой опе- рации ие задаются имена файлов, то из архива будут извлечены все файлы Сразу же вслед за кодом операции могут следовать такие модификаторы: а добавляет новые файлы после существующего члена архива; если применяется модификатор а, имя существующего члена архива задается в качестве аргемен- та membername до появления спецификации archive b добавляет в архив новые файлы перед существующими с создает архив
46 П Команды i включает новые файлы до существующего члена архива; если применяется мо- дификатор i, имя существующего члена архива задается в качестве аргумента membername до появления спецификации archive о сохраняет оригинальные временные метки членов при их извлечении из архива; если этот модификатор не указывается, то файлы, извлеченные из архива, полу- чат метки, соответствующие времени извлечения s аг может создать индекс для идентификаторов, определенных в настраиваемых объектных модулях архива, если указывается модификатор s; однажды создан- ный, этот индекс может обновляться в архиве всякий раз, когда аг производит изменение содержимого архива; можно использовать модификатор s с любой операцией или сам по себе, запустив ar s и включает лишь те из файлов, которые отличаются от уже имеющихся в архиве v подробно информирует о выполненных операциях Примеры Команда ar -qcv archivel priml prim2 prim3 создает архив archive] и наполняет его файлами priml, prim2, prim3. С помощью команды ar -t archivel можно ознакомиться с содержанием архива archivel. Команда ar -р archivel priml позволит выполнить распечатку содержимого фай- ла priml из архива archivel. arch - выводит тип (архитектуру) аппаратной платформы компьютера. Синт 1КСИС arch Команда arch эквивалентна команде штате -т Сегодня Linux "знает" такие систе- мы: i386, i486, i586, alpha, spare, arm, m68k, mips, ppc. arp - манипулирует системным кэшем ARP Синтаксис arp [-vn][-H type](-i if] -a [hostnanzej Вывод кэша ARP arp [-v][-i if] -d hostname [pub] Удаление элемента кэша arp [—v][—H type]]—1 if] —s hostname hw^addr [temp] Добавление элемента arp ]-v]]-H type][-i if] -s hostname hw_addr [netmask nm] Добавление элемента arp [-v][-B type][~i if] -Ds hostname if [netmask nm] pub Добавление элемента arp [-vnD][-H type][-i if] -f filename Добавление элемента из файла
II. Команды 47 Протокол Ethernet идентифицирует сетевые узлы при помощи адреса, состоящего из 6 байт, но это число не имеет ничего общего с IP-адресом. Для решения проблемы применяется ARP - Address Resolution Protocol - протокол разрешения адреса. Сле- довательно, ARP служит для определения адреса Ethernet, соответствующего данно- му IP-адресу. Во всех случаях, когда задается имя сетевого узла, можно использовать точечно- десятичный формат имени. В целях отладки программа агр позволяет получить дамп кэша ARP. Опции -V Выдает подробные сообщения. -п Показывает числовые адреса вместо того, чтобы пытаться определить символические имена узлов, порт или имена пользователей. -Н type При установке или чтении кэша данный необязательный параметр со- общает агр, какой класс элементов следует проверять. По умолчанию этот параметр принимает значение ether (код оборудования 0x01 для IEEE 802.3 10Mbps Ethernet). Другие значения могут определять сете- вые технологии, а именно: ash (Ash) tr (16/4 Mbps.TR) tr (16/4 Mbps Token Ring (New)) ax25 (AMPR Ax.25) netrom (AMPR NET/ROM) arenet (ARCnet) dlci (Frame Relay DLCI) rose (AMPR ROSE) fddi (Fiber Distributed Data Interface) hippi (HIPPI) irda (IrLAP) -a hostname Выводит элементы кэша для заданных узлов. Если параметр hostname не указан, будут выведены все элементы. -d hostname Удаляет любой элемент кэша ARP указанного сетевого узла. -D Использует адрес оборудования, принятый в заданном интерфейсе (см. опцию -i if). -i if Осуществляе т выбор сетевого интерфейса (например, cthO). -s hostname hwaddr Обычно создает ARP-разрешение адреса для сетевого узла hostname; hw addr - это класс адресации оборудования. Для класса Ethernet ис- пользуется 6 байт в шестнадцатеричном виде, разделенных символами двоеточия. При добавлении элементов proxy агр нужно установить флаг pub вместе с флагом nctntask, а также определить шаченне пт в качес- тве сетевой маски . Это позволит определить услугу proxy агр для по t сетей. Технология proxy ARP позволяет одному сетевому узлу выпол- нять функции шлюза для другого узла. Добавленные элементы булут
4$ Команды постоянно храниться в кэше ARP, если только не задается флаг temp (временно). -f filename Действует подобно опции -s, но только в этом случае элемент берется из файла filename. Очень часто таковым файлом является /etc/ethers, но это - не обязательно. Пример Ниже показано, как проверить таблицу ARP, используемую ядром: ♦ агр -а IP address HW type HW address 172.18.1.4 10Mbps Ethernet 00:00-.CO: 4B: 32 :A0 172.18.1.5 10Mbps Ethernet 00:00:CO:70:D3:54 172.18.2.1 10Mbps Ethernet 00:00:C0:1A:C4:01 I as - вызов мобильного ассемблера GNU. Синтаксис as [-a[dhlns]( = fiJe] ](— defsym SYH=VAL] ]-f) [ — gstabs] [-1 path] ]-K) I -L] (-иI—mri] [-o objfile) [-R] [—traditional-format] [-v] [-WJ [ — |files— ] опции только для i960: [-АСА I-АСА_АI-АСВ|-ACC|-АКА|-АКВ|-АКС|-АИС][-Ь)]-no-relax] опции только для тп680х0: [-1] [-Ш68000 |-ш68008 |-т68010 |-m68020 j-тб8030 |-т68040 |-тбВОбО |-т68302 | -тбВЗЗ! | -т68332 | -шбВЗЗЗ | -тб8340 | -тсри32 | -т5200 ] Сначала о GNU as, который фактически представляет семейство ассемблеров. Если вы используете GNU ассемблер на одной архитектуре, то найдете очень похожее ок- ружение на другой архитектуре. Каждая версия имеет много общего с другой, вклю- чая форматы объектных файлов, большинство директив (часто называемых pseudo- ops) и даже синтаксис. as первоначально предназначался для ассемблирования вывода компилятора GNU С, называемого gee, для использования компоновщиком Id. Программа as пытается корректно ассемблировать любой исходный код, хотя это вовсе не означает, что as всегда использует подобный синтаксис, как другой ассемблер для такой же архитекту- ры. Существует несколько несовместимых по синтаксису версий языка ассемблер для 680x0. Если в командной строке отсутствуют имена файлов, читается один входной файл со стандартного ввода, которым обычно является ваш терминал, as может выводить предупреждения и сообщения об ошибках в стандартный файл ошибок (обычно ваш терминал). Основные опции -а Включает создание листингов ассемблирования Существует несколь- ко подопций: d опускает дирек типы отладчика
II. Команды 49 h включает исходный код наивысшего уровня, при этом файл с исходным текстом программы должен компилироваться с оп- цией -g 1 включает листинг ассемблирования п опускает обработку форм s включает листинг символов (идентификаторов) =file устанавливает имя файла для листинга; эта подопция должна быть последней —defsym SYM=VAL Устанавливает значение символа SYM, равным VAL, перед ассемблиро- ванием входного файла. VAL может быть целой константой. Идущее в начале константы выражение Ох обозначает шестнадцатеричное значе- ние, а 0 - восьмеричное. -f Пропускает препроцессорную обработку; предполагается, что исход- ный текст - это вывод компилятора. I path Добавляет маршрут к списку поиска для директив типа .include. —gstabs Для каждой ассемблируемой строки генерирует информацию отладчи- ка (stabs). - К Выводит предупреждения, когда разнящиеся таблицы изменяются со- гласно длинным смещениям (относительно базовых адресов). - L Держит в таблице символов в системах a.out локальные символы, на- чинающиеся с буквы L. - М, —mri Ассемблирует в MRI-совместимом режиме. - о objfile Определяет имя выходного объектного файла. - R Загоняет секцию данных в текстовую секцию. -traditional-format Когда возможно, использует такой же формат, как "родной" формат ас- семблера. - v Объявляет версию ассемблера. - W Запрещает выдачу предупреждающих сообщений. - -\files... Использует для ассемблирования стандартный ввод или заданные ис- ходные файлы. - Ь Добавляет статистику о выбранных ветвях для Intel 960. - no-relax Не выполняет замещений команд в случае длинных смещений относи- тельно базового адреса) -т68000|-т68008|-т68010... Сообщает, что вывод производится па процессоре семейства 6S000. Опции могут следовать в любом порядке: до, после и между именами файлов По- рядок имен файлов существенен. Любой аргумент командной строки, которому пред- шествует только один дефис, является опцией. После опции -о следует всегда одно имя файла.
50 II Команды Пример Вызов ассемблера можно выполнить с помощью примерно такой команды: $ as -о as-object-file.o source.в asepu - монитор загрузки ЦП, вхоцящий в состав менед- К жера окон AfterStep. Синтаксис asepu [-h][-Н][-ver][-iconic][-withdrawn][-position!+ |-]x [ +1-]y] (-dev device][-u updaterate] [-display uame][-hg color][-fg color] [-sys color][-nice color][-user color][-idle color] Основные опции -h, -Я Печатает краткое описание и правила применения. -ver -iconic Печатает версию программы. Первоначально запускает только пиктограмму программы, которая в дальнейшем может быть развернута. -withdrawn Запускает приложение в сокращенном режиме (без целого ряда атри- бутов обычного окна программы asepu). -position [4-|-]х[+|-]y -dev device Размещает окно программы в заданном месте экрана, определяемом абсциссой х и ординатой у. Определяет расположение устройства (файла), предназначенного для получения статистической информации; по умолчанию этим устрой- ством является /proc/stat. -u update_rate Меняет интервал времени опроса для доступа к ЦП. Время опроса обыч- -display name -bg color но указывается в секундах. Минимальное значение (оно же принято по умолчанию) устанавливается в 1 секунду. Задает имя дисплея, в котором запущено окно asepu. Задает цвет прорисовки кривой (графика) времени ЦП для фоновых про- цессов. -fg color Задает цвет прорисовки кривой (графика) времени ЦП для основных процессов. -sys color -nice color Задает цвет прорисовки кривой (графика) системного времени ЦП. Задает цвет прорисовки кривой (графика) времени ЦП для процессов, запущенных с предопределенным по команде nice приоритетом -user color Задает цвет прорисовки кривой (графика) времени ЦП для польюна- тельских процессов. -idle color Задает цвет прорисовки кривой (графика) времени бездействия (про- стоя).
II. Команды 51 - вызов оболочки ash Синтаксис ash [-eflijnsxz][+eflijnsxz][-с command][arg]... ash - это версия sh с рядом особенностей, присущих оболочке System V Если задается опция -с, оболочка выполняет указанную команду command. Флаг -s вынуждает оболочку прочесть команды со стандартного ввода (после выполнения лю- бой команды указанной с опцией -с). Если отсутствует опция -s или -с, тогда первый аргумент arg берется в качестве имени файла, из которого следует читать команды. Если это невозможно потому, что за опциями не следуют аргументы, тогда оболочка ash сама установит флаг -s и начнет считывать команды со стандартного ввода. Оболочка принимает начальные значения позиционных параметров от аргументов, оставшихся после того как выбрано имя файла с командами. Все флаги, кроме -с, устанавливаются предшествующим им знаком минус и очища- ются предшествующим знаком плюс. Опции - е Прекращает работу оболочки, если код завершения какой-нибудь ко- манды не равен 0, за исключением тех случаев, когда явно задается про- верка кода завершения команды. Это случается, если команда находит- ся слева в операторах && или [|, а также в конструкциях if, elif, while или until. - f Отменяет создание имени файла. - I Предлагает оболочке игнорировать конец файла - eof. Это непримени- мо в случае использования команды точки. Оболочка действительно завершит свою работу, если примет 50 в строке символов eof. - i Делает оболочку интерактивной. - j Включает управление заданиями, принятое в системах Berkeley. Когда оболочка стартует и принят флаг -i, флаг -j принимается по умолчанию. - п Приказывает оболочке считывать, но не выполнять команды. Это удоб- но при проверке синтаксиса сценариев. - s Если установлен этот флаг, то, стартуя, оболочка считывает команды со стандартного ввода; во всех остальных случаях этот флаг игнорире ется. - х Распечатывает каждую команду перед выполнением. - z Если установлен этот флаг, то в процессе генерации имен фай тов могут создаваться файлы нулевой длины (пустые файлы) Если >тот фпаг не установлен, тогда образец (шаблон), несопоставимый ни е одним име- нем файла, будет замещен своей сооствснной версией в кавычках.
52 II. Команды монитор загрузки ЦП, входящий в состав менедже- ра окон AfterStep. asload Синтаксис (основные опции) asload [~h][-ver][-iconic][-withdrawn][-shape][-u update_rate] [-position[ + |-]x[+|-]y] [-led color][-exe command] asload приложение XI1, которое для компьютеров, работающих под Linux, вы- полняет роль монитора загрузки ЦП. Монитор предназначался для работы с файловой системой PROC. Обычно все раз- новидности Linux приходят с этой файловой системой. Основные опции -h Печатает краткое описание и правила применения. -ver Печатает версию программы. -iconic Первоначально запускает только пиктограмму программы, которая в дальнейшем может быть развернута. -withdrawn Запускает приложение в сокращенном режиме (без целого ряда атри- бутов обычного окна программы asload). -shape Запускает приложение в рамке без привычного окаймления. -u update rate Меняет интервал времени опроса для доступа к ЦП. Время опроса обыч- но указывается в секундах. Минимальное значение (оно же принято по умолчанию) устанавливается в [секунду. -position [+|-].г[+|-]у Размещает окно программы в заданном месте экрана, определяемом абсциссой х и ординатой у. -led color Применяет для отображения загрузки ЦП выбранный цвет кривой (гра- фика). -exe command Устанавливает апплет, выполняющий заданную команду по щелчку мыши в окне asload. Пример Изначально монитор asload предназначался для запуска в загрузчике Wharf менед- жера окон AfterStep, но может быть вызван в обычной командной строке в фоновом режиме: asload -u 1 -led red &
II. кок.анды 53 dl. - планирует задания для последующего выполнения 1х Синтаксис at [-V] [q queue] [-f fileJI-mldv] TIME at -c job[job__] Команда at читает команды, которые должны выполняться в запланированное вре- мя, со стандартного ввода или заданного файла, при этом используется /bin/sh. Необходимость выполнить определенную последовательность команд часто свя- зана с задачами системного администрирования. Суперпользователь всегда имеет доступ к этой команде и может указать поль- зователей, которым также разрешен доступ к ней. Для этого используются файлы /etc/at.allow и /etc/at.deny. Если файл /etc/at.allow существует, то доступ к команде имеют только пользователи, перечисленные в нем. Если этот файл отсутствует, но име- ется файл /etc/at.deny, то доступ к команде at имеют все пользователи кроме перечис- ленных во втором файле. Сначала вы вводите команду at и планируемое время выполнения, а уже затем соб- ственно сами команды, ввсд которых завершается нажатием Ctrl+D. Набор введенных команд оседает в виде задания в очередях команды at, которое и будет выполнено в указанное время. Вывод этих команд, если он существует, можно получить по элект- ронной почте. Опции - V Выводит номер версии в стандартный файл ошибок. - q queue Использует указанную очередь, обозначенную буквой, лежащей в ин- тервалах от а до z и от А до Z. По умолчанию очередь а предназначена для команды at, очередь b - для команды batch. Очереди, обозначае- мые последующими буквами, будут запущены с более высоким число- вым значением приоритета планируемых команд (в порядке убывания). Специальный символ - знак равенства - зарезервирован для обозначе- ния очереди текущих заданий. Если задание входит в состав специаль- ной очереди, обозначенной прописной буквой, это трактуется как пере- дача его batch в заданное время. - f file Читает задания из указанного файла. - ш Отправляет почтовое уведомление пользователю, когда задание выпол- нено, даже если отсутствует вывод. - 1 Команда at с этой опцией работает аналогично команде atq. - d Команда at с этой опцией работает аналогично команде atnn. - с job Выводит перечисленные скомплсктованые задания job на стандартный вывод. В качестве параметра job следует указать идентификатор зада- ния, ранее присвоенный командой at для просмотра. - v Проси 1 atq показан, запер.,'синые задания, но не удалять их из очереди
54 11 Команды TIME Спецификация, определяющая время выполнения согласно стандарта POSIX.2 Она предполагает задание времени в формате НН:ММ (НН часы, ММ - минуты) в указанный день. Если это время уже прошло, принимается следующий день. Можно использовать спецификацию вре- мени с ключевыми словами midnight (полночь), noon (вечер; teatime (4часа после полудня). Можно расширять числа, определяющие вре- мя, суффиксами ат или рт соответственно для утра или вечера. Мож- но задать дату в формате month-namc_day (month — месяц, name_day - день недели), а можно в формате MMDDYY (ММ - месяц, DD - день, YY - год), MM/DD/YY или DD.MM.YY. За спецификацией времени должна следовать спецификация даты. Можно задать время в виде now+count time-units, где time-units - единицы измерения, могут выра- жаться в minutes (минутах), hours (часах), days (днях) или weeks (не- делях), a count - собственно числовое значение, выраженное в указан- ных единицах измерения. Ключевые слова today и tomorrow обозна- чают соответственно сегодня и завтра. Полное определение спецификации времени для Red Hat Linux 6.0 можно найти в файле /usr/doc/at-3.1.7/timespec. Для Red Hat Linux 7.0 упомянутую спецификацию можно найти в /usr/share/doc/at-3.1.8/timespec, словом, в любой версии Linux (и не только Red Hat) она обязательно присутствует. Примеры Чтобы запустить задание в 2 часа после полудня через 4 дня, считая от сегодняш- него, следует набрать команду at 2pm+4 days. Команда at 9am FEB 20 запустит задание в 9 часов утра 20 февраля. Предположим в команде at, которая получила для своего задания идентификатор, равный 2, всего только предполагалось выполнить две команды: du и Is -I. Тогда по команде at -с 2 можно получить такой листинг: ♦!/bin/sh # atrun uid=500 gid=500 I mail misha 0 umask 2 PWD=/home/misha; export pwn HOSTNAME=sofia; export HOSTNAME QTDIR=/usr/lib/qt-2.2.0; export QTDIR LESSOPEN=\ |/usr/bin/lesspipe.sh\ »s; export LESSOPEN KOEDIR=/usr; export KDEDIR USER=misha; export USER LS_COLORS=no=CO: f i=00 :di=01\; 34 : ln=01\;36 :pi=40\; 33 :so=01\; 35 :bd=40\; 33\; 01:cd=40\;33\;01:or=01\;05\;37\;41:mi=01\;05\;37\;41:ex=01\;32:\«.cmd^01\; 32:\*.exe=01\,-32:\‘.com=01\:32:\*.btm=01\;32:\*.bat=01\;32:\*.sh=01\;32:\*.csh=01\; 32:\*.tar=01\;31:\*.tgz=01\;31:\*.arj=01\;31:V.taz=M\;31:\*.lzh=01\;31:\*.zip=01\i 31s\‘.z=01\;31:\*.Z=01\;31:\*.gz=01\;31:\*.bz2=01\;31:\*.bz=01\;31:\«.tzM)l\; 31:\*-rjm=01\;31:\*.cpio=01\;31:\*. jpg=01\;35:\*.gif=01\;35:\*.bnp=01\;35:\*.xtnT301\; 35:\* ,xpm=01\; 35:\*-png=01\; 35 s\*, tif=01\; 35:; export LS COLORS MACHTYPE=i386-redhat-linux-gnu; export HACHTYPE HAIL=/var/spool/mail/misha; export HAIL INPUTRC=/etc/inputrc; export INPUTRC BASB_ENV=/home/misha/.bashrc; export BASH ENV LANG=en_US; export LANG
- утилита конвертирования д.ля системы X Window II. Команды 55 LOGNAME^misha; export LOGNAME SHLVL=1; export SHLVL USERNAME; export USERNAME HOSTTYPE=i386; export HOSTTYPE OSTYPE=linux-gnu; export OSTYPE HISTSIZE=1000; export HISTSIZE HOME=/home/misha; export HOME PATH=/usr/local/bin:/bin:/usr/bin:/usr/XI1R6/bin:/home/misha/bin; export PATH cd /home/misha || { echo 'Execution directory inaccessible' >S2 exit 1 } du Is -1 В самом конце листинга можно увидеть собственно задаваемые команды. atobm Синтаксис atobm [-chars cc][-name variable] [-xhot number] [-yhot number]] filename] Конвертирует строки формата ASCII в черно-белые растровые файлы. Команда atobm часто используется для создания включаемых в текст изображений. Растровые файлы хранятся в виде маленьких фрагментов на исходном языке С, доступных для включения в приложения. Опции -chars сс Указывает пару символов, используемых при конвертировании. Первый символ представляет нулевой бит, а второй - соответственно единич- ный бит. По умолчанию применяются символ дефиса для нулей и сим- вол # для единиц. -name variable Эта опция указывает имя, используемое при выводе растрового файла. По умолчанию используется результат действия команды basename на аргумент командной строки filename, указывающий имя файла Поле имени может оставаться пустым, если читается стандартный входной файл. -xhot number Опция указывает Х-координату базовой точки; допускаются только по- ложительные значения. По умолчанию никакая информация по базовой точке не включается. -yhot number Опция указывает Y координату базовой точки; допускаются только по- ложительные значения. По умолчанию никакая информация по базовой точке не включается. filename Файл, содержащий строки формата ASCII. В случае его otcv гствпя ис- пользуется стандартный ввод.
56 II Команды Пример В файле vvv содержатся две следующие строки: ########## С помощью команды aiobm vvv получаем следующий простенький фрагмент про- граммы на языке С: Idefine vvv_width 10 Idefine vvv_height 2 static unsigned char vvvbits]] = { Oxff, 0x03, 0x00, 0x00 }; В самом конце листинга можно увидеть собственно задаваемые команды atq - выводит список заданий, поставленных в очередь I командами at и batci 1. Синтаксис atq [-V][-q queue][-v] Выводит список собственных заданий обычного пользователя. Для суперпользо- вателя выводит список всех заданий. Опции - V Выводит номер версии программы at в стандартны:, файл ошибок. - q queue Использует указанную очередь, обозначаемую буквой, лежащей в ин- тервалах от а до z и от А до Z. По умолчанию очередь а соответствует команде at, очередь b - команде batch. Очереди, обозначаемые после- дующими буквами, будут запущены с более высоким числовым значе- нием приоритета. Специальный символ - знак равенства - зарезервиро- ван для обозначения очереди текущих заданий. Если задание входит в состав специальной очереди, обозначенной прописной буквой, это трак- туется как передача его batch в заданное время. - V Показывает уже выполненные, но еще не удаленные из очереди зада- ния. Примеры По команде atq просматривается листинг, содержащий два за Дания для команды at. которые планировалось выполнить 7 апреля 2000 года соответственно в I ’3 и в 1.44 4 2000-04-07 01:33 а 5 2000-04-07 01:44 а
II. Команды 57 atrm удаляет задания из очереди запланированных заданий. К Синтаксис atrm [ -V ] job[ job ] Опции -V Выводит номер версии программы at в стандартный файл ошибок. job Указывает задание для удаления из очереди. - создает аудиофрагмент для включе- ния в почтовое сообщение. audiocompose Синтаксис audiocompose filename Программа audiocompose позволяет на соответствующим образом оборудованной рабочей станции ввести аудиофрагмент для записи в указанный файл. После записи пользо- вателю предоставляется шанс прослушать фрагмент и при желании переписать его. Имя программы audiocompose может быть выбрано в качестве значения перемен- ной окружения RECORD AUDIO В настоящее время команда работает на рабочих станциях Sun и Sony, имеющих микрофоны. Аргумент filename задает файл, куда происходит запись аудиофрагмента. audiosend Синтаксис audiosend [addr] Команда audiosend позволяет на соответствующим образом оборудованной стан- ции отправлять звуковые фрагменты по электронной почте. Если аргумент addr. опре- деляющий адрес получателя, отсутствует, предстоит заполнить такие поля: То:. Subject:. СС:. А после этого программа пригласит нажать клавишу Return, если пользователь готов записывать звуковое сообщение для отправки. В настоящее время работает на рабочих станциях Sun и Sony, имеющих микрофо- - посылает звуковое сообщение по электрон- ной почте. ны.
58 II Команды aumix - регулирует установки аудиомикшера Синтаксис aumix [-channel_option [[+|-][amount]]|[]level|R[ecord]|p[lay]|q[uery]] l-d]]-f rc_file][-h][-I][-L][-q][-S] Программа регулирует настройки аудиомикшера. Может использоваться из команд- ной строки, в сценарии или интерактивно: с помощью клавиатуры или мыши. Опции Существуют следующие channel option (каналы): - v главный уровень - Ь басы (нижние частоты) - t верхи (верхние частоты) - s синтезатор - w РСМ - р динамик компьютера - 1 линейный вход •т микрофон - с CD - х монитор микшера - i усиление входа - о усиление выхода - Y" линия 1 ® - 2 линия 2 - 3 линия 3 Для каждого канала должны задаваться запросы, усиление уровня в случае знака плюс или убывание в случае знака минус, а также само значение. Если после канальной опции отсутствует знак плюс или минус, заданное число указывает уровень (монофо- нический). Другие опции -d device_file Указывает файл микширующего устройства, по умолчанию принимает- ся /dev/mixer. -f rc_file -h Указывает файл сохранения настроек. Выводит подсказку по применению опций команды. -I Запускает команду aumix в интерактивном режиме; если никакие опции не заданы, этот режим применяется по умолчанию. -L Загружает настройки из SHOME/.aumixrc или /ctc/aumixrc, если шаб- лон недоступен. -q Опрашивает все устройства и печатает их пастроики
II Команды 59 - S Сохраняет настройки в SHOME/.aumixrc. Пример aumix -q -v80 -mO -c R -c+5 -m q Распечатываются все настройки, главный уровень устанавливается в 80% от мак- симально возможного, микрофон - в 0, устройство CD - на чтение, к тому же его уровень увеличивается на 5 (как левый, так и правый), выводятся новые настройки мик- рофона. autofs - управляющий сценарий , ,ii.+ ?.:.т оптирования. Синтаксис /etc/гс.d/init.d/autofs start|stop]reload[status autofs управляет работой демонов, осуществляющих автомонтирование в Linux. Обычно autofs вызывается во время загрузки системы с параметром start и во время завершения ее работы с параметром stop. Но сценарий autofs может быть вызван сис- темным администратором, чтобы перезагрузить (reload), остановить или возобновить работу автомонтировщиков. autofs находит точки монтирования, используя информацию файла/etc/auto.master. Для каждой точки монтирования запускается automount с соответствующими пара- метрами. Параметр status запрашивает текущую конфигурацию. Примеры Требуется определить текущую конфигурацию (сконфигурированные и активные точки подключения): I /etc/rc.d/init.d/autofs status Configured Mount Points: /usr/sbin/automount -timeout 60 /raise file /etc/auto.misc Active Mount Points: f При перезагрузке сравнивается текущая таблица auto.master с той, с которой рабо- тают демоны автомонтирования; если будут обнаружены отличия, демоны будут "уби- ты", а затем запушены для работы с новой таблицей: ♦ /etc/rc.d/init.d/autofs reload Checkxng for changes to /etc/auto.master .— Start /usr/sbin/automount -timeout 60 /raise file /etc/auto.misc t
60 II Команды automount - конфигурирует точки монтирования для autofs. Синтаксис automount [-ptv] mount-point map-type], format] map [map-options] Программа automount применяется, чтобы сконфигурировать точку монтирова- ния для autofs, встроенного в Linux автомонтировщика. automount берет как минимум три обязательных аргумента. Далее описаны обяза- тельные и необязательные аргументы. Аргументы mount-point Задает имя каталога, который будет использоваться для подключения файловых систем с помощью autofs. Этот каталог обязательно должен существовать. map-type Тип таблицы, применяемой при вызове automount. Доступны такие типы: file обычный текстовый файл program выполняемая команда, которая принимает ключ из коман- дной строки и, если все в порядке, возвращает адрес точ- ки входа на стандартный вывод ур БД NIS nisplus расширенная БД NIS+ hesiod БД hesiod format Определяет формат данных таблицы; в настоящее время распознаются только два формата: sun - подмножество форматов для компьютеров Sun и hesiod; если формат нс указан, по умолчанию для всех типов кро- ме hesiod принимается формат sun. тар Указывает расположение используемой таблицы. Это может быть аб- солютный маршрут, если задан тип file или program, или имя БД, если задан ур, nisplus или hesiod. map-options Любые оставшиеся в командной строке аргументы без предшествз ю- щих дефисов рассматриваются как опции (-о) для команды mount. Опции -р pid-ftle -t timeout Записывает PID демона в файл pid-file. Устанавливает продолжительность тайм-аута в секундах, в течение ко- торого каталоги остаются неподключенными. По умолчанию принима- ется продолжительность тайм-аута, равная 5 минутам. -V Выводит версию программы и завершает се работу.
II. Команды 61 awk - см. команду gawk. badblocks - поиск "плохих" блоков на диске. Синтаксис badblocks [-b block-size] [-о output_file] [-s] [-v] [ -w [device blocks-count [start-block] Команда badblocks сканирует устройство device (обычно раздел диска), которое является специальным файлом соответствующего устройства. Эта команда отмечает сбойные блоки. Команда badblocks может начать проверку с блока start-block и тес- тировать blocks-count блоков. Результаты проверки используются программами e2fsck и mke2fs. Опции -b block-size Указывает размер блоков (байты). - о output Jile Записывает список "плохих" блоков в файл output Jile вместо стандарт- ного вывода. Команды e2fsck и mkc2fs распознают формат этого фай- ла. - s Записывает номера блоков, как они проверялись. - v Подробно сообщает о происходящем. - w Использует тест для поиска сбойных блоков в режиме записи, записы- вая для этого специальные образцы в каждый блок устройства. Будьте осторожны! Эта опция уничтожает информацию! - вывод заголовка. banner Синтаксис banner [ -vп ] niessa де Выводит большой красивый заголовок message на стандартный вывод. Опции _wn Устанавливает ширину строки вывода в и символов. Если и отсутству- ет, ширина строки вывода составляет 80 символов. Если отсутствует опция -w, ширина строки вывода составляет 132 символа. Если аргумент message отсутствует, то на экран будет выведено приглашение Message: для ввода текста заголовка. Следующие символы не могут использоваться для создания заголовка: <>[]\Л{}|~ (подчеркивание)
62 II Команды Примеры По команде /usr/gaiiies/baiuier -и20 niisha будет выведен следующий заголовок ♦ iiiuiii I (till»** ♦ llflllll I I ♦lllflll fl II I I till I II I II I III I I Hllitltilllli I I lllllllt I Hill H I I IIIUIII I Заголовок был выведен в Red Hat Linux 6.0, для прорисовки букв использовался символ #, в других системах Linux это может быть символ *. - извлекает компоненты из полного имени файла, оставляя собственно имя файла. basename Синтаксис basename name]suffix] basename {—help, —version} Команда basename удаляет из полного имени файла, заданного аргументом пате, имя каталога; если указывается суффикс suffix, который затем обнаруживается в конце имени файла, то он также удаляется. Результат обработки направляется на стандартный вывод. Опции -help Печатает краткое описание и правила применения команды. —version Печатает версию программы. suffix Указывает суффикс, сопоставляемый с концом полного имени файла Пример $ basename /home/anna/gifOl.gif .gif gifOl $
II. Команды 63 осуществляет запуск оболочки, или командного про- цессора GNU Bourne-Again Shell. bash Синтаксис bash [option][file] Оболочка bash является sh-совместимым интерпретатором командного языка, вы- полняет команды, прочитанные со стандартного ввода. Следует отметить, что bash так- же включает ряд полезных возможностей оболочек Kom(ksh) и C(csh) При вызове bash интерпретирует следующие флаги: -с string Если присутствует флаг -с, то считывает команды со string. Если после string еще имеются аргументы, то они рассматриваются в качестве позиционных параметров, начиная с $0. -i При задании этого флага командный процессор работает в интерактивном ре- жиме. -S Если задан этот флаг или после обработки больше не остается аргументов, считывает команды со стандартного ввода. Эта опция позволяет установить позиционные параметры, когда вызывается интерактивная оболочка. Единственный символ - знак минус - сигнализирует о завершении опций. Любые аргументы, поступившие после этого символа, рассматриваются как имена файлов и аргументы. Комбинация двух знаков минус эквивалентна одному знаку минус, bash так- же интерпретирует многосимвольные опции, которые должны появиться в командной строке до односимвольных. Основные опции -погс Не читает и не выполняет персональный файл инициализации -/.bashrc, если оболочка интерактивна. Эта опция устанавливается по умолчанию, если оболочка будет вызвана по команде sh. -noprofile Не читает ни системный /etc/profile, ни один из персональных файлов инициализации —/.bash_profile, -/.bash login, - profile По умолча- нию, будучи вызвана при регистрации, оболочка bash обязательно счи- тывает содержимое вышеприведенных файлов. -rcfile file Выполняет команды из файла, заданного аргументом fie, вместо того, чтобы использовать -/.bashrc, если оболочка интерактивна. -version Выводит при запуске номер версии командного процессора. -quiet "Не отличается многословием" при старте не выводит номер версии и дополнительную информацию. -login Командный процессор работает так, как если бы сто вызвали в качестве предопределенной оболочки регистрации. -nobraceexpansion Не выполняет расширение выражений, стоящих в фигурных скобках.
64 II Кома ды Если после обработки опций остаются еще необработанные аргументы и ни опция -С, и ни опция -s не задавались, предполагается что первый аргумснг - это имя файла, содержащего команды оболочки. Если оболочка bash вызывалась подобным обра- зом, то предполагается, что $0 установлен в имя файла, а остальные позиционные па- раметры последовательно установлены в значения оставшихся аргументов. bash читает и выполняет команды из файла, затем завершает свою работу. Код за- вершения командного процессора bash равен коду завершения последней команды Пример Чтобы узнать, какая версия bash включена в состав дистрибутива, достаточно на- брать такую команду: $ bash -version GNU bash, version 1.14.7(1) $ DdlVll - выполняет последовательность запланированных IX. команд. Синтаксис batch [-V][q queue][-f file](-mv] В отличие от команды al начинает выполнение ранее запланированных команд, ког- да позволяет загрузка системы, при этом используется /bin/sh. Необходимость выполнить определенную последовательность команд часто свя- зана с задачами системного администрирования. Суперпользователь всегда имеет доступ к этой команде и может определить, кто из пользователей его имеет. Для этого используются файлы /etc/at.allow и /etc at.deny Если файл /etc/at.aliow существует, то доступ к команде имеют только пользователи, перечисленные в нем. Если этот файл отсутствует, но имеется файл /etc/at.deny, то доступ к команде batch имеют все пользователи кроме перечисленных в файле. Если отсутствуют оба упомянутых файла, то batch недоступна обычным пользователям Сначала вы вводите команду batch, а уже затем собственно сами команды, ввод которых завершается нажатием Ctrl+D. Набор введенных команд оседает в виде зада- ния в очередях команды batch и будет выполнен в указанное время TIME или когда позволит загрузка системы. Вывод этих команд, если он существует, можно получить по электронной почте. Опции - V Выводит номер версии программы в стандарт ный файл ошибок. - q queue Использует указанную очередь, обозначенную буквой, лежащей в шгтер- валах от а до z и от А до Z. По умолчанию очередь а предназначена для команды at, очередь b - для команды batch Очереди заданий, обознача- емые последующими буквами, будут запущены с более высоким число- вым значением приоритет а. Специальный символ шак равенства за- резервирован для обозначения очереди текущих задании. I ели задание
II. Команды 65 входит в состав специальной очереди, обозначенной прописной буквой, это трактуется как передача его в распоряжение batch в заданное время. - f file Читает задания из указанного файла. - т Отправляет почтовое уведомление пользователю, кода задание будет выполнено, даже если отсутствует вывод - V Показывает время, когда должно выполняться задание. Призер Планируется сортировка большого файла real, результат будет направлен в файл outfile: $ batch sort real>outfile CTRL+D $ oaicner - готовит пакеты новостей для указанного узла сети. Синтаксис (основные опции) batcher [-a arts]]-Л totalarts}[~b size][-B total_size][~i string} [-N num_batcbes] [-S alt_spool] [-v]host]input] Программа batcher готовит новости для узла host, накапливая их в виде пакетов. Программа batcher читает файл input или стандартный ввод, если файл не задан. Вход- ной файл программы представляет собой набор строк, причем, пустые строки и стро- ки, содержащие в начале символ #. игнорируются. Обычно строки состоят из одного или двух полей, разделенных пробелом. Первое поле включает в себя имя файла, содержащего статью: если не задан абсолютный маршрут к файлу, то принимается маршрут относительно каталога, содержащего спул новостей. Второе поле, если при сутствует, указывает размер статьи в байтах. Основные опции - S alt_spool Если статья не найдена, указывает использование альтернативного ка- талога, содержащего спул новостей; это может быть каталог главного сервера с более длительным сроком хранения статьи, монтируемый через NFS. - v Обычно перед завершением раооты batcher выводит статистику в syslog Если указывается этот флаг, направляет статистику на стандарт- ный вывод. - b size Программа накапливает поименованные статьи в пакетах. Этот фла! при меняется, чтобы, задавая size, ограничить размер каждого пакета. По умолчанию размер пакета может достигать 60 Кбайт. Установив аргу- мент size в значение -ЬО, можно работать с пакетами любого размера ]В пределах разумного, допускаемых ОС и техническими средствами).
бб II Команды - a arts Задавая значение arts, можно ограничить количество статей в каждом пакете. По умолчанию ограничение отсутствует. Если размер пакета или количество статей в нем превышает заданный предел, будет задейство- ван новый пакет новостей. - В total size Задавая значение total size, можно ограничить общий размер всех па- кетов. - A total_arts Задавая значение total arts, можно ограничить общее количество ста- тей в пакетах. - N num batches Задавая значение numbatches, можно ограничить общее количество пакетов. Во всех трех случаях — опции -В, -A, -N — по умолчанию при- нимаются нулевые значения, что означает отсутствие каких-либо огра- ничений. - i string Каждый пакет будет открывать строка string. Такая строка завершается символом newline (новая строка). По умолчанию начальная строка не задается. ЬС - выполняет вычисления с произвольной i чнгскм:. К Синтаксис be [-Iwsqv][file...] Команда be вызывает интерактивный процессор С-образного языка, позволяюще- го выполнять вычисления с произвольной точностью. Сначала процессор считывает файлы file, затем - стандартный ввод. Если в командной строке не задано имя файла, то данные и операции, которые над ними будут выполняться, вводятся непосредственно с клавиатуры. Для завершения работы с процессором Ьс следует ввести оператор quit или нажать Ctrl+D. Опции - 1 Вызывает стандартную библиотеку математических функций. - w Выводит предупреждения по поводу Posix-расширений Ьс. - s Использует язык Posix be. - q Не печатает обычного приветствия Ьс. - v Печатает номер версии процессора и завершает программу. Операторы процессора + сложение / деление - вычитание % нахождение остатка * умножение Л возведение в степень sqrt(n) извлечение корпя квадратного из числа п >= больше ипн равно
II. Команды 67 ++ префикс к именам |= не равно -- постфикс, или суффикс, к „менам —* присваивание < меньше =/ присваивание > больше =% присваивание = присваивание —Л присваивание == присваивание =+ присваивание <= меньше или равно =- присваивание scale=n ibase=« obase=n установка точности вычислений, п — количество цифр после десятичной точ- ки установка основания системы счисления для входных данных, где п меняет- ся от 2 до 16 установка основания системы счисления для выходных данных Кл.очевые слова процессора for(£)[S.. .] выполняет операторы 5, если выражение £ истинно if(£)[Sl.. ][else[S2 .]] если £ истинно, выполняет операторы .S1, в противном случае - S2 while(£)[5...] выполняет операторы 5 до тех пор, пока выражение Е истинно break производит прерывание циклов for и while continue осуществляет переход к следующей итерации цикла for; это ключевое слово разработано как GNU-расширение halt останавливает работу Ьс return возвращает код 0 при выходе из функций return{£) возвращает при выходе из функций значение выражения '' Ши 1Коизвест»1е функции математической библиотеки s(x) синус х, где х берется в радианах с(х) косинус х, гдех берется в радианах е(х) экспонента 1(х) натуральный логарифм х а(х) арктангенс х, возвращает радианы j(n^) функция Бесселя Пример Следующий маленький фрагмент про. раммы определяет аппроксимированные значения экспоненты для первых ста целых чисел: for(i=l;i<=100;i++) е(1)
68 fl Команды bdflush - демон ядра, сбрасывающий содержимое грязных буферов на диск. Синтаксис bdflush [option] Демон bdflush записывает через равномерные промежутки времени измененные блоки данных буферов на жесткий диск. Продолжительность временного интервала различна для буферов данных и метаданных (каталоги, растровые файлы и т.д.). По умолчанию устанавливается продолжительность промежутка перезаписи для буферов данных в 30 секунд и для буферов метаданных в 5 секунд. bdflush обычно вызывает второго демона, и именно этот второй демон осуществ- ляет традиционный процесс обновления данных. Оба демона обычно (а в некоторых версиях Linux лишь так) запускаются из /etc/rc одной командой /sbin/update. Опции - d Выводит на экран параметры ядра. Использование этой опции препят- ствует запуску демона. - h Печатает краткое описание опций. - s sync-delay Использует старую особенность обновления: при этом по умолчанию каждые 30 секунд вызывается sync. - f flush-delay Сбрасывает буфер через указанное число секунд; по умолчанию каж- дые 5 секунд. - 0 Определяет максимальную часть списка LRU (см. параметры ядре в приведенном примере), которую следует проверять при поиске "гряз- ных" блоков. - 1 Определяет максимальное число блоков (см. параметры ядра), кото- рое следует записывать всякий раз при активизации bdflush. 2 Определяет количество "чистых" буферов, загружаемых в список сво- бодных. - 3 Определяет пороговое значение числа "грязных" блоков для активиза- ции bdflush (см. параметры ядра). - 4 Задействует процент области кэша при поиске свободных кластеров (см. параметры ядра). - 5 Задает продолжительность временного интервала для буферов данных (см. параметры ядра). - 6 Задает продолжительность временного интервала для бх феров мета- данных (см. параметры ядре). - 7 Указывает среднее значение временной константы для знг рузки буфер ного кэша (см. параметры ядра).
II. Команды 69 - 8 Устанавливает коэффициент LAV, использующийся для определения по- рогового значения при уничтожении буфера. Пример А вот как Mvryi выглядеть параметры ядра, распечатываемые по команде /sbin/update -d: bdflush version 1.4 0: 40 Max fraction of LRU list to examine for dirty blocks 1: 500 Max number of dirty blocks to write each time bdflush activated 2: 64 Num of clean buffers to be loaded onto free list by refillfreelist 3: 256 Dirty block threshold for activating bdflush in refill_freelist 4: 15 Percentage of cache to scan for free clusters 5: 3000 Time for data buffers to age before flushing 6: 500 Time for non-data (dir, bitmap, etc) buffers to age before flushing 7: 1884 Time buffer cache load average constant 8: 2 LAV ratio (used to determine threshold for buffer fratricide). bdftopcf - конвертирует шрифты формата BDF в формат PCF. Синтаксис bdftopcf [-pn][-un][-m][-l][-M][-Lj[-t][-i][-o outputfile] fontfile.bdf Команда bdftopcf вызывает компилятор шрифтов для Х-сервера и сервера шриф- тов, компилируя исходный файл fontfile.bdf Полученные шрифты в формате PCF мо- гут быть прочитаны на компьютерах любой архитектуры. Хотя на "родном компьюте- ре" они без реформатирования читаются быстрее, но вполне переносимы на компьюте- ры других архитектур, где процесс их чтения идет медленнее. Опции - рп Устанавливает размер строки развертки в и байт, где п принимает значе- ние 1, 2,4 или 8. - un Указывает положение строки развертки, что является существенным, когда порядок расположения бит в шрифте отличается от порядка байт; п принимает значение 1, 2 или 4 - т Задает порядок бит в шрифте, при этом старший бит является первым. .] Задает порядок бит в шрифте, при этом младший бит является первым. - М Задает порядок байт в шрифте, при этом старший байт является пер- вым. Все многобайтные данные файла - метрики, монохромные рае гры и все прочее - записываются подооным образом. - L Задаст порядок байт в шрифте, при этом младший байт является пер вым. Все мпогобайтпыс данные фа*ЯЯ - метрики, монохромные растры и все прочее - записываются подобным образом.
70 II Команды - t Конвертирует шрифты в так называемые " герминальные , если это воз- можно, что значительно ускоряет их обработку Х-сервером. i Отменяет обычное вычисление метрик шрифта. - о outputfile Записывает шрифты в формате PCF в файл по имени outputfile. По умол- чанию конвертированные данные направляются на стандартный вывод. Ьд - запускгет прерванный процесс в фоновс. ре.Ж1 е В Синтаксис Ьд Команда bg встроена в командный процессор, или оболочку bash. Предположим, вы запустили "долгоиграющую" команду. Нажав Ctrl+Z, можно прервать процесс. А затем уже с помощью команды bg запустить его в фоне, при этом набирая в приглаше- нии командного процессора другие команды. Приье, Остановленный процесс переведен в фон: х I misha@localhost.localdomain:/h'' "пе/ г jha | ш+ Stopped find Z -name btyy - print ' [mishaQlocalhost misha]t i USER PID ZCPU ZMEM ps -au vsz RSS TTY STAT START TIME COMMAND 1 misha 1258 0 1 3.2 1744 980 ptsZO S 00:15 0:00 bash j misha 1268 0.3 1.5 1180 4b8 ptsZO T oo:i6 0;0o find / -name btyy 1 misha 1269 0.0 2.2 2336 700 pts/0 R 00:17 0:00 ps -au Permission denied j [mishaOlocalhost mishall bg ! [11+ find / -name btyy -pnint & i ImishaSlocalhost nishalt find: ZtmpZkfm-cache-O: I find: ZtmpZorbit-sofia: Penmission denied J bison - генерирует синтаксические анализатс.-ы. Синтаксис bison [-b file-prefix][-d][-k][-1][-n](-o outfiie][-p prefix][-r][-t] [-v][—V][-y][—h] grammar-file bison - это программа GNU в стиле известного анализатора race. который присут- ствует во многих системах Unix. Для входных файлов уасс соблюдается совмести- мость "снизу вверх". Команда bison создаст для грамматического анализа программу на я 1ыкс С, состо- ящую из таблиц и правил обработки. Имена входных файлов, следуя принятой в уасс договоренности, завершакмея ком- бинацией двух символов - .у. В отличие от уасс, сгенерированные файлы не имею!
II. Команды 71 фиксированных имен, но зато используют префикс входного файла. Например, на ос- нове файла по имени parse.y, содержащего грамматические описания, будет создан анализатор parse.tab.c, хотя в уасс аналогичный файл получил бы имя y.tah.c Аргу- мент grammar-file задает файл грамматических описаний. Опции -b file-prefix -d -к -I -п Указывает префикс, используемый для создания имен всех выходных файлов bison. Создаваемые имена выбираются так, как если бы вход- ные файлы имели имена типа fileprefix.c. Создаст дополнительный выходной файл, содержащий признаки типов имен, определенных в грамматике, семантическое значение типа YYSTYPE, а также несколько объявлений внешних переменных. Если выходной файл анализатора имеет имя вида пате.с, то этот файл зовется name.h. Номера признаков (маркеров) из файла name.h обычно транслируются в уасс-совместимые. В случае задания этого переключателя непосред- ственно переводит номера в выходной файл. Программа bison назнача- ет последовательные номера признаков, начиная с 3. Опция назначает выходной файл name.tab.c, чтобы включить список при- знаков имен в порядке следования их номеров; это определяется в мас- сиве yytname. Также генерируются определения для YYTOKENS, YYNNTS, YYNRULES и YYNSTATES. Не включает команды препроцессора в файл грамматического анализа- тора. Обычно bison включает их в файл анализатора, поэтому компиля- тор С и отладчики "привязывают" ошибки к исходному файлу - файлу грамматических описаний. Эта опция позволяет ассоциировать ошибки только с файлом грамматического анализатора, рассматривая его как независимый файл со своими собственными правами. Не генерирует код анализатора в выходной файл, ограничиваясь только созданием описаний. -о outfile -р prefix -t -V -У Устанавливает имя файла грамматического анализатора. Другие имена выходных файлов строятся на основе outfile, как указано в описании переключателей -V и -d. Переименовывает внешние символы (идентификаторы) используемые грамматическим анализатором, таким образом, чтобы они начинались с prefix вместо уу. В список переименованных символов входит уу parse, yylex, yyerror, yylval. yychar, yydebug. благодаря этой опции имена пре- образовываются в eparse, clex и т.д., если, например, используется р с. Включает выходное определение макроса YYDEBUG в файл грамма- тического анализатора, таким образом отладочные особенности также компилируются. Печатает версию программы bison и завершает ее. Имитирует договоренности уасс относительно имени выходного фай- ла. т.е. выходной файл грамматического ainuin laropa называегся у.tab.с,
72 II Команд» два других выходных файла соответственно называются y.output и y.tab.h. -h Печатает все опции программы bison и завершает се. -v Записывает дополнительный выходной файл, содержащий подробные описания синтаксического анализа и перечень разрешенных и неразре- шенных конфликтов bitmap - редактор монохромных растровых мзображений в системе X Window Синтаксис bitmap [option__[[filename] [basename] Программа bitmap - инструмент для создания и редактирования монохромных (черио-белых) растровых изображений, которые используются в X для изображения замкнутых областей, указателя мыши, пиктограмм. Изображения хранятся в виде ис- ходного текста на языке С, поэтому файлы рисунков можно непосредственно вклю- чить в программу с помощью команды //include. Опции командной стооки -size WIDTH*HEIGHT Указывает размер сетки (решетки) в прямоугольниках (в клетках). -sw dimension Указывает ширину dimension прямоугольников сетки в пикселах. -sh dimension Указывает высоту dimension прямоугольников сетки в пикселах. -gt dimension Задает ограничение размера сетки. Если размер стороны прямоуголь- ника становится меньше значения dimension сетка автоматически от- ключается. -grid Включает вывод сетки. +grid Отключает вывод сетки. -axes Включает вывод осей координат. +axes Запрещает вывод осей координат. -dashed Включает изображение рамки и сетки пунктиром. -rdashed Отключает изображение рамки и сетки пунктиром. -stippled Включает возможность выделения областей. +stippled Запрещает выполнять выделение областот. -proportional Включает режим пропорциональности изображений, при этом ширина и высота прямоугольников будут равны (возникают квадратики), в против- ном случае-размеры прямоугольников пропорциональны размеру окна. +proportional Отключает режим пропорциональности нюбражсний.
II. Команды 73 -dashes filename Указывает файл по имени filename, в котором хранится растровое изоб- ражение штрих-пунктирных линий. -stipple filename Указывает файл по имени filename, в котором хранится растр, осуще- ствляющий выделение объекта. -hl color Параметр color указывает цвет выделенных областей. -ft color Параметр color указывает цвет рамки и линий сетки. filename Задает файл, содержащий первоначально загружаемое растровое изоб- ражение; если аргумент filename отсутствует, программа bitmap будет создавать новый файл. basename Указывает имя, используемое для идентификации изображения в вы- ходном файле на языке С. Программа bitmap выводит сетку, в которой каждый прямоугольник представляет единственный бит редактируемого изображения. Если необходимо увидеть, как будет выглядеть создаваемое или редактируемое изображение, следует нажать Meta+I. Что- бы вернуться к исходному изображению и продолжить его редактирование, придется в текущем окне нажать левую кнопку мыши или вновь Meta+I. Растровое изображение может использоваться для представления курсора, при этом один из прямоугольников изображения назначается в качестве "горячей точки, опре- деляющей положение конца указателя. Если указатель имеет вид стрелки или пальца, то "горячая" точка находится на его конце. Если указатель имеет вид перекрестия, то "горячая" точка находится в его центре. Чтобы отредактировать рас.ровое изображение, достаточно просто щелкнуть на одной из кнопок с командами рисования: Point (точка), Curve (кривая), Line (линия). Rectangle (прямоугольник) и т.д., а затем перевести указатель в растровое окно с сет- кой. Нажав одну из кнопок мыши, можно выполнить задуманное действие. Пользова- тель может установить, очистить или инвертировать прямоугольнички сеткг Установ- ка прямоугольника соответствует установке бита изображения в 1; очистка - установ- ке бита изображения в 0. Инвертирование устанавливает биг изображения в 1. если пред- шествующее значение его было 0, или в 0, если предшествующее значение - 1. Суще- ствуют также команды копирования и переноса области сетки из одного места в дрх гое. Можно перевернуть изображение, сдвинуть его на один пиксел вверх, вниз, вправо или влево. bmptoppm - конвергирует BMP-файл Microsoft Windows или OS/2 в мобильный pixmap. Синтаксис bmptoppm [bmpfile] Эта программа нс конвертирует BMP-файлов со сжатыми данными и ВМР-фанлов с 16-ю бит на пиксел и соответственно выдаст сообщение об ошибке.
74 II Команды утилита конве;’ти, ования для системы X Window. bmtoa Синтаксис bmtoa [-chars cc|[filename] Конвертирует растровые файлы в строки формата ASCII. Опции -chars сс Указывает пару символов, используемых в строковой версии растрового изображения. Первый символ представляет нулевые биты, а второй сим- вол - единичные биты. По умолчанию применяется символ дефиса (знак минус) для нулевых битов и символ # - для единичных битов. buffchan - буферизованный интерфейс для InterNetNews, осуществляющий запись в файлы. Синтаксис (основные опции) buffchan [-b][-С lines](-С seconds][-d directory[(-f fieids][-m map] [-p pidfile] [-1 lines]!-!. seconds][-u] Считывает строки стандартного ввода и копирует некоторые поля каждой строки в файлы, имена которых определены в специальных полях строки, buffchan вызывается innd для реализации подачи по частям (компонентам). Основные опции - Ь Открыв файл, buffchan держит его открытым. Нельзя указывать боль- ше входных файлов, чем количество допускаемых в системе дескрип- торов. Если задан флаг -Ь, программа выделяет буфер и подключает его к файлу, используя системный вызов setbuf (буферизация потоков). - с lines Параметр lines задает количество строк, после записи которых в файл, последний вновь будет открыт программой buffchan. - С seconds Закрывает все файлы, а затем вновь открывает через указанное коли- чество секунд seconds. - d directory Указывает перед стартом программыальтернативный каталог для нее. - f fields buffchan рассматривает входной файл как набор строк. Каждая строка содержит фиксированное число исходных полей, за которыми следует переменное количество полей, содержащих имена файлов. Все поля в строке разделены пробелами. По умолчанию число исходных полей рав- но 1, с помощью fields можно указать требуемое количество. - т тир Использует файл отображения тар. Пустые строки н строки, на- чинающиеся с символа # (комментарий), обычно в нем игнорируются Все остальные строки должны содержать дпп имени узла, разделенных
II. Команды 75 двоеточием. Первое поле - это имя, которое может появиться во вход- ном потоке. Обычно используется второе имя. - р pidfile Программа buffchan запишет строку, содержащую ее PID, в файлpidjile. - I lines Обработав число строк, равное lines, программа buffchan с помощью функции fflush произведет их запись в файл надиске. - L seconds Наполняет все файлы через количество секуид, заданное seconds. - и Флаг -и позволяет записать небуферированный вывод. Строки, обрабатываемые buffchan, могут начинаться с восклицательного знака. Та- кие строки интерпретируются как команды (buffchan вызывается для подпитки). Су- ществует три команды: flush, drop и readmap. Команда flush закрывает все открытые файлы, а затем вновь открывает их. Команда drop подобна flush за исключением того, что с помощью drop можно вновь открыть не все файлы. Команда readmap перезаг- ружает файл отображения, передаваемый с помощью опции -т тар. Пример Файл отображения часто применяется, чтобы преобразовать короткие имена (см. листинг ниже) в полные доменные имена: uucopy:push.copy.net tom:tom.com funnarу:funnary.uu.net bunzip2 - производит распаковку файлов Синтаксис bunzip2 [-fkvsVL][filename...J Распаковывает и восстанавливает все указанные (рампы filenames. чьи имена закан- чиваются на ,bz2. Файлы, имена которых не содержат такого суффикса, игнорируются. Опции _f Принудительно перезаписывает, что обычно не делает, существующие файлы. -к При распаковке сохраняет входные файлы. _s Сводит до минимума требования к оперативной памяти необходимой для работы программы. Это означает, что для распаковки любого файла ис- пользует всего 2300 Кбайт оперативной памяти, хотя скорость обработ- ки при этом упадет в среднем почти в два раза. Если ваш компьютер имеет нс более 8 Мбайт оперативной памяти, всегда используйте эту опцию. _v Выводит протокол обработки. .у Выводит версию npoi раммы. _L Выводит лицензионные усиопня и соглашения, относящиеся к программе
76 II Команды Пример С помощью команды bunzip2 -fk prim3.bz2 распаковывается и восстанавливается файл, рассматриваемый в примере для команды bzip2 (см эту команду). bzcat - распаковывает файлы и выводит результаты на стан- дартный вывод. Синтаксис bzcat [-s](fi2enaj»e...] Опции Сводит до минимума требования к оперативной памяти, необходимой для работы программы. Это означает, что для распаковки любого файла тре- буется всего 2300 Кбайт оперативной памяти, хотя скорость обработки при этом упадет в среднем почти в два раза. Если ваш компьютер имеет не более 8 Мбайт оперативной памяти, всегда используйте эту опцию. Распаковывает файлы, ранее созданные с помощью bzip2. bzip2 - утилита упаковки файлов. Синтаксис bzip2 |-cdfkstvzVL123456789][filename...] Производит упаковку файлов, используя алгоритм поблочной сортировки текста Бурровс-Вилера (Burrows-Wheeler) и кодирование по Хаффману (Haflman). Утилита bzip2 принимает список имен файлов filename. Каждый исходящий файл замещается своей сжатой версией, имя которой создается путем добавления суффик- са -bz2 к оригинальному имени файла. Каждый сжатый файл имеет те же полномочия и дату модификации, что и оригинальный. Так что все эти свойства могут быть коррект- но восстановлены в процессе распаковки. Если не указаны имена файлов, bzip2 упаковывает информацию стандартного ввода и результат направляет на стандартный вывод. Утилита bzip2 упаковывает файлы поблочно, обычно используются блоки длиной 900 Кбайт. Каждый блок содержится независимо, что позволяет в случае сбоев кор- ректно восстанавливать информацию неповрежденных блоков. Основные опции -с Направляет результат на стандартный вывод. -d Принуждает выполнять распаковку; bzip2, bunzip2 и bzcat это, соб- ственно говоря, одна и та же программа. И решение о том, какие дейст- вия производить, строится на основе используемого имени. Этот флаг отменяет упомянутый механизм и принуждает выполнить распаковку файла.
II. Команды 77 - z Подобно опции -d осуществляет принудительное действие - сжатие, невзирая на имя файла. - t Проверяет целостность указанных файлов, ие распаковывая их. - f Принудительно перезаписывает файлы. Обычно bzip2 не производит перезапись уже существующих файлов. - к При сжатии сохраняет входные файлы. - s Сводит до минимума требования к оперативной памяти, необходимой для работы программы, размер блока при этом выбирается равным имен- но 200 Кбайт. Если ваш компьютер имеет не более 8 Мбайт оператив- ной памяти, всегда используйте эту опцию. - v Показывает коэффициент сжатия для каждого обрабатываемого файла. - V Выводит версию программы. - L Выводит лицензионные условия и соглашения, относящиеся к програм- ме. от -1 до -9 Устанавливает при сжатии соответственно следующие размеры блока: 100 Кбайт 200 Кбайт ... 900 Кбайт. Пример Распечатаем элемент оглавления для файла prim3: $ Is -1 prim3 -rw-r—г— 1 soot noot 4953 Apr 6 15:55 prim3 $ Произведем упаковку файла prim3: $ bzip2 -kv prim3 prim3 4.093:1, 1.954 bits/byte, 75.57» saved, 4953 in, 1210 out. ? Распечатаем элемент оглавления для файла prim3.bz2: $ Is -1 prim3 _rw_r__r__ 1 soot noot 1210 Apr 6 15:55 prim3.bz2 $ Действительно, оригинальный файл размером 4953 байт занимает в архиве 1210 байт. bzip2recover - восстана! ливает информацию повреж- денных архивных файлов, ранее упако- ванных утилитой bzip2. Синтаксис bzip2recover filename Задачей утилиты bzip2recovcr является последовательный выбор блоков архивно- го файла, ранее упакованного bzip2, и запись каждого из них в отдельный файл, в имени
78 II. Команды - преобразует символы C++. которою обязательно присутствует суффикс .bz2. С помощью команды bzip2 t мож- но проверить целостность полученных файлов, азатем распаковать неповрежденные. Утилита берет единственный аргумент, имя поврежденного файла, и создает файлы по числу блоков: recOOliile.bz2, rec002file.bz2 и т.д. Затем с помощью команды bzip2 -de rec*file.bz2»recover_file можно произвести распаковку и восстановленную информацию записать в файл recove r_file. Имеет смысл применять bzip2recover для поврежденных файлов большого раз- мера, содержащих много блоков. Бессмысленно использовать утилиту для файлов, со- держащих всего один блок, так как поврежденный блок восстановлению не подлежит. c++filt Синтаксис c++filt [~_|—strip-underscores] ]-s{gnu, lucid, arm} |—format={gnu, lucid, arm}]]—help] [ —version ] I symbol — ] Язык программирования C++ предлагает такую возможность, как перезагрузка функций, т.е. использование одного имени для многих функций с различными типами параметров. Все имена функций C++ преобразуются в низкоуровневые ассемблерные метки (этот процесс называется mangling - искажение). c++fili преобразует низко- уровневые имена в пользовательские высокоуровневые таким образом, что компонов- щику удается корректно получить эти перезагружаемые функции Каждый алфавитно-цифровой идентификатор, включающий буквы, цифры, симво- лы подчеркивания, доллары или точки, выглядит на входе как потенциальная метка Если метка декодируется в имя языка C++, то это имя замещает на выходе низкоуров- невое имя. Если аргументы symbol отсутствуют, программа c++filt считывает имена симво- лов (идентификаторов) со стандартного ввода и записывает преобразованные имена на стандартный вывод. Опции --strip-underscores Удаляет символ подчеркивания, стоящий в начале имени. В некоторых системах компиляторы С и C++ используют символ подчеркивания пе- ред каждыг i именем. Скажем, имя loo преобразуется в низкоуровневое имя _1оо. -s{gnu, lucid, arm}, —format={gnu, lucid, arm} Выбирает один из трех методов преобразования: первый используется компилятором GNU, он также применяется по умолчанию. —help Выводит информацию об опциях программы и завершает се рибозу, —version Выводит информацию о версии программы и завершает се рабогз
II. Команды 79 cal - наводит календарь. Синтаксис cal [-mjy] [month [year]] Выводит обычный календарь. Если аргументы не указаны, выводится календаре иа текущий месяц. Оп ии Выводит понедельник как первый день недели. Выводит даты юлианского календаря (номера дней в году, начиная с 1 января). Выводит календарь на текущий год. Единственный аргумент указывает год (year) в диапазоне 1—9999; год должен за- даваться полностью: команда cal 97 распечатает календарь на 97 год, а не на 1997 год. Два аргумента указывают месяц (month) в диапазоне 1-12 и год. Переход к грегорианскому календарю состоялся 3 сентября 1752 года. Пример Календарь на январь 2001 года можно получить следующим образом: $ cal 1 2001 Января 2001 Вс Пн Вт Ср Чт ПТ Су 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 $ их на стандартный вывод. Синтаксис cat [option] [ file—] Команда cat записывает содержимое каждого заданного файла или стандартного ввода, если имена файлов не указаны или вместо имени стоит дефис, на стандартный вывод. 'пции - b, — number-nonblank Нумерует все непустые строки выходного файла, начиная с 1.
£jQ II Команды - e Эквивалентно -vE. - n, —number Нумерует все строки выходного файла, начиная с 1. -s, —squeeze-blank Заменяет набор пустых строк единственной пустой строкой. -t Эквивалентно-vT. -и Игнорируется опция определяет совместимость с Unix. -v, —show-nonprinting Выводит управляющие символы кроме символов перевода строки и та- буляции, используя при этом символ Л. -A, —show-all Эквивалентно использованию-vET. -Е, -show-ends Выводит в конце каждой строки символ S. -Т, —show-tabs Выводит символы табуляции в следующем формате - Л1. —help Выводит краткое описание опций и завершает работу программы. —version Выводит краткую информацию о версии программы. Изначально команда cat предназначалась для объединения файлов. Можно ее так- же использовать для вывода на экран содержимого небольших файлов. При попытке просмотреть большие файлы их содержимое быстро промелькнет перед глазами - пользователю мало проку от такого сервиса. Правда, с помощью комбинации клавиш Ctrl+S можно приостановить вывод, а затем вновь продолжить его, нажав Ctrl+Q. Но проще использовать для просмотра больших файлов команды more и less: они произ- водят поэкранный вывод содержимого. Примеры Ниже показано слияние трех файлов в один большой файл по имени bigfile: $ cat filel file2 file3>bigfile Следующая команда создает файл с именем newfile и направляет в него все, что пользователь введет с клавиатуры: $ cat>newfile Чтобы завершить ввод информации в файл, следует нажать Ctrl+D Ниже показано, как можно дописать содержимое файла source в конец файла target: $ cat source»target $ Трудно предположить, что может быть общего между командой cat и воспроизве- дением звука. Одиако, воспроизведение с помощью cat звукового файла с расширени- ем .wav или .voc может правильно звучать на устройстве /dev.'dsp: $ cat sample.voc>/dev/dsp $ cat sample.wav>/dev/dsp $
II. Команды 81 Упомянутая команда может выполняться с любым файлом с расширением .au $ cat sample.au>/dev/audio $ СССР, или Срр запуск препроцессора, используемого компилятором С перед компиляцией программы. Синтаксис (основные опции) ссср ]-$][-А predicate (<value>]](-CJ[-0 narne[-definition] J [-dD] [-dH] [-1 directory][-HJ[-x lang]]-H[-MG]][-MD file][-nostdinc]]-nostdinc++) [-P H-traditional](-trigraphs J[-U name][-undef][-Wtrigraphs] [-Wtraditional](infilej-][outfide)-] Препроцессор С - это макропроцессор, автоматически используемый интегриро- ванным компилятором языков программирования С и C++. Благодаря препроцессору можно трансформировать исходную программу до ее компиляции. Если вы собираетесь использовать препроцессор С, нет смысла специально вызы- вать его. Компилятор языка программирования С способен вызвать его автоматичес- ки. Тем не менее, препроцессор полезен сам по себе. Препроцессор читает файл infile вместе с другими файлами, указываемыми дирек- тивой //include. Выполнив преобразования исходного файла на языке С, отправляет ре- зультат в файл outfile. Если отсутствует infile или outfile, соответственно принимается стандартный ввод или стандартный вывод. Препроцессору языка С присущи следующие особенности: □ Включение файлов заголовков (headers). Обычно это файлы описаний, которые могут быть включены в программу. □ Макрорасширения. Можно определить макрос, который в дальнейшем будет за- менен его определением. □ Условная компиляция. Используя специальные препроцессорные директивы, можно включать или исключать части программ в соответствии с различными условиями. □ Построчный контроль. Если исходная программа представляет из себя комби- нацию нескольких файлов, можно информировать компилятор, откуда поступа- ет строка. Ниже дан перечень опций препроцессора; эти опции могут быть автоматически пе- реданы препроцессору, когда он вызывается компилятором. Основные опции -Р Запрещает генерацию строк, начинающихся с символа # и содержащих номер строки. -С Не исключает комментарии: передаст их прямо в выходной файл. -trigraphs Обрабатывает стандартную последовательность трех символов Эти стандартные последовательности обычно начинаются с дву х во- просительных знаков, за которыми следует собственно определяемый
82 II Команды символ. Например, комбинация трех символов ??/ определяет обратный слэш, а комбинация ??/п определяет newline (символ новой строки) -Wtrigraphs -traditional -Wtraditional Выдает предупреждения, если неожиданно встречает trigraphs. Пытается имитировать особенности "старого" С. Предупреждает о некоторых конструкциях, отличающихся в традици- онном и ANSI С. -I directory Добавляет каталог directory в конец списка каталогов для поиска фай- лов с заголовками. -nostdinc Не просматривает стандартные системные каталоги в поисках файлов заголовков. Только просматривает каталоги, определенные с помощью опции -I, а также текущий каталог. -nostdinc++ Не просматриваете поисках файлов заголовков специфические стандарт- ные каталоги C++, но все же просматривает другие стандартные ката- логи. -D name Предопределяет имя пате в качестве макроса с определением 1. -D name=definition Предопределяет имя пате в качестве макроса с определением definition. Вообще говоря, не существует ограничений на содержимое definition, но, если оно вызывается из оболочки, необходимо помнить о :интаксисе оболочек и иногда заключать символы в кавычки. -U пате Не предопределяет имя пате. Если для одного имени указаны две оп- ции -U и -D, то опция -U "забивает" опцию -D. -undef Не предопределяет никаких нестандартных макросов. -A predicate <value> Добавляет так же, как директива #assert, имя предиката predicate с его элементарным значением. Можно использовать -А-, чтобы отменить все предопределенные утверждения, а заодно и отменить все предопределенные макросы. -dM Вместо вывода результатов работы препроцессора распечатывает спи- сок директив //define для всех макросов, определенных в период рабо- ты препроцессора, включая предопределенные макросы. -dD Подобна опции -dM за исключением следующих двух различий: не вклю- чает предопределенные макросы, зато включает в выходной файл как директивы //define, так и результаты препроцессорной обработки. -M[-MG] Вместо вывода результатов препроцессорной обработки выводит пра вило, предназначенное для утилиты make, описывающей существую- щие зависимости главного (main) исходного файла. В этом случае вы вод содержит имя объектного файла, соответствующего данному ис- ходному, двоеточие, а также имена всех включаемых файлов Если число включаемых файлов значительно и правило разбивается на несколько строк, в качестве символа продолжения применяется обратный слэш. Опция -MG предлагает рассматривать пропущенные файлы (заголов- ков (headers) как создаваемые файлы, находящиеся в том же каталоге.
II. Команды 83 где расположен исходный файл. Эта особенность используется утили- той make при автоматическом обновлении файлов -MD file Подобна опции -М, но в отличие от нее информация по зависимостям записывается в файл file. Однако при вызове gcc не следует определять аргумент file; gec соз- дает имена файлов путем замещения суффикса .с на .d в именах вход- ных файлов. -Н Печатает имя каждого файла заголовка в дополнение к другим обыч- ным действиям -х lang Указывает исходный язык, где lang принимает такие значения: с язык С C++ язык C++ objective-c язык Objective-C assembler-with-cpp язык Assembly (ассемблер) -$ Запрещает использовать в идентификаторах символ $. Эта опция дос- тупна при непосредственном вызове ерр; команда gcc не воспринимает эту опцию в командной строке. cd - выполняет переход в другой каталог Синтаксис cd new-directory Аргумент new-directory указывает новый каталог, в который следуе. перейти. В Linux текущий каталог представляется одной точкой, родительский каталог - двумя, рабо- чий каталог пользователя обозначается символом ~ (тильда). cdp - интерактивная программа для управления и воспроизведения аудио компакт-дисков под Linux. Синтаксис cdp [-h|-l|-n|-B][play лшп] cdplay [-h|-l|-n|-s][play лшп] [stop] [table] cdp - это интерактивная программа в режиме текстового инг ерфейса для воспроиз- ведения аудио компакт-дисков в Linux. Она базируется на WorkBonc, которая, в свою очередь, основана на модулях hardware.!, database.! и struct.c из тщательно разра- ботанной CD-программы под XII, известной как WorkMan. cdp будет искать устройство /dcv/cdrom, но если у вас другое устройство для ком- пакт-дисков, зайдите в /dev и с помощью команды In установше мягкую ссылку на edrom. Команда cdplay - это неинтерактивная версия cdp.
Х4 11 Команды Опции - s Стартует без сообщений. - h Выводит краткое описание опций и завершает работу программы - п Не использует режим автоматического воспроизведения - 1 Запускается в режиме медленного старта (в ожидании init). play пит Выполняет автоматическое воспроизведение с указанной дорожки пит компакт-диска. stop Останавливает CD. table Выводит таблицу содержимого CD из БД. Команда cdp отображает базы данных CD так, как сгенерировано программой WorkMan. Эту инфор- мацию можно редактировать. cdp использует цифровую клавиатуру (блок клавиш в правой части стандартной АТ- клавиатуры), позволяющую переходить от одной дорожки звукозаписи к другой, со- здавать паузу, останавливать и возобновлять воспроизведение аудио компакт-дисков. Далее перечислены функции отдельных клавиш цифровой клавиатуры: 9 воспроизведение 8 пауза/возобновление 7 останов 6 следующая дорожка 5 повтор воспроизведения 4 предшествующая дорожка 3 перемещение вперед в течение 15 секунд 2 досрочное прекращение (музыкальное звучание прекращается) 1 перемещение назад в течение 15 секунд О мягкое завершение (музыка продолжается) . нажатие клавиши с точкой вызывает подсказку enter редактирование текущей песни а редактирование исполнителя песни с редактирование имени С D Пример Так выглядит экран cdp:
II. Команды Во время работы программа edp показывает номер текущей дорожки, а также об- щее затраченное время и время, зат раченное на воспроизведение текущей дорожки В общее, затраченное на компакт-диск, время включается период прохождения дорожек не с аудиоинформацией помимо времени, затраченного на воспроизведение проигры- ваемых дорожек. иигесога - выполняет запись информации или аудиоданных на компакт-диски. Синтаксис cdrecord [general_ options] dev-device [track_options] track1...trackn Команда cdrecord осуществляет операцию записи компакт-дисков на специальных записывающих устройствах согласно Orange Book (в соответствии со стандартами "Оранжевой книги") в формате, предусматривающем многосессионную запись на ком- пакт-диски. "Прожиг", или создание, своих собственных CD - подлинное искусство для энтузи- астов мультимедиа в Linux. CD (а вскоре и DVD) стали стандартными носителями для мультимедийного содержимого из-за большого размера их файлов. Вы можете исполь- зовать CD, чтобы • Записывать и хранить на компакт-дисках разную мультимедийную информацию: файлы резервирования, графические образы, музыку • Копировать аудиодорожки (извлекать содержимое музыкальных дорожек) му- зыкальных компакт-дисков и создавать для индивидуального использования му- зыкальные CD В Linux создание CD является двухшаговым процессом. Сначала с помощью ко- манды nikisofs нужно создать образ, специальный файл в формате ISO9660. А затем с помощью cdrecord записать этот образ на носитель. Обращение к записывающему устройству происходит через SCSIBUS/Device/LUN (шину, устройство, номер логи- ческого устройства); эти, разделенные косой чертой элементы, являются целыми чис- лами. Команда cdrecord с опцией -scanbus позволяет получить эту информацию. В командной строке общие опции (general_ options) должны стоять до имени любого файла дорожки или опций дорожки (track options). Основные общие опции - version Выводит информацию о версии программы и завершает ее. - V Выводит подробные сообщения, позволяющие наблюдать за ходом процесса. - V Расширяет объем выводимой информации за счет отладочной инфор- мации транспортного протокола SCSI. Двойная опция -VV дополнительно позволяет получить содержимое буфера данных. - d, debug-# Устанавливает уровень отладки в указанное значение к нли уменьшает до 1, если только задана опция -d. Опция -dd эквивалентна debug' 2 (вы- водит размеры и типы секторов). Исполь ювапие данной опции еу ще-
86 -s, -silent -force -dummy -dao -raw -raw96r -raw96p -rawl6 -multi II Команды ственно замедляет весь провесе и может даже стать причиной недо грузки буфера. Не печатает отчет по состоянию аварийно завершенных SCSI-команд. Вынуждает продолжать процесс даже в случае некоторых ошибок. С этой опцией нужно соблюдать осторожность в ряде сбойных ситуаций, могущих привести к повреждению носителя, так как при использовании -force отключаются многие виды проверок. С другой стороны эта оп- ция обеспечивает некоторые уловки, позволяющие очищать сбойные диски CD-RW. Записывающее устройство CD проходит все стадии процесса, но лазер остается нетронутым. Устанавливает режим SAO (см. приложение VI) Только работает с уст- ройствами ММС. Устанавливает низкоуровневый режим записи; эта опция аналогична -raw96r. Выбирает режим записи с секторами по 2352 байта плюс 96 байтов дан- ных упакованного подканала Р-W, что в результате создает сектор раз- мером 2448. Это предпочтительный режим записи, позволяющий опти- мально контролировать CD. Выбирает режим записи с секторами по 2352 байта плюс 96 байтов дан- ных низкоуровневого подканала Р-W, что в результате создает сектор размером 2448. Это наименее предпочтительный реж«м записи, так как его поддерживают всего несколько записывающих устройств, некото- рые из них имеют ошибки во встроенном микропрограммном обеспе- чении. Выбирает режим записи с секторами по 2352 байта плюс 16 байтов дан- ных низкоуровневого подканала Р-Q, что в результате создает сектор размером 2368. Это предпочтительный режим записи, если записываю- щее устройство не поддерживает -raw96r. Не применяйте этот режим, если ваше записывающее устройство поддерживает -raw96r. Разрешает создавать многосессионный, или многосеансовый, компакт- диск. Этот флаг должен присутствовать на всех сеансах кроме после- днего. Фиксация должна быть сделана таким образок, чтобы разрешить записывающему устройству в дальнейшем добавлять содержимое пос- ледующих сеансов. Это достигается за счет генерации ТОС с хказанн- ем следующей программной области. Но такой носитель не является 100% совместимым с производимым за исключением CDplus. Если при- сутствует эта опция, то по умолчанию тип дорожки рассматриваете я как CD-ROM ХА mode 2. Скажем, устройства Sony нс поддерживают такой режим. Чтобы создавать многоссансовые компакт-диски на таких за- писывающих устройствах, придется указать опцию -data. А поскольку cdrecord нс имеет кодировщика для преобразования информационных секторов в аудиосскгора. придется заказать такую особенность ну гем
II. Команды 87 -msinfo -toe -fix -nofix -waiti -eject speed=# blank=(ype включения опции -data, если вам нравится осуществлять запись миого- сессионного диска в режиме SAO. Следует помнить, что не все запи- сывающие устройства поддерживают такую возможность. Извлекает многосессионную информацию в форму, пригодную для про- граммы nikisofs-1.10 или более нового формата. Эта опция имеет смысл лишь для ('D, что имеет, по крайней мере, один закрытый сеанс, но окон- чательно еще не закрыт (не сформирован до конца). Извлекает и распечатывает таблицу ТОС или РМА компакт-диска. Эта опция работает с устройствами CD-R и CD-ROM. Только фиксирует диск. Что может быть использовано в том случае, если диск был перезаписан, но по каким-то причинам не фиксирован для записи ТОС. Не фиксирует диск после записи дорожек (не записывает ТОС). Эта опция может быть использована при пошаговом создании аудиодиска. Ждет, чтобы входная информация стала доступной через стандартный ввод, прежде чем пытается открыть „райвер SCSI. При записи инфор- мации последующего сеанса на многосеансовый диск программа nikisofs перед записью вывода должна прочесть с устройства информацию ста- рого сеанса, что невозможно осуществить, если cdrecord в это же вре- мя открывает драйвер SCSI. Выталкивает диск из устройства после выполненной работы. На неко- торых устройствах (например, Philips) перед созданием нового диска необходимо выполнить такую операцию: если вы захотите выполнить предварительное тестирование с помощью опции -dummy и сразу же создать реальный диск, то без -eject это не сработает на подобных ус- тройствах. Устанавливает коэффициент скорости процесса записи в значение # (це- лое положительное), предоставляя число, кратное данной аудиоскоро- сти, составляющей 150 Кбайт/с для CD-ROM и 172 Кбайт/с для CD- Audio. Если данная опция не задана, пытается извлечь рассматриваемое значение из переменной окружения, CDRSPEED. Если при speed=2 или speed=4 с вашим устройством возникают проблемы, следует попро- бовать speed=0. Очищает CD-RW и завершает работу или очищает CD-RW перед запи- сью. Тип очистки может быть одним из следующих: help выводит список возможных типов all очищает весь диск (длительная операция) fast выполняет минимальную очистку (РМА, ТОС и претва рительного межблочного промежутка) track очищает некоторую дорожку unreserve не ограничивает зарезервированную дорожку trtail очищает "хвост" дорожки
88 II Команды unclose открывает последний сеанс session очищает информацию последнего сеанса Далеко не на всех устройствах поддерживаются все типы очистки. Если эту опцию применять с флагом -force, можно очистить диски CD-RW, которые в противном случае не могли бы быть очищены. dev-target Указывает номер записывающего устройства CD в локальном формате SCSIBUS/Device/LUN. Можно указать даже дистанционное устройство, если перед локальным форматом добавить следующий префикс: REMOTE:nser@/iorf: или REMOTE:/iosf:. Если адресуемое устрой- ство фактически является одним из устройств SCSI, допускается со- кращение в виде dcv=device-name:@ (здесь device-name — имя уст- ройства). В системах FreeBSD без поддержки САМ необходимо исполь- зовать управляющее устройство /dev/rcdO.ctl, а спецификация в этом случае будет выглядеть как dev=/dev/rcdO.ctI:@. Но в Linux устрой- ства. подключенные к адаптеру параллельного порта, отображаются на виртуальную шину SCSI (в разные посадочные места в зависимости от адаптера). Если опция dev отсутствуем программа cdrecord пытается получить информацию из переменной окружения под названием CDR DEVICE. Если аргумент к опции dev не содержит запятых, наклон- ных черт, двоеточий или символов @, он интерпретируется как метка из файла конфигурации по имени /etc/cdrecord.conf. gracetime=# Устанавливает отсрочку в секундах перед началом записи. Запрещены значения менее 2 секунд. timeout=# Устанавливает для команды SCSI принятый по умолчанию таймаут в се- кундах. -checkdrive Проверяет, присутствует ли драйвер текущего устройства, а затем за- вершает программу. Если драйвер присутствует, устанавливает код возврата в ноль. -uiq -scanbus Выполняет запрос информации по данному драйверу и печатает ее. Получает информацию для использования CD-устройства под шиной SCSI в качестве эмуляции. Эта опция позволяет найти в системе SCSI- адрес записывающего устройства CD -overbum Позволяет программе cdrecord записать больше, чем предусматрива- ет официальный размер носителя. Эта особенность, называемая everburning, возможна потому, что емкость большинства пустых носи- телей превосходит их официальный размер. Для большинства носите- лей эта особенность возможна лишь в режиме SAO или RAW, если во- обще она поддерживается для вашего устройства. Далее предлагаются опции, имеющие отношение к дорожкам. Эти опции переме- жаются с именами файлов дорожек.
II Команды 89 Основные опции дорожки isrc=ISRC_number Устанавливает номер следующей дорожки в значение ISRC number согласно ISR. index=/tst Устанавливает список индексов для следующей дорожки. В список вхо- дят числа, разделенные запятыми, первое из которых равно 0. Сектор в формате CD-DA содержит данные, обеспечивающие воспроизведение музыки в течение 1/75 секунды. Поэтому числа в возрастающем по- рядке выражаются в 1/75 секунды и просчитываются от индекса 1. Ска- жем, список 0, 3750, 7500 привязывает индекс 1 к началу данной до- рожки, индекс 2 к 50 секундам, прошедшим от начала этой дорожки, индекс 3 - к 100 секундам от начала этой дорожки. -audio Записывает все последующие дорожки в формате CD-DA. Файл с таки- ми дорожками данных записывается в стереофоническом 16-битном цифровом аудио-формате и воспроизводит 44100 сэмплов (образцов, или звуковых фрагментов) в секунду. Порядок следования байтов сле- дующий: MSB левый, LSB левый, MSB правый, LSB правый, MSB ле- вый и т.д. Размер дорожки такого формата кратен 2352 байтам. Если ни опция -data, ни опция -audio не задана, программа cdrecord по умол- чанию предполагает формат данных -audio для всех файлов, имена ко- торых содержат расширение ,аи или .wav, и формат -data для всех ос- тальных файлов. -swab Подразумевает порядок следования байтов аудиоданных как little-endian (начиная с младшего). Хотя некоторые типы записывающих CD требу- ют представления аудиоданных в формате big-endian (начиная со стар- шего), используемом протоколом SCSI. Программа cdrecord знает, в каком формате нуждается устройство, и при необходимости корректи- рует порядок следования байтов в потоке данных. Так что этот флаг нужен лишь в том случае, если ваш поток данных в формате Intel (little- endian). -data Записывает все последующие дорожки в формате CD-ROM mode 1 (со- гласно Yellow Book). Размер дорожки такого формата кратен 2048 бай- там. Дорожки с данными в таком файле содержат образ файловой сис- темы в формате ISO-9660 или Rock Ridge (см. команду mkisofs). По умолчанию принимается опция -data, если никакой другой флаг не за- дан. Если ни опция -data, ни опция -audio не задана, программа cdrecord по умолчанию предполагает формат данных -audio для всех файлов, имена которых содержат расширение ,аи или .wav, и формат -data для всех остальных файлов. -mode2 Записывает все последующие дорожки в формате CD-ROM mode 2. Размер дорожки такого формата кратен 2048 байтам _ха1 Записывает все последующие дорожки в формате CD-ROM \\ mode I. Размер дорожки такого формата кратен 2048 байтам. См. описание CD-ROM ХА в приложении VI.
90 II Команды -xa2 Записывает все последующие дорожки в формате CD-ROM ХА mode 2 Размер дорожки такого формата кратен 2048 байтам. См. описание CD-ROM ХА в приложении VI. -edi Записывает все последующие дорожки в формате CDI. Размер дорож- ки такого формата кратен 2048 байтам. См. описание CDI в приложе- нии VI. -pad В случае, если данная дорожка является дорожкой данных, добавляет в конце нее и каждой последующей дорожки данных 15 обнуленных сек- торов. Если эта опция прилагается к аудиодорожке, дополняет аудио- данные двоичными нулями (эквивалентно абсолютному молчанию) до размера, кратного 2352 байтам. -nopad Не дополняет содержимого следующих дорожек. Эта опция принята по умолчанию. -copy Все элементы ТОС для последующих аудиодорожек результирующего CD будут указывать, что аудиоданные могут копироваться без каких- либо ограничений. Эта опция не воздействует на дорожки данных. -nocopy Все элементы ТОС для последующих аудиодорожек результирующего CD будут указывать, что аудиоданные в соответствии с полномочиями могут копироваться только единожды для личного использования. Эта опция принята по умолчанию. -sems Все элементы ТОС для последующих аудиодорожек результирующего CD будут указывать, что аудиоданные вообще не могут быть скопиро- ваны. Примеры Прежде всего нужно получить информацию для правильного использования уст- ройства CD при эмуляции SCSI: I cdrecord -scanbus Cdrecord l.lla32 (i586-mandrake-linux-gnu) Copyright (C) 1995-2002 Jqrg Schilling Using libscg version 'schily-0.6' scsibusO: 0,0,0 0) * 0,1,0 0) * 0,2,0 0) * 0,3,0 0) BL-DT-ST' 'RW/DVD GCC-4120B' '2.00' Removable CD- ROM I Зная адрес устройства (dev=0,3,0), можно попробовать в тестовом режиме (опция -dummy) произвести запись файла-образа probaim. подготовленного ранее с помо- щью mkisofs: # cdrecord -v -dummy blanksfact dev=0,3,0 probaim Cdrecord l.lla32 (1586-mandrake-linux-gnu) Copyright (C) 1995-2002 Jgrg Schilling TOC Type: 1 - CD-ROM
II. Команды 91 Using libscg version ’schily-0.6' atapi: 1 Device type : Removable CD-ROM Version : 0 Response Format: 1 Vendor_info : 'HL-DT-ST* Identifikation : 'RW/DVD GCC-4120B Revision : '2.00' Device seems to be: Generic mmc2 DVD-ROM. Using generic SCSI-3/mmc CD-R driver (mmc_cdr). Driver flags : SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/ R96R Drive buf size : 1605632 = 1568 KB FIFO size : 4194304 = 4096 KB Track 01: data 1 MB Total size: 2 MB (00:12.18) = 914 sectors Lout start: 2 MB (00:14/14) = 914 sectors Current Secsize: 2048 ATIP info from disk: Indicated writing power: 3 Reference speed: 6 Is not unrestricted Is erasable Disk sub type: High speed Rewritable (CAV) media (1) ATIP start of lead in: -11635 (97:26/65) ATIP start of lead out: 110100 (24:30/00) speed low: 4 speed high: 8 power mult factor: 1 5 recommended erase/write power: 3 A2 values: 26 B2 26 Disk type: Phase change Manuf. index: 3 Manufacturer: CMC Magnetics Corporation Blocks total: 110100 Blocks current: 110100 Blocks remaining: 109186 Starting to write CD/DVD at speed 8 in dummy TAO mode for single session. Last chance to quit, starting dummy write in 9 seconds. 8 seconds. 7 seconds. 6 seconds. 5 seconds. 4 seconds. 3 seconds, seconds.1 econds.O seconds, operation starts. Waiting for reader process to fill input buffer ... input buffer ready. Blanking PMA, TOC, pregap Blanking time: 20.411s BURN-Free is OFF. Starting new track at sector: 0 Track 01: 0 of 1 MB written. Track 01: 1 of 1 MB written (fifo 100%) [buf 78%) L1.6x. Track 01: Total bytes read/written: 1867776/1867776 (912 sectors). Writing time: 2.340s Fixating... WARNING: Some drives don't like fixation in dummy mode. Fixating time: 0.003s Average write speed 5.2x. #
92 It Команды chage - меняет информацию, связанную с паролем пользователя. Синтаксис chage [-m mindaysJ(-M maxdays][-d iastday][-I inactive][-E expiredate] [-W warndays] user chage -1 user Команда chage меняет информацию, связанную co сроком изменения пароля пользо- вателя user: число дней между изменениями пароля и дату последнего изменения па- роля. Эта команда главным образом предназначена для суперпользователя. Опции -m mi nd ays -М maxdays -d lastday -E expiredaie -I inactive -W warndays Устанавливает минимальное число дней между изменениями пароля. Устанавливает максимальное число дней, в течение которых пароль действителен. Указывает день, когда пароль последний раз менялся. Значение дня за- дается как число дней после 1 января 1970 года. Указывает дату, когда пользовательский счет будет уже недоступным. Устанавливает число дней бездеятельности после того, как срок дей- ствия пароля уже истек, но прежде, чем счет будет заблокирован. Позволяет непривилегированному пользователю указать, когда срок действия его пароля или счета должен истечь. Устанавливает число дней, за которое до изменения пароля начинает выдаваться предупреждение о грядущем изменении. Пример $ chage -1 misha Minimum: 0 Maximum: 99999 Warning: 7 Inactive: -1 Last Change: Password Expires: Password Inactive Account Expires: $ Sep 01, 2001 Never Never Never chat - автоматизирует взаимодействие компьютера с модемом. Синтаксис chat [option] script
II. Команды 93 Основная задача программы chat - установить соединение между локальным де- моном протокола РРР и процессом pppd на дистанционной машине. Опции -f chatJile -t timeout -г reportJile -S -V -s Чигает сценарий из файла chat Jile. Сценарий этой программы состоит из различных символьных строк, которые могут быть пересланы дис- танционным узлом, и соответствующих строк, которые должен отослать в ответ локальный узел. Эти строки делятся на два вида: expect (за- прос) и send (ответ на этот запрос). Чтобы разделить строки, применя- ются пробелы и символы горизонтальной табуляции. Устанавливает тайм-аут в ожидании строки запроса. Если в течение это- го периода никакая строка не получена, может быть послан альтерна- тивный ответ или сценарий завершается аварийно, что также вызывает аварийное завершение программы chat (с ненулевым кодом). Устанавливает выходной файл reportJile для вывода строк отчета. Если используется ключевое слово REPORT, результирующие строки запи- сываются в этот файл. Если эта опция отсутствует, но используется клю- чевое слово REPORT, для накопления результирующих строк приме- няется stderr - стандартный файл ошибок. Включает опцию echo, выводящую текст на стандартный вывод (обыч- но на экран). Включение или отключение этой опции можно осущесть лять в определенных с помощью ключевого слова ECHO местах сце- нария. Делает возможной подстановку переменных окружения внутри сцена- риев chat, используя стандартный синтаксис $ххх. Требует, чтобы в процессе выполнения сценария chat производилось комментирование в расширенном режиме. Программа chat зарегистри- рует в журнале текст получаемых от модема и направляемых ему строк. По умолчанию журнал определяется переменной SYSLOG. Регистра- ция в журнале может быть отменена с помощью флагов -S и -s. Не использует переменную SYSLOG. Эта опция подобна опции -v с той только разницей, что результаты вы- оодятся на stderr - обычно это локальная консоль на узле, запустив- шем chat или pppd. Использует stderr. Все сообщения, создаваемые с помощью опции -v, а также вс, сооощения об ошибках, будут отсылаться на stderr. -Т phone number Передает строку, содержащую телефонный номер и используемую в качестве подстановки для метасимвола \Т в строке send. -U phone_number_2 Передает вторую строку, содержащую телефонный номер и исполни емую в качестве подстановки для метасимвола W. Это полезно, когда дозвон осуществляется через терминальный адаптер ISDN требующий два номера.
94 II Команды Если сценарий не задается с помощью опции -f, тогда благодаря аргументу script он Включается в параметры программы chat. Сценарий программы chat состоит из одной или более пар строк "запрос-ответ", разделенных пробелами и, возможно, в свою очередь одна из строк вновь может вклю- чать дополнительную пару строк "запрос-ответ", разделенных символом дефиса Это может выглядеть следующим образом: ogin: -Break-ogin: pppl ssword: ent!2345 Программа chat ожидает в течение предусмотренного времени строку приглаше- ния ogin:. В противном случае на дистанционную машину направляется последователь- ность Break, создающая прерывание, и вновь chat ожидает строку ogin:. Если первая строка ogin: получена своевременно, прерывание не создается. Получив строку ogin:, программа chat отсыпает строку pppl и вновь ожидает приглашения в виде строки ssword:. Получив ожидаемую строку, отправляет в ответ пароль - entl2345. Строки ogin: и ssword: в действительности соответствуют строкам login: и password:. Та- кой прием позволяет обеспечить гарантированную передачу строк по сети даже в слу- чае потери начального символа. В сценарии могут присутствовать комментарии, начинающиеся с символа # в пер- вой позиции строки. Программа chat игнорирует такие строки. Если присланная строка начинается с символа @, то содержимое строки, идущее за этим символом, будет рассматриваться как имя файла, из которого следует прочесть ответную строку. Этот файл может быть как обычным файлом, так и именованным ка- налом (FIFO). Таким способом программа chat может связаться с другой программой. Многие модемы получают информацию о состоянии вызова также в виде строки. Могут быть получены такие строки: CONNECT (соединение), BUSY (занято), NO CARRIER (абонент отсутствует). Существует специальная последовательность ABORT, используемая для задания вариантов аварийного подключения: ABORT BUSY ABORT 'NO CARRIER'" ATZ OK ATDT7835442 CONNECT " og.n: conn assword: TiTigarr В этом примере две последовательности ABORT задают варианты аварийного под- ключения. По умолчанию первая строка должна являться строкой запроса, однако мо- дем не возвратит никаких сообщений до тех пор, пока не будет отдана какая-либо мо- демная команда. Именно поэтому далее следует пустая строка ", вслед за которой будет выдана команда инициализации модема - ATZ. Если получен ответ ОК, модему будет передана команда набора номера - ATDT7835442. В ответ ожидается прием со- общения CONNECT, гарантирующего установление соединения. Далее вновь идет пу- стая строка, так как в ответ на сообщение CONNECT не следует отправлять новых команд. Теперь программа chat ждет поступления приглашения ogin:. Дальнейшая часть сценария аналогична вышеописанной. chattr Синтаксис chattr -RV [+-=AsacdiSu][-v version] file... - меняет атрибуты файла второй расширенной файло- вой системы Linux.
II. Команды 95 Эта команда позволяет сделать заданные файлы file недосягаемыми даже для супер- пользователя. Оператор + добавляет выбранные атрибуты к уже существующим, опе- ратор - удаляет их, а оператор = устанавливает только атрибуты, которые файл имеет. Случается, что пользователь забыл про выполненную установку атрибутов с помо- щью команды chattr и не может модифицировать или удалить файл, хотя, казалось бы, существующие полномочия на этот файл позволяют выполнять подобные манипуля- ции. Дело в том, что установленные атрибуты невозможно увидеть с помощью даже такой "вездесущей" команды, как 1s. Для этого следует применять Isattr. Опции - R Рекурсивно меняет атрибуты каталогов и их содержимого. - V Подробно информирует о происходящем и печатает версию програм- мы. - v version Устанавливает версию файловой системы. Атрибуты А Не обновляет atime (время доступа к файлу). S Модифицируя файл с таким атрибутом, синхронно записывает на диск внесенные изменения. а Позволяет лишь добавлять записи в файл. Только суперпользователь может уста- новить или убрать такой атрибут с Записывает в файл упакованную (сжатую) информацию перед сохранением его на диске. Операция чтения такого файла возвращает распакованные данные. d Не разрешает выполнять копию файла, когда запущена программа dump. i Делает файл с таким атрибутом полностью недосягаемым: он не может быть уда- лен или переименован, никакие ссылки не могут быть созданы на этот файл, никакие данные не могут быть записаны в него. Только суперпользователь может устано- вить или убрать такой атрибут. s При удалении такого файла выполняет обнуление его блоков и записывает обратно на диск. и При удалении файла с таким атрибутом сохраняет его содержимое, что создает воз- можность последующего восстановления такого файла. chfn - меняет информацию о пользователе. Синтаксис chfn [-f fuff-пале][-о office][-р office-phone] [-h Лоле-рЛопе][-и] [-v][username] Меняет информацию (стандартные записи) о пользователе, возможно, ранее полу- ченную по сети с помощью команды finger.
96 II Команды Опции - f full-name Указывает полное имя пользователя. - о office Задает офис (номер комнаты) пользователя. - р office-phone Задает номер рабочего телефона. - h home-phone Задает номер домашнего телефона. - ц, —help Выводит краткое описание опций и завершает работу программы. - V, —version Выводит краткую информацию о версии программы и завершает ее ра- боту. Пример В интерактивном режиме поменяем информацию о пользователе misha. Если есть желание оставить некоторые поля без изменения, следует нажать Enter. f chfn misha Changing finger information for misha. Kame [michaelj: Office (]: 321100 Qffice Phone []: 656013 Home Phone []: 681623 Finger information changed. ♦ chgrp - переназначает группу аЛя ;-айлов и каталогов. К Синтаксис chgrp [option]—group file___ chgrp [option]——reference=rfile file... Производит смену группы, которой принадлежит файл (или каталог) file, на group. В файле /etc/group хранится полный список групп. Группу может поменять владелец файла или суперпользователь. В качестве значе- ния group можно задать имя группы или ее GID. Опции -с, —changes Выдает подробные сообщения по выполненным изменениям. —dereference Не воздействует на символическую ссылку, а воздействует на го, на что она указывает. -h, —no-dereference Воздействует именно на символические ссылки вместо собственно того, на что они указывают; опция доступна в системах, где можно ме- нять владельца символической ссылки. -f, —silent, —quiet Подавляет большинство сообщении об ошибках.
II. Команды 97 —reference—rjile Использует группу, к которой принадлежит файл rfile, вместо значения group. -R, —recursive Устанавливает рекурсивный режим: меняется группа, к которой принадлежит заданный каталог, его подкаталоги и файлы подкаталогов И Т.Д., и т.п. -v, —verbose Выводит подробную диагностику для каждого обрабатываемого фай- ла. —help Выводит кра> кое описание опций и завершает работу программы. —version Выводит краткую информацию о версии программы и завершает ее ра- боту. Пример Содержимое каталога /home/misha выглядело следующим образом: итого 4 drwxr-xr-x 5 misha misha 1024 Apr 28 23:18 Desktop -rw-rw-r— 1 misha misha 12 Apr 29 13:25 mishal -rw-rw-r 1 misha misha 20 Apr 29 13:33 misha2 -rw-rw-r 1 misha misha 195 Apr 29 13:29 priml8 Требуется, чтобы файл misha2 принадлежал к той же группе, к которой принадле- жит файл /home/sofia/sofial: f chgrp —reference-/home/sofia/sofial /home/misha/misha2 i Содержимое каталога/home/misha несколько изменилось (см. четвертый столбец’ итого 4 drwxr-xr-x 5 misha misha 1024 Apr 28 23:18 Desktop -rw-rw-r— 1 misha misha 12 Apr 29 13:25 mishal -rw-rw-r— 1 misha sofia 20 Apr 29 13:33 misha2 -rw-rw-r— 1 misha misha 195 Apr 29 13:29 priml8 chkconfig - управляет запуском системных служб и устанавливает уровень их функцмони звания Синтахсис chkconfig —list [паше) chkconfig —add паше chkconfig —del паше chkconfig [—level levels] паше [on|off|reset] chkconfig [—level levels] паше Команда chkconfig предоставляет интерфейс командной строки к сценариям сис- темных служб, перечисленных в /etc/rc.d/init.d. Необходимость выполнить определенную последовательность команд часто свь зана с задачами системного администрирования.
98 П Команды Слц1 —level levels Указывает, к каким уровня относится задаваемая операция. Параметр levels задается в виде строки чисел от 0 до 6. Скажем, строка 35 подра зумевает уровни выполнения 3 и 5. —add пате Добавляет новую службу под управление chkconfig. —del name Удаляет указанную службу из-под эгиды chkconfig, а также все сим- волические ссылки, имеющие отношение к этой службе, из файлов /etc/rc[0-6].d. —list пате Перечисляет все известные команде chkconfig службы, а также на ка- ком уоовне они останавливаются или стартуют. Если указан параметр пате, отображает информацию лишь по заданной службе. Один из трех флагов - on, off, reset - задается после имени службы. Первые рва из этих флагов вынуждают службу запускаться или останавливаться в измененных уров- нях выполнения, а вот третий флаг переустанавливает информацию по данной службе в значения, указываемые в сценарии init. По умолчанию флаги on и off воздействуют только на уровни 2, 3,4 и 5, а вот reset - на все уровни. Примеры Вот так можно получить информацию о службе xinetd (русская версия Red Hat Linux 9): I chkconfrg —list | grep xinetd xinetd 0:выкл 1:выкл 2:выхп 3:вкл 4:вхл 5:вкл 6:выкл сервисы иа основе xinetd: f Пусть требуется во время загрузки системы автоматически стартовать служб'7 httpd (Web-сервер Apache) в третьем уровне функционирования: f chkconfig —level 3 httpd on I Проверим назначенные установки: # chkconfig —list | grep httpd httpd 0:ввкл 1:выкл 2:выкл 3:вкп 4:выхл 5:ввкл 6: выхи chkfontpath - упрощенный интерфейс для добавления, удаления и просмотра каталогов со шрифтами по маршруту сервера шрифтов системы X. Синтаксис chkfontpath [—add dir][—remove dir] [—first]]—list]]—help] Утилита chkfontpath обеспечивает конфигурирование каталогов, содержащихся no маршруту сервера шриф.ов Управление всеми шрифтами в X осуществляется е по- мощью отдельных процессов сервера шрифтов, а не с помощью процесса главного
II. Команды 99 сервера X. Упомянутая реализация позволяет ускорить воспроизведение шрифта и дает возможность использовать серверы шрифтов, запущенные не на локальном узле. chkfontpath главным образом используется RPM для добавления и удаления ката- логов из конфигурационного файла во время инсталляции и деинсталляции пакетов, со- держащих шрифты. Опции —add dir Позволяет добавлять каталог dir по маршруту сервера шрифтов. —remove dir Позволяет удалить каталог dir по маршруту сервера шрифтов. -first Добавляет задаваемый каталог dir первым по маршруту сервера шриф- тов. —hst Запрашивает перечень текущих каталогов, расположенных по маршру- ту сервера шрифтов. Эта возможность включена по умолчанию, если не заданы вообще никакие опции. —help Выводит краткую информацию об опциях программы и завершает ее работу. - меняет номочия на , айлы и каталоги. При добавлении каталогов производится проверка на наличие в каждом из них фай- ла fonts.dir, где хранятся описания шрифтов. Если операция по добавлению или удале- нию каталогов прошла успешно (chkfontpath возвращает в этом случае нулевой код завершения), будет перезапущен ранее запущенный процесс сервера шрифтов chmod Синтаксис chmod [option] —model ,mode]...file... chmod [option].. .octal_mode file... chmod (option]...—reference=rfile file... chmod меняет полномочия согласно заданному режиму доступа, который указы- вается в одном из двух форматов: символьном (mode) или числовом (octal mode). Числовой формат использует восьмеричное число и предназначен для абсолютного задания режима доступа. Символьный формат - это одна или несколько групп симво- лов, разделенных запятыми, используется для изменения режима относительно теку- щего состояния полномочий на файл или каталог. Менять полномочия на файл или каталог может владелец или суперпользователь. Увидеть полномочия на файл и каталог можно с помощью команды Is (см. крайний левый столбец листинга). Строка полномочий на файл состоит из трех частей: полно- мочия владельца, группы и всех остальных пользователей. В каждой части устанавли- ваются полномочия на чтение (г), запись (w), выполнение (х). Знак минус означает, что соответствующие полномочия отсутствуют. Символьный формат выглядит следующим образом: К [ugoa...][[+-=][rwxXBtugo]...JI
J 00 II Команды Символьные операции разделяются запятыми. Комбинация букв ugoa соответству- ет полномочиям владельца (и), группы (g), всех остальных пользователей, не входя- щих в группу (о), или всех пользователей (а). Знак плюс добавляет к уже существующим выбранные полномочия, знак минус удаляет указанные полномочия. С помощью знака равенства можно назначить новые полномочия. Рассмотрим два дополнительных бита полномочий - SUID (Set User ID - устано- вить идентификатор пользователя) и SGID (Set Group ID - установить идентификатор группы). Буква s будет выставлена вместо буквы х в соответствующей владельцу или группе позиции строки полномочий. Обычно владельцем исполняющейся программы является именно тот пользователь, который запустил ее на выполнение. Но если вклю- чен SUID, то владельцем программы станет владелец исполняемого файла Значит, если обычный пользователь запустил исполняемый файл, владельцем которого является ад- министратор системы, то эта программа обладает полномочиями администратора на свои файлы, невзирая на ограниченность прав рядового пользователя. Аналогичные рассуждения распространяются и на SGID, включение которого дает программе все права группы, владеющей исполняемым файлом. Если на выполнение файла уже существуют полномочия для какого-нибудь пользо- вателя, будет выставлена буква X. Бит сохранения задачи (sticky bit) указывает системе на необходимость сохранения копии выполняющейся программы. Включение этого бита (буква t в последней пози- ции строки полномочий) указывает системе на необходимость сохранения копии про- граммы в памяти (области своппинга) даже после ее завершения. При частом исполь- зовании программы экономится время системы на загрузку исполняемого файла при каждом новом запуске. Восьмеричное значение числового формата полномочий получается при сложении значений, которые перечислены ниже: 400 владелец имеет полномочия на чтение 200 владелец имеет полномочия на запись 100 владелец имеет полномочия на выполнение файла 040 члены группы, которой принадлежит файл, имеют полномочия на его чтение 020 члены группы, которой принадлежит файл, имеют полномочия на запись 010 члены группы, которой принадлежит файл, имеют полномочия на выполне- ние файла 004 все остальные пользователи помимо членов группы, которой принадлежит файл, имеют полномочия на его чтение 002 все остальные пользователи помимо членов группы, которой принадлежит файл, имеют полномочия на запись (модификацию файла) 001 все остальные пользователи имеют полномочия на выполнение файла Опции -с, —changes Выдает подробные сообщения по выполненным изменениям -f, —silent, —quiet Подавляет большинство сообщений об ошибках.
II. Команды | 0 1 —reference=r/J/e Использует полномочия на файл rjile вместо значения mode -R, —recursive Устанавливает рекурсивный режим: изменяет полномочия на доступ к каталогу и всем содержащимся в нем файлам и подкаталогам, а также файлам и подкаталогам упомянутого подкаталога и т.д. -V, —verbose Выдает подробную диагностику по каждому обработанному файлу. —help Выводит краткое описание опций и завершает работу программы. —version Выводит информацию о версии программы и завершает ее работу. Примеры Распечатаем оглавление каталога /home/misha: итого 4 drwxr-xr-x 5 misha misha 1024 Apr 28 23:18 Desktop -rw-rw-r 1 misha misha 12 Apr 29 13:25 mishal -rw-rw-r 1 misha Sofia 20 Apr 29 13:33 misha2 -rw-rw-r 1 misha misha 195 Apr 29 13:29 priml8 Оставим владельцу файла mishal лишь полномочия на его выполнение: $ chmod 100 mishal Вновь распечатаем оглавление каталога /home/misha: $ is -1 итого 4 drwxr-xr-x 5 misha misha 1024 Apr 28 23:18 Desktop 1 1 misha Sofia misha Sofia 12 Apr Apr 29 13:25 mishal -rw-rw-r— 20 29 13:33 misha2 -rw-rw-r— 1 misha misha 195 Apr 29 13:29 priml8 § А теперь добавим владельцу и группе, которой принадлежит файл mishal, полно- мочия на его чтение и запись (модернизацию): $ chmod u+r, u+wr g+r, g+w mishal $ И еще раз распечатаем оглавление каталога /home/misha: $ Is -1 итого 4 drwxr-xr-x 5 misha misha 1024 Apr 28 23:18 Desktop 1 misha misha 12 Apr 29 13:25 mishal -rw-rw-r 1 sofia sofia 20 Apr 29 13:33 misha2 -rw-rw-r 1 misha misha 195 Apr 29 13:29 priml8 $ I
102 И Команды К меняет владельца файла или каталога, а также группу, к кото,-ой он принадлежит. chown Синтаксис chown [option]...owner[:[ group]] file... chown [option]... :group file... chown [option].. .—reference=rfiie file... Аргумент owner-это имя владельца или его U1D (идентификатор), соответственно group имя группы или ее G1D. Если задан только аргумент owner, то пользователь, им определяемый, становится владельцем файла. Если за owner через точку или сим- вол двоеточия (без пробела) следует group, то меняется как владелец файла, так и группа, к которой файл принадлежит. Если за owner следует точка или двоеточие, но аргумент group отсутствует, то меняется владелец файла и устанавливается группа этого владельца, определенная при его регистрации в системе. Если аргумент owner отсут- ствует, но имеется точка или двоеточие, а также group, то этом случае производится смена группы, к которой принадлежит файл, подобно тому, как это осуществляется с помощью команды chgrp. Опции -с, —changes Выдает подробные сообщения по выполненным изменениям. —dereference Учитывает при обработке не саму символическую ссылку, а то, на что она ссылается. -h, —no-dereference Учитывает при обработке именно символическую ссылку (эта опция доступна в системах, где можно менять владельца и для символьной ссылки). —from=old-owner Меняет принадлежность файла лишь в том случае, если его текущие атрибуты соответствуют old-owner (владелец и/или группа без пробе- лов между ними). -f, —silent, —quiet Подавляет большинство сообщений об ошибках. —refennce=rfile Использует владельца файла rfde и группу, к которой он принадлежит, вместо того, чтобы явно определять эти аргументы через значения owner и group. -R, —recursive Устанавливает рекурсивный режим: меняется владелец и группа, к ко- торой принадлежит заданный каталог, его подкаталоги п файлы, атакже подкаталоги и файлы подкаталогов и г.д„ и т.п. -V, --verbose Подробно сообщает, чго было проделано. —help Выводи г краз кое описание опций и завершай г рабо ту программы.
II. Команды | 03 --version Выводит информацию о версии программы и завершает ее работу. Владелец и группа, к которой принадлежит файл или кагапог, не меняются, если они не заданы. Но если присутствует точка или двоеточие, то устанавливается группа, к которой принадлежал при регистрации пользователь, выдавший команду. Пример Меняем владельца файла: # chown -с Sofia /home/misha/misha2 Владелец /home/misha/misha2 изменеи на sofia * chroot запускает программу или интерактивную обо- I ломку, определив нестандартный корневой каталог системы. Синтаксис chroot newroot [comnand[args]-] chroot option Запустил, такую команду может только суперпользователь. Обычно поиск имен файлов начинается с корневого каталога системы, обозначае- мого /. Команда chroot меняет стандартный корневой каталог на каталог newroot, пос- ледний обязательно должен существовать, а затем запускает команду command с нео- бязательными аргументами args. Если команда не определена, запускается оболочка, задаваемая в переменной окружения SHELL. Если переменная SHELL не определена, будет вызвана оболочка /bin/sh с опцией -i. Опции —help Выводит краткое описание опций и завершает работу программы. —version Выводит краткую информацию о версии программы и завершает ее ра- боту. chsh Синтаксис chsh [-s sheT-I ][-111-u ][-v][ username] Команда chsh меняет вашу оболочку регистрации или приглашает назвать таковую, если она не указана в командной строке. Непривилегированные пользователи могут только выбрать оболочку из перечисленных в файле /etc/shells, а суперпользователь может указать любую оболочку или выбрать из списка доступных оболочек. Опции -s, —shell Указывает новую оболочку для пользователя username. - меняет оболочку, или командный процессор.
104 II Команды - I, -list-shells Перечисляет оболочки, инсталлированные в системе (из /etc/shelh), и завершает chsh. - u, —help Печатает сообщение об использовании и завершает chsh. - V, - version 1 (ечатает информацию о версии и завершает chsh. Примеры В первом примере оболочка регистрации меняется лишь для текущего сеанса $ exec /bin/esh $ Во втором примере оболочка регистрации меняется на постоянной основе: И Terminal |;ПХ File Edit Settings Help [nishateofia "]$ chsh -s Zbin/csh A Changing shell For misha. Password: Shel1 changed. | [mishaPsofia "]$ | / Cl - обновляет RCS-файл, создавая новые версии. Синтаксис ci [option] file... RCS (Revision Control System - система управления версиями) позволяет управ- лять разработкой программы. В процессе внесения изменений в программу с помощью RCS можно создавать и выбирать нужную версию и получать информацию о ходе раз- работки. Это инструментальное средство предназначено для управления процессом разра- ботки коллективных проектов. Позволяет восстановить любую предшествующую вер- сию файла. Команда rcsintro знакомит с командами системы RCS. Команда со позволяет полу- чить нужную версию RCS-файла, новые версии которого можно получить с помощью ci. Команда res управляет RCS-файлами и контролирует доступ других пользователей к RCS-файлу. Сводку по каждой версии позволяет получить rlog, а удаляет файлы rcsclean. Объединять результаты работы двух или более сотрудников в одном файле можно с помощью resmerge, а сравнивает версии RCS-файла команда resdiff. Содер- жимое RCS-файлов подвергается обработке с помощью rcsfile и ident. Если RCS-файл не существует, ci создаст его с расширением ,v в качестве начальной версии (по vмол- чанию номер версии 1.1). Команда ci обычно применяется для сохранения отредакгн рованной версии файла, предварительно найденного с помощью со. Сохранение от ре так- т ированной копии обычно приводит к созданию новой версии файла. 11ницшр|пзируегся список доступа (вначале пустой). Вместо сообщения для журнала log коман ча ci запра шивает текст описания. Номер версии rev може т быть числовым, символьным или сме-
II. Команды 105 шанного типа. Таким обратом, ci сохраняет содержимое обычною файла в архивном файле, называемом RCS-файл. Любой RCS-файл хранит все версии обычно! о файла. Опции -rrev Устанавливает номер, с которого начнется создание исходной новой версии. -г "Пустая" опция -г (без версии) переустанавливает заданные по умолча- нию возможности блокировки и удаления рабочего файла и использует- ся, чтобы перекрыть любую из задаваемых по умолчанию опций -I и -и. l[rev] Работает подобно опции -г, но дополнительно выполняет в отношении сданной на хранение версии действия, подобные действиям команды со -I. Таким образом, сданная на хранение версия немедленно вновь проверяется и блокируется. Это может оказаться полезным для сохра- нения версии, хота вполне может найтись пользователь, желающий про- должить после проверки ее редактирование. -u[rev] Работает подобно опции -г, хотя сданная на хранение версия не блоки- руется, это позволяет любому сразу после проверки прочесть рабочий файл. Опции -I, -г и -и - взаимоисключающие и, по сути, перекрываю- щие друг друга. -f[rev] Отвергает ранее сданную на хранение версию. На хранение берется но- вая версия, даже если она ничем не отличается от предшествующей. -k[rev] Анализирует рабочий файл по ряду показателей: номер версии, дата со- здания, состояние, автор (см. команду со) и присваивает именно эти зна- чения версии, сдаваемой на хранение. Также создается сообщение, ре- гистрирующее вызов с проверкой актуальности информации. Эта опция полезна для распространения дистрибутивов программного обеспече- ния на ряд узлов, где версии будут проверяться в соответствии с упо- мянутыми оригинальными показателями. -q[rev] Не распечатывает диагностические сообщения. Версия, не отличаю- щаяся от предыдущей, на хранение не берется, если только не указыва- ется опция -f. -i[rev] Осуществляет начальную проверку и выдает сообщение об ошибке, если RCS-файл уже существует. -j[rev] Осуществляет проверку (обычно не в начале) и выдает сообщение об ошибке, если RCS-файл еще не существует. -I[rev] Осуществляет переход в интерактивный режим работы: пользовазеть приглашается для ответов на вопросы, даже если терминал не предназ- начен для стандартного ввода. -d[date] Для проверки даты и времени использует указанную дату date в свобод- ном формате, предлагаемом командой со. Рели нарамсчр date отсу г- ствует, используется время последней модификации рабочего файла. -M[rev] Устанавливает время модификации нового рабочего файла в соответ- ствии с датой версии rev; для команды make такого рода дата может оказаться весьма существенной.
106 II Команда -mmsg -nnatne Vi name -sstate -ifilc -t-string -T -vdogin -V -V« -xsuffixes Использует строку msg как сообщение pei ист рации для всех проверяе- мых версий. Все сообщения регистрации, начинающиеся с символа #, рассматриваются как комментарии и игнорируются пакетами inna vc из GNU Emacs. Хотя сообщения, начинающиеся с метки {clumpname}, за которой следует пробел, должны быть по возможности собраны вмес- те, даже если они связаны с другими файлами. Назначает символическое имя пате в качестве номера проверяемой версии. Команда ci печатает сообщение об ошибке, если имя пате было ранее назначено другому номеру. Подобна опции -п, но перекрывает предшествующее назначение имени пате. Устанавливает состояние проверяемой версии в соответствии с иден- тификатором state; по умолчанию устанавливается значение Ехр. Записывает текст описания из содержимого файла/Z/e в RCS-файл, унич- тожая до этого существующий текст. Имя файла не может начинаться с дефиса. Записывает текст описания из строки string в RCS-файл, уничтожая до этого существующий текст. Опция -t в обеих формах эффективна только во время первоначаль- ной проверки, во всех других случаях она попросту игнорируется. Во время первоначальной проверки, если опция -t не задана, ci будет пы- таться вводить текст со стандартного ввода завершая операцию по кон- цу файла либо встретив строку с единственной точкой в начале. Если установлена опция -I, пользователь приглашается для задания текста. Для совместимости с более ранними версиями RCS ' пустая" опция -t игнорируется. Устанавливает время модификации RCS-файла в качестве нового вре- мени версии. Если существует блокированная версия, команда ci обыч- но заменяет время модификации RCS-файла на текущее время. Дело в том, что индикатор блокирования хранится в RCS-файле, поэтому его удаление требует проведения изменения самого файла. Создать RCS- файл более новый, чем рабочий, можно двумя способами: с помощью команды ci -М создать рабочий файл с датой несколько более ранней, чем текущая, либо произвести изменения в предшествующей версии RCS-файла, не трогая рабочий файл. Использует строку login для заполнения поля " Autor (автор)" сохраняе- мой версии. Выдает информацию о версии RCS. Эмулирует номер версии RCS, равный п Указывает суффиксы для RCS-файлов. Непустой суффикс бу. i«r сопо- ставлен с любым наименованием маршрут, заканчивающимся ним суффиксом. Пустой суффикс будет сопоставлен с любоым маршр' том в форме RCS/path или palh\/RCS/path2, где path, pathl и path2 мар-
II. Команды 107 шруты. С помощью опции -х можно задать список суффиксов, разде- ленных прямым слэшем. Если указано два или более суффиксов, при поиске RCS-файла они анализируются по порядку. Если RCS-файл не найден, но может быть создан, будет произведена попытка применить по очереди эти суффиксы при построении имени новою файла. Обычно для Unix-образных узлов, допускающих занятую в именах файлов, при- меняются суффиксы типа ,v/ и пустые суффиксы для других узлов. -попе Указывает формат вывода даты через подстановку ключевого слова, а также задает часовой пояс по умолчанию для параметра date в опции -Mate. Параметр zone может быть пустым (по умолчанию), числовым смещением в формате UTC или же специальной строкой LT, определя- ющей локальное время. Если параметр zone пустой (по умолчанию), используется традиционный для системы RCS формат UTC без указа- ния часового пояса и со слэшами, разделяющими части даты; в против- ном случае вывод даты производится в формате ISO 8601 с указанием часового пояса. Опция -z не оказывает никакого воздействия на инфор- мацию, хранящуюся в RCS-файлах, которая всегда в формате UTC. Пары RCS-файлов и рабочих файлов могут быть специфицированы тремя способа- ми: 1) Даны и RCS-файл, и рабочий файл. Тогда маршруты RCS-файла представляются в форме pathllworkfileX, рабочий файл - в pathUworkfile, где pathU и pathll - маршруты, возможно разные или пустые, workfile имя файла А' - суффикс RCS. Если суффикс А-пустой, маршрутдолжен начинаться с выражения RCS/ или содержать /RCS/. 2) Дан только RCS-файл. Тогда рабочий файл создается в текущем каталоге и его имя получается из имени RCS-файла путем удаленияpathM и суффикса X 3) Дан только рабочий файл. Тогда ci предполагает, что каждый суффикс Xв обра- щении и производит поиск RCS-файла в форме pathlIRCSIworkfileX или pathllworkfileX. Если для вариантов 1) и 2) указан RCS-файл без маршрута, то ci вначале ищет файл в каталоге ./RCS и уж затем в текущем каталоге. RCS-файл, созданный командой ci, наследует от рабочего файла полномочия на чтение и исполнение. Если RCS-файл уже существует, ci сохраняет полномочия на чте- ние и исполнение. Временные файлы создаются в каталоге, содержащем рабочий файл, а также во временном каталоге (см. переменную окружения TMPDIR). Семафоры создаются в каталоге, содержащем RCS-файл. Если суффикс непустой, имена семафоров начина- ются с первого символа суффикса; если суффикс пустой, имена семафоров заканчива- ются символом подчеркивания. Команда ci никогда не меняет RCS-фаил или рабочий файл. Обычно она просто раз- рывает связь (соединение между файлом и его индексным дескриптором); но если при ходится отслеживать цепочку связей, ci ст арается разорват ь связь с конечным файлом (в этой цепочке), не трогая цепочку.
IOS II Команды Пример Посшним файл priin32 иод контроль системы RCS, программа per исз рации с! зап- росит краткое описание файла. mishat^localhostJocaldomain: /home/misha [misha8localhost misha J$ ci prim32 prim32,v <— prim32 enter description, terminated with single or end of file: NOTE: This is NOT the log message I » development » * initial revision: 1,1 done [mishaOlocalhost misha]$ Is -1 prim32,v -i—r—r— 1 misha misha 888 Июн 4 20:19 prim32,v LmishaOlocalhost misha]$ | В каталоге misha появился новый файл prim32,v, а краткое описание файла содер- жит всего одну строку development. По умолчанию версия файла в системе RCS по- лучила нумерацию 1.1. cksum - подсчитывав', контрольную сумму и количество байт в файле. Синтаксис cksum [option]... [Tile]— Команда cksum, производя CRC (a cyclic redundancy check - контроль с помощью циклического избыточного кода), вычисляет контрольную сумму для каждого указан- ного файла или содержимого стандартного ввода, если аргументfile не задан (присут- ствует дефис вместо имени файла). Сравнивая контрольные суммы полученных и оригинальных файлов, можно удос- товериться в их целостности и корректности. Рассмотренный алгоритм CRC соответствует стандарту POS1X.2, однако он не со- вместим с алгоритмами, используемыми в системах BSD и Sysiem V; он более понят- ный Опции -help Выводит краткое описание опций и завершает работу программы. -version Выводит информацию о версии программы и завершает ее работу1. Пример С помощью команды cksum вычислим контрольные суммы двух файлов: $ cksum vvv tags 3748537741 20 vvv 3293893652 359 tags $
II. Команды 109 В первом столбце показаны контрольные суммы сощвеюгвенно файлов vvv и tag, во втором - количество байт, содержащихся в упомянутых файлах clear очищает экран вашего терминала К Синтаксис clear Возвращает приглашение командной строки на вершину экрана. Эта команда нор- мально работает, если только установлена переменная окружения TERM, содержащая тип терминала. Обычно тип терминала установлен в значение vt 100. Пример Если команда clear не работает, обычно требуется установить переменную TERM. $ set TERM=vtl00 S Так можно установить переменную TERM для командного процессора tcsh (и не только). стр - сравнивает , ва файла. Синтаксис cmp [option] filel file2 [skipl[skip2] ] Утилита cmp сравнивает два файла любых типов и заносит результаты сравнения на стандартный вывод. По умолчанию стр "безмолвствует", если сравниваемые файлы одинаковы, в противном случае распечатываются номера байт и строки, отражающие различие файлов. Байты и строки нумеруются, начиная с 1. Опции - 1, —verbose Распечатывает смещения и различающиеся значения (восьмеричные) в местах, где обнаружено несовпадение. - s, —quiet, —silent Ничего не сообщает о найденных различиях, лишь выводит код воз- врата. - с, -print-chars Распечатывает различающиеся байты как символы. - i N, —ignore-initial=W Игнорирует разницу в первых Nбайт ввода. —help Выводит краткое описание опций и завершает рабшу программы. —version Выводит информацию о версии программы и завершает се рабоп
110 IL Команды Необязательные аргументы skip\ и skip! определяют смешения в байтах относи- тельно начала соответственно файлов file\ и file!, где было отмечено различие. По умолчанию смещение представляется в десятичном формате, но можно использовать шестнадцатеричное или восьмеричное значение, в этом случае значению предшеству- ет соответственно выражение Ох или 0. Утилита стр возвращает следующие значения: 0 указанные файлы идентичны 1 указанные файлы разнятся; рассматривается случай, когда один из файлов иден- тичен первой части второго файла. В последующем, если задана опция -s, ути- лита записывает на стандартный вывод EOF (конец файла), который был дос- тигнут при рассмотрении более короткого файла (до того, как была зафиксиро- вана разница) > 1 встретилась ошибка Пример Ниже приведены распечатки двух текстовых файлов - prim25 и prini26: $ more prim25 This is an example This is first line This is second line This is last line $ more prim26 This is an example This is first line This is second line. This is last line $ Проведем их сравнение, используя опции -с и 4 утилиты стр: $ стр -с prim25 prim26 prim25 prim26 differ: char 58, line 3 is 12 ''J 56 . $ cmp -1 prim25 prim26 58 12 56 59 124 12 60 150 124 61 151 150 62 163 151 63 40 163 64 151 40 65 163 151 66 40 163 67 154 40 68 141 154 69 163 141 70 164 163 71 40 164 72 154 40 73 151 154 74 156 151 75 145 156 cmp: EOF on prim25 $
-I[rev] -u[rev] -ffrev] II. Команды При подсчете символов учитываются пробелы и символы NL (newline новая стро- ка). СО проверяет RCS-версии, Синтаксис со [option] file... Команда со позволяет получить нужную версию RCS-файла и хранит ее в соответ- ствующем рабочем файле. Маршруты, сопоставляемые по RCS-суффиксу, соответствуют RCS-файлам, а все остальные маршруты рабочим файлам. Имена специфицируют пары RCS-файлов и рабочих файлов (см. ci). Версии RCS-файлов могут быть блокированными или неблокированными. Блоки- рование версии препятствует ее обновлению. Версия, затребованная для чтения и об- работки (компиляции), не может быть блокированной. Версия, затребованная для ре- дактирования и отложенной проверки, как правило, должна быть блокированной. За- прос блокированной версии подразумевает, что вызывающий числится в списке до- ступа к RCS-файлу. В противном случае он должен быть владельцем этого файла или суперпользователем или список доступа должен быть пустым. Версия может быть выбрана по ряду показателей: номер версии, дата/время созда- ния, автор, состояние. При выборе команда со пытается получить наиболее "свежую" информацию; при обращении к RCS-файлу, у которого отсутствует версия, создает ра- бочий файл нулевой длины. Выбирает наиболее позднюю версию, чей номер меньше или равен ret. Если rev указывает ветвь (branch) вместо версии, выбирается самая последняя версия по этой ветви. Если параметр rev пропущен, выбира- ется последняя версия по ветви, указываемой по умолчанию. Если rev равна $, команда со определяет номер версии по ключевым значениям в рабочем файле. В противном случае значение версии задается несколь- кими числовыми или символьными полями, разделенными точкой. Если rev начинается с точки, то выполняется обращение к ветви по умолча- нию (trunk). Если rev задает номер ветви, за которым следует точка, используется самая последняя версия на этой ветви. Подобна опции -г, но дополнительно блокирует версию также и для вы- зывающего. Подобна опции -г, но выполняет разблокирование, если версия ранее была заблокирована этим вызывающим. Если параметр rev пропущен, пытается найти версию, заблокированную этим пользователем, в слу- чае наличия таковой; в противном случае пытается получить наиболее позднюю версию на ветви, определенной по умолчанию Принуждает выполнять перезапись рабочего файла; полезна в сочета- нии с опцией -<| Опции -r[rev]
112 II Команд* -kkv -kkvl -kk -ко -kb -kv -p[rev] -q[rev] -Ifrev] -ddate Генерирует ключевые строки, используя форму, заданную по умолча нию, например, $Revision:3.11$ для ключевого слова Revision. Имя пользователя, производившего блокирование, вставляется в ноля Header (заголовка), Id (идентификатора) и в строки с ключевым сло- вом locker только в том случае, если файл заблокирован (возможно, с помощью команд ci -1 и со -1). Такой вариант принят по умолчанию. Подобна опции -kkv, но всегда вставляет имя пользователя, произво- дившего блокирование, в соответствующие места, если данная версия блокирована в настоящий момент. В ключевых строках генерирует только ключевые наименования без их значений. Например, для ключевого слова Revision создается строка $Revision:$ вместо строки $kevision:3.11$ Генерирует старую ключевую строку до того, как проверяет рабочий файл. Например, для ключевого слова Revision создается строка $Revision:l.l вместо строки $Revision:3.11$. Генерирует бинарный формат старой ключевой строки. Действует по- добно опции -ко но осуществляет весь ввод и вывод рабочего файла в бинарном формате В ключевых строках генерирует только значения без их наименований. Например, для ключевого слова Revision генерирует строку 3.11 вме- сто $Revision:3.11$. Печатает выбранную версию .:а стандартный вывод вместо того, что- бы сохранять ее в рабочем файле. Эта опция очень полезна, если ко- манда со используется в конвейере. Не печатает диагностику. Осуществляет переход в интерактивный режим работы: пользователь приглашается для ответов на вопросы, даже если терминал не предназ- начен для стандартного ввода. Получает самую последнюю чз версий на выбранной ветви, у которой проверяемые дата/время не превосходят значения date. Дата и время М017Т быть заданы в свободном формате. По умолчанию принят фор- мат UTC, хотя допускаются и другие форматы: локальное время локальное время в стандарте ISO 8601 время UTC в стандарте ISO 8601 традиционный формат RCS вывод по команде dime +LT (локальное время) вывод по команде date время в стандарте Internet RFC 822 Большинство полей да гы и времени может бьць В1яю по умолчанию И хотя ио умолчанию принят часовой пояс 1ПЧ , он можог быть пере- крыт с помощью опции -г.
II. Команды 113 -M[rev] Устанавливает время модификации нового рабочего файла в соответ- ствии с датой версии rev; для команды make такого рода дата может оказаться весьма существенной. -sstate Получает самую последнюю из версий на выбранной вегви, состояние которой установлено в значение state. -Т Сохраняе г время модификации RCS-файла, даже если он меняется из- за блокирования или разблокирования. -w[fog;n] Получает самую последнюю версию выбранной ветви, если проверку осуществляет пользователь, зарегистрировавшийся под именем login. -jjoinlist Создает новую версию, которая представляет из себя слияние версий из списка joinlist. Эта опция сохраняется в целях совместимости, хотя лучше доверить выполнение упомянутой функции команде rcsmerge. Параметр joinlist - это список пар, разделенных запятыми, в формате rev2:rev3, где rev2 и rev3 номера версий в числовом или символьном формате. Для каждой пары команда со связывает reel и rev3 в соответ- ствии с rev2. Другими словами, все корректировки, преобразующие rev2 в revl, прикладываются к копии rev3. Это очень полезно, если revl и rev3 соответственно последние версии двух ветвей, a rev2 — их общий предок. Если revl, rev2 и rev3 версии одной и той же ветви, располо- женные по восходящей, то с помощью этой опции будет создана новая версия, подобная rev3, но отменяющая все изменения, которые имели место при преобразовании revl в rev2. Если изменения, преобразую- щие rev2 в revl. перекрываются корректировками, создающими rcv3 из rev2, команда со сообщает о перекрытиях, как это свойственно ко- манде merge. -V Выводит информацию о версии RCS. -\п Эмулирует номер версии RCS, равный и. Параметр и может принимать значения 3,4 или 5. -xsuffixes Чтобы охарактеризовать RCS-файлы, применяет суффиксы (см. коман- ду ci). -izone Указывает формат вывода даты через подстановку ключевого слова, а также задает часовой пояс zone, принимаемый по умолчанию в каче- стве параметра date в опции-Adate. Параметр zone может быть пустым (но умолчанию), числовым смещением в формате UTC или же специ- альной строкой LT, определяющей локальное время. Если параметр гопе пустой (по умолчанию), используется традиционный для системы RCS формат UTC без указания часового пояса и со слэшами, разделяющи- ми части даты; в противном случае вывод даты производится в форма- те ISO 8601 с указанием часового пояса. Опция -г не ока тывает никако- го воздействия на информацию, хранящуюся в RCS-файлах, которая всегда в формате UTC. Строки формата SkeywordS и Skeyword... .$, встречающиеся в тексте, заменяются строками типа ^keyword:valneS, где пары keyword (ключевое слово) п value (значе- ние) описаны далее.
114 II Команды Ниже приведены ключевые слова и соответствующие им значения: SAuthorS имя пользователя, регистрирующего версию SDateS дата и время регистрации версии могут рассматриваться в комбинации с опцией -zzone (смещение часового пояса в числовом формате); в про- тивном случае дата задается в формате UTC SHeaderS стандартный заголовок, содержащий полный маршрут к RCS-файлу, но- мер версии, дату и время, автора, состояние и индикатор блокирования (кто произвел блокирование); может рассматриваться в комбинации с опцией -zzone (смещение часового пояса в числовом формате); в про- тивном случае дата задается в формате UTC SIdS то же, что и SHeaderS, но используется имя RCS-файла без маршрута SLockerS имя зарегистрировавшегося пользователя, осуществившего блокиро- вание версии; это ключевое слово может быть пустым, если версия не блокировалась SLogS сообщение, заполняемое во время регистрации и сопровождаемое за- головком, содержащим имя RCS-файла, номер версии, автора, дату и время; может рассматриваться в комбинации с -zzone; в противном слу- чае дата задается в формате UTC; существующие сообщения регистра- ции не замещаются, а вместо этого после SLog:...$ вставляется новое сообщение регистрации SNameS символьное имя, если таковое задано, используемое для записи версии SRCSfileS собственно имя RCS-файла без маршрута SRevisionS назначенный для проверки номер версии SSourceS полный маршрут к RCS-файлу SStateS анализируемое состояние, назначенное с помощью опции -s команды res или ci Следующие управляющие последовательности можно встретить в значениях клю- чевых слов: символ табуляции \t символ новой строки \п пробел \040 $ \044 \ \\ Рабочий файл наследует от RCS-файла полномочия на чтение и исполнение Команда со осуществляет доступ к файлам, как и ci, но ей не приходится читать рабочий файл, если не указан номер версии. Ссылки на RCS-файлы и рабочие файлы не сохраняются. Пример С помощью команды со -1 был вызван файл prim39 для редактирования. Пос ie чего он был вновь перезаписан, и возникла новая версия 1.3
II. Команды 115 J"rnisha@localhc)st localdomain: /home/misha x [mishaG local host mishajt co -1 prim39 prim39,v —> prin39 revision 1.2 (locked^ done [mishaGlocalhost mishal* ci prim39 prim39,v <— prim39 new revision; 1.3; previous revision; 1.2 (enter log message, terminated with single '/ or end of file; » my new file after editing » . □one CmishaGlocalhost mishal* | ___________________________________________________________________________Г/ colcrt - фильтр позволяющий просматривать на экране дисплея выходные файлы nroff. Синтаксис colcrt [-][-2][file...] Позволяет просматривать в текстовом режиме файлы, созданные tbl и nroff, при этом символы размером в подстроки и подчеркивания (замещаются дефисами) разме- шаются на новых строках между обычными строками вывода. Опции Подавляет все символы подчеркивания. -2 Создает условия для распечатки символов половинного размера. Обыч- но при выводе используется минимальное межстрочное расстояние. Дан- ная опция устанавливает удвоенный промежуток между строками, что особенно удобно, если в тексте содержатся верхние и нижние индексы. colrm - удаляет столбцы из файла. Синтаксис colrm [ startcol ( ended ] ] Удаляет указанные столбцы из файла. Входная информация берется со стандартно- го ввода и после обработки направляется на стандартный вывод. Столбцы нумеруются, начиная с 1. Опции startcol Определяет- столбец, начиная с которою проичвочигея у ычение
116 II Команды endcol Определяет последний удаляемый столбец; если этот параметр отсут- ствует, а задан только начальный столбец, то будут удалены все столб- цы, начиная со startcol. Пример Данная команда удаляе т из с тандартного оглавления каталог а столбец, содержащий символические ссылки: $ Is -al|colrm 15 15 итого 40 drwx mis ha misha 4096 Ноя 1 23:19 . drwxr-xr-x root root 4096 Дек 30 16:24 .. -rw-r—г— misha misha 24 Дек 30 16:24 .bash logout -rw-r—г— misha misha 230 Дек 30 16:24 .bash profile -rw-r—г misha misha 124 Дек 30 16:24 .bashrc -rwxr-xr-x mis ha misha 333 Дек 30 16:24 .emacs drwxr-xr-x misha misha 4096 Дек 30 16:24 .kde -rw-r—r misha misha 435 Дек 30 16:24 .kderc -rw-r—r— misha misha 3394 Дек 30 16:24 .screenrc drwxr-xr-x misha misha 4096 Дек 30 16:24 Desktop -rw-r—r— root root 0 Ноя 1 23:22 prim32 Обратите внимание, что для удаления указывается не номер фактического столбца листинга, а номер столбца символа, соответствующего его началу. Все символы строк, расположенные друг под другом, образуют очередной столбец, т.е. все символы столбца располагаются на одинаковых позициях в своих строках. column - форматирует вводимую информацию Синтаксис (основные опции) column [-tx][-c columns][-s sep][file...] Утилита column производит форматирование вводимой информации из файла file или стандартного ввода (по умолчанию), разбивая ее на столбцы. В процессе формати- рования сначала заполняются строки, а уж потом - столбцы; пустые строки игнориру- ются. Опции -c columns Параметр columns определяет число столбцов (ширину вывода). -s sep Параметр sep задает разделитель столбцов. Используется выест е с оп- цией -t. -t Форматирует вводимую информацию в виде таблицы, использз я раз ie- литель, задаваемый опцией -s. По умолчанию разделителем столбцов является символ пробела, хотя опция -s позволяет опреде птть ipyi’oii разделитель. -x В процессе форматирования сначала заполняет столбцы, а уж потом строки.
II. Команды 117 Пример Достроим "шапочку" к стандартной распечатке оглавления текущего каталога. t print! "Полномочия Сс-и впад-ц Гр-а Раз-p М-ц День ЧЧ:ММ ймя\п"\>; 1в -1|column -t Полномочия Сс~и Влад- -Ц rp-a Раз-р М-ц День ЧЧ:ММ Имя итого 36 drwx 2 root root 4096 Дек 30 17:04 nsmail -rw-r—г 1 root root 38 Дек 30 21:08 prim24 -rw-r—г 1 root root 75 Дек 30 23:16 prim25 -rw-r—г 1 root root 76 Дек 30 23:16 prim26 -rw-r—г 1 root root 38 Дек 30 23:17 prim27 -rw-r—г 1 root root 270 Дек 30 23:21 prim28 -rw-r—г 1 root root 54 Ноя 1 00:05 prim29 -rw-r—г 1 root root 0 Ноя 1 22:49 prim30 -rw-r—г— 1 root root 359 Дек 30 18:17 tags -rw-r—г 1 root root 20 Дек 30 21:04 vvv # combine создает комбинации изображений. Синтаксис combine [options... ] image composite[mask] combined Команда combine объединяет изображения, создавая новые изображения. В пос- ледних версиях пакета ImageMagick эта команда была замещена командой composite. Опции -blend value Смешивает два изображения (заданного процента). -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное ви- деокэшу. Пока не будет задействовано 80 Мбайт памяти, пикселы изоб- ражения хранятся в памяти. Последующие операции с пикселами пере- носятся на диск. Если ваш компьютер не имеет достаточною количе- ства оперативной памяти, вы. возможно, захотите подстроить это зна- чение. -colors value Задает предполагаемое количество цветов для изображения (опция ограничения числа цветов). -colorspace type Устанавливает альтернативный тип цветового заполнения. На выбор пре- доставляются следующие типы: GRAY. ОНТА, RGB, Transparent. XYZ, YCbCr, Y1Q, YPbPr, YUV или CMYK. По умолчанию ограничение цвет- ности имеет место в цветовом заполнении RGB. Эта опция требует оп- цию -colors или опцию -monochrome. -comment string Назначает для изображения указанную строку комментария По умол- чанию каждое изображение комментируется именем его файла.
118 II Команды -compose operator Указывает оператор, определяющий альтернативную операцию Over Substract In Difference Out Bumpmap Atop Replace Хот ReplaceRed Plus RepIaceGreen Minus ReplaceBlue Add ReplaceMatte -compress type Указываеттип сжатия изображения: None, BZip, Fax, Group4, JPEG, LZW, RunlengthEncoded или Zip. Эта опция обычно используется вместе с опцией -write. Для сохранения двоичного изображения без сжатия вы должны указать опцию +compress. -density widtlntheight Задает горизонтальное и вертикальное разрешение в пикселах. Эта оп- ция указывает разрешение изображения, когда выполняется дешифри- рование страницы PostScript или переносимого документа. По умолча- нию принято значение, составляющее 72 пиксела на дюйм в горизон- тальном и вертикальном направлениях. Эта опция должна согласовать- ся с опцией -page. -depth value Задает количество битов (8 или 16) в цветном образце в пределах пик- села. Эта опция применяется для низкоуровневых изображений, глуби- на цветности которых неизвестна, а именно: для GRAY (изображения в градациях серого), RGB нлн СМУК. -display host:display[.screen] Указывает Х-сервер для контакта (см. X). -displace horizontal_scalexvertical_scale Сдвигает пикселы изображения, как определено картой смещения (см. composite). -dispose method Определяет метод диспозиции (расположения) для GIF-формата: О расположение не указано 1 не располагает между кадрам и 2 перекрывает кадр фоновым цветом из заголовка 3 перекрывает предшествующим кадром -dither Использует диффузию (рассеивание) ошибки по Флойду Штейнбергу (Floyd/Steinberg), улучшающую изображения, которые страдают or сжатия палитры. Эта опция требует опцию -colors или -monochrome Базовая стратегия рассеивания состоит в том. чтобы создать просгрзн- сгвенное разрешение путем усреднения интенсивностей нескольких соседних пикселов. -font пате Для отображения текста использует указанный шрифт XII
II. Команды 119 -geometry widthxheight{+-}x_offset{+-}y offset{%} (!} {<} {>} Устанавливает предпочтительный размер или расположение изображе- ния. По умолчанию во время изменения размеров изображения его про- порции сохраняются. Чтобы заставить изображение принять точно та- кие размеры, как вы указали, необходимо добавить восклицательный знак. Чтобы указать процент ширины или высоты, следует добавить %. Знак > изменяет размер изображения, если его размер превышает гео- метрическую спецификацию. Знак < изменяет размер изображения, если его размер меньше указанной геометрической спецификации. -gravity type Выполняет вертикальное и горизонтальное размещение текста, когда аннотирует изображение. Можно задавать следующие направления: Northwest северо-запад North север NorthEast северо-восток West запад Center центр East восток Southwest юго-запад South юг SouthEast юго-восток -interlace type Указывает тип чередования (поочередного сканирования линий) для низкоуровневых форматов изображений (RGB нли YUV): None (RGBRGBRGBRGBRGBRGB...) по умолчанию Line (RRR...GGG...BBB...RRR...GGG...BBB...) Plane (RRRRRR... GGGGGG... BBBBBB...) Partition как Plane, но разные битовые плоскости (матрицы, обра- зованные совокупностью одноименных битов всех пик- селов) сохраняются в разных файлах: image.R, image.G. image.B -label name Назначает изображению указанную метку. -matte Сохраняет матовый (светонепроницаемый) канал, ес ли изображение его имеет. -monochrome Трансформирует данное изображение в монохромное (черный и белый цвета). -negate Заменяет каждый пиксел его дополни тельным цветом: белый становится черным, желтый - голубым и г.д. Для серой палитры используется оп- ция +negate. -page widthxheight{+-}x_offset{+-}yjoffset(%} {!}(<}{>} Устанавливает предпочтительный размер и расположение канвы июб ражения. Опция -page похожа на geometry. Вы можете испо шзовять эту опцию, чтобы указа ть размеры страницы в точках на дюЯж и ш етра-
120 II Ктманды ницу TEXT в пикселах. Предоставляется следующим выбор для Postscript-страницы: 11x17 792 1224 A8 148 210 Ledger 1224 792 A9 105 148 Legal 612 1008 A10 74 105 Letter 612 792 B0 2836 4008 LetterSmall 612 792 Bl 2004 2836 ArchE 2592 3456 B2 1418 2004 ArchD 1728 2592 B3 1002 141 ArchC 1296 1728 B4 709 1002 ArchB 864 1296 B5 501 709 ArchA 648 864 CO 2600 3677 AO 2380 3368 Cl 1837 2600 Al 1684 2380 C2 1298 1837 A2 1190 1684 C3 918 1298 A3 842 1190 C4 649 918 A4 595 842 C5 459 6498 A4Small 595 842 C6 323 459 A5 421 595 Fisa 612 936 A6 297 421 Flse 612 936 A7 210 297 HalfLetter 396 612 По умолчанию для изображения TEXT принят размер 612x792. Эта оп- ция используется с опцией -density. -quality value Устанавливает уровень сжатия для изображений формата JPEG/MIFF/ PNG. Для изображения в формате JPEG аргумент value меняется от О до 100. По умолчанию принято значение 75. -scene value Определяет номер сцены изображения (номер изображения в последо- вательности в случае единственного имени файла). Каждое изображе- ние в последовательности определяется этим именем файла и идущим за ним через точку номером сцены. -size width>.height{+offset} Указывает ширину и высоту низкоуровневых изображений (GRAY. RGB или CMYK) и дополнительно позволяет пропустить любую информа- цию из заголовка изображения. -stepano offset Скрывает водяной знак (некоторое количество пикселов (offset) от на- чала изображения). -stereo Комбинирует два изображения, создавая с гереоаналог. (. охраняет ле- вую сторону стереопары как красный канал и правую сторону как зеле- ный канал выводимого изображения -tile filename Покрывает изображение плиткой при заполнении графическою прнми- 1 ива.
II. Команды 121 -treedepth value Указывает глубину цвета (целое значение, обычно 0 или 1) для сохра- няемого дерева. Позволяет зада 1ь алгоритм ограничения цветов Опти- мальная глубина обычно позволяет наилучшим образом и как можно быстрее представить изображение, расходуя при этом минимум памяти. -verbose Печатает подробную информацию об изображении: номер сцены, име- на изображений и комбинированного изображения, размер, класс, об- щее число уникальных цветов, количество секунд, требуемых для чте- ния и объединения изображений. Пример $ combine arrow.xbm arrow.xbm sum.xbm $ Справа на рисунке можно увидеть графический файл arrow.xbm, слева - файл sum.xbm comm выполняет построчное сравнение двух отсортиро- К ванных файлов. Синтаксис comm [ option j... filel file2
122 II Команды Вызванная без опций команда comm создает три выходных столбца. В нервом столб- це содержатся уникальные строки файла file 1, во втором столбце уникальные строки файла file!' в третьем столбце - общие строки этих двух файлов. Столбцы отделяются друг от друга символом табуляции. Опции - I'Vq Запрещает вывод уникальных строк файла file 1. - 2 Запрещает вывод уникальных строк файла file!. - 3 Запрещает вывод общих строк этих файлов. —help Выводит краткое описание опций и завершает работу программы, —version Выводит информацию о версии программы и завершает ее работу. Перед использованием команды comm входные файлы должны быть отсортирова- ны с помощью бинарной сортировки или с применением объединенной последователь- ности, указываемой переменной LC COLL АТЕ текущей локали. Во втором случае обя- зательно, чтобы входной файл заканчивался символом newline (новая строка), в про- тивном случае этот символ будет добавлен. Подобно другим утилитам сравнения comm создает код завершения, не зависящий от результатов сравнения. При нормальном выполнении создается нулевой код завер- шения, в противном случае код завершения отличается от нуля. Примеры Сначала выполним сортировку текстовых файлов - prim25 и prim26 (см. команду sort): $ sort prim25>prim34 $ sort prim26>prim35 $ more prim34 This is an example This is first line This is last line This is second line $ more prim35 This is an example This is first line This is last line This is second line. $ А теперь дважды применим команду comm с разными опциями для сравнения фай- лов prim34 Hjrim35:@ $ comm -12 prim34 prim35 This is an example This is first line This is last line $ comm -13, prim34 prim35 This is second line. $ @ Как видно из примеров, можно применять комбинацию опции, например -12. что запрещает стандартный вывод первых двух столбцов, а разрешает вывести лишь тре- тий столбец с общими строками файлов prim34 и prim35
II. Команды 123 comp создает сообщение для отправки по электронной почте. Синтаксис (основные опции) comp [+folder][msg][-form formfile][-use][-nouse][-file file] [-draftfolder Tfolder][-draftmessage msg][-nodraftfolder] [-editor editor][-noedit][-whatnowproc program] [-nowhatnowproc] [-version][-help] Утилита comp (компонент nmh или xmh) копирует форму (шаблон) в предваритель- ное сообщение и затем вызывает текстовый редактор, если только не задана опция -noedit. Если файл components существует в пользовательском каталоге nmh, он бу- дет использоваться в качестве упомянутой формы сообщения. Основные опции -form formfile Указывает файл formfile, содержащий альтернативные формы. +folder Использует содержание существующего сообщения как форму, msg Использует содержание существующего сообщения как форму. -use Предполагает продолжение редактирования для уже готового сообще- ния. Могло случиться, что работа утилиты comp была прервана без от- правки уже готового сообщения, в этом случае можно продолжить ре- дактирование с помощью команды comp -use. -file file Использует файл file в качестве предварительного сообщения. -draftfolder +folder Использует для создания предварительного сообщения указанную папку +folder. -draftmessage msg Для создания сообщения использует предварительное сообщение. Если эта опция не задана, то создает новый черновик (предварительное со- общение), если только пользователь не вызвал команду comp с опцией -use, так как в этом случае по умолчанию применяется черновик по име- ни cur. -editor editor Определяет текстовый редактор, применяемый при создании сообще- ния. -noedit Запрещает использование текстового редактора. -whatnowproc program Указывает программу по имени program, выполняющую распоряжения пользователя в отношении предварительного сообщения. Если параметр program установлен в значение whatnow, будет вызвана встроенная в утилиту comp программа whatnow. Если вы задаете собственную программу тина whatnow (а чго сей- час делать?), не вызывайте ее предварительно, так как у гили га comp должна самостоятельно opi апизовагь запуск этой программы.
1 24 II Кэма гды -nowhatnowproc Запрещает использовать программу, выполняющую распоряжения пользователя в отношении предварительною сообщения. —help Выводит краткое описание опций и завершает работу программы. —version Выводит информацию о версии прог раммы и завершав! ее работу. Стандартная форма сообщения хранится в файле /etc/nmh/components, хотя со- держимое шаблона, хранящегося в <mh-dir>/components, перекрывает упомянутую форму Предварительное сообщение обычно хранится в <mh-dir>/draft. Ниже описаны компоненты пользовательского файла $HOME/.mh_profile. Path определяет пользовательский катало! nmh Draft Folder по умолчанию создает папку с предварительным сообщением Editor перекрывает текстовый редактор, заданный по умолчанию Msg-Protect устанавливает режим создания нового черновика сообщения fileproc задает программу перерегистрации сообщения whatnowproc: определяет програму, задающую вопросы "А что сейчас делать?" По умолчанию приняты следующие опции программы comp: +folder (текущая пап- ка), msg (текущее сообщение), -nodraftfolder и -nouse. composite - создаст смесь изображений. Синтаксис composite [options ...] image composite [masA] composited Команда composite создает композицию из нескольких изображений, соединяет изображения, создавая новые. В результате объединения базового и измененного изоб- ражений возникает результирующее изображение composited, обычно имеющее те же размеры, что и composite. Можно использовать необязательную маску mask, чтобы обеспечить информацию о светонепроницаемости, если таковой не было. Аргумент mask - это изображение обычно в градациях серого и того же размера, как и composite. Если изображение mask не в градациях серого, оно будет конвертировано в полутоновое (с разными градация- ми серого) и применено в качестве информации по непрозрачному каналу. Опции -background color Указывает цвет фона. -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное ви- деокэшу. Пока не будет задействовано 80 Мбайт памяти, пикселы изоб- ражения хранятся в памяти. Последующие операции с пикселами пере- носятся на диск. Если ваш компьютер нс имеет чос ипочною количеона оперативной памяти, вы, возможно. захотите поде 1 роить чо значение.
II Команды 125 -colors value Задает предполагаемое количество цветов для изображения (опция ог- раничения числа цветов). Опции -dither, -colorspace и -treedepth за- трагивают алгоритм 01 раничения числа цветов. -colorspace type Устанавливает альтернативный гип цветового заполнения На выбор пре- доставляются следующие т ипы: GRAY, ОНТА, RGB, Transparent, XYZ, YCbCr, YIQ, YPbPr, YUV или CMYK. По умолчанию ограничение цвет- ности имеет место в цветовом заполнении RGB. Эта опция требует оп- цию -colors или опцию -monochrome. -comment string Назначает для изображения указанную строку комментария. По умол- чанию каждое изображение комментируется именем его файла. -compose operator Указывает оператор, определяющий альтернативную операцию: Over Difference In Multiply Out Bumpmap Atop Copy Xor CopyRed Plus CopyGreen Minus CopyBlue Add CopyOpacity Subtract -compress type Указывает тип сжатия изображения: None, BZip, Fax, Group4, JPEG. Lossless, LZW, RunlengthEncoded или Zip. Эта опция обычно использу- ется вместе с опцией -write. Для сохранения двоичного изображения без сжатия вы должны указать опцию +compress. -debug Разрешает вывод отладочной информации. -density widthxheight Задает горизонтальное и вертикальное разрешение в пикселах. Эта оп- ция указывает разрешение изображения, когда выполняется дешифри- рование страницы PostScript или переносимого документа. По умолча- нию принято значение, составляющее 72 точки на дюйм в горизонталь- ном и вертикальном направлениях. Эта опция должна согласоваться с опцией-page. -depth value Задает количество битов (8 или 16) в цветном образце в пределах пик- села. Эта опция применяется для низкоуровневых изображений, глуби на цветност и которых неизвестна, а именно: для GRA'i (изображения в градациях серого), RGB или CMYK. -displace horizontal scaled-vertical scale Сдвигает пикселы изображения, как определено в карте смещения. Ио умолчанию смешение прикладывается в двух направлениях гормон-
126 II Команды тальком и вертикальном. В случае этой опции изображение composite используется как карта смешения. Черный цвет внутри карты смеше- ния является максимальным положительным смещением, белый - мак- симальным отрицательным, средний серый нейтральным (нулевым смещением). Если указывается маска, то изображение composite рас- сматривается как горизонтальное смещение, а маска как вертикаль- ное. -display host'.display[.screeri\ Указывает Х-сервер для контакта (см. X). -dispose method Определяет метод диспозиции (расположения) для GIF-формата: О расположение не указано 1 не располагает между кадрами 2 перекрывает кадр фоновым цветом из заголовка 3 перекрывает предшествующим кадром -dissolve percent Создает цифровой спецэффект DVE ("растворяет" одно изображение в другом) при переходе от одного фрагмента к другому. Размытость изоб- ражения composite умножается на заданный процент percent и затем сме- шивается через основное изображение. -dither Использует диффузию (рассеивание) ошибки ио Флойду/Штейнбергу (Floyd/Steinberg), улучшающую изображения, которые страдают от сжатия палитры. Эта опция требует опцию -colors или -monochrome. Базовая стратегия рассеивания состоит в том, чтобы создать простран- ственное разрешение путем усреднения интенсивностей нескольких соседних пикселов. -encoding type Указывает шифрование (кодирование) шрифта. Выбор производится из AdobeCustom, AdobeExpert, AdobeStandard. AppleRoman, B1G5. GB2312, Latin 2, None, SJIScode, Symbol, Unicode, Wansung. -endian type Задает окончания (MSB или LSB, см. приложение VI) в выводимом изоб- ражении. -filter type Указываеттип фильтра для изменения размера изображения: Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos (по умолчанию), Bessel, Sine -font name Для отображения текста использует указанный шрифт XII. -geometry widthx.height{+-}x offset{+-}y offset{%} {@} {!} {<} {>| Устанавливает предпочт ительный размер и расположение окна изобра- жения. По умолчанию во время изменения размера пытается сохранять формат изображения (соотношение ширины и высоты). Чтобы вынт ди гь изображение принят!, некий определенный размер, добавьте в кон- це восклицательный знак. Вы можете указать процент ширины (или вы- соты), добавив %, и изменить размеры с помощью <>. Символ > меня- е г размер изображения только в том случае, если его ширина или высо
II. Команды J 27 га превышает геометрическую спецификацию. Символ < меняет раз- мер изображения только в гом случае, если его ширина и высота мень- ше, чем геометрическая спецификация. Символ @ указывает макси- мальную область изображения в пикселах. -gravity type Указывает географическое размещение текста, когда аннотирует изоб- ражение Можно задавать следующие направления: Northwest северо-запад North север NorthEast северо-восток West запад Center центр East восток Southwest юго запад South юг SouthEast юго-восток -interlace type Указывает тип чередования (поочередного сканирования линий) для низкоуровневых форматов изображений (RGB или YUV): None (RGBRGBRGBRGBRGBRGB...) по умолчанию Line (RRR...GGG...BBB...RRR.. GGG...BBB...) Plane (RRRRRR... GGGGGG.. .ВВВВВВ...) Partition как Plane, но разные битовые плоскости (матрицы, обра- зованные совокупностью одноименных битов всех пик- селов) сохраняются в разных файлах: image R, image.G. image.B -label name Назначает изображению указанную метку. -matte Сохраняет матовый (светонепроницаемый) канал, если изображение его имеет -monochrome Трансформирует данное изображение в монохромное (черный и белый цвета). -negate Замещает каждый цвет его дополнительным, или аддитивным, цветом. Для любого цвета имеется противоположный цвет, от смешения с ко- торым может получиться белый. Белый цвет станет черным, желтый - голубым и т.д. -page \ridth*.height{+-}x_offset{+-}y_offset{%} {!} {<} {>} Устанавливает предпочтительный размер и расположение канвы изоб- ражения. Опция -page похожа на -geometry. -profile filename Добавляет к изображению 1СМ, информацию новостей нлн характер- ный профиль. Используйте ^profile icnt. +profile iptc пли +ргоГ11е profile name, чтобы удалить соответствующий профиль. Иснользунге команду identify -verbose, чтобы выявить профили в данном файле изоб- ражения.
128 И Команды -quality value Устанавливает уровень сжатия для изображений формата JPEG/M1FF PNG. Для форматов JPEG и MPEG значение value меняется аг 0 (наи- высшее сжатие) до 100 (наименее аффективное сжа!ие) при принятом по умолчанию 75. Используйте опцию -samplingfactor, чтобы ука- зать коэффициенты цветности (цвеюразностных сигналов)загружаемых сэмплов (образцов). -resize <width>x<height>{%} {@} {!} {<} {>} Это псевдоним опции -geometry, действующий таким же образом. Если данной опции предшествует опция -filter, используется указанный фильтр. Но существуют некоторые исключения: -resize передает пред- почтительный размер выводимого изображения, в то время как -geometry - размер и размещение изображения composite. -rotate degrees {<}{>} Вращает изображение по методу Паеса (Paeth). Символ > вращает изоб- ражение только в том случае, если его ширина превышает высоту; сим- вол < вращает изображение только в том случае, если его ширина мень- ше высоты. Если вы используете символы < и >, рекомендуется зак- лючать их в двойные кавычки, например, так: -rotate "-45>". -sampling_factor horizontal factory-vertical-factor Указывает горизонтальный и вертикальный коэффициенты сэмплирова- ния, эти коэффициенты используются кодировщиками JPEG. MPEG-2 и YUV для определения цветности (цветоразностного сигнала) при за- грузке образцов. -scene value Устанавливает номер сцены изображения или первое изображение в пос- ледовательности изображений. -sharpen radius'Xsigma Усиливает резкость данного изображения, используя гауссов оператор с заданным радиусом и стандартным отклонением. -size widtlrx.height{+offset} Указывает ширину и высоту низкоуровневых изображений (GRAY. RGB или CMYK) и позволяет пропустить любую информацию из заголовка изображения или сообщить количество цветов в таблице отображения. Выбирайте следующие размеры для изображений Photo CD: 192x128 384x256 768x512 1536x1024 3072x2048 Также используйте эту опцию для выбора индивидуального разреше- ния изображения формата JBIG или JPEG. -stegano offset Скрывает водяной знак (торговую марку или друг) ю оиознавагельнэ ю информацию) внутри изображения. Использует смещение offset, что- бы начать изображение, скрывая ряд пикселов or его начала.
II Команды 129 -stereo Комбинирует два изображения, создавая сгереоаналог. Сохраняет ле- вую сторону стереопары как красный канал и правую сюрону- как зе- леный канал выводимою изображения. -treedepth value Указывает глубину цвета (целое значение, обычно 0 или 1) для сохра- няемо! о дерева. Позволяет задать алгоритм ограничения цветов. Оп- тимальная глубина обычно позволяет наилучшим образом и как можно быстрее представить изображение, расходуя при этом минимум памя- ти. Однако принятая по умолчанию глубина непригодна для некоторых изображений. Для получения наилучшего представления изображения можно попробова! ь значения этого параметра между 2 и 8. -trim Выполняет подгонку краев изображения, удаляя любые края, имеюшие тот же самый цвет, что и угловые пикселы. Используйте опцию -fuzz, чтобы сделать возможным удаление краев почти такого же цвета, как и цвет угловых пикселов. -type tvpe Задает тип изображения. Выбират ь можно из следующих типов: Bilevel, Grayscale, Palette, PaletteMatte, TrueColor, TrueColorMatte, ColorSepa- ration, ColorSeparationMatte или Optimize. Обычно любой формат под- держивает еше и дополнительные форматы, входящие в основной фор- мат, из которых кодировщик и пытается выбрать наиболее эффектив- ный. Данная опция запрещает эту особенность, задавая жесткий фор- мат. -units type Устанавливает тип разрешения (единицы измерения разрешения), при- меняемого при выводе изображения: Undefined (неопределенный, при- нят по умолчанию), PixelsPerlnch (пикселы на дюйм) или PixelsPerCen- timeter (пикселы на сантиметр). -unsharp radiusxsigma С помощью оператора-маски усиливает четкость (резкость изображе- ния), используя заданный радиус radius и стандартное отклонение sigma. -verbose Печатает детальную информацию о данном изображении: номер сцены в сценарии, имя и размер изображения, общее количество уникальных цветов, класс или псевдокласс изображения, количество секунд, необ- ходимое, чтобы прочесть и трансформировать данное изображение. -watermark brtghtnessXsaturation Указывает процент яркости и насыщенности водяного знака (торговой марки или другой опознавательной информации). -write filename Записывает- изображение в файл. Пример A leuepb определим различия между двумя изображениями (Screenshotl.gif и Screenshot2.gif) последовательности и создадим файл отличий ио имени differcnce.gif: ? composite -compose difference Screenshotl.gif Screenshot2.gif difference.gif
130 II Команды Далее предетавлены все гри файла: compress - сжимает (подвергает компрессии; энные. К Синтаксис compress [~f][—v][-с][-V][-г][-b bits][name...] Утилита compress уменьшает размер файлов, имена которых задаются api умента- ми пате. Если аргумент пате отсутствует, упаковывает содержимое стандартного вво- да, а затем направляет его на стандартный вывод. Сжатый файл, замещающий исход- ный, получает имя, образованное прибавлением суффикса .z к оригинальному имени Сжатый файл получает те же режим доступа, временные метки, владельца и группу; чго и оригинальный файл. Сжатие производится по методу адаптивного кодирования Лемпел-Зив (1 empel Ziv). Утилша compress пытается сжимать только обычные файлы, но игнорирует сим волические ссылки.
II. Команды 131 Опции - f Обычно пользователь получает пршлашение подтвердить перезапись существующего файла. В случае задания опции -f производит переза- пись без подтверждения - с С помощью опции -с записывает сжатый файл на стандартный вывод; исходные файлы не меняются. г Производит выполнение рекурсивно: если в командной строке указаны каталоги, ут или та compress сжимает все найденные в них файлы. - V Выводит информацию о версии программы и завершает ее работу. - b bits В процессе сжатия согласно алгоритму адаптивного кодирования про- исходит переключение с 9-битных кодов на 10-битные, 11-битные и т.д. Предел, определяющий число разрядов кодирования, задается с помо- щью параметра bits, его значение меняется в диапазоне 9-16; по умол- чанию принято значение, равное 16. - v Для каждого сжимаемого файла выводит процент сжатия. Пример Ниже приведен вариант сжатия файлов, имена которых соответствуют образцу (шаб- лону) prim4*: = misha@localliost.localdomain: /home/misha tmishad local host mishali compress -v prim4* prim40: prim41: — replaced with prim41.Z Compression: 15.882 prim42: — replaced with prim42.Z Compression: 55.492 prim43: — replaced with prim43.Z Compression: 67.092 prim44: — replaced with prim44.Z Compression: 33.962 prim45: — replaced with prim45.Z Compression: 35.232 prim49: CmishaGlocalhost mishall I Обратите внимание на первую и последнюю строки листинга. Дело в том, что фай- лы prim40 и prim49 пустые. consolechars загружает экранные шрифты для EGA/VGA консоли. Синтаксис consolechars [—v| — verbose] (-V|— version] [-h| — help] [-11 -gl] [ -n I —no-act ] [—force-no-sfm] [ -H | —char-height=N) [ —tty»device] [.m|—acm=|—app-charset-map=acm][-M|--old-acm=acm.orig] [ -f |— font=font.new][ F|—old font=font.orig] [—old-font-psf-with-sfm=font.orig.psf] [-u I—sfin=| —screen-f ont-map=sftn] [ —U | —old-sfm=sfm. orig) ( k|—sfm-fallback] Команда consolechars загружает шрифт в генератор символов EGA/VGA. Эта ко- манда считывает шрифт8х//и < файла и tai ружаст его в память, отведенную генерато-
132 II Команды ру спмиопов. Обычно размер Н шрифта будет считываться из файла, хогя файлы неко- торых форматов (raw низкоуровневый формат) не содержат для ттого достаточно информации. В этом случае Нопределяется по размеру файла, при этом предполагает- ся, что такие файлы не могут быть сжаты (упакованы). Если входной файл имеет фор- мат кодовой е границы, содержащей три шрифта 8x8, 8x14 и 8x16, тогда для выбора одного из этих шрифтов должна соответственно использоваться одна из следующих опций: -Н 8, -II 14 или -II16. Формат кодовой страницы точно распознается по разме- ру и не может быть сжат (упакован). В настоящее время для ядра Linux не поддерживается режим переключения, по- этому consokchars ничего не выполняет с текущим режимом EGA/VGA. Пользова- тель может возложить на себя ответственность за выбор шрифта, соответствующего текущему видеоре.кнму. Опции -h, -help Выводит краткое вспомогательное сообщение и завершает работу про- граммы. -V, —version Выводит информацию о версии программы и завершает ее работу. -V, —verbose Выводит информацию о происходящем в системный файл ошибок. -п, - по аст Не меняет состояние консоли и ни в один файл ничего не записывает. —tty=aevice Активизирует набор символов G1 вместо GO. Применяет device в качестве консольного устройства для ioctls (для функций, манипулирующих параметрами специального файла устройст- ва) вместо того, чтобы анализировать, какое следует использовать. Опция полезна для тестирования под X. Команды -f Jile, — font=y?/e Задает файл, содержащий изображения символов в формате bitmap (черно-белый растр). Такие образцы изображений символов определя- ются английским словом gliph,T.e. вырезанный на камне образчик резь- бы. Помимо таких образцов символов дополнительные сведения о них могут находиться как внутри файла (файлы PSF), так и в отдельном файле типа screen-font-map (SFM - отображение шрифтов на экране, см. оп- цию —sfm). Файлы со шрифтами могут быть сжаты с помощью gzip или compress, но это не относится к файлам raw или файлам в формате кодовой страницы (codepage). Файлы формата raw представляют из себя двоичные файлы, размер которых в байтах составляет 256*//; они содержат двоичные изобра- жения для каждого из 256 символов: один байт на сканируемую линию и Н байт на символ, где 0<//<32. При ттом Н вычисляется исходя из размера файла, именно поэтому последний не может быт ь ежа г иди \ па- кован. -d, —default-font Загружав! шрифт, используемый по умолчанию.
II Команды 133 - in file, -acm-file, —app-charset-map-_//7e Заi ружает определенную пользователем таблицу оюбражеиия симво- лов для приложения - ACM (Application-Charset-Map ), сохраняет те- кущую АСМ. 8 битые символы, отображаемые в символы Unicode (UCS2), посылаются на экран. - М file, —old acm=file Сохраняет в файле file предшествующую АСМ. - и file, —sfm=file, —screen-font-map=/i/e Загружает файл SFM (см. опцию -f) ио имени file. force-no-sfrn Запрещает загрузку SFM при загрузке шрифтов, содержащих его. - U file, —old-sfm=/z/e Загружает в файл file текущий SFM. - k file, —sfm-fallback=/iZe Использует заданный file как аварийную таблицу отображения SFM, до- бавляемую к основной. - F file, —old-font=///e Сохраняет в файле file старый шрифт в представленном формате. --old-font-psf-with-sfm==y?/e Сохраняет в файле file старый шрифт в формате PSF с соответствую- щим SFM-отображением. - Н A. --char-height^ Указывает размер используемого шрифта, где N — число, лежащее в диапазоне от 1 до 31. / По умолчанию в качестве каталога для хранения шрифтов используется /usr/lib/kbd/consolefonts/, для хранения АСМ и SFM /usr/lib/kbd/consoletrans/. convert - преобразует графические файлы одного формата в графические файлы такого же или другого формата. Синтаксис convert [options..] file [file..] file Утилита convert распознает следующие графические форматы: 8BIM формат Photoshop AVS графический формат AVS для системы X BIE+ формат обмена файлами совместной экспертной группы Bi-levcl linage experts Group ВМР+ растровый файл Microsoft Windows ВМР24+ 24-бигиый растровый файл Microsoft Windows
134 к Команды CACHE формат пос гоянного кэша изображения пакета ImageMagick CG М метафайл компьютерной трафики CMYK низкоуровневые бирюзовые, пурпурные, желтые и черные байты DCM цифровое отображение и коммуникации в медицинском изображении DCX+ многостраничный рисунок ("кисточкой") от Zsoft для IBM PC DIB растровый файл Microsoft Windows DICOM файл медицинских изображений EPD F инкапсулированный мобильный формат документа EPI инкапсулированный формат обмена PostScript от Adobe EPS инкапсулированный файл PostScript от Adobe EPS2 инкапсулированный файл PostScript уровня II от Adobe EPSF инкапсулированный файл PostScript от Adobe EPSI инкапсулированный формат обмена PostScript от Adobe ЕРТ инкапсулированный формат обмена PostScript от Adobe с возможное тью демонстрации в формате TIFF FAX+ для факсов Group 3 FIG графический формат TransFig FITS гибкий формат транспортировки FPX формат FlashPix GIF+ графический формат обмена CompuServe; 8-битный цвет GIF87+ графический формат обмена CompuServe; 8-битный цвет (версия 87а) GRAY низкоуровневый формат: байты в градациях серого GRADATION постепенный переход от одного оттенка к другому, задаваемый в виде имени файла, например: gradation:red-blue (от красного к синему) GRANITE текстура "под гранит" Н DF+ иерархический формат данных HISTOGRAM гистограмма HPGL формат языка HP-GL для плоттера от Hewlett-Packard HTML формат языка гипертекстовых ссылок с отображением для клиента ICB изображение Truevision Targa ICM цветной профиль ICC ICO пиктограмма в стиле Microsoft JBIG+ формат обмена файлами совместной экспертной группы Bi-level Image experts Group JPEG формат Joint Photographic Experts Group совместной группы фого- экспертов; сжимает 24-битный цвет LABEL изображение текста МАР байты красного, зеленого, синего с последующими индексами цвегпо- сги изображения
II. Команды 135 MADE MIFF+ прозрачный формат i рафический форма! файлов, принят ый в пакете Image Magick для XII; платформо-независимый формат хранения растровых изображений MNG MONG MPEG+ сетевой формат множественных изображений pacip формата Bi-level, где наименее значащий байт (LSB) идет первым формат обмена файлами Motion Picture Experts Group - группы кино- экспертов MTV+ MVG NETSCAPE NULL PBM+ PCD формат т рассировки лучей MTV векторная графика ImageMagick 216-цветный куб от Netscape нулевое изображение мобильный растровый формат в градациях черного и белого формат фото CD; максимальное разрешение при записи достигает 512x768 пикселов PCL PCX PDF+ PGM + PICT P1X PLASMA язык управления страницами рисунок ("кисточкой") от Zsoft для IBM PC мобильный формат документа мобильный формат в оттенках серого быстро воспроизводимый рисунок от Apple Macintosh графический формат Alias/Wavefront RLE плазменное фрактальное изображение; основной цвет указывается в виде имени файла: plasma-.gray (серое изображение) PNG PNM+ PPM + PS+ PSD PS2+ P7 RAD RGB RGBA RLA RLE SGI+ мобильная сетевая графика мобильное отображение мобильный цветной растр файл PostScript от Adobe растровый формат, используемый в пакете Photoshop от Adobe файл формата PostScript уровня II от Adobe формат визуализации программы xv радианный графический формат низкоуровневые байты красного, зеленого и синего цветов низкоуровневые красные, зеленые, синие и матовые байты графический файл Alias/Wavefront; только для чтения кодированный графический файл Utah Run; только для чтения графический файл в формате Irix RGB, используемый на компьютерах SGI с операционной системой Irix SHTML формат языка гипертекстовых ссылок с отображением для клиента
13() П.Команды SUN+ растровый файл о| Sun SVG Масштабируемая век горная г рафика TEXT низкоуровневый текстовый файл; только для чтения TG А графический файл от Truevision Targa T1FF+ графический файл с тегами (признаками) T1FF24+ 24-битный графический файл с тегами (признаками) TILE текстурный образец "под кафель" TIM файл PCX TIM TIF файл шрифтов в формате TrueType (описание формата идет вместе с графическим файлом, поэтому это мобильный формат) UIL таблица UIL для X-Motif UYVY "слоистый" YUV VICAR формат только для чтения VID Visual Image Directory - каталог визуальных изображений VIFF+ визуализация графического файла по Khorus WIN формат захвата изображения с экрана или на экран компьютера X формат захвата изображения с экрана или на экран X сервера ХВМ растровый монохромный файл XI1 ХС постоянное изображение X сервера в определенном цвете, задаваемом в виде имени файла: хс:Ыце (синего цвета) ХРМ цветной растр системы XI1 XWD цветной файл дампа для просмотра в окне системы X YUV+ графический файл CCIR 601 4:1:1 Если аббревиатура формата содержит завершающий знак плюс, значит, в одном фай- ле может храниться более одного файла изображения. Нужно отметить, что утилита convert обладает десятками опций, ниже приведены некоторые из них. Основные опции -adjoin Соединяет изображения и помещает их в единый файл. По умолчанию все изображения последовательности изображений хранятся в одном и том же файле. Однако некоторые форматы, например JPEG, не поддер живают более одного образа и хранят их в различных файлах. Именно для этого случая предназначена данная опция. -append Добавляет изображение в конец последовательности Все входные изоб- ражения должны иметь одну и ту же ширину или высоту Изображения одинаковой ширины располагаются сверху вниз. Изображения одина- ковой высоты выстраиваются слева направо. Специальная опция +append располагает прямоугольные изображения слева направо -average Усредняет последовательность изображении.
II. Команды 137 -blur factor Затемняет изображение. Значение factor является процентом усиления (от 0.0 до 99.9%). border widthxheight Окружает изображение |раннцей определенного цвета. Размеры опре- деляются значениями width'x.height (ширинаквысота). -bordercolor color Параметр color задает цвет рамки. -box color Устанавливает цвет color прямоугольника, предназначение! о для анно- тации. -coalesce Сливает (объединяет) последовательность изображений. -colorize value Раскрашивает изображение цветом, устанавливаемым с помощью оп- ции -реп. Значение value выражается в процентах. Можно определить отдельные значения для красного, зеленого и синего каналов цветнос- ти изображения, разделив их слэшами: 0/30/0. -colors value Задает предполагаемое количество цвет ов для изображения. Фактичес- кое количество цветов может быть меньше, чем затребованное, но уж никак не больше. Дублирующиеся или неиспользованные цвета будут удалены. -comment string Создает к изображению аннотацию string. По умолчанию каждое изображение вполне комментируется именем своего файла. Но тем не менее, можно включить в строку комментария специальные символы формата: %Ь размер файла %d каталог % е расширение имени файла %f собственно имя файла %h высота изображения %m magick (магическое число) %р номер страницы %s номер сцены %w ширина изображения %х разрешение по оси X %у разрешение по оси Y \п newline (символ новой строки) \г символ возврата каретки Если первым символом строки string является @, то комментарий бе- рется из файла, имя которого определяется остальными символами строки string, идущими вслед за -compress type Указывает тип type сжатия изображения. По умолчанию тип сжатия оп- ределяется заданным файлом графического изображения. Специальная
138 II Команды опция -tcompress подразумевает хранение двоично,о фаи^а без како- го-либо сжатия. Параметр type может принимать следующие значения BZip LZW Fax RunlengthEncoded Group4 Zip JPEG None -contrast Усиливает или уменьшает контрастность изображения Эта опция уве- личивает разницу между более светлыми и более темными элементами изображения. Опция +contrast уменьшает контрастность изображения. -crop widthxheight {+-}х_о//'5еГ{+-}[у_р/7хеТ]{%} Определяет размеры усеченного изображения: размеры изображения widthxheight (итринахвысота), а также место расположения образа с помощью +-x_pffset и +-y_offset (смещения соответственно по осям х и у). Задается width или height в процентах -deconstruct Разбивает последовательность изображений на отдельные части. -delay HlOOthsofasecond Определяет задержку (паузу) между изображениями в сотых долях се- кунды. Опция полезна для регулирования последовательности GIF-фай- лов. -density widthxheight Задает вертикальное и горизонтальное разрешение. По умолчанию при- нято 72 пиксела на дюйм в горизонтальном и вертикальном направле- ниях. Эта опция используется вместе с -page. -depth value Определяет глубину (густоту) цвета изображения. Значение value оп- ределяет количество бит на пиксел. Допустимое значение 8 или 16. -draw string Аннотирует изображение одним или более графическими примитивами. Сюда включены следующие примитивы, устанавливающие значения string: point line rectangle fillRectangle fillCircle ellipse fillEllipse polygon fillPoligon color matte text image точка линия прямоугольник закрашенный прямоугольник закрашенный круг эллипс закрашенный эллипс полигон закрашенный полигон цвет прозрачность гскст изображение
II. Команды 139 Например, каждая строка point, color, matte, text и image требует един- ственную координату. Тогда как line нуждается в начальной и конечной координатах, rectangle - в координатах верхнего левого и нижнего пра- вого углов. Скажем, polygon требует три или более координат, опреде- ляющих его границу. Обычно координаты задаются как целые числа, разделяемые запятыми: -draw 'circle 50,50,100,100' Так можно задать круг с координатами центра 50,50 и с координатами его окружности - 100,100 -enhance Применяет цифровой фильтр доя улучшения качества "зашумленного" изображения -equalize Производит гистограммное выравнивание изображения. -filter type Указывает тип type при изменении размера изображения. Ниже приве- дены некоторые типы фильтров: Point точка Box ящик Triangle прямоугольник Quadratic квадрат Cubic кубик -flip Создает "зеркальное изображение" по вертикали. -flop Создает "зеркальное изображение” по горизонтали. -font пате Использует указанный шрифт пате при создании аннотации. Выбран- ный шрифт может быть шрифтом X сервера, то1да задается длинное полное имя: -*-helvetica-mediuin-r-*-*-10-*-*-*-*-*-iso8859-* Для задания шрифтов True Туре указывается имя файла шрифта, начи- нающееся с @. В противном случае вводим шрифт PostScript, скажем, Helvetica. -geometry [зг/ЛЛхЛе/^Лг]{+-}[хо/)&еГ] {+-)[}’._offset]{%} {!}{<}{>} Задает предполагаемый размер или размещение изображения при коди- ровании. По умолчанию принимаются максимальные значения width (ширины) и height (высоты). Значения width и height задаются в про- центах; при увеличении размера используем значения более 100%, при уменьшении - меньше 100%. Восклицательный знак предполагает точ- ную установку задаваемого значения. Знак > меняет размер изображе- ния. только если его текущий размер превосходит задаваемую специ- фикацию. Знак < меняет размер изображения в том случае, если его текущий размер меньше задаваемой геометрической спецификации. -gravity type При создании аннотации к изображению указывает географическое рас- положение аннотации по отношению к изображению: Northwest северо-западное North северное
140 II Ком <ЦЦЬ. West западное Center центр -monochrome Преобразует изображение в г ратании черно| о и белого -normalize Прсобра тует изображение таким образом ч гобы окна гить полный диа- пазон цветовых значений. -opaque color Меняет цвет заполнения изображения на указанный. -paint radius Имитирует закрашивание "масляной краской". Каждый пиксел среди то- чек, ограниченных окружностью заданного радиуса radius, замещает- ся наиболее часто повторяющимся цветом. -pointsize value Устанавливает размер шрифта PostScript. -quality value Устанавливает уровень сжатия для графических форматов JPEG, MIFF, PNG. Параметр value меняется от 0 (наихудшее качество) до 100 (наи- лучшее качество сжатия) для формата JPEG. По умолчанию принято значение, равное 75. Примеры $ convert photo01.gif proba.jpeg Конвертируется графический файл формата GIF в формат JPEG. А теперь создадим аннотацию к графическому файлу в позиции (80,120) текстом желтого цвета, исполь- зуя шрифт Helvetica: $ convert -font Helvetica -fill yellow -draw "text 80,120 Bird" photo04.jpg photo06.miff $ cp - копирует фгй!.ы. Синтаксис ср [option]... source dost cp [option]...source...directory Может копировать один файл source в другой dost. А может также копировать не- сколько файлов в целевой каталог directory; в этом случае применяется вторая форма команды ср, а последний аргумент командной строки является реально существую- щим каталогом. Опции -a, —archive Сохраняет при копировании насколько эю возможно струкiyру и агри- буты оригинальных файлов.
II Команды 141 - b method, —backup[=»«7/»ot/] Выполняет резервирование каждого файла, который может быть пере- записан или удален. Возможные значения method см. в команде In (оп- ция -V). - d, -no-dereference Копирует символические ссылки вместо того, чтобы копировать фай- лы, на которые они указывайте Сохраняет в копиях жесткие ссылки между исходными файлами. - f, —force Удаляет существующие выходные (целевые) файлы. - i, —interactive Требует подтверждения при перезаписи существующих выходных фай- лов. - 1, —link Вместо создания копий обычных файлов создает жесткие ссылки (см. In). - р, —preserve Сохраняет владельца, группу, полномочия и временные метки ориги- нальных файлов. В случае отсутствия этой опции каждый выходной файл создается с полномочиями соответствующего исходного файла за ис- ключением битов, установленных umask. - р, —parents Формирует имя каждого выходного файла путем добавления слэша к имени выходного каталога и собственно имени исходного файла. В про- цессе копирования создает любые недостающие каталоги. - г Копирует каталоги рекурсивно. Файлы FIFO и специальные файлы копи- рует как обычные файлы, т.е. считывает информацию исходного файла и записывает ее в выходной файл. Напоминаю, что файл FIFO (first in first out, первым вошел - первым вышел) это тоже один из типов спе- циальных файлов. Этот тип используется для того, чтобы позволить не- скольким одновременно работающим процессам обмениваться инфор- мацией друг с другом или с некоторым управляющим процессом. Для копирования специальных файлов следует применять опцию -R. сохра- няющую их специальную "природу", вместо того, чтобы просто считы- вать и копировать их содержимое. -R, --recursive Копирует каталоги рекурсивно, сохраняя сущность специальных фай- лов. —sparse=wfce>t Некоторые файлы, называемые sparse (разбросанные), содержат "дыры” в виде последовательности нулевых байтов, которые заполняют впустую диск, не экономя место. Во многих двоичных файлах часто встречают- ся последовательности нулевых байтов. По умолчанию ср обнаружива- ет "дыры" при чтении исходного файла и создает соогветству ющнй вы- ходной файл. Параметр when может принимать следующие значения auto принимается по умолчанию; выходной файл бу тег "разбро- санным", если таковым является исходный файл
142 11 Команды always всегда создается выходной файл с "дырами"; jro полегно если входной файл расположен в файловой сис1еме, не под- держивающей файлы типа sparse, а выходной скопирован- ный файл попадает в другую файловую систему, наоборот, поддерживающую тин sparse. never никогда не создается выходной файл типа sparse -s, —symbolic-link Вместо копирования создает символические ссылки. Все имена исход- ных файлов должны быт ь абсолютными, т.е. начинающимися со слэша, если только выходные файлы не должны располагаться в текущем ка- талоге. -S suffix, —suffix=suffix Добавляет указанный суффикс к каждому резервному файлу, создавае- мому с помощью опции -Ь. —target-directory=<Arectory Указывает выходной каталог. - V, —verbose Печатает имя каждого файла перед его копированием. - V method. — version-control-niethod Меняет тип файла при выполнении резервирования с помощью опции -Ь. Возможные значения method см. в команде In (опция -V). - и, —update Копирует только, если исходный файл source новее, чем выходной файл dest, или вообще отсутствует выходной файл. -х, -one-file-system Игнорирует подкаталоги, расположенные в иной файловой системе, чем та, откуда начинается копирование. Остается в пределах исходной фай- ловой системы. По умолчанию в качестве суффикса имени резервного файла выступает символ Пример $ ср /etc/Xll/XF8€Config. 5 Копирует файл /etc/Xll/XF86Config в текущий каталог. cpio копирует файлы в архив и обр;тн* Синтаксис cpio {-о|—create}(-OacvABVL][-С bytes][-Н format][-Н message] [-0 [[и serf!]host:]archive][-F [] userf!]host:]archive] [—file=[ [ userf!] host: ]archive] (—format®format] [—message’message] [—null][—reset-access-time][—verbose](—dot][—append] I—block-size*=blocks][—dereference][—io-size=bytes][—quiet] [—force-local]]—help]]—version] name-list (archive]
II Команды 143 cpio {-i|—extract)[-bcdfmnrtsuvBSV][-C bytes)[ E fiie][-B format] [-И message][-R [user][:.] [group]][-I [ (userf]host-. Jarchive] (-F ([ usertjhost:Jarchive][ -file=(|usergyhost:Jarchive] [ —make-directories] [—nonmatching] [ —preserve-modification-time] [ —numeric-uid-gid ] [ —rename ] [ —list ] [ —swap-bytes ] [ —swap] | —dot J [—unconditional ] [ —verbose][ -block-size=bloc*s][—swap-halfwords] [ -io-size=bytes] [—pattern-file=fiie] [—format=format J (—owner=[user] [:. ] [group] ] [—no-preserve-owner] [ —message=message] [ —force-local ] [ —no-absolute-filenames ] [—sparse] [ —only-verify-crcj [—quiet)[—help][—version][pattern ][archive] cpio {—p|—pass-through)[-OadlmuvLV][-R [ user][:.) [group] ] [—null] [—reset-access-time] [—make-directories] [—link][—quiet] [ —preserve-modif ication-time ] [ --unconditional ] [ —verbose) [ —dot ] [ —dereference] [ —owner=[user] [:.) [ group] ] [—no-preserve-owner] (—sparse]]—help][—version] destination-directory name-list GNU-версия cpio копирует файлы в архив (cpio и tar архивы) и из него. Архив - это файл, содержащий другие файлы, а также информацию о них, а именно: имя файла, вла- делец, временные метки и полномочия на доступ к этим файлам. Архив может распола- гаться на диске и магнитной ленте, а может передаваться по конвейеру. Команда cpio работает в трех оперативных режимах, а соответственно приведены три формата команды. В первом из режимов cpio копирует файлы в архив. Утилита считывает список name- list имен файлов (по одному в каждой строке) со стандартного ввода и записывает архив на стандартный вывод. С помощью команды find с опцией -depth проще всего создать список имен файлов с минимальными проблемами по части полномочий. Во втором из режимов cpio копирует файлы из архива или распечатывает содержи- мое архива. Любые аргументы командной строки, не относящиеся к опциям, являются глобальными шаблонами оболочки. Только те файлы архива, чьи имена совпадут с од- ним или более шаблонами pattern, будут копироваться из архива. Если в командной строке отсутствуют шаблоны, будут копироваться все файлы. И, наконец, в третьем из режимов cpio копирует файлы из одного дерева каталогов в другое. Утилита считывает список файлов для копирования со стандартного ввода; каталог destination-directory, в который производится копирование файлов, задается как аргумент без опций. cpio поддерживает следующие архивные форматы: binary, old ASCII, new ASCH, crc, HPUX binary, HPUX old ASCH, old tar, POSIX.l tar. Формат binary является устаревшим, так как он кодирует информацию о файле способом, исключающим воз- можность его переноса между машинами с отличающейся архитектурой. Формат old ASCH вполне мобильный, но он не пригоден для работы с файловыми системами, со- держащими более чем 65536 дескрипторов. Формат new ASCII успешно справляется с упомянутой проблемой, но, к сожалению, он поддерживается не всеми версиями ути- литы cpio (только GNU и Unix System V R4). Формат crc подобен new ASCH, но вдо- бавок еще позволяет вычислять контрольные суммы, когда создает архив, и сверять их с контрольными суммами, получаемыми при извлечении файлов из архива. Форма- ты HPUX binary и HPUX old ASCH требуются для поддержаки совместимости с UNIX фирмы Hewlett-Packard, а для поддержки совместимости с программой tar существ) - ют old tar и POSIX.l tar. Форматы утилиты tar не могут быть использованы для упа- ковки в архив файлов, длина имен которых превышает 100 символов, а также для у па-
J44 II Команды ковки специальных файлов устройств. Хотя l’OSIX.1 tar уже позволяет работать с фай- лами, длина имен которых может доспи ать 256 символов По умолчанию программа cpio создает формат binary. При распаковке файлов из архивов cpio автоматически распознает, с каким архивом она работ ает, и может считы- вать даже архивы, созданные на компьютерах с отличающимся порядком байт. Ниже приведены опции cpio, некоторые из них применяются лишь для определен- ных режимов. Опции -О, —null Опция предназначена для первого и третьего режимов. Программа cpio с этой опцией считывает список файловых имен, завершающихся сим- волом 0 вместо символа newline (новая строка). Так что упакованы в архив будут лишь те файлы, чьи имена оканчиваются цифрой 0, ибо ко- манда GNU find только таким образом создает список имен файлов, подлежащих занесению в архив. -a, —reset-access-time После чтения файлов переустанавливает время доступа (на "старое" вре- мя). - A, --append Расширяет существующий архив. Опция предназначена только для пер- вого режима. Архив в этом случае - это файл на диске, задаваемый с помощью опции -О или -F. - b, —swap Опция предназначена для второго режима. Выгружает как полуслова слов, так и байты полуслов. Эквивалентна комбинации опций -sS. Эта опция используется для корректного преобразования 32-разрядных це- лых в случае компьютеров разной разрядности. - В Устанавливает размер блока ввода/вывода в 5120 байт, хотя изначаль- но этот размер составляет 512 байт. —block-size=Wocfa Устанавливает размер блока, равным произведению 512 байт на вели- чину, указываемую blocks. - с Использует старый мобильный формат old ASCII. - С bytes, —to-size=6yfes Устанавливает размер блока в байтах в значение параметра bvtes. - d, -make-directories Предварительно создает каталоги, где это необходимо. - Е file, — pattern-filc=/i/e Опция предназначена для второго режима. Для (гзвлечення файлов из архивов считывает из file дополнительные шаблоны поиска, при лом строки file рассматриваются как аргумсн i ы (пс опции) upoi раммы cpio - f, — nonmatebing Копирует лишь файлы, имена которых нс совпали с задаваемыми шаб- лонами.
II. Команды ] -F, —file=arc/nve Испольвует имя файла, указываемое archive, имен о стандартного ввода или вывода. Если архив располагается на ленточном накопителе друго- го компьютера, используется имя файла, начинающееся с host, которо- му может предшествовать имя пользователя user с символом (о;. Что- бы обратит ься к архиву, расположенному на ленточном накопителе дру- гой машины, необходимо обладать соответствующими полномочиями, которые обычно задаются в пользовательском файле -/.rhosts. -force-local С опциями -F, -I или -О предполагает, что задаваемый архив является локальным файлом, даже если в его имени содержится символ двоето- чия. -Н format, —formal-format Использует форма, архива, задаваемый format. По умолчанию для вто- рого режима автоматически распознается формат архива, для первого режима параметр format устанавливается в значение bin. Ниже пере- числены используемые форматы: bin устаревший двоичный формат ode старый мобильный формат POS1X. 1 newc новый (SVR4) мобильный формат, пригодный для файловых систем с количеством дескрипторов, превышающим значе- ние 65536 сгс новый (SVR4) мобильный формат, дополнительно обеспе- чивающий подсчет контрольных сумм tar старый формат про, раммы tar ustar формат POS1X. 1 tar, распознающий аналогичные, хотя и не идентичные архивы GNU tar hpbin устаревший двоичный формат, используемый программой cpio из HP Unix (хранит файлы устройств по-другому) hpodc мобильный формат, используемый программой cpio из HP Unix (хранит файлы устройств по-другому) - i, —extract Производит обработку во втором режиме. - I archive Вместо стандартно, о ввода использует имя архива, задаваемое пара- метром archive. Если архив располагается на „ечточном накопителе црх того компьютера, использует имя файла, начинающееся с host, которо- му может предшествовать имя пользователя user с символом (<S. Что- бы обратиться к архиву, расположенному на ленточном накопителе др\ - гой машины, необходимо обладать соответствующими полномочиями, которые обычно задаются в пользовательском файле -/.rhosts. - к Служит для совместимости с другими версиями cpio. - 1, —link Создает ссылки вместо копирования файлов в тех случаях, когда и» возможно.
I 46 II Команде. - L, - dereference Следуя символическим ссылкам, копирует именно файлы, на которые они указывают, а не ссылки. - m, - - preserve-modification-time При создании сохраняет время последней модификации файлов. - М message, — message-message Когда достигнут конец тома очередного сменного носителя (магнит- ная лента или дискета), выдает сообщение message, приглашающее пользователя установить новый том. Если message содержит символы %d, то они будут замещены текущим номером тома, при этом нумера- ция начинается с 1. -n, —numeric-uid-gid Выводит идентификаторы пользователя (UID) и группы (GID) вместо их имен. Используется с опцией -v. —no-absolute-filenames Во втором режиме создает все файлы относительно текущего катало- га, даже если в архиве хранились абсолютные имена. —no-preserve-owner Во втором и третьем режимах не меняет владельца файлов, а именно: собственником файлов будет считаться пользователь, извлекающий их. По умолчанию эта опция устанавливается для непривилегированных пользователей. -о. —create Производит обработку в первом режиме. - О archive Вместо стандартного вывода использует имя файла archive. Если ар- хив располагается на ленточном накопителе другого компьютера, ис- пользуется имя файла, начинающееся с host, которому может предше- ствовать имя пользователя user с символом @. Чтобы обратиться к архиву, расположенному на ленточном накопителе другой машины, не- обходимо обладать соответствующими полномочиями, которые обычно задаются в пользовательском файле -/.rhosts. —only-verify-crc При работе во втором режиме с архивом в формате сгс только прове- ряет правильность контрольных сумм, не извлекая при этом файлы из архива. -р, —pass-through Производит обработку в третьем режиме. —quiet Не распечатывает количество скопированных блоков. - г, —rename Переименовывает файлы в интерактивном режиме. - R [user][:.][group], —owner=luser][:.][group] В первом и третьем режимах устанавливает владельца всех создавае- мых файлов и/нли ipynny соответственно в значения user п или group. Хотя бы один из параметров user пли group должен обязательно при-
II Команды 147 сугствовать. Если отсутствует group, но ирисугс1вует разделитель в виде символа двоеточия или ючки, будет установлена ipynna. назна- ченная пользователю при регистрации в системе. —sparse Во втором и третьем режимах записывае г в порядке исключения файлы с большими нулевыми блоками. -s, -swap-bytes Во втором режиме загружает в файлы байты каждого полуслова (пара байтов). -S, -swap-halfwords Во втором режиме загружает в файлы полуслово каждого слова (4 бай- та). -t, —list Печатает таблицу содержимого ввода. -u, —unconditional Производит перезапись всех файлов без запроса подтверждений. -v, —verbose Выводит имена всех файлов; вместе с опцией -t создает листинг в сти- ле команды Is -I. Для архивов в формате ugtar имена пользователей и групп, имеющиеся в архиве, но отсутствующие в локальной системе, будут замещены именами, которые соответствуют числовым значени- ям UID и GID, хранящимся в архиве. -V, --dot Для каждого обработанного файла выводит точку. —version Выводит информацию о версии программы и завершает ее работу: Примеры Рассмотрим случай применения команды cpio с командой find: $ find /home -newer /home/misha/prim32 -print|cpio -ov>/dev/fdO /home/misha cpio: /home/misha/.xauth: truncating inode number /home/misha/.xauth /home/misha/.bash_history /home/misha/prim24 /home/misha/prim25 /home/misha/prim26 /home/misha/prim27 /home/misha/prim28 /home/misha/prim29 /home/misha/prim30 /home/misha/ptim31 /home/misha/prim33 /home/misha/prim34 /home/misha/prim35 /home/misha/prim3 6 /home/misha/prim37 /home/misha/prim38 /home/misha/prim39 /home/misha/prim41 /home/misha/prim42 /home/misha/prim43 /home/misha/prim44 /home/misha/prim45
148 И Команды /home/misha/prim4 О 48 blocks $ В данном примере осуществлялся поиск файлов более новых по дате, чем файл /home/niisha/prim32, и полученные файлы направлялись в архив на дискете (/dev/fdO). Чтобы направить эти файлы в архив на магнитной ленте, достаточно было бы в приве- денной команде заменить /dev/fdO на /dev/rmtO. А следующая команда восстановит все файлы созданного выше архива в текущий каталог и создаст при этом необходимые каталоги: $ cpio imvd —no-absolute-filenames</dev/fdO home/misha /home/misha/.xauth /home/misha/.bashhistory /home/misha/prim24 /home/misha/prim44 /home/misha/prim45 /home/misha/prim40 48 blocks $ cproto - генерирует прототипы функций языка С и преобра- зует определения функций. Синтаксис cproto [ option...][file...] Создает прототипы функций, определенных в исходном файле file на языке С. и записывает их на стандартный вывод. Если аргумент/j/e отсутствует, cproto считывает содержимое стандартного ввода. Определения функций могут быть как в “'старом" сти- ле, так и в стиле ANSI С. Кроме того, cproto может также отражать декларирование (объявление) переменных, задействованных в исходных файлах. Согласно опциям командной строки cproto также может преобразовывать опреде- ление функций указанных файлов "старого" стиля в стиль ANSI С. Оригинальные исход- ные файлы, упомянутые в директивах типа ^includefile исходного кода, будут переза- писаны. Если в командной строке отсутствуют имена файлов, программа будет считы- вать исходный код со стандартного ввода и направлять преобразованный код на стан- дартный вывод. Основные опции -е Выводит ключевое слово extern перед каждым сгенерированным про- тотипом или объявлением глобального масштаба. -f л Устанавливает с помощью н стиль созданных прототипов функций, при этом значение п меняется от 0 до 3.11о умолчанию принято значение л. равное 3, создающее полный прототип функции. Если п равно 0. ника- кие про тошны нс создаются.
II. Команды ] 49 I 1 енерируег текст для lint-библио теки, перекрывая дейс1вис опции -f. В выходном файле появится комментарий /’LINTLIBRARY*/, а также спе- циальные комментарии LIN Г EXTERN и LINT PREPRO, создаваемые с помощью ОПЦИИ -X. -с По умолчанию в прототипах, сгенерированных с помощью опций -fl и -12, отсутствуют комментарии. Эта опция позволяет добавить коммен- тарии. -tn Помещает макрос охватывающий список параметров каждого сгене- рированного прототипа - М п С помощью п устанавливает имя макроса, заданного опцией -ш. По умолчанию - Р_. - о file Указывает имя выходного файла, по умолчанию используется стандарт- ный вывод. - О file Указывает имя файла, содержащего перечень обнаруженных ошибок, по умолчанию используется стандартный файл ошибок. р Не содействует выдвижению формальных параметров в определениях функций "старого" стиля. По умолчанию параметры типа char или short в определениях функций "старого” стиля преобразуются в прототипах функций или в сгенерированных определениях ANSI С в тип int, а пара- метры типа float - в double. - q Не выводит никаких сообщений об ошибках при попытке программы прочесть файл, указанный в директиве //include. - s По умолчанию cproto генерирует объявления лишь для функций и пе- ременных iлобального типа. Эта опция позволяет добавить к выходно- му файлу также и статические объявления. - S Выводит только статические объявления. - Т Копирует определения из каждого включаемого файла. - v Добавляет к выходному файлу объявления переменных из исходного файла. - х Заставляет включать в выходной файл процедуры и переменные, обья в- ленные как extern. - а Конвертирует определения функций "старого" стиля в стиль ANSI С. - t Конвергирует определения функций ANSI С в традиционный стиль. - D name[=value] Передает через препроцессор символ (идентификатор) пате указанно- го значения value для применения в условия типа tfifdcf. - U пате Передаст через препроцессор указание удалить любые определения сим- вола пате. - I directory Передаст через препроцессор распоряжение об использовании катало- га directory при поиске файлов, упомянутых в директиве //include
150 II Комангы - Е срр В процессе создания прототипов обрабагывает входные файды с по.мо щыо указанной команды препроцессора языка С. По умолчанию исполь- зуется /lib/срр - Е 0 Не запускает препроцессор языка С. - V Печатает версию программы. В опциях программы распознаются следующие управляющие последовательности \п новая строка \s пробел \t табуляция cron - демон, выполняющий запланированные команды. Синтаксис cron Многие задания (процессы) в Linux приходится планировать для регулярного вы- полнения. Демон cron (crond) запускается процессом init и сразу считывает /etc/crontab и файлы из каталога /var/spool/cron. Этот каталог используется для хранения так назы- ваемых crontab (таблиц, предназначенных для cron) - файлов обычных пользовате- лей, содержащих запланированные задания. Суперпользователь может указать списки пользователей, которым разрешено или запрещено планировать задания для cron соответственно в файлах /etc/cron.allow и /etc/cron.deny. Если обычный пользователь решил подготовить набор заданий для cron, просмот- реть crontab или скорректировть его содержимое, ему следует воспользоваться ути- литой crontab, т.к. напрямую с помощью текстового редактора файлы crontab не мо- дифицируются. Демон cron активизируется ежеминутно Просматривает файлы crontab в поисках команд для выполнения Найдя таковые, запускает их, возвращая по почте вывод вла- дельцу соответствующего crontab. В противном случае cron "засыпает", чтобы вновь "пробудиться" через минуту. Пример По умолчанию задания для демона cron вашей системы находятся в /etc/crontab. содержимое которого выглядит примерно так: SHELL=/bin/bash РАТН=/sbin: /bin: /usr/вЫп: /usr/bin MAILTO=root НОМЕ=/ 1 run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
II. Команды J51 # sysstat О * * * 0,6 /usr/lib/sa/sal 600 6 & 5 19 * * * /usr/lib/sa/sa2 -A & Обратите внимание на первое задание: сценарий run-parts будег запускагься в пер- вую мину iy каждого часа, а каталог /etc/сron.hourly служит его ар!уменгом. Поэтому упомянутый сценарии запускает все файлы этого каталога. Значит, стоит поместить ка- кой-либо сценарий в каталог /etc/cron.hourly, и он будет выполняться ежечасно. Про- сто и эффективно! К тому же не нужно готовить и корректировать файлы crontab. Аналогично, если поместить сценарии в каталоги /etc/cron.daily, /etc/cron. weekly или /etc/cron.monthly, то они соответственно будут исполняться ежедневно, ежене- дельно, ежемесячно. Команды sal и sa2 автоматически запускаются cron. Команда sal накапливает и сохраняет двоичную учетную информацию в файле учетных записей ежедневной жизнедеятельности системы. Команда sa2 записывает ежедневный отчет в каталог /var/log/sa. - .jfcnyxHtЗсТ crontab-файлы пользователей. crontab Синтаксис crontab [—u user] file crontab ]-u user] {-e[-l|-r} crontab создает и модифицирует пользовательские crontab-файлы исполь- зуемые демоном cron (см. стоп). Такие файлы обычно располагаются в каталоге /var/spool/cron. Только суперпользователь решает, кому из обычных пользователей можно восполь- зоваться cron. Чтобы пользователь мог планировать задания для cron, его имя либо должно быть включено в состав файла /etc/cron.allow, либо не должно встречаться в списке файла /etc/cron.deny. Упомянутые списки составляет суперпользователь. По умолчанию указанный в командной строке файлfile замещаеттекущий crontab пользо- вателя, задаваемого с помощью опции -и, либо, если эта опция не определена, вла- дельцем считается пользователь, запустивший команду crontab. Опции - и user Задает владельца файла crontab. - е Для редактирования crontab вызывает редактор, заданный переменной окружения VISUAL или EDITOR. - ] Отображает содержимое crontab файла пользователя - г Удаляет crontab пользователя. Строка файла crontab соответствует следующему формату (поля перечисляются в порядке следования, справа указан допустимый ин тервал значений): минуты 0-59 часы 0-23, где 0 это полночь дни месяца 1-31
152 II Команды месяц 1-12 дни недели 0-7, где 1 - это понедельник (воскресенье - 0 или 7) имя пользователя команды аргументы этих команд Пример Ниже приведен образец строки файла crontab: 01 * * * * misha /home/misha/script Каждую первую минуту каждого часа, в любой день, месяц, неделю будет запущен /home/misha/script. Если требуется выполнять этот сценарий каждые 20 минут, стро- ка примет следующий вид: 0, 20, 40 * * * * ... Сценарий пользователя misha по имени /home/misha/script будет запускаться каж- дые 20 мин. crosspost создает ссылки на перекрестно отправляемые статьи. Синтаксис crosspost [-D dir][-s][file...] Утилита crosspost считывает информацию о группе и номере статьи из файлов или стандартного ввода, если файлы не указаны. Единственный дефис в списке имен файлов означает, что следует считыват ь информацию со стандартного ввода. Утилита исполь- зует эту информацию для создания жестких или символических ссылок для перекрест- но отправляемых статей. Собственно crosspost предназначалась для использования InterNetNews, чтобы создавать ссылки на входящие статьи. Обычно innd - демон InterNetNews - сам может создавать ссылки, но, имея в своем распоряжении для этих целей crosspost, тратит куда меньше времени на дисковые операции ввода'вывода. Входной файл crosspost выглядит примерно так: group.name/241 group3.name/479 group4.name/981 Каждая строка входного файла предназначена для какой-нибудь статьи. Точки, встре- чающиеся во входном файле, транслируются в символ слэша (наклонная прямая), что дает возможность преобразовать наименования группы новостей в маршрут. Предпо- лагается, что первое поле - это наименование существующей копии статьи, на кото- рую crosspost пытается установить, если это возможно, жесткую ссылку, в противном случае - символическую ссылку. По умолчанию crosspost использует входные каналы пакета INN. или InterNetNews, что находит отражение в элементе WR файла newsfeeds. Опции -D dir Определяет местонахождение снула для обрабатываемых статей.
II. Команды 153 производит шифрование всех файлов заданного каталога. * s По умолчанию после обновления соответствующих ссылок crosspost осуществляет для каждой статьи системный вызов fsync, который син- хронизирует содержимое файла в намят с его содержимым на диске. Для запрещения этого используется флаг -s. cryptdir Синтаксис cryptdir (dir) Производит шифрование всех файлов заданного каталога dir или текущего катало- га» если аргумент dir отсутствует. При этом пользователь дважды приглашается для ввода пароля, который опасно забывать, поскольку невозможно будет восстановить оригинальные файлы. В результате шифрования имена файлов получают суффикс .crypt, что предохраня- ет файлы от двойного шифрования. К содержимому зашифрованного каталога несложно добавить новые файлы, при этом совершенно не заботясь об уже существующих за- шифрованных файлах. cspni - разбивает файл на части. 1х Синтаксис csplit [option] file pattern Файл разбивается на части в соответствии с шаблоном pattern, а создаваемые час- ти записываются в файлы, имена которых начинаются с комбинации символов хх: ххОО, ххО 1, хх02 и т.д. Если аргумент pattern ссылается на несуществующую строку входного файла, то выдается сообщение об ошибке После обнаружения совпадения с шаблоном, весь остаток входного файла копируется в один последний выходной файл. По умолчанию csplit распечатывает количество байт, записанных в каждый созданный выходной файл. Опции - f prefix. —prefix=pre/ix Использует строку prefix в качестве префикса имен выходных файлов. По умолчанию используется хх. - b suffix, — suffix-format=.«(/7ix Использует строку suffix в качестве суффикса имен выходных файле Когда применяется эта опция, упомянутая прока должна обязательно включать спецификацию преобразования в стиле printf. сотержаг-лю флаги спецификаций формата размер полей, спецификацию точности. Если задается эта опция, то ш иорирустся опция -digits.
' ' 4 II Команды -n digits. —<3igits=digits Использует в именах выходных файлов количещво цифр, задаваемое значением digits; по умолчанию этот парамет р принимает значение, рав- ное 2. -k, —keep-files Сохраняет выходные файлы, даже если заданную разбивку не удалось выполнить. -z, — elide-empty-files Запрещав! создание файлов нулевой длины. -s, —silent, —quiet Не печатает размеры выходных файлов. Ниже рассматриваются типы аргумента pattern N Создает выходной файл, содержащий все строки входного фай- ла, предшествующие строке N (целое положительное). /REGEXP/[OFFSET] Создает выходной файл, содержащий все строки входного фай- ла, которые предшествуют строке, совпавшей с шаблоном REGEXP. Может быть задано смещение OFFSET, осуществля- ющее сдвиг строк на величину, равную OFFSET. %REGEXP%[OFFSET] Создает выходной файл, содержащий все строки входного фай- ла. начиная со строки, где отмечено совпадение с шаблоном REGEXP. Смещение OFFSET задается, как в предшествующей опции. {REPEAT-COUNT} Указывает количество повторений предшествующего шабло- на. Данный тин аргумента - это целое положительное число или звездочка, что означает — производить повторение аргумента, пока не исчерпается входной файл. По умолчанию аргумент PATTERN применяется только один раз По умолчанию, если возникает ошибка при выполнении утилиты csplit, неожидан- но приходит сигнал прерывания, завершения или возникает "зависание", все успевшие возникнуть файлы будут удалены. Пример Просмотрим содержимое файла prim26: $ more prim26 This is an example This is first line This is second line. This is last line А теперь разобьем файл prim26 на части: $ csplit -f xxx prim26 '/line/' 19 57 $
II. Команды 155 Распечатаем возникшие файлы хххОО и xxxOl: $ more хххОО This is an example $ more xxxOl This is first line This is second line. This is last line $ Еще раз разобьем файл prim26 на части: $ csplit -f ууу prim26 '%line%' 57 $ Распечатаем возникший файл уууОО: $ more уууОО This is first line This is second line. This is last line $ - гене, ует | айлы тегов ,_ля исхо ных ксиов. ctags Синтаксис ctags [option][file]... etags [option][file]... Создает индексные файлы, или файлы тегов (признаков), содержащие описания объектов исходного языка программирования, найденных в файле/?/е. Термин "тег" обо- значает объект исходного языка, для которого доступен элемент индексного файла. Программа ctags генерирует файлы в удобной для чтения человеком форме, кото- рые информируют© различных объектах исходного языка программирования. Индекс- ные файлы тегов распознаются многочисленными редакторами, позволяющими легко и быстро отыскать нужный объект. Программа, вызванная как ctags, создает файл те- гов для редактора vi, вызванная как etags - для emacs. Способна создавать теги для следующих языковых конструкций: С/С ++ макросы (имена, определенные/неопределенные с помощью ^define /#undef) enumerators (энумераторы - перечисляемый тип данных) функции, прототипы, классы определений структуры пространство имен описания типов данных (typcdefs) переменные (определения и описания) элементы множества (массива)
156 II Команды Fortran блоки данных общие блоки точки входа функции интерфейсы метки модули списки имен программы подпрограммы типы вывода Eiffel классы признаки локальные объекты Java классы поля интерфейсы методы пакеты Язык программирования каждого указанного исходного файла автоматически вы- бирается на основе расширения имени файла, если только не задана опция --lang. Ниже приведены допустимые значения расширений для вышеперечисленных языков програм- мирования: С *.с C++ * С, *.с++, *.сс, *.срр, *.схх, *.h, *.Н, *.hh, *.hpp, *.hxx, *.h++ Eiffel *.e Fortran * f, *.for, *.ftn, *.f77, * (90, *.f95, *.F, * FOR. *.FTN, *.F77, *.F90, *.F95 Java *.java По умолчанию все другие расширения имен файлов игнорируются. Вызванная без опции ctags создает файл тегов для всех известных исходных фай- лов текущего каталога. Опции, состоящие из одной буквы, необязательно отделять пробелами от их пара- метров. Булевы выражения в длинных форматах опций, начинающихся с двух дефисов, могут быть опущены, т.е.: —sort эквивалентна —sort=yes. Выражения =1 и =оп являются синонимами для =yes; выражения =0 и =off - сино- нимы для =по. Основные опции -а Эквивалентна опции -append. -В Использует шаблоны обратного поиска, так называемые Iregexpl. Опция игнорируется, если задана опция -с. -е Выводит файл тегов для применения с cmaes. Если вызвана ctags. па опция установлена по умолчанию. -f tagfile Задает имя файла тегов. По умолчанию принято tags, или TAGS. если используется опция -с. Если вместо параметра tagfile стоит дефис, за- писывает файл тегов на стандаршый вывод. -F По умолчанию использует шаблоны прямого поиски, так называемые Iregexpl. Опция игнорируется, сели за чана опция -с.
II. Команды 157 -h hgs Задав! список расширений имен файлов, разделяемых точками По умол- чанию принят следующий список: .li.H.hh,hpp.hxx.h++.inc.def Чтобы восстановить список, принятый по умолчанию, указывается опция h default. - 1 tokenlist Указывает список маркеров, специально поддерживаемых при синтак- сическом анализе исходных файлов на языках С и C++. Список марке- ров может поступать прямо из командной строки или считываться с ука- занного файла. Если первый символ параметра tokenlist является точ- кой или наклонной чертой (прямой илн обрагоой), параметр tokenlist интерпретируется как имя файла, с которого следует произвести счи- тывание списка. В противном случае tokenlist эго список специально поддерживаемых маркеров или маркерных пар, разделяемых запятыми или пробелами. В ряде случаев следует заключать список н кавычки. Если требуется проигнорировать список ранее введенных маркеров, ис- пользуется дефис, задаваемый в качестве параметра tokenlist - L Jile Считывает из указанного файла список имен файлов, для которых со- здаются теги. Допустимо в качестве параметра file использовать де- фис, что предполагает чтение стандар гного ввода. - п Эквивалентна—excmd=number. - N Эквивалентна —excmd=pattern. - о tagfile Эквивалентна опции -f tagfile. - р path Использует параметр path в качест ве взя того но умолчанию каталога, где находится исходный файл. R Эквивалентна опции —recurse. - и Эквивалентна опции — sort=no (несортированный) - V Эквивалентна опции —verbose. - х Печатает табулированный, доступный для чтения человеком файл пе- рекрестных ссылок (xref) на стандартный вывод вместо создания фай- ла тегов. Эта опция должна появиться в командной строке до первого имени файла. —append=yes|no Указывает, что теги, созданные для заданных файлов, должны быть добавлены в уже существующий файл тегов или должны заменить свои предшествующие значения. По умолчанию принят вариант off. Эта опция должна появи гься в командной строке до первого имени файла. Игнори- руется, если задана опция -с, —c-types=(ypes Указывает список выбранных типов гегов языкаGtC++. Параметр types иредшавляет из себя группу односимвольных флагов, обозначающих тип тега, которым предшес! вуст знак плюс для добавления данного тина
158 11 Команды но умолчанию или так минус соответственно для исключения Ни» представлен список флагов, обозначающих типы тетов языка С/Ст+. с классы d макроопределения (и имена Wundef) е энумераторы f определения функций g имена энумераторов m классы, структуры или элементы множеств (массивов) п пространства имен р прототипы функций и описания [off] s имена структур t typedefs (определения типов данных) и элементы множеств (массивов) v определения переменных х extern (внешнее) и forward (предвари тельное) описание перемен- ных [off] В добавление к этим флагам применяются следующие односимволь- ные модификаторы: А регистрирует доступ каждого члена класса к файлу тегов С включает дополнительный komi юнент характеризующий класс эле- ментов в форме класс', элемент. Это позволяет иметь класси- фицированные теги, что применяется в vi, но чуть ли не вдвое увеличивает файл тегов, гак что подобный модификатор не при- нят по умолчанию —eiffel-types=A'pex Указывает список выбранных типов тегов языка Eiffel. Ниже приведе- ны допустимые типы: с классы f признаки 1 локальные объекты (сущности) [off] Можно также применять модификатор С (см. —c-types=f)pes) --excmd=(ype Определяет тип команды ЕХ, применяемой для определения местопо- ложения тегов в исходном файле. Опция игнорируется, если задана оп- ция -е. Допустимые значения типов можно использовать полное сло- во или первую букву — приведены ниже: number для расположения тегов в тег-файле используются толь- ко номера строк pattern для всех тегов используются только шаблоны поиска вме- сто номеров строк, обычно применяемых для макроопре делений mixed в этом смешанном режиме в целом используются шабло- ны за некоторыми исключениями: в я тыке С номера строк применяются для гсгои макроопределений а в foitran для общих блоков
II. Команды 159 —formal=/eve/ Меняе> формат вывода файла гегов. Существующее значение парамет- ра level - 1 или 2. Уровень 1 определяет оригинальный формат файла тегов, а уровень 2 - новый расширенный формат. По умолчанию принят уровень 2. Эта опция должна появиться в командной строке до первого имени файла. Игнорируется, если задана опция -е. —fortran-types=(vpes Указывает список выбранных тегов языка Fortran. Ниже приведены до- пустимые типы: ь данные сгруппированы поблочно m модули с общие блоки n списки имен е точки входа Р программы f функции s подпрограммы i 1 ингерфеись метки [off] t типы вывода --help Печатает на стандартный вывод детальное описание опций. —java-types=(ypes Указывает список выбранных тегов языка Java. Ниже приведены допус- тимые типы (все приняты по умолчанию): с классы f поля i интерфейсы m методы р пакеты В добавление к этим флагам приняты модификаторы А и С (см. опцию —c-types=/J/>es). —lang=auto|c|c++|eiffel|fortranpava По умолчанию ctags автоматически (аиГо)определяет язык програм мирования исходного файла, основываясь на расширении имени файла. С помощью этой опции можно конкретизировать язык исходного фай- ла. По умолчанию принято значение auto. —langnjap-map... Меняет отображение между расширениями файлов и исходными язы- ками. Каждая отделяемая запятой таблица отображения включает на- звание исходного языка, двоеточие и список расширений имен исход- ных файлов, разделяемых точками. Если первым символом в таблице является знак плюс, расширения новой указанной таблицы добавляют- ся к прежней. В противном случае происходит замещение старой таб- лицы на новую. Чтобы очистить таблицу отображения для указанного языка программирования, достаточно задать пустой список расшире- ний. Для восстановления таблицы отображения, принятой ио умолча- нию, применяется ключевое слово default. —recurse=yes|no Выполняет рекурсию каталогов для списка заданных файлов.
160 II Команды —sort=yes|no Определяет; будет- ли отсортирован файл гегов ио их именам. По умов чанию принято значение yes (да). Эта опция должна появиться в команд- ной строке до первого имени файла. Hi норируется, если задана опция -е —totals=yes|no Печатает стагис 1 нку о прочитанных исходных файлах и записанных фай- лах гегов. По умолчанию зга опция отключена, если же применяется, то должна появиться в командной строке до первого имени файла. -verbose=yes|no Печатает подробные сообщения, описывающие действия в отношении каждого заданного файла. --version Выводит информацию о версии программы. Пример 5 ctags -f prim86 —lang=c prim85 $ Файл prim86 выглядит так: 1 TAG FILEFORMAT 2 /extended format; —format=l will not append ;" to lines/ I TAG FILE SORTED 1 /0=unsorted, l=sorted/ 1”TAG_PROGRAM_AUTBOR Darren Hiebert /darrenehiebert.com/ IJTAGPROGRAMNAME Exuberant Ctags // ’TAGPROGRAMURL http://darren.hiebert.com/ctags/ /official site/ I_TAG__PROGRAM_VERSION 3.4 /with C, C++, Eiffel, Fortran, and Java support/ variable prim85 /Aint variable;$/;" v Для каждого из указанных объектов исходного файла в файл тегов добавляется одна строка, начинающаяся именем тега (идентификатор языка С), за которым следует символ Tab (табуляция). Далее можно видеть имя файла, в котором расположен объект, связанный с этим тегом, и вновь символ Tab. Команда ЕХ, устанавливающая положе- ние тега внутри файла, обычно выглядит в виде шаблона поиска /pattern!., как в этом примере. ctlinnd управляет се ве, ом InterNetNews. Синтаксис ctlinnd timeout] command [argument...] ctlinnd посылает сообщение в канал innd-сервера службы InterNetNews. В стан- дартом режиме функционирования сообщение посылается на сервер, который выпо i- няет затребованное действие и возвращает программе ctlinnd огвег в виде текстово- го сообщения и кода завершения. Если сервер успешно выполнил коман iy command. ctlinnd благополучно завершится с нулевым кодом п напечатает огвег на стандартном выводе. Если сервер по какой-либо причине не выполнит команду, это вызовет завер шение про, раммы ctlinnd с кодом, равным 1.
II. Команды 161 Опции -s Если используется этот флаг, то в случае успешного завершения ко- манды не печатает никаких сообщений t timeout С номошыо значения timeout, задаваемого в секундах, определяет, как долго следует- ждать ответа сервера. Нулевое значение timeout гово- рит о гом что период ожидания может длиться сколь угодно долго. Отрицательное значение timeout говорит о том, что ответа не ждут. -h Выводит информацию о командах. Все команды command имеют фиксированное число аргументов argument. Если пустая строка выступает* в качестве параметра, ее необходимо заключить в двойные кавычки. Некоторые команды addhist <-Messuge-id> an exp post paths Добавляет элемент в БД history. Вынуждает сервер запротоколировать сообщение Message id Заключать сообщение в "угловые" скобки в виде знаков "меньше" и "больше" вовсе не обязательно. Параметры агг, е.хр, post соответственно определяют, когда статья прибыла, когда истекает срок ее действия и когда она была отправлена. Все три параметра явля- ются числами, измеряются в секундах относительно начала века. Если статья не имеет header (заголовка) типа Expires (срок истечения дей- ствия), тогда ехр устанавливается в 0. Параметр paths указывает марш- рут в каталоге снула новостей, где статья представлена в виде файла. allow reason Допускает дистанционные подключения. В качестве reason - причины подключения - можно взять текст предшествующей команды reject или пусгую строку. begin Site Начинает подпитку сайта site. Приказывает серверу просмотреть файл newsfeeds в поисках указанного сайта и устанавливает режим его под- питки. Если сайт уже существует, предварительно для него должна быть выполнена команда drop (см. дальше). cancel <Message-lD> Удаляет из локальной системы статью, с указанным сообщением <Message-lD>. changegroup group rest Меняет группу новостей group таким образом. что четвертое поле в файле active становится значением, определенным параметром rest. Эта команда применяется, чтобы сделать труппу новостей moderated (ре- гулируемой) или unnioderatcd (нерегулируемой). checkfile Проверяет синтаксис файла newsfeeds и выводит сообщение, если были обнаружены ошибки Детальное описание ошибок заносится в ф«ВД syslog. drop site Очищает и исключает указанный caiii site из серверного списка активно подии 1 ывасмых сайтов.
162 ' Команды feedinfo site Печатает подробную информацию о соетоянии поднижи указанноео сай- та site', если в качестве site определена нус гая етрока, печатает ана ю- гичную информацию о всех подпитках. flush site Записывает содержимое буфера в указанный сайт site в зависимое! и от вида подпитки, которую получает сайт (см. newsfeeds). Если в качестве site определена пустая строка, записывает содержимое буфера во все сайты, а также обновляет файл active и БД history (протоколирование). flushlogs Закрывает журнал и файлы протоколирования ошибок, а также переиме- новывает их, добавляя к актуальному имени расширение .old. БД history (протоколирование) и файл active тоже перезаписываются. hangup channel Закрывает сокет, обслуживающий указанный канал channel входящих сообщений. Это полезно, если происходит "зависание" на входящем ка- нале. help [command] Печатает справку о всех командах или только об указанной параметром command. logmode Приказывает серверу отразить его текущий оперативный режим в сис- темном журнале syslog. mode Распечатывает информацию об оперативном режиме сервера в виде строки, содержащей параметры и описание текущего состояния. пате ппп Печатает имя канала за номером ппп или всех каналов, используя при этом в качестве значения ппп символ у (да) или п (нет). newgroup group rest creator Создает указанную группу новостей group. Параметр rest определяет четвертое поле (права пользователей на доступ к данной группе новос- тей) файла active. Если параметр rest установлен в у, пользователям раз- решается размещать свои статьи в данной группе, если rest установлен в п, пользователям запрещается размещать свои статьи в этой гру ппе. Необязательный параметр creator задает имя человека, создающею группу новостей. pause reason Останавливает работу сервера так, что не осуществляется полу ченнс входящих статей. Хотя существующие подключения не закрываются, а закрывается лишь БД протоколирования. readers flag text Разрешает (значениеflag установлено в у) пли запрещав г (значение flag установлено в п) чтение новостей. Приказывает серверу передать со- держимое text как значение для nnrpd с флатом -г. reject reason Дистанционные подключения, которые не могу г бы гь вру чн\ ю перета иы nnrpd, отвергаются, причина излагается в reason
II Команды 163 reload what reason Сервер обновляет находящиеся в памяти копии различных коифшура- ционных файлов. При этом what указывает, что должно быть переза- гружено. Если в качестве what задана нус гая строка, или слово all, бу- дет нерезафужено все. Ниже приведены некоторые возможные вари- анты перезагрузок в зависимости от значения what'. history будет- закрыта и вновь открыта БД history incoming.conf будет перезагружен файл incoming.conf active будут перезагружены файлы active и newsfeeds newsfeeds будут перезагружены файлы active и newsfeeds renumber group Просматривает каталог спуда для заданной группы новостей group в це- лях обновления меток low-water и hi-water в файле active. Каждая из новостей в группе имеет свой уникальный номер. В любой момент ло- кальному узлу доступны новости с номерами, принадлежащими неко- торому диапазону. Мет ки low-water и hi-water соответственно указыва- ют наименьший и наибольший доступные номера этого диапазона. Если в качестве group задана пустая строка, просматривает каталоги спулов для всех новостей. rmgroup group Удаляет указанную группу новостей group. Это осуществляется лишь путем редактирования файла active ине задевает каталог спуда. В отли- чие от другой команды newgroup - рассматриваемая команда не об- новляет файл active.times и может выполняться, лишь когда основная работа сервера прервана или он только запущен. shutdown reason Завершает работу сервера по причине, указанной reason и регистрируе- мой в системном журнале. Содержание строки reason рассматривается по всем открытым подключениям. Целесообразно сначала выполнить команду throttle. signal sig site Посылает сигнал sig указанному сайту site. Параметр sig может быть номером сигнала или словом по типу hup, int, term, регистр при этом роли не играет. throttle reason Прерывает поступление входной информации таким образом, что все существующие подключения закрываются, а новые - отвергаются. Так- же закрывается и БД history- trace item flag Включает или отключает трассировку указанной темы item. Флаг flag должен соответственно начинаться либо с буквы у, либо п. Если значе- ние параметра item начинается с числа, трассировка устанавливается для канала innd, который должен быть установлен для входящей подпитки NNTP Еслн значение item начинается с буквы i, тогда включается или отключается общая трассировка innd. xabort reason Сервер регистрирует задаваемую причину reason и затем вызывает ути- лигу аварийного завершения abort.
1 (14 11 Команды хехес path Сервер собственно готов завершить свою работу но вместо лого за пускает на выполнение программу, местоположение которой определя- ется маршрутом path. Параметр path может содержать строку innd, inndstart или пустую строку. Каждая статья - это отдельный файл, а каждая т руппа - отдельный подкаталог. Ста- тьи нумеруются в порядке поступления; каждая статья хранится в файле, причем, имя файла соответствует номеру статьи. В файле active хранятся номера статей, доступ- ных в настоящее время через каналы связи. ctrlaltdel - устанавливается последовательность действий, аналогичных тем, которые возникают при нажа- тии клавиш Ctrl+Alt+Del. Синтаксис ctrlaltdel hard[soft Существуют две основные последовательности действий: "жесткий" перезапуск (hard), когда сразу же происходит перезагрузка без вызова sync и без каких-либо еще предварительных приготовлений; "мягкий" перезапуск (soft), предполагающий предва- рительную посылку SIGINT (см. приложение I) процессу init, PID которого всегда ра- вен 1. Команда ctrlaltdel обычно используется в конфигурационном файле /etc/rc.local. Опции hard Осуществляет "жесткий" перезапуск. soft Осуществляет "мягкий" перезапуск. CU устанавливает соединение с другой системой. К Синтаксис св [option] [system|phone|dir] Команда си устанавливает соединение с другой системой, используя течефонную связь. Она может производить упрощенную пересылку файлов без проверки ошибок. Помимо опций команда си воспринимает единственный аргумент. Если в качестве аргумента задается строка dir, команда си устанавливает прямую связь с портом, что требуется в случае перепрограммирования модема н предполагает наличие соответ- ствующих полномочий у пользователя, выдавшего команду. В противном случае, если аргумент начинает ся с цифры, предполагается, что указан phone помер телефона дтя вызова. Если аргумент не начинается с цифры, считается, что задано имя системы system. Впрочем, имя системы может начинаться с цифры, в этом случае еле tyer ука- зать опцию или —system, так же, как и в случае номера телефона, начинающегося не с цифры, приходится использовать опцию -с, или —phone
II. Команды 165 Порт, используемый си. обычно описывается в конфитуращюнных файл ix UUCP, В нростеи ших случаях можно в качес гве имени сир гемы укатать сот ветствующии порт. Когда выполнено подключ! пне к другой диоанционной системе, си разветвляется на два процесса: один считывает информацию, пришедшую через порт, и записывает ее на терминал, другой, наоборот, счиз ывает информацию е з ерминала и записывает ее на заданный порт. В арсенале си имеется несколько команд, применяемых при подклю ченни. Команды начинаются с управляющего символа (гильда) ~. Этот символ распо знается только в начале строки и должен быть введен дважды. Все команды представ- ляют из себя или единс гвеншй символ, или слово, начинающееся со знака процента %. Основные хоманд ь. Прерываем диалог систем. — * command Запускает команду command в командном процессоре, или в оболочке. command Запускает команду command и направляет стандартный вывод на дис- танционную систему. ~| command Запускает команду command, принимая стандартный ввод с дистанци- онной системы. —ь command Запускает команду command, принимая стандартный ввод с дистанцион- ной системы и направляя на нее, в свою очередь, стандартный вывод. ~%break Посылает сигнал прерывания, если это возможно. ~с directory, ~%cd directoiy Меняет локальный каталог. ~>file Посылает файл/?/? на дистанционную систему: предполагается, что она ожидает этого. Получает файл от дистанционной системы. Возникает приглашение, по- зволяющее ввести локальное имя файла, а также команду, которая дол- жна быть выполнена на дистанционной системе, чтобы начать передачу файла. Прием информации будет продолжаться до появления перемен- ной eofread. ~р from to, ~%put from to Копирует файл from локальной системы в файл to дистанционной Un’x- системы, при этом запускаются соответствующие команды на дистан- ционной системе. ~t from to, ~%take from to Копирует файлfimi дистанционной Unix-системы в файл to локальной системы, при тгом запускаются соответствующие команды на дистан- ционной системе. ~s variable value Устанавливает переменную variable в значение value. Если value от- сутствует, переменная variable устанавливается в значение true ~! variable Устанавливает переменную variable в значение false
1 fif) II Команды ~z Приостанавливает сессию у 1 или i ы си ч го поддерживав!ся лишь на не- которых системах ~%nostop Отключает поддержку XON/XOFF. ~%stop Включает поддержку XON/XOl F (передача в режиме ciapi сюп). —v Распечатывает все переменные и их значения. —? Распечатывает все команды. Утилита си также поддерживает несколь- ко переменных, которые могут быть распечатаны с помощью команды ~v и установлены с помощью —s или -!. escape Назначает управляющий символ (но умолчанию тильда ~). delay Если эта переменная истинна (true), си выполнит задержку после рас- познавания управляющего символа до печати имени локальной систе- мы По умолчанию принято значение true. echonl Этот символ должен быть обнаружен в конце каждой передаваемой с тро- ки файла. По умолчанию принят возврат каретки. timeout Задает тайм-аут в секундах. Может быть установлен при поиске симво- ла echonl. По умолчанию принято значение 30. eofwrite Строка, записываемая при получении файла с помощью команды ~>. Означает конец отправляемого файла. По умолчанию принята ЛГ eofread Строка, отыскиваемая при получении файла с помощью команды Означает конец принимаемого файла. По умолчанию принята $, что со- ответствует типичному приглашению оболочки. Команда си использует несколько опций (options). Опции -е, —parity=even Устанавливает проверку на четность. -о, —parity=odd Устанавливает проверку на нечетность. --parity-попе Никакой контроль не выполняется, даже если заданы обе опции —е и -о. —nostop Отключает поддержку XON/XOFF (по умолчанию). -z system, —system system Указывает систему system для вызова. -с phone-number, —phone phone-number Указывает номер телефона phone-number для вызова. -р port, —port port Указывает имя используемою порта. -1 line, line line Указывает линию, гадавая нмя.специальною файла устройства. Эю мо- жет быть необходимо, если в конфшурацпонных файлах I I СР ог • I-
II. Команды 167 с гну ют необходимые описания. Обязательно нужно иметь доступ на за- пись к этому уст ройству. - s speed, —speed speed Задает используемую скорость. - d, —debug all Вводит режим отладки. Для программы си наиболее существенны не- сколько режимов (см. -х type). - х type, —debug type Включает отладочные режимы, задаваемые с помощью списка type. Отдельные режимы отделяются друг от друга посредством запятой. Ниже приводятся некоторые отладочные режимы: abnormal проверка ненормального завершения chat проверка сценария подключения к дистанционной сис- теме handshake проверка подключения к дистанционной системе incoming проверка входящих сообщений outgoing проверка исходящих сообщений - v, — version Выводит информацию о версии программы и завершает ее работу. —help Выводит подсказку и завершает работу программы. Пример Чтобы подключиться к системе, чей телефонный номер равен 9 1305 777 5678 (гудок ожидается после 9), на скорости 38400, следует задать такую команду: cu —S 38400 9=13057775678 cut - записывает на стандартный вывод выбранные части строк каждого заданного файла. Синтаксис cut [option]...[file]... Если в командной строке отсутствуют имена файлов или в качестве имени опреде- лен дефис, производит обработку стандартного ввода. В качестве параметров, определяющих части строк, используются следующие спис- ки: byte-list список байт character list список символов field-list список полей В списках могут содержаться один или более номеров или диапазонов, разделен- ных запятыми. Каждый диапазон представляет из себя два числа, разделенных дефи- сом. Байты, символы и ноля нумеруются, начиная с 1. Могут задаваться неполные ди- апазоны: так -Nозначает 1-М неполный диапазон N- распространяется до конца строки или до последнего поля.
168 II Команды Опции -b byte-list, — bytes= byte-list Печатает только байты из позиций, указанных в списке. Символы Tab (табуляция) и backspace (возврат на символ) трактуются подобно дру- гим символам и занимают один байт. - с character-list, characters- character-list Печатав! только символы из позиций, указанных в списке. С одной сто- роны очень подобна опции -Ь, но в случае интернационализации будет отличаться. - f field-list, —fieids- field-list Печатает только поля, перечисленные в списке. По умолчанию поля разделяются символами табуляции. - d input delim byte, —delimiter^ input delim byte Указывает разделитель полей входного файла вместо используемого по умолчанию символа табуляции. Применяется совместно с опцией -f. - п Не разбивает на части многобайтовые символы. — s, —only-delimited Не печатает строки, в которых отсутствует разделитель полей. Приме- няется совместно с опцией -f. -oMpui-delimiler=output_delini_string Разделяет указанным разделителем поля выходного файла. Применя- ется совместно с опцией -f. По умолчанию используется разделитель полей входного файла. Пример $ cut -d: -fl,5 /etc/passwd root:root bin:bin daemon :daemon adm:adm lp:lp synczsync shutdown:shutdown halt:halt mail:mail news:news uucp:uucp operator:operator games:games gopher:gopher ftp:FTP User nobody:Nobody xfs:X Font Server gdm: Sofia:sklovska ja misha:mishael S Здесь выводятся первое и пятое поля файла passwd, тс список идентификаторов и имен пользователей. В качестве разделителя используется двоеточие обычный ва- риант в Unix.
II. Команды 169 CVS осуществляет управление версиями. Синтаксис cvs (cvsoptionj cvs_conunand [conunand_option] [ command args] CVS (Concurrent Version System система действующих одновременно версий) одна из систем управления версиями. Система CVS, подобно RCS, позволяет держать старые версии файлов, а также регистрировать, кто, когда и какие произвел изменения. В отличие от других подобных систем CVS одновременно работает не только с одним файлом или каталогом она манипулирует иерархическим набором каталогов, содер- жащих версии файлов. CVS позволяет организовать параллельное редактирование ис- ходных текстов сразу несколькими пользователями и даже через сеть. В отличие от RCS ей нет необходимости блокировать файлы, если их требуется отредактировать. CVS хранит копии всех управляемых ею файлов и каталогов в депозитарии (храни- лище). Обычно пользователь не имеет прямого доступа к файлам хранилища, вместо этого он использует команды cvs command, чтобы получить копии своих файлов в рабочий каталог, а затем редактировать их. Команды CVS применяются с опциями command option, которые не следует путать с опциями самой CVS (см. cvsoption), и аргументами command args. Следует отметить, что хранилище - это не подкаталог рабочего каталога, скорее наоборот, они должны располагаться раздельно. Депозитарий CVS может располагаться на локальном компьютере, на компьютере в соседней комнате (обращение через локальную сеть), в другом конце земли. Для ука- зания различных методов доступа к хранилищу само имя может начинаться с компонента, определяющего "методдоступа". Например, выражение :local:/usr/Iocal/cvsuser озна- чает, что хранилище располагается в /usr/local/cvsuser на компьютере, где запущена CVS. Если метод доступа не указан и даже впереди отсутствует двоеточие, подразуме- вается :1оса1:, а если двоеточие все же присутствует, то предполагается выражение text: или :server: в зависимости от используемой платформы. Копии исходных файлов и хранилище могут располагаться на разных компьютерах Тогда CVS применяется в архитектуре "клиент/сервер". Пользователь может запустить CVS на машине, на которой смонтирован его рабочий каталог, известный как "клиент", может подключиться к машине, на которой смонтировано хранилище, известное как "сервер" А вообще методы работы с локальным и дистанционным хранилищами ана- логичны, отличаются лишь форматы имени депозитария: : METHOD: USER? HOSTNAME: /ра th / to/ repository Опции CVS (cvs_option) -H [-help] Выводит подсказку по каждой указанной команде cvs command. Если имя конкретной команды не указано, будут выводиться подсказки но всем доступным командам. _q Устанавливает режим молчания, информируя лишь в случае серьезных проблем. q Вывод информационных сообщений частично подавляется. Не пропс ходш вывод сообщений о рекурсиях через подкаталоги.
170 II Команды -b bindir Подавляет установленное значение переменной окружения R< SBIN, используя bindir в качестве каталога, 1де расиолатаются пршраммы RCS (CVS 1.9 и более старые версии). Это значение определяется как абсолютный маршрут. -d CVSrootdirectory Подавляет установленное значение переменной окружения CVSROGT, используя CVS root directory для определения местонахождения глав- ного хранилища исходных кодов. Эго значение определяется как абсо- лютный маршрут. - е editor Перекрывает значения переменных окружения CVSED1TOR и EDITOR, используя указанный редактор editor для ввода информации о версии. - f Не производит чтение файла -Z.cvsrc. - 1 Не регистрирует команду cvs command в протоколе команд, хотя и вы- полняет ее. - п Не выполняет никаких команд, лишь выдает сообщения, которыми сопровождалось бы их выполнение. - t Пошагово трассирует выполнение программы. - г Переводит новый рабочий файл в режим "только для чтения", действуя подобно установке переменной окружения CVSREAD. v[ version] Выводит информацию о версии и о "copyright" (право на копирование) ДЛЯ CVS. - w Переводит новый рабочий файл в режим "чтение-запись" (по умолча- нию), перекрывая установку переменной окружения CVSREAD. - х Выполняет шифровку информации передаваемой между клиентом и сер- вером (пока только доступно для соединения Kerberos). - z compression level Использует указанный уровень сжатия compression level программы gzip, упаковывая и распаковывая файлы при передаче их по сети. Трепе ет наличия программы GNU gzip по текущему маршруту поиска на двух связываемых сторонах. Ниже приведены пять наиболее часто используемых команд CVS: cvs checkout modules... используйте эту команду для создания копии исходных файлов modules (набор поименованных исходных текстов); всегда создается, по мень- шей мере, один уровень подкаталога cvs update выполняйте эту команду, если вы желаете обновить конин ваших исход- ных файлов в соответс|вии с изменениями внесенными тугими по.чыо- вателями в исходные файлы хранилища cvs add file... используйте эту команду для регистрации новых файлов в таннсях os вашего рабочего каталога; сами файлы будут чоиавиены в хранилище в следующий раз при запуске команды cvs commit
II. Команды 171 admin annotate diff edit editing export history import init log login logout rdiff release rlag status cvs remove file используйте эту команду для объявления файлов file, которые вы жела- ете убрать из хранилища; собственно удаление будет осуществлено, koi - да вы запустите команду cvs commit cvs commit file... используйте эту команду, когда вы желаете уведомить друт их разработ- чиков о внесенных вами изменениях Необходимо помнить, что в командной строке собственно опции команды cvs рас- полагаются слева, а опции команд cvs справа от самих cvs-команд. Обычно при старте cvs считывает файл .cvsrc, находящийся в исходном каталоге пользователя, хотя опция -f отключает эту особенность. Файл .cvsrc содержит по од- ной команде CVS в каждой строке со списком аргументов. Например, если в этом фай- ле встретилась строка diff -I, это означает, что всегда будет выполняться команда cvs difI с опцией -1 помимо других опций, указанных в командной строке. Упомянутая оп- ция распространяет действие diff лишь на файлы локального каталога без каких-либо рекурсий, даже если имеются подкаталоги. Далее приведены остальные команды cvs: выполняет функции управления: непосредственно вносит изменения в хранилище, используя рабочий каталог, но не меняя его аннотирует каталоги и файлы по указанным версии и дате показывает различия между файлами рабочего каталога и исходного хранилища или между двумя версиями хранилища позволяет выполнять редактирование наблюдаемого файла позволяет увидеть, кто редактирует наблюдаемый файл экспортирует исходные файлы CVS подобно тому, как это делает checkout показывает протокол доступа в хранилище импортирует исходные файлы в CVS создает хранилище CVS, если оно до этого не существовало распечатывает "историю" файлов приглашает ввести пароль для аутентификации при подключении к сер- веру удаляет элемент, описывающий дистанционное хранилище создает patch (заплату) формата diff для воплощения различий между двумя версиями отмечает, что указанные каталоги не используются, и может их удалить (опция -d) добавляет к модулю символический тег выводи! информацию состояния выбранных файлов: последнюю вер- сию, версию и рабочем каталоге добавляет символический тег к извлекаемой версии файлов
172 II Команды unedit отменяет действие предшествующей команды редактирования update приводит ваш рабочий катало! в соогвеютвие с изменениями, прове- денными в хранилище; автоматически проводится слияние, когда это возможно watch включает/огключаег режим обрабатываемого файла "только для чте- ния", добавляет/удаляет ряд возможных действий watchers уст анавливает или отключает рекурсивную обработку каталогов Ниже описаны comniandoption, доступные нескольким cvs-командам. Каждая оп- ция поддерживается для тех команд, где эго имеет смысл. -D date_spec Использует версии с датой не позднее, чем указано спецификацией datespec. -f Если вы указываете дату и тег (этикетку) в командах cvs, то обычно игнорируюет файлы не соответствующие этим условиям. При исполь- зовании опции -f сохраняет даже те файлы, которые не соответствуют заданным условиям. - Н Помошь: описывает опции, доступные для этой команды. - k kjlag Назначает альтернативу обрабатываемым по умолчанию ключевым сло- вам. cvs связывает выбранный пользователем kflag с файлами и про- должает его использовать с командами update с теми же самыми фай- лами, пока не будет задано что-либо другое. Флаги -ко и -kb наиболее полезны для бинарных файлов. - 1 Выполняет обработку только в текущем рабочем каталоге без рекур- сий через подкаталоги. - п Не запускает ни одну из следующих программ: checkout, commit, tag. update. - P Удаляет каталоги, ставшие пустыми после проведения обновления с помощью checkout или update; если указывается опция -Р, каталоги будут "молча" (без всяких сообщений) удалены из области извлекае- мых копий пользователя, но не из их хранилища; эта опция подразуме- вается при задании команд checkout и export с опциями -г и -D. - р Направляет файлы, извлеченные из хранилища, на стандартный вывод вместо того, чтобы записывать их в текущий каталог доступна с ко- мандами checkout и export. - г tag Вместо заданной но умолчанию использует версию, определяемую tag; следует отметить, что всегда доступны два специальных гега: HEAD определяет самую последнюю версию в хранилище. BASE последнюю извлекаемую версию текущего рабочего каталога. Если вы используе- те эту опцию с командами cvs checkout или cvs update, чтобы создать собственную копию файла, cvs запоминает этот tag и продолжает при менять его с командами update до тех пор, пока не будет указано что- либо другое.
II Команды 173 конвертирует пакетные файлы Usenet в формат INN. cvtbatch Синтаксис cvtbatch [-w items] Программа cvtbatch считывает содержимое стандартного ввода как набор строк, затем конвертирует каждую строку и записывает ее на стандартный вывод. В результа- те обычные пакетные файлы, содержащие наименование стат ьи, будут преобразованы в пакетные файлы INN, или InterNetNews, которые содержат дополнительную инфор- мацию о каждой статье. Каждая строка рассматривается как маршрут к статье Usenet. Впрочем, это не аб- солютный маршрут, он берется по отношению к каталогу снула. Анализируется только первое слово каждой строки, все остальное игнорируется. Опции -w items Указывает, как будет записываться каждая выходная строка; значения items выбираются из приведенного ниже набора: b размер статьи в байтах f полный маршрут к статье m идентификатор сообщения, содержащего данную статью п относительный маршрут к статье Если входной файл включает набор идентификаторов сообщений, то используется команда grephistory с флагом -s, передающая информацию по конвейеру команде cvtbatch. cxpm - осуществляет проверку файла формата ХРМ Синтаксис схрш [ZiTenarae] Файл формата ХРМ может быть использован для хранения большого, высокого разрешения изображения с большим количеством цветов. Графический файл формата ХРМ (X PixMap) представлен в виде исходного кода на языке С. Поэтому вы можете откомпилировать его непосредственно в программу' пли использовать файл формата ХРМ независимо. Этот формат позволяет использовать ваш текстовый редактор для создания и модификации несложной цветной графики. Команда cxpm распечатывает сообщение, указывающее, где синтаксический анализатор обнаружил ошибку
174 II Команды date распечатывает и устанавливает системную дату и время. Синтаксис date (option]...]+/orr?at) date [ option] [nunddJiJumii[ [ ccjyy] [ .ss] Распечатывает текущее время в заданном формате format или устанавливает сис- темную дату, последнее может выполнять только суперпользователь. Опции -d, —date=s/rij?g Выводит не текущее время, а описанное строкой string. -f, —fde=datefile Работает подобно опции -d, но с каждой из строк файла datefile. -I, -iso-8601 [=TIMESPEC] Выводит строку дата/время в формате ISO-8601. Если TIMESPEC=date или отсутствует, выводится только дата. Если параметр TIMESPEC устанавливается в одно из следующих значении hours (часы), minutes (минуты) или seconds (секунды), - выводится дата и время с указанной точностью. Если TIMESPEC устанавливается в значение auto (по умолчанию), печатается текущая дата. -г, —reference=y?/e Выводит время последней модификации файла file. -г, —refcrence=/i/e Выводит время последней модификации файла fde. -R, —rfc-822 Выводит дату в стандарте RFC-822. -s, — set=slrmg Устанавливает время, описанное string. -u, —utc, —universal Распечатывает или устанавливает время в формате UTC (Coordinated Universal Time - согласованное универсальное время). —help Выводит вспомогательную информацию о программе и завершает ее работу. —version Выводит информацию о версии npoi раммы и завершает ее работу'. Управление выводом производится с помощью опции format, интерпретируются следующие последовательности: %% литерал % %а сокращенное локализованное название дня недели: Sun (воскресенье). Sat (еуо- бота)
II. Команды 175 %А полное локализованное название дня недели: Sunday (воскресенье),. Saturday (суббота) %Ь сокращенное локализованное название месяца: Jan (январь), ... Dec (декабрь) %В полное локализованное название месяца: January (январь), ... December (де- кабрь) %с локализованные по местному времени дата и время: Sat Dec 18 12:08:37 EST 1982 %d день месяца: 01 ..31 %D дата: mm/dd/yy (где mm месяц, dd - день, уу - год) %е день месяца: 1 ... 31 %h то же, что и %Ь %Н час в 24-часовом формате: 00 ... 23 %1 час в 12-часовом формате: 01 ... 12 %j день года: 001 ...366 (юлианская дата) %к час в 24-часовом формате без предшествующих нулей: 0 ... 23 %1 ч^с в 12-часовом формате без предшествующих нулей: 0 .. 12 %т номер месяца в году (двузначное число): 01 ... 12 %М минута: 00 ... 59 %п символ новой страницы: newline %р локализованное время AM (до полудня) и РМ (после полудня) %г время 12-часового формата: hh:mm:ss[AP]M %s количество секунд, прошедшее с 00:00:00 часов 1 января 1970 года (ЦТС) %S секунда: 00 ... 60 %t символ горизонтальной табуляции %Т время в 24-часовом формате: (hh:mm:ss) % U номер недели в году' с воскресеньем в качестве первого дня недели: 00 .53 %V номер недели в году с понедельником в качестве первого дня недели: 01 ... 52 %w день недели: 0 ... 6, где 0 представляет воскресенье %W номер недели в году с понедельником в качестве первого дня недели 00 . 53 %х локализованное представление даты: mm/dd/yy %Х локализованное представление времени: %H:%M:%S %у две последние цифры года: 00 . 99 %Y год: 1970 ... %Z часовой пояс или ничего, если часовой пояс не определен, например, EDT %z числовой стиль часового пояса в стандарте RFC-822; например. -0500
176 II Команд^ root@locaihost.localdomain: /root | (Пайл Правка Settings Справка [rootBlocalhost /root I# date —rfc Cet, 3 Июн 2000 16:49:32 +0300 [rootGlocalhost /root]# date +/d//n -d "Jul 5" 05/07 [rootBlocalhost /root]# date +/-d//-n -d "Jul 5" 5/7 [rootBlocalhost /root]# date +Z_d/X_n -d "Jul 5“ 5/ 7 CrootBlocalhost /root]# | По умолчанию date заполняет числовые ноля нулями и распознаег следующие чис- ловые модификаторы между символом % и числовой дирек1ивой' (.дефис) не производи, заполнения ноля _ (.подчеркивание) заполняет поле пробелами Примеры Следующие примеры демон- стрируют разницу при использо- вании допустимых модификато- ров. В локализованных версиях дату можно получить на языке своей локал и. Суперпользователь может ус- танавливать дату и время. При за- дании даты в числовом формате применяется строка mmddHHMMyy, где mm - месяц, dd - число, НН - час, ММ - минуты уу - две последние цифры года. dd - копирует файл, выполняя указанные преобрьзеьания Синтаксис dd [option]— По умолчанию копирует файл стандартного ввода на стандартный вывод, меняя раз- мер блока и выполняя указанные преобразования. Опции Вместо стандартного ввода считывает указанный файл. o[=file Вместо стандартного вывода записывает обработанную информацию в указанный файл. ibs=bytes Считывает за раз указанное число байт (устанавливает размер буфера операции чтения). obs=Z>y/es Записывает за раз указанное число байт (устанавливает размер буфера операции записи). bs=bytes Считывает и записывает за раз указанное число байт. Эта опция пере- крывает опции ibs и obs. cbs=bytes Конвергирует за раз указанное число байт. counl=blocks Копирует из входного файла лишь указанное число блоков, не доходя до его конца. skip -blocks Пропускает перед записью укаганнос число блоков входного файла.
II. Команды 177 seek—blocks Пропускает перед копированием указанное число блоков в выходном файле. conv-conversion[^.-onversion]... Конвертирует файл в соответствии с элементами списка, разделяемы- ми запятыми. До и после запятой не должны встречаться пробелы. Ар- гументы conversion могут принимать следующие значения: ascii конвертирует из формата EBCDIC в ASCII ebcdic конвертирует из формата ASCII в EBCDIC block из каждой строки входного файла записывает в выходной количество байт, указываемое опцией cbs, замещая newline пробелом и выполняя заполнение пробелами, если это не- обходимо unblock замещае т завершающие пробелы каждого блока, размер которого указывается опцией cbs, входного файла на newline (символ новой строки) lease конвертируя, меняет прописные буквы на строчные ucase конвертируя, меняет строчные буквы на прописные swab меняет местами байты в каждой паре входных байт; если считывает нечетное число байт, последний байт просто копирует поеггог продолжает обработку после ошибки чтения notrunc не усекает выходной файл sync заполняет завершающими нулевыми байтами каждый вход- ной блок до размера, задаваемого опцией ibs debugfs - отладчик файловой системы ext2. Синтаксис debugfs l-b blocksize] [-s superblock] (-f crodfifeH-R reguest][-V] [[-wH-cH-illdevice]] Программа debugfs может быть использована для проверки и внесения изменений в файловую систему ext2. Аргумент device- специальный файл устройства, содержа- щего файловую систему (/dev/hdXY). Опции с Указывает, что файловая система должна быть открыта в аварийном режиме ("только для чтения"), в начале которого нс считываются бито- вые массивы индексных дескрипторов (см. в листинге примера элемен- ты inode bitmaps) и групп блоков (ем. в листинге примера элементы block bitmaps). Эта опция применяется для файловых систем с суще- ственными повреждениями.
178 II Команды -i Указывает, что устройство представляет файл-обрал ext2, созданный с помощью программы e2iniage. Поскольку такой файл-обра» только содержит суперблок, дескриптор группы блоков, битовые массивы par мещения блоков и индексных дескрипторов файлов, а также таблицу дескрипторов файлов, многие команды интерактивного отладчика debugfs не будут функционировал ь должным образом. -b blocksize Заставляет использовать для файловой системы заданный размер бло- ка вместо определения его фактического размера. -s superblock Вынуждает считывать суперблок данной файловой системы с блока указанного номера superblock вместо принятого по умолчанию. Если задается опция -s, также должна присутствовать опция -Ь. -w Указывает, что файловая система может быть открыта в режиме "чте- ние-запись"; без этой опции она будет открыта в режиме "только для чтения". -f emdJile Вынуждает debugfs считывать команды из файла emdJile и выполнять их; после выполнения этих команд работа debugfs завершается. -R request Вынуждает debugfs выполнить единственную команду request, после чего debugfs завершается. -V Выводит версию debugfs и завершает ее работу. debugfs - интерактивный отладчик, понимающий следующие команды: cat filespec выводит на стандартный вывод дамп содержимого индексного де- скриптора filespec cd filespec меняет текущий рабочий каталог на каталог filespec chroot filespec меняет каталог root (суперпользователя) на каталог filespec close закрывает в настоящее время открытую файловую систему clri file очищает содержимое индексного дескриптора файла file dump [-р] filespec outJile выводит в файл outJile содержимое индексного дескриптора filespec', если задана опция -р, устанавливает владельца, группу и проч) ю свя- занную с полномочиями информацию файла outJile в соответствии с аналогичной информацией filespec expand dir filespec расширяет каталог filespec feature [/sJeature][-fsJeature] ... устанавливает или очищает в суперблоке ряд особенностей (cboHcib) fs_feature файловой системы, после чего распечатывает текущий на- бор установок find free block [goaf], fib [gon/] ищет первый свободный блок, начиная с goal, и расиречеляет его
II. Команды 179 find free inode [тЛфиги/е]], ffi [c//r[wiot/ej] ищет свободный индексный дескриптор и распределяет его; аргумент dir задает дескриптор каталога, из которого распределяется дескрип- тор, второй необязательный аргумент mode определяет полномочия но- вого дескриптора freeb block [соплг] помечает указанный блок как нераспределяемый; если присутствует необязательный аргумент сопи/, отсчитывает заданное количество бло- ков count, начиная с блока за номером block freei filespec освобождает заданный дескриптор filespec help печатает список команд filespec icheck block... печатает список дескрипторов, которые используют один или более блоков block, указываемых в командной строке init filesys device blocksize создает файловую систему ext2 на устройстве device с размером блока blocksize', при этой инициализации только создаются суперблок и де- скрипторы блоков; для полной инициализации всех структур данных сле- дует вызвать mke2fs kill file filespec освобождает дескриптор filespec и его блоки, но эта операция не уда- ляет элементов каталога с заданным значением дескриптора led directory меняет текущий рабочий каталог на указанный каталог файловой систе- мы In filespec destJile создает поименованную ссылку dest Jile на файл filespec logdump [-ac][-b b!ock][-\ inode] [-f journalJile\\outputJile] выводит дамп содержимого журнала файловой системы ext3 в указан- ный файл output Jile Is [-l][-d] filespec печатает список файлов каталога filespec, флаг -d вынуждает распеча- тывать удаленные элементы данного каталога modifyinode filespec, mi filespec модифицирует содержимое структуры дескриптора filespec mkdir filespec создает каталог filespec mknod filespec [p|[[c|b] major minor]] создает специальный файл устройства по имени filespec, где опция р задает именованный канал, опция с символьно-специальный файл, b блочно-специальный файл; если требуется создаль блочно пли символь- но-специальный файл, необходимо указать major (главный) и minor (до- полнительный) номера устройства
180 II Команды ncheck inode пит берег указанный список значений дескрипторов. mode пит.н печатает список маршрутов к зт им файлам open |-w][-f][-i][-c][-b blocksizc][-s superblock] device открывает файловую систему на устройстве device для редактирова- ния, флаг -w определяет режим записи; опция -f способствует принуди- тельному открытию файловой системы в том случае, когда существу- ют ее определенные свойства, препятствующие открытию; опции -с, -b. -i и -s считать такими же, как у самой debugfs print working directory, pwd распечатывает текущий рабочий каталог quit, q выходит из программы debugfs rdump directory destination рекурсивно направляет дамп каталога directory и все etc содержимое (обычные файлы, символические ссылки и другие каталоги) в поиме- нованное место destination, в качестве которого может служить суще- ствующий каталог файловой системы rm pathname освобождает связь (ссылку) pathname', подобна системному вызову unlink rmdir filespec удаляет каталог filespec setb block [count] помечает блок за номером block как распределенный; если присутству- ет необязательный аргумент count, блок за номером count, начиная с блока за номером block, будет помечен как распределенный seti filespec помечает индексный дескриптор filespec как использованный в бито- вом массиве индексных дескрипторов set super value field value устанавливает поле field, принадлежащее суперблоку, в значение value; список полей суперблока, которые можно установить с помощью рас- сматриваемой команды, рекомендуется вначале распечатать с помощью команды set super value -I show super stats [-h], stats [-h] выводит содержимое суперблока и дескрипторов группы блоков: если задан флаг -h, распечатывает только содержимое суперблока stat filespec печатает содержимое структуры дескриптора filespec testb block [count] проверяет, не отмечен ли в битовом массиве блоков блок за номером block в качестве распределенного; если присутствует необязательный аргумент count, отсчитывает count блоков, начиная с блока за номером block testi filespec проверяет, отмечен ли указанный дескрии гор как распре деленный в би- товом массиве индексных дескрипторов
II. Команды 181 unlink pathname удаляет ссылку заданную в виде маршру га pathname к дескриптору write sourceJile out Jile создает в файловой системе файл по имени out Jile и копирует в него содержимое файла sourceJile list deleted inodes, Isdel распечатывает список удаленных индексных дескрипторов dirty filesys. dirty помечает файловую систему как "испорченную" Аргумент filespec может указываться в двух форматах. Первый формат предпола- гает число, окруженное знаками "меньше" и "больше", например <3>. Второй формат задает маршрут. Если маршрут начинается с прямого слэша, то он интерпретируется относительно каталога roof той файловой системы, которая открыта в настоящее вре- мя с помощью debugfs. В противном случае - относительно текущего рабочего ката- лога, установленного debugfs. Примеры Откроем файловую систему на устройстве /dev/hda2, распечатаем суперблок и груп- пы блоков. ♦ debugfs debugfs 1.32 (09-NOV-2002) debugfs: open /dev/hda2 debugfs: stats Filesystem volume name: / Last mounted on: <not available> Filesystem QUID: 0484f002-f13e-45c9-8044-c82a08f55487 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: hasjournal filetype needs_recovery sparsesuper large_file Default mount options: (none) Filesystem state: clean Errors behaviors Continue Filesystem OS type: Linux Inode count: 513024 Block count: 1024143 Reserved block count: 51207 Free blocks: 548151 Free inodes: 416869 First block: 0 Block size: 4096 Fragment size: 4096 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 16032 Inode blocks per group: 501 Filesystem created: Wed Apr 30 17:58:56 2003 Last mount time: Sun Oct 26 23:22:39 2003 Last write time: Sun Oct 26 23:22:39 2003 Mount count: 89
182 И Команды Maximum mount count: Last checked: Check interval: Reserved blocks uid; Reserved blocks gid: First inode: Inode size: Journal UUID: Journal inode: Journal device: First orphan inode: Wed Apr 30 17:58:56 2003 О (<none>) О (user root) 0 (group root) 11 128 <none> 8 0x0000 197204 Directories: 5785 Group 0; block bitmap at 2, inode bitmap at 3, inode table at 4 10525 free blocks, 14859 free inodes, 254 used directories Group 1: block bitmap at 32770, inode bitmap at 32771, inode table at 32772 14423 free blocks, 12770 free inodes, 275 used directories Group 2: block bitmap at 65536, inode bitmap at 65537, inode table at 65538 31021 free blocks, 8255 free inodes, 25 used directories - помогает разрешать проблемы, связан- ные с файловыми системами ReiserFS. debugreiserfs Синтаксис debugreiserfs (-dDJqpS][-j device][-b blocknumber] device Вызываемая с разными опциями, распечатывает суперблок, содержимое журнала, форматированные узлы внутреннего дерева файловой системы на устройстве device (обычно в разделе жесткого диска). Опции - j device Печатает содержимое журнала. А вместе с опцией -р разрешает упако- вать в архив журнал вместе с другими метаданными. - J Печатает заголовок журнала. - d Печатает форматированные узлы внутреннего дерева файловой систе- мы. - D Печатает форматированные узлы всех использованных блоков файло- вой системы. - b blocknumber Печатает указанный блок (по номеру) файловой системы. - р Находит метаданные файловой системы. В случае сбоя вы с помощью команды debugreiserfs -р /dev/xxv | gzip -с > xvx.gz сможете извлечь метаданные файловой системы, чтобы позже с помощью команды gunzip -cxxv.gz | unpack /dev/xxv создать подобную файловую снеге му.
II. Команды 183 Заставляет опцию -р работать с целым устройством, а не юлько с бло- ками, помеченными как использованные, в отсутс! вне опции -S. "Ч При использовании опции -р запрещает выводигь саму динамику про- цесса отладки. Пример # debugreiserfs /dev/loopO <---------------------------debugreiserfs, 2002------------------------> reiserfsprogs 3.6.4 Filesystem state: consistent Reiserfs super block in block 16 on 0x700 of format 3.6 with standard journal Count of blocks on the device: 10000 Number of bitmaps: 1 Blocksize: 4096 Free blocks (count of blocks - used [journal, bitmaps, data, reserved] blocks): 1788 Root block: 8211 Filesystem is cleanly umounted Tree height: 2 Hash function used to sort names: "r5" Objectid map size 2,max 972 Journal parameters: Device [0x0] Magic [0x692dll59] Size 8193 blocks (including 1 for journal header)(first block 18) Max transaction length 1024 blocks Max batch size 900 blocks Max commit age 30 Blocks reserved by journal: 1024 Fs state field: 0x0 sb_yersion: 2 inode generation number: 0 UUID: ef16d6fe-8778-4665-9677-385caed64b98 Set flags in SB: ATTRIBUTES CLEAN # Имя хэш-функции, по которой будет производиться сортировка имен файлов в ка- талогах, выбрано по умолчанию (г5). Размер блока в байтах составляет 4096, формат файловой системы - 3.6 со стандартным журналом. UUID данной файловой системы установлен в значение efl6d6fe-8778-4665-9677-385caed64b98 (см. команду uuidgen). Когда журнал расположен на основном устройстве, по умолчанию его размер состав- ляет 8193 блока, что имеет место в нашем случае. decryptdir выполняет дешифрирование всех файлов каталога Синтаксис decryptdir [dir]
1 84 П Команды Выполняет дешифрирование всех файлов заданною каталота dir или текущею ка- талога, если аргумент <йг отсутствует. При этом пользователь притлашается для ввода пароля; если введен неверный пароль, никакие действия не прои тводягся. В процессе дешифрирования суффикс .crypt будет удаляться из имен файлов depmod поддерживает описания зависимостей для загру- жаемых модулей ядра. Синтаксис depmod -[аА] [-einqsv Vr ][-С configfile][-F kernelsyms] [~b basedirectory] (forced version J depmod [-einqsv][-F kernelsyms] modulel.o module!.о ... Опции -а Производит поиск модулей во всех каталогах, упомянутых в конфигу- рационном файле /etc/modules.conf, и выводит результат в depfile, ука- занный в этом конфигурационном файле. - А Аналогична опции -а. но сначала сравнивает временные метки, прове- ряя, нуждается ли в обновлении depfile. - е Показывает для каждого модуля все неразрешенные символы (иденти- фикаторы). - I Игнорирует символические версии при построении списка зависимос- тей. Дело в том, что команды niodprobe и insmod не смогут загрузить модули в случае несовпадения версий. - п Записывает файл зависимостей на стандартный вывод вместо записи в дерево /lib/modules. - s Записывает все сообщения об ошибках через демона syslog вместо записи в стандартный файл ошибок. - v Выводит имя каждого обрабатываемого модуля. - q Игнорирует пропущенные символы (идентификаторы). - V Выводит версию программы depmod. - г По умолчанию не должен загружаться модуль ядра, владельцем файла которого не является суперпользователь. А поскольку модули ядра ча- сто компилируют непривилегированные пользователи, с помощью этой опции можно разрешить суперпользователю затружать модули, соб- ственником которых он не является. - b basedirectory Параметр hasedirectory сообщает depmod, где следует искать образ дерева /lib/modules.
П. Команды 185 - C configfile Использует configfile вместо файла /etc/moduies.conf, применяемого по умолчанию. Задать конфигурационный файл можно также с помо- щью переменной окружения MODULECONF. - F kernelsvms Указывает корректный набор kerneksyms, используемый для разреше- ния символов (идентификаюров) но каждому модулю ядра. В качестве такового применяется либо копия System.тар другого ядра, либо ко- пия вывода из /proc/ksyms. Обычно строку типа /sbin/depmod -а можно обнаружить в одном из rc-файлов из каталога /etc/rc.d, так что корректные зависимости модулей становятся доступными сразу же после загрузки системы. Впрочем, опция -а не является обязательной; в неко- торых случаях осознано задают опцию -q. df Синтаксис df [option]...[fife]... Если аргуменг/7/е - файл дискового устройства, содержащий смонтированную файловую систему, то df информирует о пространстве, доступном в этой файловой сис- теме. Без аргументов команда df сообщаег о дисковом пространстве, используемом и доступном во всех в настоящее время смон тированных файловых системах вне зависи- мости от их типов. Обычно размер пространства выводится в виде блоков по 1024 байт. Опции - a, —all Включает в листинг файловые системы нулевого размера, так называе- мые псевдосистемы. — h, —human-readable Добавляет к выводимому размеру соответствующую букву, например М, указывая размер в мегабайтах (1048576 байт) или других единицах. - Н, —si Тоже добавляет к выводимому размеру соответствующую букву, но ис- пользует Международную Систему Единиц, где применяются единицы измерения, кратные 1000, а не 1024. - 1, —inodes Информирует об индексных дескрипторах вместо привычной инфор- мации о блоках. Каждый индексный дескриптор содержит информа- цию о каком-либо файле: владелец, полномочия, временные метки и расположение на диске. - k, —kilobytes Выводит размер дискового пространства в виде блоков по 1024 бейт. - 1, —local Ограничивает листинг сведениями лишь о локальных файловых систе- мах. По умолчанию информирует также о дистанционных системах. - m, —megabytes Печатает размер в виде блоков по 1 мегабайту (1048576 байт). - выводит количество используемого и доступного К дискового пространства в файловых системах.
II Команды --no-sync Не использует системный вызов sync, чю существенно повышает быстродействие команды df в сист емах с несколькими дисками. Jia он ция используется по умолчанию. - Р, - portability Осуществляет вывод в формате POSIX. —sync Использует системный вызов sync, что оптимальнее лишь для некото- рых файловых систем (SunOS). - t ptvpe, - type- ptype Включает в листинг лишь сведения об указанных типах файловых сис- тем. По умолчанию информирует о всех типах файловых систем. - Т, —print-type Информирует о пше каждой файловой системе. Ниже приведены неко- торые типы: nfs любая файловая система, монтируемая через сеть с другой машины 4.2, ufs, efs файловая система на локально-монтируемом жестком диске hsfs, cdfs файловая система на устройстве CD-ROM pcfs файловая система MS DOS (обычно на дискете) -х ptype, — exclude-type= ptvpe Исключает из листинга сведения о файловых системах указанных ти- пов. Пример $ df -Т Filesystem Type lk-blocks Used Available Use% Mounted on /dev/hda5 ext2 1281816 963452 253252 79% / /dev/hdal vf at 308248 278792 29456 90% /fat /dev/fdO $ vfat 1423 1374 49 97% /nmt/floppy dialog позволяет создавать диалоговые окна из сценариев оболочек. Синтаксис dialog —clear dialog —create-rc file dialog —print-maxsize dialog common-options box-options Безусловно, вы можете написать виджет на языке С, используя, скажем, библиоге- ки GDK и GTKi. Такой виджет позволяет выводить разнообразные диалоговые окна. Но с помощью dialog вам многое уже досгунно из сценариев оболочек, или коман ь
II. Команды 187 пых процессоров: с помощью команды размером буквально в одну сгрочку можно вывести несколько сипов диалоговых окон. Базовые опции (common-options) acpect ratio Указывает номинальный размер (по умолчанию 9) строки приглашения. —backtille backtitle Указывает строку заголовка, выводимую наверху экрана. -beep Издает звуковой сигнал всякий раз, когда обновляется экран. beep-after Издает звуковой сигнал, если прерывается (через Ctrl+C) ввод. -begin г .т Задает положение на экране верхнего левого угла диалогового окна. --clear Очищает экран при выходе. Может использоваться как единственная опция. —cr-wrap Интерпретирует включенные в текст диалогового окна символы newline также, как символы newline на экране, в противном случае текст каж- дого диалогового окна отображается в виде одной строки. -create-rc file Выводит образец файла конфигурации в указанный файл file, если диа- логовое окно поддерживает конфигурацию времени выполнения. -help Печатает сообщение об использовании команды. -defaultno Создает по умолчанию ответ No для диалогового окна типа yes/no. --default-item string Устанавливает пункт меню, принимаемый по умолчанию, в окне. Обыч- но по умолчанию берется первый пункт меню. - no-kill Говорит dialog, что окно типа tailboxbg (см. опцию диалоговых окон —tailbox) следует поместить в фон, и направляет его идентификатор процесса в стандартный файл ошибок. Для фоновых процессов сигнал S1GHUP невозможен. -no-shadow Запрещает рисовать тени справа и снизу каждого диалогового окна. -nocancel Запрещает применять кнопку Cancel в проверяемых списках, в диало- говых окнах для ввода информации и окнах с меню. В сценариях можно лишь проверять, не нажал ли пользователь клавишу ESC. --print-maxsize Выводит максимальный размер диалоговых окон (размер экрана) в стан- дартный файл ошибок. Может использоваться как единственная опция. - print-size Выводит максимальный размер каждого диалогового окна в стандарт- ный файл ошибок. print-version Печатает информацию о версии dialog. Это может быть единственная опция. —shadow Рисует тень справа и снизу каждого диалогового окна. —size-err Проверяет размер каждого диалогового окна и печатает результат, если он больше размера экрана.
1 S Ь •• Команды —sleep secs После обрабоч кн окна выполняв г укачанную шдержку в секундах -title title Указывав! строку заголовка, отображаемую на вершине диалогового окна. Опции диалоговых окон (box-options) —checklist text height width list height [ tag item status ] ... Это окно с размерами height (высота) и width (ширина) и со строкой комментария text подобно окну с меню: многочисленные элементы, каж- дый из которых может быть включен или выключен (status соответ- ственно принимает значение on/off) пользователем, представлены в форме меню, высота которого list-height. При выходе будет распеча- тан список тэгов (tag) возвращаемых элементов. —gauge text height width percent Вдоль низа окна отображается индикатор (строка состояния) с процен- тами. Новые значения процентов считываются со стандартного ввода по одному в строке. Индикатор обновляется всякий раз. —infobox text height width Окно с сообщением для пользователя, после вывода которого dialog будет сразу завершена, хотя сообщение остается на экране —inputbox text height width [init] Окно ввода полезно, когда вы хотите задать вопрос и ожидаете, чтобы пользователь ввел строку ответа. Корректировать введенную строку можно с помощью клавиши BACKSPACE. Параметр init позволяет ини- циализировать входную строку. —menu text height width menu-height [ tag item ] Это окно размером heightxwidth предлагает меню высотой menu-height с возможностью выбора его пункта item с заданным тэгом tag. —msgbox text height width Окно для вывода сообщений с единственной кнопкой ОК, а в осталь- ном очень напоминает окно типа yes/no. —passwordbox text height width [mil] Подобно окну для ввода, но вводимый пользователем текст не отобра- жается на экране (полезно для ввода паролей). —radiolist text height width list-height [ tag item status ] ... Похоже на окно с меню, но вы можете указать свой текущий выбор, установив его статус па on. —tailbox file height width В этом диалоговом окне отображается текст из файла file, как по ко- манде tail -f. —textbox file height width В этом диалоговом окне от ображается текст из файла file. Пользова- тель может перемещаться по содержимому файла с помощью клавиш UP/DOWN. PGUP/PGDN и НОМЕ/» ND Клавший I » I WRIGHT по- зволяют прокручивать длинные с i роки по гори юн ниш
II. Команды 189 - textboxbg file height width В >том диалоговом окне оюбражассся текст нз файла/i/е, как пи ко- манде tail -f & (в фоне). —yesno text height width Диалоговое окно тина yes/но размером heightxwidth со строкой текста внутри. Такое окно полезно, если требуется задать вопросы с предпо- лагаемым ответом пита yes/no (да/nei). Пример $ diaulog —radiolist "my box" 25 25 10 1 change off 2 skip on 3 delete off diff - сравнивает содержимое двух файлов. rx Синтаксис diff [option] from-file to-file В простейшем случае сравнивает содержимое файлов/гош/т/е и to-file. Стандарт- ный файл ввода обычно обозначается дефисом. Если from-file является каталогом. а to-fde - нет, команда cliff попытается осыскшь в каталоге fivm-file и затем исилтьто-
190 и Команды вагь для сравнения файл с именем to-file И наоборот, если to-JHe являйся каталогом, a fiom-file нет, diff будет производить сравнение аналогичным образом. Ьсли from- file и to-file - каталоги, команд;! diff производит сравнение в алфавитном порядке co- ot ветствующих фай лов из этих кагалов ов. Особо следует сказать о символах "while space", к этому классу овносятся симво- лы горизонтальной и вер шкальной табуляции, новой строки, перевода (ввров она) стра- ницы. возврата каретки и пробелов. Опции -пит Отображает пит (целое число) строк контекста. Используется совме- стно с опциями -с и -и. -а, - -text Рассматривает сравниваемые файлы как текстовые, даже если они та- ковыми не являются, и производит построчное сравнение. -b, —ignore-space-change Игнорирует символы "white space" в конце строки и считает все после- довательности. состоящие из одного или более таких символов, экви- валентными. -w, —ignore-all-space Эта опция игнорирует разницу, даже если один из файлов содержит "while space" там, где другой вовсе не содержит. -В, -ignore-blank-lines При нахождении отличий игнорирует пустые строки в файлах. Эта опция действует лишь в том случае, если строки действительно пустые, а не выглядят таковыми, хотя содержат символы пробелов или табуляции -i, — ignore-case Игнорирует регистр букв. -1 regexp, -ignoie-matching-lines=regex/> Игнорирует строки, содержащие заданный шаблон regexp. В качестве шаблона обычно указывается регулярное выражение. -q, --brief Иногда важно знать, разнятся ли файлы, а смысл различий не столь су- щественен. В этом случае используют опцию -q. -у, —side-by-side Осуществляет вывод в два столбца. -е, --ed Создает сценарий редактора ed, преобразующий файл from-Jile в файл to-file. -f, — forward-ed Создает сценарий, подобный сценарию редактора ed. но о сражая изме- нения в порядке их появлений в файле. -п, --res Создает сценарий в формате RCS, преобразующий файлfrom-Jile в файл to-file. Очень напоминает формат, создаваемый с помощью опции -f. -W columns, —width-columns Параметр columns указывает количество символов в строке вывода, по умолчанию принят 130. --left-column Печатает только левый столбец двух общих строк.
II. Команды 191 suppress-common- lines He выводит общих строк. -1, —paginate Осуществляет постраничный вывод с помощью команды рг. -1, —expand-tabs Заменяет в выводе символы табуляции на пробелы. -Т. -initial-tab Вставляет символы табуляции в начало выводимых строк -s, —report-identical-files Сообщает, когда два файла одинаковы. -г,--recursive Рекурсивно сравнивает файлы в подкаталогах. - N, —new-file Рассматривает отсутствующие файлы как пустые. - Р, —unidirectional-new-file При сравнении каталогов, если файл появился только в одном каталоге полагает его пустым. - S file, — starting-file=/i/e При сравнении содержимого каталогов начинает с файла file. - d, —minimal Пытается найти наименьший набор отличий. Программа работает по дру- гому алгоритму сравнения, что существенно замедляет ее работу. - Н, —speed-large-ftles Ускоряет обработку больших файлов с многочисленными мелкими раз- личиями. - х pattern, —exciude=pattern При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена совпали с шаблоном pattern. - X file, — exclude-from=/i7e При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена совпали с любым из шаблонов, приведенных в файле/г/е. - и, -U пит, —unified[=num] Выводит пит строк унифицированного контекста - с, -С пит, —context[=num] Параметр пит определяет количество контекстных строк, выводимых при обнаружении отличий. Если пит отсутствует, выводятся три стро- ки. Для команды patch требуется как минимум две строки контекста - р, —show-c-function Показывает изменения в функциях языка С. -v, - vers'on Выводит информацию о версии программы. —help Печатает подсказку. Прьмеры Распечатаем содержимое файлов probal и proba2: $ cat probal BBS ddd
192 II Команды vvv ПШШ1 cccl $ cat proba2 sss ddd fff ШШП ccc2 $ А теперь сравним содержимое файлов probal и proba2, используя опции -f. -n. -е Сценарии, полученные с помо- щью опций -f и -е очень похожи, но корректировка содержимого файла probal в сценарии редактора ed как бы производится в обратном поряд- ке. В сценарии корректировки, со- зданном с помощью опции -п, явно указано число удаляемых и добавля- емых строк. = г )ot@l jcallio >t li-jceldcirnain. /root файл Правка Setting: Справка [rootBlocalhost /root]# diff -f prober proba2 c3 fff c5 ccc2 [rootGlocalhost /root]# diff -n probal proba2 d3 1 аЗ 1 fff d5 1 aS 1 ccc2 [roott? local host 'root]# diff -e probal proba2 5c ccc2 3c fff trootGlocalhost /root]# diff3 - производит сравнение трех файлов. Синтаксис diff3 [option] mine older yours Предположим, существовал оригинальный файл older, в который были внесены из- менения пользователем (вариант mine) и его другом (вариант yours). Собственно для регис трации таких изменений и предназначена команда diff3. Если вместо имени одно- го из файлов находится дефис, для сравнения используется стандартный ввод. В лис- тинге команды diff3 (по умолчанию без опций) можно встретить следующие обозна- чения: ==== все три файла различаются ===== 1 первый файл (mine) отличается от двух других ====2 второй файл (older) оз щчаегся от двух других ====3 третий файл (yours) отличается от двух других Осж вные опции -a, —text Рассмафииаег сравниваемые файлы как текстовые, даже если они та- ковыми не являются, и производит построчное сравнение. -A, —show-all Создает сценарий редактора cd, включающий все отличия or найден ных в файле older и до найденных н yours в файл mine, отмечая все конфликтные места (скобки).
II. Команды -е, —ed Создает сценарий редактора ed, включающий необьединяемые отли- чия от найденных в файле older и до найденных a yours в файл mine -Е, -show-overlap Аналогична опции -е, но в сценарии будут помечены все конфликты -х, —overlap-only Аналогична опции -е, но выводит только перекрыаающиеся различия. -X Аналогична опции -х, но помечает конфликты (скобки) подобно опции -Е. - 3, -easy-only Подобна опции -е, но выводит только неперекрываюшиеся различия. - i Добавляет команды w (сохранить) и q (выйти) а конец сценария редак тора ed - in,—merge Применяет сценарий редактирования к первому файлу (mine) и посыла- ет результат на стандартный вывод. - Т, —initial-tab Выводит в начало строки символ табуляции вместо двух пробелов. - V, --version Выводит информацию о версии программы. - help Печатает подсказку по опциям. -L label, —label=/aZ>e/ Использует метку' label вместо имен исходных файлов, отмечая разли- чия. Эта опция может быть применена трижды: соответственно для каж- дого исходного файла. Используется эта опция вместе с опциями -А, -Е, -X. Пример Распечатаем файл ргоЬаЗ, который понадобится вместе с файлами probal и proba2 (см. diff): $ cat ргоЬаЗ SSS ddd fff ТПТПТП сссЗ $ А теперь сраанимтри упомянутых файла. $ diff3 proba2 probal ргоЬаЗ ====2 1:3с 3:3с fff 2:3с VVV 1:5с ссс2 2:5с ССС1 3:5с сссЗ $
194 II Команды uip - программа поддержки IP-подключений по телефон- ным каналам. Синтаксис dip [“V][-m proto] scriptfile dip -t (-v] dip -i [-a][-v] diplogin [username] diplogini dip [-v] -k [-1 tty_line] Протоколы SLIP и PPP обеспечивают подключение к Internet через недоро! ие ка- налы последовательной передачи данных. Последовательная связь проста в обраще- нии, и все большее количество организаций подключается к Internet через телефонные линии. Существует специальное программное средство, позволяющее автоматизиро- вать такие подключения. Это программа dip. Она может поддерживать входящие и исходящие подключения, используя пароль безопасности для входящих. Первый формат команды интерпретирует сценарий дозвона scriptfile и открывает IP-соединение. Опция -t запускает dip интерактивно. Команда dip -i поддерживает вхо- дящие подключения; diplogin эквивалентна команде dip -i, a diplogini - команде dip -i -а. Команда dip -к "убивает" существующий dip-процесс, закрывая соединение. Опции -а Приглашает ввести имя пользователя и пароль. -i Действует как сервер, обрабатывающий входящие подключения. -к "Убивает" dip-процесс, работающий на заданном устройстве tty line (см опцию -I). -I tty line Указывает линию tty_line, которая должна быть "убита". Эта опция обя- зательна, если задана опция -к. - m mtn Устанавливает максимальный размер передаваемого кадра. По умолча- нию равен 296 байт. - р proto Устанавливает протокол proto последовательной линии. Параметр proto может принимать одно из следующих значений: SLIP. CSLIP. PPP или TERM. - t Запускает dip в режиме тестирования. - V Устанавливает режим подробного документирования Предлагает раз- личные отладочные распечатки, включая аывод каждой строки сцена- рия программы chat (см. chat). Одно из возможных использований dip в качестве интеракзивной программы для установки исходящих IP-соединений. Этого можно достичь, вызвав dip с опцией -I Пользователю предлагается приглашение пршраммы 1)П’>.
II. Команды Второй путь использования dip инициировать исходящие подключения. Чтобы облегчить работу пользователей в этом случае, dip использует сценарий программы chat для установки связи с дистанционной системой. Единственным аргументом ко- манды dip является маршрут к месту нахождения сценария scriptfile. Если имя файла сценария не содержит никакого расширения, программа dip автоматически добавит суффикс .dip. Третий возможный путь использования dip - в качестве оболочки регистрации для входящих IP-подключений, используя SLIP и РРР на телефонных линиях. Для упроще- ния интеграции с существующими Unix-системами dip может быть легко инсталлиро- вана путем вызова по имени, определенному в файле /etc/passwd. Образец элемента файла может выглядеть примерно так: inuser: При регистрации пользователя программа login устанавливает его исходный под- каталог в каталоге /tmp и обращается к программе diplogin. Последняя является симво- лической ссылкой и запускает программу dip для входящих подключений. Программа dip обязательно просматривает файл /etc/diphosts в поисках элемента, соответствую- щего имени пользователя. Строки этого файла напоминают строки стандартного файла паролей. Любая строка, начинающаяся с символа #, является комментарием. Обычно каждая строка содержит семь полей, разделенных двоеточиями. Первое поле содержит имя пользователя. Второе поле содержит пароль пользова- теля. Имя, или IP-адрес дистанционного узла, содержится в третьем поле, аналогично имя, или IP-адрес локального узла, - в четвертом. Сетевая маска в десятичной нотации содержится в пятом поле. Шестое — вообще не используется программой dip. В седь- мом поле содержится один из флагов, отделенный запятой от параметра MTLJ (по умол- чанию 296). Возможные значения флагов такоаы: SLIP, CSLIP, РРР. Ниже перечислены основные команды dip. Основные команды label'. Определяет метку. beep [times] Создает звуковой сигнал на терминале пользователя указанное парамет- ром times количество раз. break Посылает сигнал прерывания. chatkey keyword [value] Добавляет слова ответа к существующему для модема набору. config [interface|routing][pre|up|down|post]{a/gwme«w...} Хранит параметры конфигурирования интерфейса. databits 7|8 Устанавливает количество используемых бит в значение или 8. default В процессе подключения использует маршрут к дистанционному узлу, задаваемый по умолчанию. dial phonenumber [timeout] Набирает указанный телефонный номер phonenumber. Допускаемо. на- чете тайм-аута при подключении определяется параметром timeout По умолчанию timeout устанавливается в 60 секунд. Пршрамма dip
II Команды анализирует возвращаемую модемом строку и устанавливает следую- щие стандартные коды завершения: О ОК (все в порядке) 1 CONNECT (подключение) 2 ERROR (ошибка) 3 BUSY (телефонная линия занята) 4 NO CARRIER (отсутствует абонент) 5 NO DIALTONE (нет гудков) С помощью команды chatkey можно добавлять и менять эти коды. echo on|off Включает или отключает вывод модемных команд. flush Сбрасывает все введенное с терминала. get ^variable [va/»e|ask|remote[timeoi/Z_vo/we|SvarzahZe]] Получает или запрашивает значение переменной ^variable. Если вто- рым параметром является ask, выпечатывается приглашение и значе- ние переменной будет считываться со стандартного ввода; если этим параметром является remote, значение переменной поступает с дис- танционной машины. В противном случае второй параметр является либо константой, либо переменной, значение которой определяет value. help Распечатывает список команд программы dip. init init-string Определяет строку инициализации, посылаемую модему до звонка; по умолчанию принята следующая строка: АТЕО Q0 VI XI mode SLIP|CSLIP|PPP|TERM Задает используемый протокол; по умолчанию принят SLIP. modem modem-name Устанавливает тип модема; по умолчанию - HAYES. netmask ххх.ххх.ххх.ххх Указывает используемую сетевую маску. parity Е|O|N Устанавливает тип паритета: проверка на четность, нечетность или от- сутствие проверки. password Приглашает вводить пароль и передает его. print ^variable Печатает содержимое переменной ^variable port ttyname Устанавливает имя используемого терминального порта, предполага- ется маршрут /dev/. quit Завершается с ненулевым кодом. reset Переустанавливает модем, посылая +++ и затем ATZ (команды моде- ма).
II Команды 197 shell command [parameters] Выполняет команду command в оболочке, заданной но умолчанию, с параметрами parameters, передаваемыми а командной строке sleep time-in-secs Ожидает в течение периода, определяемого параметром time-in-secs (время задается в секундах). speed bits-per-sec Задает скорость передачи информации (но умолчанию 38400) через порт. stopbits 112 Устанавливает число стоповых бит. timeout time-in-sec Задает время тайм-аута, или время отсутствия активности линии, в се- кундах По концу периода dip прервет подключение и завершит свою работу. Ниже приведен перечень используемых переменных: Serrlvl результат выполнения предшествующей команды Slocip IP-адрес локального узла в десятично-точечной нотации Slocal полное имя локального узла Srmtip IP-адрес дистанционного узла в десятично-точечной нотации Sremote полное имя дистанционного узла Smtu MTU, максимальное число байт, передаваемое за один раз Smodem тип модема (пока задается только единственное значение - HAYES) Sport имя используемого терминального порта (предполагается маршрут/dev) Sspeed скорость передачи информации (бит/сек) между локальным узлом и модемом display - выводит изображение на любой экран рабочей станции под Х-серве;>ом. Синтаксис display (options...}file[[options...[file...] display - машинно-независимый процессор изображений, работающий со многими из наиболее популярных графических форматов. Благодаря display мы можем загру- жать изображение из файла и записывать изображение в файл, отображаз ь предшеству - ющие и последующие изображения, выводить последовательность изображений как слайд, копировать и склеивать области изображений, менять размер, вырезать и вра шать изображение. Вы также можете инвертировать цвета изображения, варьировать яркость и насыщенность цвета, выполия ть гисто! раммное выравнивание и нормализа- цию изображения, редактировать цвет пиксела и делать многое другое.
198 И Команды Баз< вые опции -backdrop color Ценгрируег изображение на "заднике'', покрывающем весь экран рабо чей станции. -background color Указывает цвет фона. -border widthxheight Окружает изображение цветной рамкой, используя геометрическую спецификацию (см. X). -bordercolor color Указывает цвет рамки. См. в X описание форматов используемых цве- тов. -borderwidth geometry Задает ширину рамки. -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное ви- деокэшу. Пока не будет задействовано 80 Мбайт памяти, пикселы изоб- ражения хранятся в памяти. Последующие операции с пикселами пере- носятся на диск. Если ваш компьютер не имеет достаточного количе- ства оперативной памяти, вы, возможно, захотите подстроить это зна- чение. -colormap type Устанавливает тип карты цветности. Если вы выбираете shared (по умол- чанию), изображение разделяет (совместно использует) цвет с други- ми Х-клиентами. Если вы выбираете private, возникают точно такие цвета, как были определены. -colors value Задает предполагаемое количество цветов для изображения (опция ограничения числа цветов). -colorspace type Устанавливает альтернативный тип цветового заполнения. На выбор пре- доставляются следующие типы: GRAY, ОНТА. RGB, Transparent. XYZ, YCbCr, YIQ, YPbPr, YUV или CMYK. По умолчанию ограничение цвет- ности имеет место в цветовом заполнении RGB Эта опция требует оп- цию -colors или опцию -monochrome. -comment string Назначает для изображения указанную строку комментария. -compress type Указываеттип сжатия изображения: None, BZip, Fax, Group4, JPEG. LZW, RunlengthEncoded или Zip. Эта опция обычно используется вместе с опцией -write. Для сохранения двоичного изображения без сжашя вы должны указать опцию +compress. -contrast Усиливает или снижает (-(-contrast) контрастность изображения. -crop width* height{+-}х offset {+- }у offset {%} Устанавливает предпочтительный размер и расположение усеченного изображения (сохранение его части и удаление оспика), используя ivo-
II Команды 199 метрическую спецификацию (см. X). Здесь width и height указывают размер оставшегося изображения, а смещения х offset и у offset - положение верхнего левого угла усеченною изображения относитеть- но оригинального изображения. Вы можете указать ширину или высоту в процентах, добавив %. -delay value Выводит после паузы следующее изображение последовательности. Аргумент value - это число сотых долей (1/100) секунды. Максималь- ная задержка достигает 65535 По умолчанию вывод осуществляется без задержки. -density widthxheight Задает горизонтальное и вертикальное разрешение в пикселах. Эта оп- ция указывает разрешение изображения, когда выполняется дешифри- рование страницы PostScript или переносимого документа. По умолча- нию принято значение, составляющее 72 пиксела на дюйм в горизон- тальном и вертикальном направлениях. Эта опция должна согласовать- ся с опцией -page. -despeckle Уменьшает зернистость изображения. -display host:display[.screen] Указывает Х-сервер для контакта (см. X). -dispose method Определяет метод диспозиции (расположения) для GIF-изображения: 0 расположение не указано 1 не располагает между кадрами 2 перекрывает кадр фоновым цветом из заголовка 3 перекрывает предшествующим кадром -dither Использует диффузию (рассеиаание) ошибки по Флойду/Штейнбергу (Floyd/Steinberg), улучшающую изображения, которые страдают от сжатия палитры. Эта опция требует опцию -colors или -monochrome. Базовая стратегия рассеивания состоит в том, чтобы создать простран- ственное разрешение путем усреднения интенсивностей нескольких соседних пикселов. -edge radius Обнаруживает контуры изображения внутри заданного радиуса. -enhance Применяет цифровой фильтр для улучшения качества зашумленного изображения. -filter type Указывает тип фильтра для изменения размера изображения: Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos (по умолчанию), Bessel. Sine -flip По щелчку создает зеркальное изображение в вертикальном направле- нии. -Пор Создаст зеркальное изображение в горизонтальном направлении.
200 Il Команд, -foreground color Определяет цвет переднего плана. См. в X описание форматов исио «ь- зуемых цвеыв. -frame widthxheight+outerbevelwidth+innerbevel width Окружает изображение декоративной границей. Вы можете выпо.иить скошенное соединение (на скос), рисуя прямую линию между концами двух линий. Цвет границы указывается с помощью опции -mattecolor. -gamma value Устанавливает уровень гамма-коррекции (or 0.8 до 2.3), позволяющей подстроить изображения на мониторах разны: рабочих станций. -geometry widthxheight{+-}x_ojfset{+-}y_offset{%} {!} {<} {>} Устанавливает предпочтительный размер или расположение окна изоб- ражения при кодиповании. По умолчанию во время изменения размера пытается сохранять формат изображения (соотношение ширины и вы- соты). Чтобы вынудить изображение принять некий определенный раз- мер, добавьте в конце восклицательный знак. Вы можете указать про- цент ширины (или высоты), добавив %, и изменить размеры с помо- щью <>. Символ > меняет размер изображения только в том случае, если его ширина или высота превышают геометрическую специфика- цию. Символ < меняет размер изображения только в том случае, если его ширина и высота меньше, чем геометрическая спецификация. Сим- вол @ указывает максимальную область изображения в пикселах. -iconGeometry geometry Определяет геометрию пиктограммы (вместе со смещениями) в обыч- ном для XII стиле. -iconic Анимирует пиктограмму. -immutable Запрещает модифицировать отображаемое изображение. -interlace type Указывает тип чередования (поочередного сканирования линий) для низкоуровневых форматов изображения (RGB или YUV): None (RGBRGBRGBRGBRGBRGB...) по умолчанию Line (RRR...GGG...BBB RRR...GGG...BBB...) Plane (RRRRRR...GGGGGG.. ВВВВВВ...) Partition как Plane, но разные битовые плоскости (матрицы, обра зованные совокупностью одноименных битов всех пик- селов) сохраняются в разных файлах: image.R. image.G, image.B -label name Назначает изображению указанную метку. -magnify factor Увеличивает данное изображение, здесь factor - это коэффициент. map type Выбирает набор цветов из следующих стандартных типов отображе- ния: best red default green gray blue
II Команды 201 matte Сохраняет матовый (светонепроницаемый) канал, если изображение его имее г, в противном случае создает непрозрачный канал -mattecolor color Указывает цвет, используемый с опцией -frame. -monochrome Трансформирует данное изображение в монохромное (черный и белый цвета). -negate Заменяет каждый пиксел его дополнительным цветом: белый становится черным, желтый голубым и т.д. Для серой палитры используется оп- ция +negate. -page widthxheighl{+-}x_offset{+-}y_offset{%} {!}{<} {>} Устанавливает предпочтительный размер и расположение канвы изоб- ражения. Опция -page похожа на -geometry. Вы можете использсвать эту опцию, чтобы указать размеры страницы PostScript в точках на дюйм. Предоставляется следующий выбор 11x17 792 1224 A8 148 210 Ledger 1224 792 A9 105 148 Legal 612 1008 A10 74 105 Letter 612 792 B0 2836 4008 LetterSmall 612 792 Bl 2004 2836 ArchE 2592 3456 B2 1418 2004 ArchD 1728 2592 B3 1002 1418 ArchC 1296 1728 B4 709 1002 ArchB 864 1296 B5 501 709 ArchA 648 864 CO 2600 3677 AO 2380 3368 Cl 1837 2600 Al 1684 2380 C2 1298 1837 A2 1190 1684 C3 918 1298 A3 842 1190 C4 649 918 A4 595 842 C5 459 649 A4Small 595 842 C6 323 459 A5 421 595 Fisa 612 936 A6 297 421 Flse 612 936 A7 210 297 HalfLetter 396 612 Вы можете использовать эту опцию чтобы указать размер страницы для изображения TEXT в пикселах. По умолчанию принят размер 612x792 Эта опция используется с опцией -density. -quality value Устанавливает уровень сжатия для изображений формата JPEG'MIFF.' PNG. Для изображения в формате JPEG аргумент value меняется от 0 до 100. По умолчанию принято 75. -raise -widtlrxheight Создаст трехмерный (3-D) эффект, освещая или затемняя края изобра- жения. См. опцию -geometry, ио смещения здесь не исполымогея
202 •• Команды -remote Выполняег дистанционную операцию. В ио время распошаегся един ственная команда: загрузка поименованного файла с изображением -roll {+-}.?_ p//ier{+-}v offset Прокручивает изображение вертикально или горизонтально. Отрица- тельное значениех offset прокручивает изображение слева направо, от- рицательное значениеу offset прокручивает изображение сверху вниз. -rotate degrees{<} {>} Поворачивает изображение вращением Паеса (Paeth). Знак > вращает изображение только в том случае, если его ширина превышает высоту; знак < вращает изображение только в том случае, если его ширина мень- ше высоты. -sample geometry’ Масштабирует изображение путем дискретизации пикселов (преобра- зования пикселов в последовательность чисел). Формат спецификации geometry стандартный. Данная опция игнорирует любые выбранные с помощью опции -filter фильтры, а также смешения в строке geometry. -scenes value-value Указывает номера читаемых изображений. Каждое изображение диапа- зона считывается согласно задаваемому имени файла, в котором посте точки присутствует номер. -sharpen radiusxsigma Усиливает резкость данного изображения, используя гауссов оператор с заданным радиусом и стандартным отклонением. -size widthrtheight^offset} Указывает ширину и высоту низкоуровневых изображений (GRAY, RGB или CMYK) и позволяет пропустить любую информацию из заголовка изображения или сообщить количество цветов в таблице отображения. -texture filename Указывает имя файла текстуры, используемой для покрытия фона. -title string Назначает указа! шый заголовок окну с изображением -treedepth value Указывает глубину цвета (целое значение, обыч! ю 0 или 1) для сохраня- емого дерева. Позволяет задать алгоритм ограничения цветов. Опти- мальная Шубина обычно позволяет наилучшим образом и как можно быстрее представить изображение, расходуя при этом минимум памяти. -update seconds Обнаруживает, что входной файл был изменен (спустя заданное коли- чество секунд), и соответственно обновляет изображение. -verbose Печатает подробную информацию об изображении: номер сцены, име- на изображения и преобразованною изображения, размер u т.н.
II. Команды 203 -visual type Анимирует изображения, выбранные из следующих визуальных клас- сов: StaticGray TrueColor GrayScale DirectColor StaticColor default PseudoColor visual id Х-сервер должен поддерживать выбранную вами визуализацию. -window id Выполняет изображение фона задаваемого по имени или идентифика- тору окна. Для id задайте значение root, если в качестве целевого хоти- те указать корневое окно X. -write filename Записывает изображение в файл. Примеры Создадим эффект объема (3D) с помощью такой команды: $ display -raise 12x12 ooo.gif Достаточно щелкнуть на показанном с помощью команды display изображении и возникает главное меню ImageMagick, из которого можно запустить десятки команд, аналогичных перечисленным опциям. Выбрав View -> Half Sire, получаем в левом верхнем углу поверх основного изображения его уменьшенную (в два раза по вертика- ли и горизонтали) копию.
204 II Команды dist - пересылает сообщение по дополнительным адрес м Синтаксис dist [+folder] [msg] [-annotate ] [ -noannotate] [ -inplace] [-noinplace] [-form formfile][-draftfolder +folder][-draftmessage msg] [-nodraftfolder][-editor editor][-noedit][-whatnowproc program] [-nowhatnowproc][-version][-help] Команда dist подобна fonv. Она готовит указанное сообщение для рассылки по адресам, возможно, отсутствующим в списке допустимых адресов. Опции -form formfile Если в пользовательском каталоге nmh существует файл distcomps. он будет использован по умолчанию в качестве формы сообщения. С помощью этой опции можно указать альтернативный файл formfile. older Параметр folder определяет панку с сообщением. По умолчанию уста- навливается текущая папка. msg Определяет имя файла, содержащего рассьи 1асмое сообщение; по у мол- чанию - cur. -draftfolder +folder Создает предварительное сообщение в указанной папке folder.
II. Команды 205 -draftmessage msg Использует указанное предварительное сообщение msg для создания текущего сообщения. Если эта опция не используется, создав! новое предварительное сообщение. -editor editor Указывает редактор editor, используемый для предварительного редак- тирования. -noedit Не выполняет редактирование сообщения. -annotate Рассылает сообщение со следующими строками: Resent:date Resent:addrs Здесь addrs - список адресов, содержащий столько строк, сколько тре- буется. Такая аннотация будет включаться в сообщение лишь в том слу- чае, если оно напрямую отправляется от команды dist. Если сообщение немедленно не отправляется от dist, для редактирования и последующей отправки созданного сообщения может быть использована команда comp -use. Но в этом случае аннотация в сообщение не включается. -inplace Обычно создает аннотацию на том же месте, чтобы сохранить любые ссылки на это сообщение. -noinplace Отменяет действие опции -inplace. -whatnowproc program После редактирования программа dist вызывает программу program, задающую вопросы "What now? (Что сейчас делать?)". Если program установлен в значение whatnow, программа dist использует встроен- ную программу, задающую вопросы. Если вы определили собственную программу типа whatnow, не следует ее запускать, программа dist это сделает сама. -nowhatnowproc Не только запрещает вызов программы типа whatnow, но и отменяет редактирование сообщения. Ранее dist использовала headers (заголовки) формата Distribute-лхх: вместо Resent-xxr:. И лишь для согласованности со стандартом ARPA Internet - RFC-822 - стал применяться формат Resent-xxr:, хотя dist распознает старый формат и автома- тически конвертирует его в новый. Пользовательский профиль имеет имя типа SHOME/.mh_profile. Ниже перечисле- ны его основные компоненты: Path: определяет пользовательский каталог для nmh (xmh) Current-Folder: текущая папка по умолчанию Draft- Folder: папка с предварительным сообщением, также берется по умолчанию Editor: перекрывает редактор, вызываемый по умолчанию fileproc программа перерегистрации сообщения whatnowproc: программа, задающая вопросы "What now? (Что сейчас делать?)"
206 II Команды dmesg распечатывает сообщения, которые появлялись в процессе начальной заг, узки. Синтаксис dmesg [-с][-n level][-s bufsize] Очень полезная команда, чтобы увидеть, как Linux распознавал устройства во вре- мя загрузки, и получить некоторую диагностическую информацию, выводимую драй- верами. Опции -с Очищает содержимое буфера после печати. -s bufsize Использует буфер указанного размера для запроса буфера ядра. По умолчанию - 16392. Если требуется установить буфер ядра большего размера, чем принятый по умолчанию, может быть использована эта опция. -n level Устанавливает уровень выходных сообщений на консоль. Скажем, -и 1 запрещает вывод на консоль всех сообщений кроме явно тревожных. Пример t dmesg Linux version 2.4.20-8 (bhcompileestripples.devel.redhat.com) (gcc version 3.2.2 20030222 (Red Bat Linux 3.2.2-5)) 11 Thu Mar 13 16:42:56 EST 2003 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - OOOOOOOOOOOaOOOO (usable) BIOS-e820: OOOOOOOOOOOf0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000008000000 (usable) BIOS-e820: OOOOOOOOffff0000 - 0000000100000000 (reserved) 128MB LOWMEM available. On node 0 totalpages: 32768 zone(0): 4096 pages. Console: colour VGA+ 80x25 Calibrating delay loop... 266.24 BogoMIPS Memory: 125104k/131072k available (1221k kernel code, 4560k reserved, Partition check: hda; hdal hda2 hda3 hda4 < hda5 > ide-floppy driver 0.99.newide NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP VFS: Mounted root (ext2 filesystem). Journalled Block Device driver loaded kjournald starting. Commit interval 5 seconds ЕХТЗ-fs: mounted filesystem with ordered data mode.
II. Команды 207 Freeing unused kernel memory: 116k freed usb.c: registered new driver usbdevfe usb.c: registered new driver hub usb-ohci.c: USB OHCI at membase 0xc8844000, IRQ 11 usb-ohci.c: usb-00:0b.0, OPTi Inc. 82C861 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 2 ports detected hub.c: new USB device 00:0b.0-2, assigned address 2 usb.c: USB device 2 (vend/prod 0x46d/0xc00e) is not claimed by any mice: PS/2 mouse device common for all mice EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journal divert: allocating divert blk for ethO ethO: RealTek RTL8139 Fast Ethernet at 0xc8891000, 00:40:f4:6a:al:9a, IRQ 10 ethO: Identified 8139 chip type 'RTL-8139C' iptables: (C) 2000-2002 Netfilter core team ethO: Setting half-duplex based on auto-negotiated partner ability 0000. parportO: PC-style at 0x378 [PCSPP,TRISTATE,EPP] IpO: using parportO (polling). IpO: console ready Если возникли какие-либо проблемы с платой Ethernet, внимательно проанализи- руйте сообщения с тегом ethO:. Хотя подобным образом следует рассмотреть все секции. dnsdomainname - выводит для текущего узла домен- ное имя DNS. Синтаксис dnsdomainname [-v] По сути, эта команда ничто иное, как hostname -d. Опции -v Указывает подробный системных вызовах. Пример формат вывода, сообщающий об используемых !root@sofia: /root File Edit Settings Help [rootGsofia /root]* dnsdomainname -v gethostname()='sofia* Resolving 'sofia' ... Result: h_name='sofia' Result: h_a 1i ases= 4 oca1 host .local dome i n' Result: h_aliases='localhost' Result: h_addr_list='127.0.0.1' [rootfisofia /root]# fl A
208 II Команды domainname устанавливает для текущего узла домен- ное имя службы NIS. Синтаксис domainname [-v] {nisdojnain|-F file} По сути, эта команда ничто иное, как hostname -у. Суперпользователь может использовать эту команду для установки доменного имени службы NIS под названием nisdomain для текущего сетевого узла. Новое имя может быть назначено на основе таблицы имен узлов, хранящейся в заданном файле. Опции -v Использует подробный формат вывода, сообщая об используемых си- стемных вызовах -F file Назначает для текущего узла новое доменное имя службы NIS на осно- ве таблицы, хранящейся в указанном файле. dll - выводит количество дискового пространства, К используемого указанным файлом или каталогом. Синтаксис du [option]... [file]... Без аргументов информирует о дисковом пространстве, используемом текущим ка- талогом. Обычно размер выводится в блоках по 1024 байт. Опции - a. —all Выводит информацию о всех файлах. - b, —bytes Выводит размер в байтах. — block-size=s/ze Использует блоки заданного размера (байты). - с, —total Выводит итоговую информацию для всех аргументов после их обра- ботки. - D, —dereference-args Не следует символическим ссылкам, задаваемым в командной строке, что не распространяется на другие символические ссылки - h, —human-readable Добавляет к выводимому размеру соответствующую букву, например М, указывая размер в мегабайтах (1048576 байт) или других единицах. - Н, —si Тоже добавляе г к выводимому размеру соответствующую букву но ис- пользует единицы тмереиия, кратные 1000, а не 1024 - k, —kilobytes Выводит размер дискового пространства в виде блоков по 1024 байт
II. Команды 209 -1, -count-links Учи гывает размеры всех файлов, в jом числе и файлов жестких ссылок. -L,—dereference Информирует о дисковом пространстве, используемом файлом или ка- талогом, на который указывает ссылка, вместо пространства, занимае- мого самой ссылкой. —max-depth=rtepZ/z Если указана опция -all, выводит итоговую информацию для каждого каталога и файла, лежащего на уровне depth от корневого каталог а иерар- хии. Корневой каталог имеет уровень 0. -пт, —megabytes Печатает размеры в блоках по 1 мегабайту (1048576 байт). -s, —summarize Отображает только итоги по каждому аргументу. - S, -separate-dirs Сообщает лишь о собственном размере каждого каталога, не включая размеры подкаталогов. - х, - one file-system Исключает из рассмотрения каталоги, принадлежащие иным файловым системам чем та, чей аргумент обрабатывается в настоящий момент. — exclude=paz При рекурсивной обработке пропускает каталоги или файлы, имена ко- торых совпали с шаблоном par - X file, — exclude-from= file Подобна опции —exclude, хотя набор используемых шаблонов берет из указанного файла file, в котором они содержатся по одному в каж дой строке. Пример $ du rab 8 rab/person 4 rab/test 72 rab $ dump создает резервную копию файловой системы ext2 Синтаксис dump [-0123456789ackMnSu](-В records][-b blocksize][-d density] [-e inodenumber] [-f fiie](-F script][-h ievei](-L iabei][-s feet] [-T datef filesystem dump [-0123456789ackMnSu] [ -B records] [-b biocksize]]-d density] [-e inode_number][-t file][-F script][-h ievei][-L iabei][-s feet] (-T date] directory dump ]-W|-w]
210 н Команда dump анализирует файловую систему ext2 и определяет, какие файлы нужно зарезервировать. Файлы копируются па заданный диск, лен ту или на друт ие носители, обеспечивающие сохранность информации. Копия файловой сис гемы может быть мно- готомным файлом. По умолчанию каждый том носителя поименован, чтобы можно было пригласить оператора для установки нужною тома. Опции - 0 —9 Указывает уровни копирования. Нулевой уровень предполагает полное резервирование файловой системы. Резервирование всех остальных уровней - инкрементальное (частичное) - предполагает копирование всех новых файлов или обновленных со времени последнего резерви- рования более низкого уровня По умолчанию принят уровень копиро- вания, равный 9. - В records Параметр records определяет количество блоков (размером в 1 Кбайт) на томе носителя информации. Эта опция перекрывает размер ленты, вычисляемый на основе ее длины и плотности. - а Производит запись до тех пор, пока не будет достигнут конец тома но- сителя, что является стандартом для большинства современных лен- точных устройств. Применение этой опции рекомендуется при добав- лении содержимого к существующей магнитной ленте или если ленточ- ный накопитель обеспечивает сжатие информации, коэффициент сжатия которой трудно прогнозировать заранее. - b blocksize Устанавливает размер блока (Кбайт) при резервировании. Хотя система ввода/вывода обычно работает в соответствии с MAXBSIZE (обычно достигает 64 Кбайт). Использование блоков большего размера часто приводит к проблемам при восстановлении информации. Обычно dump ориентируется на MAXBSIZE. - с Предполагает, что по умолчанию используется ленточный картридж плотностью 8000 bpi и длиной 1700 футов. - е inode number Исключает при копировании заданный дескриптор inode number. Ин- дексный дескриптор файла или каталога можно определить с помощью команды stat. - h level Учитывает пользовательский флаг nodump (не копировать) при выпол- нении копирования заданного уровня level', по умолчанию номер такого уровня равен 1. Так что при выполнении инкрементального резервиро- вания файлы с таким флагом пропускаются, но все же копируются при полном резервировании. - d density Устанавливает плотность магни гной ленты, по умолчанию 1600 bpi f file Записывает копию в файл file. В качестве данного параметра может за- даваться файл специального устройства (/dcv/stO ленгочный накопи тель или /dcv/rsdlc накопитель на гибких магнитных дисках), обыч ный файл; если на месте этого параметра стоит дефис, предполагается стандартный вывод.
II. Команды -F script -к -L label -M -n -s feet -S -T date ____________________ 211 При многотомном копировании имена файлов, соответствующие кон- кретному тому, задаются в виде единого аргумента, компоненты кото- рого разделяются запятыми и перечисляются в порядке следования то- мов. Последнее имя списка может использоваться многократно для всех оставшихся томов, если количество предусмотренных имен меньше фактически затребованного. Если имя файла задано в формате hostfile или user@host:file, программа dump использует указанный файл при за- писи на дистанционный узел с помощью rmt. По умолчанию принят мар- шрут /etc/rmt, который может быть перекрыт значением переменной окружения RMT. Запускает сценарий script в конце каждого ленточною тома. Сценарий должен возвращать 0, если предполагается, что dump продолжает ре- зервирование без просьбы поменять ленту, или 1, если продолжение предполагает замену ленточного тома. По соображениям безопаснос- ти dump обращается к реальным UID и GID перед запуском сценария. Использует аутентификацию Kerberos для обращения к дистанционным ленточным серверам. Помещает заданную пользователем текстовую строку label в header (заголовок) копии, который используется командами restore и file. На размер текстовой строки label накладывает ограничения переменная LBLSIZE: обычно 16 символов, включая управляющую последователь- ность завершения \0. Задействует возможности многотомного резервирования. Имя, указы- ваемое с помощью опции -f, рассматривается как префикс; dump за- полняет последовательность поименованных томов: рге/?х001, pre/?.v002,pre/ix003 и т.д. Это полезно при копировании файлов раздела ext2, так как позволяет преодолеть ограничения на размер файла - 2 Гбайта. Помечает всех операторов в группе operator, если команде dump тре- буется привлекать их внимание. Анализирует используемый размер магнитной ленты: если достигнуто значение feet, программа dump приглашает установить новую ленту. По умолчанию длина магнитной ленты равна 2300 футов. Определяет, какой требуется объем носителей информации в байтах для выполнения копирования, но не осуществляет его. Это полезно, когда требуется определить, сколько потребуется томов для проведения ре- зервирования. Использует заданную дату date для начала копирования вмес го опреде- ленной при просмотре /etc/dumpdatcs. Формат дат ы такой же, как и для системного вызова ctime, т.е. абсолютное значение времени представ- ляется количеством секунд, прошедших с 00:00:00 часов 1 января 1970 г., так называемое UTC (Coordinated Universal Time согласован- ное универсальное время). Опции -Т и -и взаимно исключают друг дру - га.
- выводит дамп, содержащий информацию о файловой системе. ’12 II Команды -и Обновляет файл /etc/dumpdates после ycneiunoi о завершения копиро- вания. Каждая строка этого файла является таписью свободною фор- мата, включающей имя файловой системы, уровень инкрементального резервирования и дату начала копирования в формате системного вы- зова ctime. Файловой системе для каждого уровня соответствует только один элемент файла. С помощью любого текс гового редактора можно поменять любое из полей файла /etc/dumpdates. -W Про.рамма dump сообщает оператору, какая файловая система будет копироваться. Эта информация извлекается из файлов /etc/dumpdates и /etc/fstab. Для каждой файловой системы из /etc/dumpdates распеча- тываются дата и уровень копирования. Имена файловых систем, кото- рые должны копироваться, выделяются на экране дисплея. Если уста- новлена опция -W, все другие опции игнорируются. -w Подобна опции -W, но распечатывает информацию только о тех файло- вых системах, которые предстоит копировать Программа dump требует участия оператора в следующих случаях: конец ленты, завершение копирования, конец записи на ленту, ошибка при открытии ленточного фай- ла или ошибка чтения с диска. dumpe2fs Синтаксис dumpe2fs (-bfhixVJ[-ob superblock][-oB blocksize] device Команда dumpe2fs распечатывает суперблок и информацию по группе блоков фай- ловой системы, расположенной на устройстве device. Программа dumpe2fs напоми- нает программу dumpfs для BSD FFS /Fast File System - скоростная файловая систе- ма, такое имя получила файловая система BSD). Опции - Ь Печатает блоки, зарезервированные в файловой системе как сбойные. - ob superblock При проверке файловой системы в качестве суперблока использует ука- занный блок. Эта опция применяется лишь системным администрато- ром при рассмотрении "остатков" поврежденной файловой системы. - оВ blocksize Использует указанный размер блока blocksize при проверке файловой системы. Эта опция обычно применяется системным администратором при рассмы рении "остатков" поврежденной файловой системы. - f Принуждает производить вывод, хотя moi ут быть ус гановлены некото- рые флаги файловой системы, "непонятные" dumpe2fs. - h Выводит только информацию сунерблока.
II. Команды 213 - i Выводи i данные файловой системы из файла-образа, созданного с по- мощью e2imagc, используя ар1умен1 device в качестве маршрута к файлу-образу. - х Печатает в шестнадцатеричном формате детальную информацию по номерам блоков групп. - V Печатает версию dumpe2fs и завершает ее работу. Для анализа вывода следует понимать физическую структуру файловой системы. Пример # dumpe2fs /dev/hda2 Filesystem volume name; <none> Last mounted on; <not available> Filesystem UU1D: 4d9ab79e-a308-4598-9d6e-dl6b91aa2532 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal filetype sparse_super Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 1256 Block count: 5000 Reserved block count: 250 Free blocks: 3795 Free inodes: 1245 First block: 1 Block size: 1024 Fragment size: 1024 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 1256 Inode blocks per group: 157 Filesystem created: Mon Oct 13 21:22:50 2003 Last mount time: Mon Oct 13 22:07:45 2003 Last write time: Mon Oct 13 22:11:42 2003 Mount count: 1 Maximum mount count: 29 Last checked: Mon Oct 13 21:22:50 2003 Check interval: 15552000 (6 months) Next check after: Sat Apr 10 21:22:50 2004 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: И Inode size: 128 Journal UUID: <none> Journal inode: 8 Journal device: 0x0000 First orphan inode: 0 Group 0: (Blocks 1-4999) Primary superblock at 1, Group descriptors at 2-2 Block bitmap at 3 (+2), Inode bitmap at 4 (+3) Inode table at 5-161 (+4) 3795 free blocks, 1245 free inodes, 2 directories Free blocks: 1205-4999 Free inodes: 12-1256
214 II Команды dumpkeys - выводит информацию о драйзере клавиатуры и о самой клавиатуре Синтаксис dumpkeys [-hilfnl -Sshape -ccharset —help —short -info —long -info —numeric —full-table —separate-lines —shape=shape —funcs-only —keys-only —compose-only —charset=charset] dumpkeys записывает на стандартный вывод текущее содержимое таблиц трансля- ции драйвера клавиатуры в формате, указываемом keymaps. Используя различные оп- ции. можно управлять форматом вывода и получать различную информацию от ядра и программ dumpkeys и loadkeys. Опции - h, —help Выводит информацию о версии программы, краткую справку о ее опци- ях и завершает работу программы - i, -short-info Распечатывает некоторые характеристики драйвера клавиатуры, содер- жащегося в ядре: диапазон кодов, поддерживаемых ядром количество действий, связанных с отдельно взятой клавишей, диапазоны поддер- живаемых кодов действий, количество функциональных клавиш. —funcs-only Позволяет увидеть текущие определения функциональных клавиш. - 1, --long-info Выводит информацию, аналогичную той. которая распечатывается с по- мощью опции -i, добавляя список действий символов, поддерживае- мых loadkeys и dumpkeys. - f, -full-table Выводит подробную информацию о каждой клавише в каноническом формате. В первой строке листинга распечатывается комбинация, опре- деленная в текущий момент Затем распечатывается строка с несколь- кими столбцами. И если в текущем отображении клавиатуры задейст- вовано шесть модификаторов, каждая строка будет содержат шесть столбцов действий. -1, -separate-lines Записывает в каждой строке модификатор и код клавиши. - п, --numeric Печатает коды клавиш в шестнадцатеричном формате. - S, — shape=s/iope Указывает команде dumpkeys использовать таблицу в форме парамет- ра shape, принимающего следующие значения: 0: по умолчанию I: такая же форма, как для опции —full-table 2: такая же форма, как для опции —separate-lines 3: выводит каждый код клавиши в отдельной ст роке После того как будет обнаружена первая "дыра", dumpkeys использует форму 2.
проверяет вторую расширенную файловую систе- му Linux. II Команды 215 —keys-only Распечатывает только привязки клавиш. —compose-only Распечагывает только информацию о комбинациях клавиш. -ccharset, --chaiset=charset Интерпретирует значения кодов в соответствии с указанным набором символов charset. Допускаемые наборы символов обычно выводятся с помощью опции -h. Если данная опция не задана, принимается значе- ние iso-8859-l (английский, задается по умолчанию) Рекомендованный каталог для файлов keymaps - /usr/lib/kbd/keymaps. e2fsck Синтаксис e2fsck [-pacnyrdfvstDFSV][~b superblock] [-B blocksize] [ -1|-L bad_blocks_file] [-C jfd] [- j external-journal] [-E extended_options] device Аргумент device — специальный файл соответствующего устройства, где располо- жена файловая система, например; /dev/hdcl, /dev/hdc3 и т.д. Команда e2fsck используется для проверки второй расширенной файловой систе- мы Linux (ext2). Но она также поддерживает файловую систему ext2 с журналом, изве- стную как ext3. В случае ext3 команда elfsck в первую очередь обращается к журналу файловой системы. Если с журналом все в порядке, файловая система будет отмечена как "чистая". Поэтому в случае ext3 команда e2fsck обычно запускает журнал и завер- шает свою работу, если только в суперблоке не указано, что требуется продолжить проверку. Опции - b superblock Вместо обычного использует альтернативный суперблок superblock. Обычно используется при повреждении основного суперблока. - В blocksize Обычно e2fsck при поиске суперблока сама пытается установить при- емлемый размер блока, хота в некоторых случаях этот процесс может оказаться безуспешным, и тогда с помощью blocksize назначается "же- сткий" размер блока. Если суперблок не найден, работа e2fsck заверша- ется с фатальной ошибкой. _с e2fsck запускает программу badblocks, чтобы найти и отмстить "пло- хие" блоки, добавляя их к набору сбойных дескрипторов. - С fd Записывает полную информацию по мониторингу файловой системы в файл с указанным дескриптором fd. - d Выводит отладочную информацию. - U Оптимизирует каталоги файловой системы или путем повторного их индексирования, если данная файловая система поддерживает иидекса-
216 It Команды цию каталогов, или путем сортировки и сжагия каталогов в меньшие по размеру, или используя традиционные линейные кат алоги -Е extended options Устанавливает расширенные опции программы e2fsck Расширенные опции разделяются запятыми и могут включать аргументы, использую- щие знак равенства ("="). Поддерживается такая опция: еа _vet=extended attribute version предполагает, что в данной файловой системе формат бло- ков с расширенными атрибутами определяется указанным но- мером версии, который может принимать значение 1 или 2 (по умолчанию); -j external-journal Устанавливает маршрут, по которому может быть найден внешний жур- нал данной файловой системы. - f Заставляет производить проверку файловой системы, даже если фай- ловая система в этом не нуждается. - 1 badblocks Jile, Направляет список сбойных блоков в файл bad blocks Jile. - L bad blocks Jile Направляет список сбойных блоков файловой системы в файл bad blocks Jile. Эта опция подобна опции -I, но в отличие от нее спи- сок сбойных блоков предварительно очищается перед добавлением в него новых блоков. - F Предварительно освобождает буферный кэш устройства, на котором расположена файловая система. - п Открывает файловую систему в режиме "только для чтения". Предпо- лагается, что e2fsck будет работать неинтерактивно и на все вопросы поступит отвег "по" (нет). Но если помимо этой опции будут заданы оп- ции -с, -1 или -L, файловая система будет открыта в режиме "чтение- запись", что позволяет обновить список сбойных блоков без каких-либо других изменений. р, -а Автоматически "ремонтирует" файловую систему, не задавая вопросов - г Эта опция ничего не выполняет и существует лишь для обратной сов- местимости. - s Заставляет функционировать файловую систему в режиме нормализо- ванного, стандартного порядка расположения байтов (как на i3S6, пли little endian (начиная с младшего)). - S Подобна -s, но носит более принудительный характер. - t Печатает для e2fsck хронометрированную статист ику. - v Печатает подробную информацию. - V Выводи г информацию о версии программы и завершает ее выполнение
II. Команды 217 "У Осуществляет неингеракгивный режим работы e2fsck, предоплат ая что на все вопросы получен ответ "yes" (дау Коды завершения e2fsck являются суммой числовых значений следующих условий' О нет ошибок 1 ошибки файловой системы скорректированы 2 ошибки файловой системы скорректированы и если она была смонтирована, сис- тема будет перезагружена 4 ошибки файловой системы не корректировались 8 ошибка операции 16 предупреждение или синтаксическая ошибка 3 2 программа e2fsck завершается по запросу пользователя 128 ошибка совместно используемой библиотеки e2image - сохраняет в файле критичные данные файловой системы ext2/ext3. Синтаксис eZimage [-г] device image-file Программа e2image сохраняет в файле image-file критичные данные файловой сис- темы ext2, размещенной на устройстве device. Файл может быть использован систем- ным программистом и способствовать восстановлению поврежденных файловых сис- тем. Было бы очень полезно периодически (во время загрузки или раз в неделю) соз- давать файлы-образы всех файловых систем, и было бы просто идеально еще и хра- нить такие файлы отдельно (где-нибудь в стороне от критичных файловых систем). Если вместо image-file стоит дефис, выходная информация программы e2image будет направлена на стандартный вывод. Опции -г Вместо обычного создает низкоуровневый файл-образ. Такой файл-об- раз отличается от обычного образа файловой системы. Во-первых, ме- таданные файловой системы размещаются в должном месте, поэтому e2fsck, dumpe2fs, debugfs могут разобраться с таким файлом. Чтобы сократить потребляемую дисковую память, такой файл создается как неполный (неполное выделение используется для размещения файло- вой системы, которая заполнена не полностью, при этом реальная па- мять полностью не выделяется). Низкоуровневый файл-образ также включает в себя побочные блоки и блоки данных, которые текущий файл-образ не имеет. Пример I eZimage -г /dev/hdaZ imageext eZimage 1,32 (09-Nov-ZOOZ)
218 II Команды echo записывает заданные строки на стандартный вывод. К Синтаксис echo [option]...[string]... Записывает каждую заданную строку string на стандартный вывод (обычно на эк- ран) с символом newline (новой строки) через пробел в ее конце. Опции -п Не выводит завершающий символ новой строки. -е В каждой заданной строке интерпретирует следующие управляющие символы: \а выдает звуковой сигнал тревоги \Ь возврат на один символ \с подавляет завершающий символ новой строки \f перевод (прогон) строки \п символ новой строки \г возврат каретки \t символ горизонтальной табуляции \v символ вертикальной табуляции \\ обратный слэш \нпп символ, чей ASCII-код равен ппп (восьмеричное значение) Пример $ echo "Му dear friend" Му dear friend ? ed - вызывает строковый редактор. К Синтаксис ed ]-]]-Gs](-p string] [fife] red [-][-Gs][-p string] [ file] Редактор ed работает через буфер. Если вызывается с аргументом Jile, то копия указанного файла считывается в упомянутый буфер. Редактор red - урезанная версия ed, он может только редактировать файлы гею щего каталога и не может выполнять команды оболочки. Редактор red рекомендуется применять, если вы загружаете е .зазр) «очной диске- ты минимальную версию Linux (а вдруг это придется сделать в случае возникновения серьешых проблем) и никакие полноэкранные редакторы не доезмшы
II. Команды 2 | 9 Работа в редакторе ed производится в двух режимах в командном или ввода текста. В первый режим пользователь попадает по умолчанию. Любая нажатая клави- ша в этом режиме воспринимается как команда. Режим ввода такс та устанавливается с помощью команд а (добавить), с (изменить) и i (вставить). После ввода необходимого текста достаточно набрать в строке единственную точку, чтобы завершить второй ре- жим. Опции - Запрещает информировать о количестве символов редактируемого фай- ла и печатать диагностические сообщения. -G Оставляет в силе обратную совместимость. -pstring Указывает приглашение командной строки. -s Действует так же, как единственный дефис. Основные команды ! command Выполняет команду оболочки. + Выполняет переход к следующей строке. - Выполняет переход к предшествующей строке. +и Выполняет- переход к следующей л-ой строке. -п Выполняет переход к предшествующей л-ой строке. Обращается к текущей строке. = Печатает номер строки. Iregexl Выполняет поиск в прямом направлении указанного регулярного выра- жения. ?regex? Выполняет поиск в обратном направлении указанного регулярного вы- ражения. с d i Меняет указанные строки. Удаляет указанные строки. Вс тавляет текст перед текущей строкой. Р Печатает указанные строки m Перемешает строки. q Q г file Выходит из редактора. Выходит из редактора без сохранения внесенных изменений. Считывает и вставляет содержимое указанного файла file после теку- щей строки. sloldlnew Замешает старую строку old на новую new. u V/file w file Отменяет последнюю команду. Добавляет содержимое буфера в конец указанного фай их file Сохраняе т содержимое буфера в указанном фай ле.
220 II Команды Большинству команд предшествует номер строки или диапазон номеров, разделен них запятыми. Пкиме, Ниже приведен фрагмент работы в ed. На обращение к несуществующему номеру строки реагирует знаком вопроса. По концу сеанса производит сохранение буфера в файле prim93. a niisha@localhost.localdomain: /home/rnishe/rab ix. [mishaOlocalhost гаЬЛ ed prim93 79 lp Irwxruxrwx 1 misha misha 15 Авг 6 20:27 hhh -> /rab/person/hhh a итого 10 | по каждой корректировке 4p ? 3p по каждой корректировке uq 112 } CmishaSlocalhost гаЬЛ | A /] edquota - редак и ру с г п льзовательские квоты. Синтаксис edquota [ р proto-user} [—ug] пате... edquota [ -n][-ug] -t В командной строке можно задать одно или более имен пате пользователей или групп, для каждого из которых создается временный ASCII файл, задающий дисковые квоты, а затем вызывается соответствующий редактор (по умолчанию vi). Квоты мо- гут модифицироваться, также могут быть добавлены новые квоты и т.д. Перед тем как покинуть редактор, определяемый переменной окружения EDITOR, программа edquota считывает временный файл и модифицирует двоичные файлы квот, отражая произведенные изменения. Только суперпользователь может редактировать квоты. Чтобы в файловой системе были задействованы квоты, в корневом каталоге должен существовать файл quota.user или quota.group, владельцем которого является суперпользователь (см. quotaon). Опции - п Редактирует также и не локальную квоту' используя rpc.rquotad (или rquotad) на дистанционном сервере, чтобы установить квоты. - и Редактирует квоты пользователя. Действует по умолчанию. - g Редактирует квоты группы.
II. Команды 221 -р proto-user Дублирует квоты пользователя proto-user для каждого указанного в командной строке пользователя. Эю обычный механизм инициализа- ции квот для групп пользователей. Редактирует временные лимиты для каждой файловой системы. Если временные лимиты равны нулю, используются лимиты, определенные по умолчанию, из файла <linux/quota.h>. Пример I edquota -u sofia Нечто подобное содержится для пользователя sofia: никакие лимиты (ни жесткие, ни мягкие) пока не установлены. Можно установить лимиты на количество используе- мых блоков (дискового пространства) и файлов. Мягкие лимиты указывают максималь- ное количество блоков и файлов (дескрипторов), которое предоставляется пользова- телю в этой файловой системе, а жесткие лимиты - абсолютное количество блоков и файлов, которое может иметь пользователь. После корректировки (под редактором vi) квоты для пользователя sofia возможно приобретут следующий вид: egrep одна из разновидностей команды grep, работаю К щая с расширенными регулярными выражениями. самое, что grep -Е (см. команду grep). Команда egrep это то же
222 II Команды Пример $ egrep -w "i(nput)?" prim62 input/output errors i/o operation fast input-output $ eject - "выбрасывает” носители информации из устройств. Синтаксис eject -h eject [-vnrsfq][name] eject [-vn] -d eject [-vn] -a on[off|l|0 [name] eject [-vn] -c slot [пале] eject [-vn] -t [name] Позволяет программно освободить устройства от сменных носителей информации: дискет, компакт-дисков, лент, дисков JAZ или ZIP. Освобождается устройство, указан- ное аргументом пате из отверстия slot. В качестве этого аргумента можно задать файл устройства или точку монтирования (см. mount), по умолчанию принимается ключе- вое слово cdrom. Опции -h, - help -v, --verbose -d. -default Выводит описания опции командной строки. Подробно информирует о действиях команды. Выводит имя устройства, принятого по умолчанию. -a on|l|off|0, —auto on|l|off]0 Управляет режимом автовыброса, поддерживаемым некоторыми уст- ройствами. Если опция включена (on или 1), то при закрытии устрой- ства автоматически "выбрасывает" носители информации. -с slot, —changerslot slot Выбирает заданный слот (нумерация с 0) устройства ATAPI/IDE CD- ROM, чтобы сменить носитель (например музыкальный CD) -t, —trayclose Отправляет устройству команду close, хотя не все устройства (только CD-ROM) поддерживают эту команду. -n, —поор Сообщает о выбранном устройстве, но не предпринимает никаких дей- ствий. -г, —cdrom -s, — scsi -f, —floppy Освобождает CD-ROM. Освобождает SCSI-устройство от носителей информации. Освобождает устройство от гибких дисков.
II. Команды 223 -q, —tape Освобождает ленточное устройство от носителей. Пример I eject -v -с2 /dev/cdrom I Выбрасывает второй диск устройства CD-ROM с несколькими сменными дисками. tillII интерактивная почтовая система. Синтаксис elm [-achkKMSmtvz][-i alterBate-folder](-d debug-level] elm [-s sujbjectJI-i file] list-of-aliases]addresses elm это интерактивная экранно-ориентированная почтовая программа, заменяю- щая mail и mailx. Существует три способа применения почтовой программы. Первый способ предполагает задание списка адресов addresses или псевдонимов lisl-of-aliases в командной строке при вызове почтовой программы. Это позволяет отправить единственное сообщение указанным получателям со всеми опциями, кото- рые допускает почтовая система elm. При этом пользователю будет предложено под- готовить текст сообщения с помощью текстового редактора. Второй способ предполагает пересылку файлов, указываемых в командной строке, через переназначение стандартного ввода. И, наконец, третий способ подразумевает вызов почтовой программы без указания в командной строке адресов, темы сообщения и файлов. В этом режиме пользователь сможет считывать любое сообщение из своего входящего почтового ящика или ука- занной панки, отвечать на сообщения, отправлять сообщения. Опции - а Использует указатель сообщений в виде стрелки вместо инверсной строки, предполагаемой по умолчанию. - с Расширяет идущие далее псевдонимы и завершает работу. - d debug-level Устанавливает указанный уровень debug-level отладочного режима. Вывод направляется в SHOME/ELM:debug.info. - f alternate-folder Считывает содержимое указанной папки alternate-folder вместо почто- вого ящика. - h Выводит список изначальных опций. - i file Включает приготовленный в буфере редактирования файл для отправки. .j. Задействует особенности клавиатуры терминалов HP, разрешая исполь- зовать клавиши NEXT, PREV и HOME/SHIFT-HOME. .К Разрешает использовать программируемые клавиши для терминалов HP. - М Трактует все папки, как если бы они были снул-папкой (блокирование, статус обновления, заголовки и т.д.).
224 II Команды -S Устанавливает лишь режим отправки. -s subject Указывает тему почтового сообщения. -m Использует дополнительные строки, возникающие при отключении меню, для заголовков сообщений. -t Отключает использование управляющих последовательностей ti/le, при- меняемых termcap/terminfo. -V Выводит информацию о версии программы и конфигурации. -z Даже не начинает работу elm, если нет ожидающей почты. Ниже приведен список применяемых переменных окружения: REPLYTO обратный адрес для ответа, принятый по умолчанию TERM тип терминала пользователя LOGNAME регистрационное имя пользователя USER имя, альтернативное регистрационному имени пользователя HOME исходный каталог пользователя MAIL расположение почтового файла LINES количество строк на экране COLUMNS количество столбцов на экране PAGER команда, используемая для вывода многостраничного почтового со- общения; по умолчанию принята builtin+ TMPDIR каталогдля временных файлов EDITOR используемый редактор NOMETAMAIL если установлена эта переменная, то не используется metamail, рабо- тающая с мультимедийными сообщениями формата MIME Пример После ввода elm -m -i vvv возникает строка Send the message to:, где требуется ввести адрес получателя сообщения. Затем возникает примерно такой экран: В строку Subject of message: заносится тема сообщения. Если имеется адресат, которому должна быть отправлена копия сообщения, укажите его в строке Copies to:. В противном случае нажмите Enter. Далее появится экран редактирования (в данном случае редактор vi) с первой и единственной в нашем примере строкой, включенной из файла vvv
II. Команды 225 root@locaff!pst.localdomain: /root |'J 1п~к Файл Правка Sellings Справка Star Mike I ” Ztop/snd.1094" [need] IL, 18C emacs запускает известнейший редактор GNU Emacs. Синтаксис emacs [command--line-switchesJ [Tile... ] GNU Emacs наиболее мощный редактор семейства Emacs. Следует отметить, что Emacs - оконный редактор, который может делить экран терминала на несколько окон. В каждом из них можно выполнять различные действия: редактировать разные файлы, посылать и принимать почту, создавая ответы на полученные сообщения, выполнять команды оболочки и многое другое. Emacs - это редактор реального времени, так как ваш экран обновляется очень оперативно, стоит только набрать один-два символа. Помимо обычной вставки или удаления текста редактору Emacs присущ ряд расши- ренных возможностей: управление подпроцессами, соблюдение соглашений, касаю- щихся отступов и комментариев в исходном тексте программы, одновременный про- смотр двух или более файлов, редактирование форматированного текста. Специальные режимы существуют буквально для каждого языка программирова- ния. Во время ввода программы на языке С, редактор автоматически расставляет фи- гурные скобки и подсказывает, где их не хватает. Существуют специальные режимы для работы с HTML, ТЕХ, troff. Редактор даже имеет свой собственный встроенный интерпретатор языка Lisp. Запущенный под X Window редактор имеет свои собственные меню и привязки к кнопкам мыши. Но Emacs также может воплотить многие возможности оконных сис- тем на обычном текстовом терминале. С помощью аргумента file можно указать в командной строке файлы для редакти- рования. Основные оп ии {command-line switches) +number С помощью number указывает номер строки для перехода. Между зна- ком плюс и собственно номером не должен стоять пробел. -q Запрещает загружать файл инициализации (.emacs). -u user Загружает файл инициализации пользователя. -t file Использует указанный файл в качестве терминала вместо stdin/stdout (стандартного ввода и вывода). -f function 3ai ружаст указанную функцию языка Lisp.
226 II Команды -1 Jile Загружает в указанный файл исходный код на языке Lisp. -batch Выполняет редактирование в пакетном режиме. Редактор посылает со- общения в стандартный файл ошибок. Эта опция должна быть первой в списке аргументов. Ее можно применять совместно с опциями -I, -f, чтобы указать файлы для исполнения и функции для вызова. kill В пакетном режиме завершает e.nacs. -name пате Указывает имя назначаемое исходному окну emacs. -title пате Указывает заголовок исходного окна в X Window. -г Отображает окно Emacs в режиме reverse video (обратное видео). -i При сворачивании окна Emacs использует пиктограмму ь виде кухон- ной раковины -font font, -fn font Устанавливает заданный шрифт в заголовках окна Emacs. Можно назна- чать разные шрифты X из каталога /usr/lib/Xll/fonts, но Emacs только принимает шрифты фиксированной ширины. Любой шрифт с буквой m или с в одиннадцатом поле имени шрифта является шрифтом фиксиро- ванной ширины. Между переключателем и именем задаваемого шриф- та должен обязательно находиться пробел. Шрифты, чьи имена соот- ветствуют формату ширинах.высота, также являются шрифтами фи- сированной длины. - b pixels Устанавливает ширину рамки окна Emacs в пикселах. По умолчанию принимается по одному пикселу на каждой стороне окна. - ib pixels Устанавливает ширину внутренней рамки окна Emacs. По умолчанию принимается один пиксел заполнения на каждую сторону окна -geometry geometry Устанавливает геометрию окна Emacs в формате, принятом в системе X: ШИРИНАхВЫСОТА+XOFF+YOFF. Части геометрической специфи- кации - XOFF и YOFF - измеряются в пикселах и указывают расстоя- ние от окна до соответственно левой или правой, а также верхней или нижней границ экрана. ШИРИНА и ВЫСОТА измеряются в символах; по умолчанию принято соответственно 80 и 24 символа. fg color Устанавливает цвет текста (для цветных дисплеев) В файле /usr/Iib/Xll/rgb.txt содержится список допускаемых наименований цветов. - bg color Устанав швает цвет фона окна (для цветных дисплеев). - bd color Устанавливает цвет рамки окна (для цветных дисплеев). - er color Устанавливает цвет текстового курсора (для цветных дисплеев). - ms color Устанавливает цвет ку]жора мыши (для цветных дисплеев). - d displayname, -display displayname Создаст окно Fmacs на указанном дисплее. В командной строке >та оп- ция должна указывал ься первой.
II. Команды -nw Отказывается от применения специальною интерфейса к системе X Если этот переключатель используе!ся при вызове emacs из окна xterm, дисплей будет создан в упомянутом окне. В командной строке эта он ция должна указываться первой. В файле ресурсов .Xrcsourccs можно установить (см. xrdb) значения по умолча- нию системы X для вашего окна Einacs. При этом используется следующий формат: emacs.ключевое_слоео: значение Примеры emacs@localhost.localdomain Buffers Files Tools Edit Search Huie hinibuf Help ffiThis buffer is -For notes you don't want to save, and for Lisp evalua И If you want to create a file, visit that file with C-x C-f, then enter the text in that file's own buffer. Click mouse-2 on a completion to select it. In this buffer, type RET to select the completion near point. Possible completions are: prim24 prim25 prim26 prim27 prim28 prim29 (Пример 1) (Пример 2) Редактор Emacs обладает таким интересным свойством, как дополнение команд: требует ввести минимальное количество необходимой информации, а остальное то-
LL(S II Команды полняег сам Данная возможность применяется при вводе имен и названии. Следует ввести лишь несколько символов имени, нажать Tab, а остальное Emacs добави г само- стоятельно. Если введенная часть имени не является уникальной, пользователю будут предложены альтернативные варианты (Пример 1). Окно Emacs разделено на две части (Files => Split Window). В нижнее окно за- гружен файл prim26. Верхнее окно подготовлено для создания почтового сообщения (Tools => Send Mail) (Пример 2). env - выполняет команду в измененном окружении. Синтаксис env [option]... [NAME=VALUE],.. [ command]args]... ] Аргументы в формате NAME-VALUE устанавливают переменную окружения NAME в значение VALUE. Ваша система Linux имеет множество переменных окружения, ко- торые используются в самых разных ситуациях. Переменные окружения определяют используемую по умолчанию оболочку, или командный процессор, тип терминала, мар- шруты, текстовый редактор, исходный каталог пользователя, строку приглашения и мно- гое другое. Могут применяться аргументы в формате NAМЕ=, присваивающие пустое значение переменной NAME. Первый оставшийся после обработки опций аргумент указывает имя вызываемой программы command, далее в командной строке следуют ее аргументы args. Вызыва- емая программа ищется по маршруту, представленному в переменной PATH Если не задано имя программы, действует подобно printenv - распечатывает полу- ченное окружение. Опции - , -i, — ignore-environment Игнорирует текущие значения всех переменных окружения. - и NAME, — unse\.=NAME Удаляет из окружения переменную NAME, если таковая существовала в окружении. - -help Печатает список опций и завершает программу. —version Выводит информацию о версии программы и завершает ее. Пример А вот как можно определить текущее время, скажем, во Франции. Достаточно устано- вить соответствующее значе- ние переменной TZ, определяю- щей часовой пояс, и запустить команду date. Ш misha@localhost.localdomain: /home/misha| х | [mishaGlocalhost mishali date 1 Птн Йвг 11 18:27:17 EEST 2000 [mishaplocalhost mishalS env TZ=France date 1 Птн Йвг 11 15:27:41 France 2000 1 [mishaplocalhost mishaJt | i 7]
II Команды 229 etags см. команду ctags. - выводит содержимое указанных файлов, преобра- зуя символы табуляции в пробелы. expand Синтаксис expand [option]...[file]_ Команда записывает содержимое указанного файлаfile или стандартного ввода, если вместо аргумента/i/e стоит дефис, на стандартный вывод, преобразуя символы табуля- ции в соответствующее число пробелов. По умолчанию конвертирует в пробелы все символы табуляции. Опции -tab\[,tab2] .... t tabl[,tab2] — tabs- tabl[,lab2] ... Устанавливает символы табуляции в позициях tabl и tab2 (нумерация с 0). Если указан один параметр tab, устанавливает задаваемое им коли- чество пробелов (по умолчанию 8). -i, —initial В каждой строке конвертирует лишь начальные символы табуляции, те, что предшествуют любому символу за исключением пробела или сим- вола табуляции. expect - запускает программируемый диалог с интерак- 1х тивной прог .аммой. Синтаксис expect [-dDinN][-c ends][-[f|b] cadfile] [args] Программа expect организует диалог с любой интерактивной программой согласно указанного сценария. Многие приложения выводят приглашения (запросы) и ожидают от пользователей ввода ответных строк. Такое интерактивное взаимодействие можно автоматизировать, написав несложные сценарии для программы expect. Получается, expect может запускать интерактивные приложения в пакетном режиме. Сценарии для программы expect чаше всего пишутся на интерпретируемом языке Тс1, который является типичным представителем языков оболочек. Само название про- граммы expect произошло от последовательностей scnd/cxpect (посылать/ожидать). используемых в сценариях UUCP, kermit и других программ управления модемом. Программа expect считывает файл emdfile в поисках команд для выполнения Не- обязательные аргументы args хранятся в виде списка в переменной argv. Еще одна пе]земенная агце инициализирус гея для хранения длины argv, переменная argvt) содер-
230 И Команды лиI имя сценария, хогя >ю может быть и двоичный файд, если никакой сценарии не используется. Опции - с cmds Определяет команду, исполняемую до начала сценария. Команду сле- дует заключи гь в кавычки. - d Делает возможным вывод диагностики. - D Запускает ннтерак гивный отладчик. - f cmdfile Задает файл сценария, из которого считываются команды. - b cmdfile Вместо сценария считывает двоичный (исполняемый) файл. Если вме- сто cmdfile стоит дефис, считывает стандартный ввод. - i Выводит интерактивные приглашения для команд вместо того, чтобы считывать их из файла. Завершает список опций команды expect. - N Отменяет использование файла инициализации Sexplibrary/expect.rc. - п Отменяет использование файла инициализации -/.expect.rc. Многие пользователи применяют программу expect для тестирования интерактив- ных программ и технических средств. expire - программа, оформляющая удаление статей новостей Usenet с истекшим сроком хранения. Синтаксис expire [-с][-D dir][-d dir][-e][-f fiie][-g fiie][-h file][-i][-k][-1] [—N][-n][-p][—q][-r reason 1[-s][-t][-u fiie][-v level][-w number] [-x][-Z file][-z file][expire.ctl] expire просматривает текстовый файл history (по маршруту <pathdb in inn.conf>/history) и использует найденную в нем информацию для окончательного удаления старых статей. Если в файле inn.conf задана опция storageapi и используется файл overview.ctl, что требуется для storage manager (менеджера хранения), то бу- ду г удалены старые унифицированные просмотренные данные. Однако и в этом случае потребуется expire: она "удостоверится", существует ли статья, и, если статья уже от- сутствует, примется за удаление соответствующих элементов в файлах history и unified overview (БД унифицированного npocMGipa). Чтобы отключить эту возможность, при- меняется флаг-N. Опции -с Если статьи хранятся с опцией storageapi, то на этом принципе будет анализироваться срок их хранения. С флагом -с устанавливает срок хра- нения в соответствии с группой новостей. -D dir Указывает каталог dii , в котором будут создаваться новые уинфицнро- ваиныс файлы об«>ров.
II. Команды 231 -d dir -e -ffile -gy?/e -hjile ri -k -1 -N -n -P -q -r reason -s Указывает катализ dir, в котором создаются новый файл history и БД обзоров. Обычно применяется совместно с флатом -г Удаляет все копии статьи, как только истечет срок хранения первого выпуска статьи. Задает альтернативный файл для history. Расширяет выводимую диагност ику для указанного файла /Не Задает альтернативный входной текстовый файл в качестве history. По умолчанию без этого флага используется <pathdb in inn.conf>/histor Игнорирует старую БД. Статьи новостей будут удалены лишь тогда, когда истечет срок их хра- нения во всех группах, где они появились. Флаги -е и -к не могут упот- ребляться одновременно. Обычно expire разрывает связи каждого файла, если истек срок его хранения. В случае задания этой опции все статьи после первой рас- сматриваются как символические ссылки к первой статье. И в этом слу- чае первая статья не удаляется до тех пор, пока на нее ссылаются дру- гие статьи. Если вместе с этим флагом задан флаг -е, то флаг -1 игнори- руется. Если статья хранится с опцией storageapi и применяется собственный метод определения срока хранения, тогда по умолчанию управляющий файл (control file) для этой статьи игнорируется. Если задан флаг -N. expire и в этом случае использует управляющий файл. Если демон innd не запущен, флаг -п запрещает expire посылать ко- манду pause или go. expire обычно "принимает свои решения”, основываясь на времени по- ступления статьи, как это записано в файле history. Однако возможно и другое решение, когда за базовую дату принимается время выпуска (вы- хода в свет) статьи. В этом случае применяется флаг -р. expire обычно "выражает недовольство" по поводу статей, направляе- мых в группы новостей, которые не упомянуты в файле active. Для по- давления вышеописанного действия применяется флаг-q. expire обычно посылает локальному демону innd команду pause, ког- да ей нужно получить исключительный доступ к файлу history. При этом в качестве причины reason задается строка Expiring (истечение срока действия). С помощью флага -г можно указать и другую причину, доба- вив еще и 1D процесса. Завершая выполнение своих функций, expire распечатывает количество килобайт, ранее занимаемых удаленными статьями. Создаст и направляет па стандартный вывод список файлов, которые будут удалены; новый файл history будем проведен через history.n history.n.dir, history.n.index, history.n.hash.
232 Н Команды -u file Добавляет имена удаленных статей в указанный файл Jile, который мо- жет применяться как входной для expireindex. -v level Определяет уровень диагнос тики, направляемой насгандартный вывод Параметр level - тго число: чем оно больше, тем выше уровень диаг- ностики. Для уровня 1 печатаются итоги по различным выполненным действиям, для уровня 2 индивидуальный отчет по каждому файлу на уровне 5 создастся более одной строки вывода для каждой отработан- ной строки. -w number Иногда нужно, чтобы expire "считала", что она работает в другое вре- мя, нежели текущее Для этого служит флаг -w; параметр number-это число с плавающей запятой, задающее количество дней, используемое как смещение. - х Не будет создавать никакие новые файлы history. - z file Не удаляет статьи, а добавляет их имена в указанный файл file (см. опи- сание ключевого слова delayrm в команде news.daily). - Z file Если используется флаг -Z, сохраняет метки lowmarks для каждой груп- пы новостей хранятся в указанном файле file, который затем может ис- пользоваться ctlinnd для приведения в порядок файла active Если в командной строке еще и указано имя файла, он берется в качестве управля- ющего файла и анализируется в соответствии с правилами, изложенными в файле expire.ctl. Единственный дефис означает чтение файла со стандартного ввода. Если не указан никакой файл, считывается файл <pathetc in inn.conf>/expire.ctl. expireindex - удаляет элементы из индекса обзора новостей. Синтаксис expireindex [-a] [-D overviewdir] [-1] [-п] [-о] (—<J ] |-v] [-z] [file... 1 expireindex считывает список групп новостей и номеров статей из указанного фай- ла file или стандартного ввода, если имена файлов не указаны. В качестве стандартного ввода может стоять дефис. Каждая считанная строка может состоять из двух полей, разделенных двоеточием. Первое поле - имя группы новостей. В этом формате имею- щаяся точка в имени группы будет замещаться прямым слэшем. Второе поле номер статьи с истекшим сроком хранения. Любые упоминания об этих статьях будут удале- ны из соответствующего индекса базы обзоров статей. Если пользователь отключил опцию storageapi в файле inn.conf. придется с помо- щью expireover удалить обзор. Проверку выполненной манипуляции осуществляет сценарий news.daily. Опции -а Расширяет индекс, считывая содержимое входного файла. В отличие от overchan, после чтения входного файла сразу же записывает индекс
II. Команды 233 базы обзоров, по этой причине входной файл должен бьпь отсортиро- ван. Каждая входная строка состоит из двух полей разделенных пробе- лом. Первое поле - это маркер статьи. Второе поле, в свою очередь, состоит из двух подполей, разделенных двоеточием: первое из кото- рых является именем группы новостей, а второе номером добавляе- мой статьи Входной файл может быть создан с помощью makehistory с опцией -I. - D overviewdir Определяет место хранения баз данных. По умолчанию принимается каталог <pathoverview in inn.confX - 1 Удаляет все старые элементы указателя более низкого уровня, чем но- мер считанной из входного файла статьи. Каждая строка входного фай- ла состоит из двух полей, разделенных пробелом: первое поле - имя группы новостей, второе поле - номер статьи (наименьший сохраняемый номер статьи). Входной файл может быть создан expire с опцией -Z. - п Не производит в действительности никаких обновлений. - о Перед расширением нового индекса игнорирует все старые указате щ обзоров Этот флаг может применяться вместе с флагом -г, и тогда вход- ной файл будет отсортирован по именам групп новостей. Данный флаг имеет силу, если используется флаг -а - q Запрещает выдачу сообщений о неудачном открытии lock-файлов. - v Позволяет увидеть список элементов, намеченных для добавления или удаления. - z Предполагает, что все элементы для одной какой-либо группы ново- стей будут отсортированы и собраны вместе, что значительно облегча- ет их последующее удаление. Этот флаг применяется вместе с флагом -а или с отсортированным выводом expire с опцией -г. expireover в связи с истечением срока хранения уда- ляет элементы из ЬД обзоров. Синтаксис expireover [-a][-D overviewdir][-f file][-п][-O overview.fnt][-q][~s] [-v][-z][fiie...] expireover считывает список маршрутов (относительно спул-каталога '-pathanicles in inn.conf») из указанных файлов file или стандартного ввода, если имена не заданы или вместо них стоит дефис. А затем удаляет из соогветс гвующей БД любые у помина- ния об этих статьях. Если пользователь установил опцию storageapi в файле inn conf, ему еле tyei не пользовать expircindex для обновления индекса проемшра.
234 П Команды Опции -а Считывает спул-каталог и добавляет любые отсутшвующие темен,ы базы обзоров, при этом, если необходимо, будут созданы файлы. Дан- ный флаг используется для инициализации БД, а также для синхрониза- ции БД. в которой не хватает по какой-либо причине стал ей. Желательно запустить oserclian, чтобы удостовериться, что все входящие статьи включены. Применение этого флага подразумевает и флат -s. Можно указать флаг -f, добавляющий только некий набор групп новостей. -D overviewdir Флаг -D указывает каталог overviewdir, в котором хранятся БД. По умол- чанию принят катали <patharlicles in mn.conf>. - f file Обычно expireover считывает спул-каталог для всех групп новостей, упомянутых в файле active. Можно указать альтернативный файл file. В качестве его имени можно использовать дефис, что будет означать стан- дартный ввод. - п Не производит в действительности никаких обновлений. - О overview.fmt Указывает альтернативное расположение для файла overview.fmt. обычно используемого только для отладки. - q Запрещает выдачу сообщений о неудачном открытии lock-файлов. - s Считывает спул-каталог для всех групп новостей, упомянутых в файле active, и удаляет элементы обзора, соответствующие любым статьям, не появившимся в этом каталоге. - v Осуществляет просмотр списка элементов предполагаемых для добав- ления или удаления. - z Предполагает, что все элементы для одной какой либо группы ново- стей будут отсортированы и собраны вместе, что значительно облегча- ет их последующее удаление (см. флаг -z для expire). expirerm - удаляет статьи с истекшим сроком хранения. Синтаксис expirerm file Сценарий expirerm удаляет файлы из указанного списка file. Содержимое спис- ка сортируется и затем передается ио конвейеру собственно для последующего уда- ления утилите fastrm. Если при удалении файлов возникают проблемы, администра- тору службы новостей направляется почтовое сообщение. В противном слу чае tile переименовывается и в целях безопасности сохраняется в '.pathlog in inn.conf>expire.list до следующих манипуляций, свя занных с нс течением срока хра- нения статей новостей.
II. Команды 235 expr - вычисляет сыраж<.'НИи. Синтаксис expr expression expr option Любое выражение expression содержит числовые или строковые операнды Ко- манда expr поддерживает обычные числовые операторы (в порядке возрастания при- оритета), сравнение (сопоставление) с шаблоном и другие строковые операторы. Стро- ковые операторы имеют более низкий приоритет. Команда expr также поддерживает логические связи и отношения, у которых более высокий приоритет, чем у строковых или числовых операторов. Опции —help Печатает сообшение об использовании и завершает команду. —version Печатает информацию о версии. Пример = Terminal _ н х File Edit Settings Help [mishaGsofia expr 100/2+1 51 [mishaGsofia | A / fastmail - быстрый почтовый интерфейс в пакетном режиме. Синтаксис fastmail [-b bcc-list][-c cc-iist]]-C comments] [-d][-f fromname] ]-i msg-id] [-Г replyto][-R references] [~s subject] filename)- address-list Низкоуровневый интерфейс к почтовой системе, позволяющий выполнить пакетную обработку электронной почты. Предназначен для рассылки срочных почтовых сообщений большой группе людей, чьи адреса содержатся в address-list. Опции - Ъ bcc-list Отправляет "слепые копии" но указанному списку адресов bcc-list. - с cc-list Отправляет копии по указанному списку' адресов cc-list. - С comments Разрешает добавить строку Comments: к заголовку RPCS22 с произ- вольным текстом comments. d Устанавливает отладочный режим. - ffromname Заменяет указанное в строке From: (or кого) имя нользоваге |я на fromnamc.
23Ь II Команды -i msg-id Устанавливав г значение msg-id в c i року Message-II) заюловка почто- вого сообщения -г replyto Устанавливает значение replyto в строну Reply-10: заголовка почто- вого сообщения. -R references С помощью параметра references устанавливает текст описания/ссыл- ки для данного почтового сообщения. -s subject С помощью subject определяет тему почтового сообщения. Аргумент filename указывает имя файла, содержаще! о рассылаемые сообщения. Если вместо имени файла стоит дефис, будет предложено ввест и прямо с консоли текст почтовою сообщения. Команду fastmail удооно применять в сценариях. Пример $ fastmail -b mishaSa -г root@a maxnletter sofiaga $ Здесь переменная а ранее определена с помощью команды alias и составляет часть почтового адреса. fastrm - служит для быстрого удаления набора файлов Синтаксис fastrm [-d] [-е] [-uW] [-sf!] [-cl] base directory Считывает со стандартного ввода список файлов или маркеров статей по одному элементу в строке и удаляет их. Если файл задается абсолютным маршрутом, берет маршрут относительно каталога base_directory. Параметр base directory — это абсолютный маршрут, т.е. не может содержать выражения типа /./ нли /../. Предназначение fastrm - работать быстрее, чем конвейер с использованием rm. К тому же fastrm обычно переходит в требуемый каталог перед удалением файлов из него. Если входной файл отсортирован, процедура удаления очень упрощается. Помимо сказанного fastrm выполняет также системный вызов unlink (удаление ссылок) для каждого удаляемого элемента. В качестве меры безопасности, если fastrm запускается суперпользователем, он сначала должен с помощью stat убедиться, что удаляемый элемент не является каталогом, а уже потом удалять ссылку. Опции -d Устанавливает отладочный режим. Никакие файлы не удаляются; вмес то этого на стандартный вывод направляется список файлов, подлежа щих удалению, в одном из двух отладочных форматов. В нервом фор- мате каждая строка содержит текущий каталог fastrm во время прове- дения операции unlink и <атсм маршрут, передаваемый unlink: пи два поля разделяются пробе юм п прямым слэшем Во втором формате при- сутствует единственное ноле абсолютный маршру г, по котором^ бу- дет прои июдиться удаление спя ten (ссылок)
II. Команды 237 - е 1 ратует пусюй stdin- стандартный входной файл как ошибку ” 11^ Производит вспомогательную работу на дальнейшее в чаеги рабочего окружения гак, чтобы в выходном дереве отсутствовали символичес- кие связи (ссылки). С помощью этого флага fastrm "предполагает, чго гораздо проще обратиться по маршруту чем спускаться вниз от базового каталога root. Параметр N - целое число, указывающее мак- симальное количество уровней (..) маршрута. По умолчанию устанав- ливается -ul, если указан только флаг -и. - sM Удаляет связи (ссылки) в порядке появления файлов в каталоге. Не- обязательный параметр М указывает предполагаемое количество уда- ляемых файлов. По умолчанию устанавливается -s5, если указан толь- ко флаг -S. - с/ Флаг -с инструктирует fastrm, что предпринимать при вызове chdir (сме- на каталога) Если количество файлов, для которых должны быть уда- лены связи, меньше целого числа /, fastrm вызывает chdir и удаляет связи файлов из этого каталога В противном случае она выстраивает маршрут относительно своего текущего каталога. Если задан только флаг -с, по умолчанию предполагается -cl; в этом случае fastrm всегда будет использовать chdir. Если флаг -с вообще не задан, предполагает- ся значение -сЗ. Указание -сО препятствует вызову chdir. fastrm завершается с кодом 0, если при ее работе не возникало проблем, в против- ном случае - с кодом 1. Удаление несуществующих файлов считается проблемой. fdformat выполняет низкоуровневое форматирование гибких дисков. Синтаксис fdformat [~n] device Обычно в качестве имен дисководов для гибких дисков применяется /dev/fdO и /dev/fdl. Опции _п После форматирования не осуществляет верификацию (контрольную проверку гибких дисков). fdisk манипулирует таблицей разделов жесткого диска для Linux. К Синтаксис fdisk [-u]|-b Bectoreize} device fdisk -1 (-u]|-b sectorsize] Idevice... ]
238 II Команды fdisk —s partition... fdisk -v Жесткие диски (винчестеры) могут быть разбиты на один или более логических дисков, называемых разделами. Текущая разбивка описывается в таблице разделов, ко- торая находится в нулевом секторе физического диска. Linux нуждается по меньшей мере хотя бы в одном разделе для корневой файловой системы. Для областей своппинга могут использоваться файлы и/или разделы, послед- нее предпочтительней. Кроме того, на оборудовании Intel при загрузке (особенность BIOS) могут быть доступны только первые 1024 цилиндра, что также является пово- дом для разделения большого физического диска на части. Хотя могут иметь место и другие причины, например соображения безопасности, когда некоторые файлы (фай- ловые системы) желательно вынести в отдельный раздел. fdisk - базирующаяся на меню программа, предназначенная для создания и манипу- ляций с разделами диска. Она "понимает" таблицы разделов DOS и метки дисков BSD или SUN. Аргумент device обычно указывает устройство для следующих дисков: IDE /dev/hd[a-h] SCSI /dev/sd[a-p] ESDI /dev/ed[a-d] RAID-устройства /dev/rd/cOdO или /dev/ida/cOdO Имя устройства относится к полному диску. Раздел это имя устройства, за кото- рым следует номер раздела. Например, /dev/hda3 - это третий раздел жесткого IDE- диска. Метки типов дисков BSD/SUN могут описывать до восьми разделов, третий из ко- торых - раздел полного диска, метки типов дисков IRIX/SGI могут описывать до 16 разделов, одиннадцатый - заголовок тома. Если на жестком диске приходится создавать разделы разных файловых систем - DOS, Windows 95, OS/2 и т.д. - рекомендуется создавать разделы DOS программой DOS FDISK, а разделы Linux - программой Linux fdisk или Linux cfdisk. Опции - v Выводит информацию о версии программы fdisk и завершает ее. - 1 Информирует о содержимом таблиц разделов указанных устройств и завершает программу. Если никакие устройства не заданы, использт ет- ся информация из /proc/partitions. если таковая имеется. - и В листинге содержимого таблиц разделов показывает размеры разде- лов в секторах вместо цилиндров. - b sectorsize Указывает размер дискового сектора. Принятые размеры -512, 1024, 2048. - s partition Распечатывает на стандартный вывод размер у ка тайного pa) тела воло- ках. После тапуска программа fdisk выводит командное приглашение. Команда пт по- зволяет распечатать меню (список) команд. Ниже перечислены основные команды fdisk:
II. Команды 239 а включает флаг загружаемого раздела b редактирует дисковые метки (BSD) d удаляет раздел 1 распечатывает существующие типы разделов m выводит экранную подсказку п добавляет новый раздел р печатает таблицу разделов q завершает работу программы без сохранения изменений t меняет системный идентификатор раздела v проверяет таблицу разделов w записывает таблицу разделов на диск и завершает работу Пример # fdisk -1 Disk /dev/hda: 64 heads, 63 sectors, 825 cylinders Units = cylinders of 4032 * 512 bytes Device Boot Start End Blocks Id System /dev/hdal * 1 153 308416+ 6 FAT 16 /dev/hda2 154 825 1354752 5 Extended /dev/hda5 154 799 1302304+ 83 Linux /dev/hda6 800 820 42304+ 82 Linux swap Disk /dev/hdc: 64 heads, 63 sectors, 1022 cylinders Units = cylinders of 4032 ♦ 512 bytes Device Boot Start End Blocks Id System /dev/hdcl * 1 610 1229728+ b Win95 FAT32 /dev/hdc2 611 1020 826560 5 Extended /dev/hdc5 * 611 1020 826528+ b Win95 FAT32 i В этом листинге описаны два диска IDE (/dev/hda и /dev.'hdc). В разделах первого из дисков содержатся файловые системы DOS (FAT16) и Linux. В разделах второго Windows 95 (FAT32). Устройство /dev/hda6 выделено для области своппинга (подкач- ки) Linux. fetchmail выбирает почту с серверов POP, IMAP или ETRN. Синтаксис fetchmail [option] [mailserver...] fetchmailconf Выбирает почту с дистанционных почтовых серверов mailsen ег и пере ьчетее сис- теме доставки на локальной клиентской машине. Далее пользователь может выор;нь почтовые сообщения с помощью таких почтовых агентов как elm или mail.
240 II Команды Утилита fctchmail может быть запущена в режиме демона для периодического опро- са дистанционных систем. Она может собирать почту с серверов, поддерживающих общие почтовые протоколы, а именно: POP2, POP3, IMAP2bis, IMAP4, IMAPrevl и расширение ESMTP ETRN. Поскольку изначально fetchmail предназначалась для таких TCP/IP связей, как под- ключение SLIP или РРР, она может быть полезна в качестве агента передачи сообще- ний для тех сайтов, которые в целях безопасности отказывают ся от SMTP-транзакций через sendmail. Каждое сообщение, выбираемое fetchmail, обычно доставляется по SMTP через порт 25 вашей локальной машины, т.е. проходит по обычному каналу связи TCP/IP Затем почта доставляется локально через сис темный MDA (Mail Delivery Agent - агент доставки почты), обычно в качестве такового применяется sendmail, хотя могут быть и другие варианты. Все механизмы управления доставкой, такие, как перепоручение почтовых файлов, как правило, доступны через ваш системный MDA и местных аген- тов доставки. Программа fetchmailconf, если доступна, устанавливает и редактирует конфигура- ционный файл fetchmailrc. Она требует наличия в системе пользователя языка Python и инструмента Тк. Если вы вначале устанавливаете fetchmail для режима работы един- ственного пользователя, рекомендуется, чтобы использовался режим Novice (для на- чинающих). Особенности функционирования fetchmail определяются опциями option команд- ной строки и содержимым файла -/.fetchmailrc, причем опции командной строки пе- рекрывают содержимое конфигурационного файла. Почти все опции имеют соответствующее ключевое слово, которое используется для их декларирования в файле fetchmailrc. Основные опции - V, —version Выводит информацию о версии fetchmail. Никакой выборки почты не производится, а вмест о этого программа информирует обо всех опци- ях, которые будут действовать в подключении. - с, —check Возвращает код возврата, сообщающий о новых поступлениях почты. Эта опция отключает режим демона, в котором она была бы просто бесполезна. - d interval, —daemon interval Запускает fetchmail в режиме демона и указывает интервал между оп- росами почтового сервера в секундах. -s, —silent -v, —verbose Подавляет выдачу сообщений. Направляет все информационные сообщения, которыми обмениваются fetchmail и почтовый сервер, в стандартный файл ошибок. -a, —all Доставляет как старые, уже просмотренные, так и новые сообщения с почтового сервера. Этой опции соответствует ключевое слово fctchall файла конфигурации. Не работает с ETRN. По умолчанию выбираются лишь сообщения, помеченные сервером как непросмотренные -k, —keep Держит пришедшие почтовые сообщения на дистанционном поч гоном сервере. Этой опции соответствует ключевое слово keep.
II. Команды 241 - К, — nokeep Удаляет выбранные сообщения с дистанционного почтового сервера. - F, —flusn Предназначается только для POP3/IMAP. Перед выборкой новых со- общений удаляет с почтового сервера старые, ранее выбранные сооб- щения. Эта опция не работает с ETRN. - р, - protocol proto Этой опции соответствует ключевое слово protocol].Указывает прото- кол обмена с дистанционным почтовым сервером. По умолчанию proto устанавливается в значении AUTO. Ниже перечислены возможные зна- чения proto-. AUTO поддерживает IMAP, POP3 и POP2, но пропускает лю- бой из этих протоколов, если его поддержка не указы- валась при компиляции. POP2 протокол почтового отделения 2 POP3 протокол почтового отделения 3 АРОР использует POP3 с аутентификацией MD5 RPOP использует POP3 с аутентификацией RPOP КРОР использует POP3 с предварительной аутентификацей Kerberos V4 на порту 1109 SDPS использует POP3 с расширениями SDPS для демона Internet IMAP использует IMAP2bis, 1МАР4 или IMAP4revl, которые автоматически распознает IMAP-K4 использует IMAP4 или IMAP4revl, который автомати- чески распознает, с предварительной аутентификацией no Kerberos IMAP-GSS использует IMAP4 или IMAP4revl, который автомата ческ! распознает, с предварительной аутентификацией GSSAP1 (RFC 1731) IMAP-CRAMMD5 использует IMAP4 или IMAP4revl, который автомати- чески распознает, с аутентификацией CRAM-MD5 IMAP-LOGIN использует IMAP4 или IMAP4revl, который автомати- чески распознает только с открытой аутентификацией при регистрации, даже если сервер поддерживает что- нибудь получше ETRN использует ESMTP ETRN. -t, —timeout seconds Устанавливает время тайм-аута (ожидания ответа сервера) в секундах. В конфигурационном файле используется ключевое слове timeout
242 11 к°мамды —plugin command Для установления ГСР-нодключения разрешает исполь юва< ь внешнюю программу, запускаемую командой command. Поиск пршраммы про- изводится по маршруту, указанному SPATH, и ей будет передано два ар- гумента: имя сервера и номер порта. Это полезно в случае использова- ния сокетов или установки специальных брандмауэров (сетевых экра- нов). Используется ключевое слово plugin. -г name, —folder пате Требует, чтобы на почтовом сервере корреспонденция выбиралась из указанной почтовой папки пате, хотя в качестве пате можно опреде- лить разделенный запятыми список почтовых папок. Используется клю- чевое слово folder[s]. Эта опция недоступна для POP3 или ETRN. —ssl При подключении к почтовому серверу предлагает применять шифро- вание через SSL. Используется ключевое слово ssl. —sslcert name Указывает имя файла со стороны клиента, содержащего общий серти- фикат SSL. Во многих случаях задавать эту опцию необязательно. Ис- пользуется ключевое слово sslcert. — sslkey name Указывает имя файла со стороны клиента, содержащего общий ключ SSL Во многих случаях задавать эту опцию необязательно. Использу- ется ключевое слово sslkey. - S hosts, — smtphost hosts Определяет разделенный запятыми список узлов, которыми может быть получена почта. Каждый элемент списка помимо имени узла может со- держать определяемый наклонной чертой номер порта. По умолчанию принят порт за номером 25. Обычно по умолчанию в конец списка до- бавляется localhost (локальный узел). Но если используется режим ETRN или аутентификация по Kerberos, по умолчанию в конец списка добавляется FQDN сетевого узла, запустившего fetchmail. Использу- ется ключевое слово smtpfhost]. - D domain, —smtpaddress domain Указывает домен, который берется для заполнения строк RCPT ТО (получателю) по протоколу SMTR Если опция не задана, используется имя SMTP-сервера, определяемого опцией —smtphost. или же берется по умолчанию localhost. - m command, —mda command Направляет почту непосредственно MDA (Mail Delivery Agent агенту доставки почты) С помощью команды command можно запустить та- кие MDA: /uar/Bbin/sendmail -oen -t «F %Т /ивг/bin/procmail -d *т
II. Команды 243 В MDA-команду вместо % Г буду г включены локальные адреса достав- ки, а вмесго%1’ почтовый адрес From (от кого). Используется клю- чевое слово mda. - 1 maxbytes, —limit maxbytes Определяет максимальный размер выбираемого сообщения 11очз овые сообщения, размер которых превышает указанный, не выбираются, не помечаются как просмотренные и остаются на сервере. Используется ключевое слово limit. b count, -batchlimit count Указывает максимальное количество сообщений, которые могут быть переданы на прослушивание SMTP до того, как подключение специаль- но будет прервано и перестроено. Используется ключевое слово batchlimit. Эта опция не работает с ETRN . - В number, —fetchlimit number Ограничивает с помощью значения number количество сообщений, принимаемых с заданного сервера за один опрос. По умолчанию огра- ничений не существует. Используется ключевое слово fetchlimit. Если значение number установлено в 0, будут перекрыты любые пределы, указанные в у т травляющем файле. Эта опция не работает с ETRN - u пате, — username пате Указывает имя пользователя, используемое для регистрации на почто- вом сервере. По умолчанию используется ваше имя на клиентской ма- шине, где запущена fetchmail. Ключевое слово - userfname]. - I specification, —interface specification Перед опросом проверяет, чтобы существующий интерфейс к почто- вому серверу имел IP-адрес, заданный параметром specification. Обыч- но fetchmail напрямую устанавливает связь с почтовым сервером типа точка-точка, используя SLIP или РРР. Но могут существовать и другие TCP/IP маршруты к почтовому серверу. Применяется спецификация сле- дующего формата: interface/iii.iii.iii.iii/nanm.mmm.mmm.mmni Поле interface задает имя интерфейса, например. slO или pppO, pppl и т.д. Поле между двумя наклонными собственно и является обычным IP-адресом. Поле за второй наклонной - это маска, указывающая диа- пазон принимаемых IP-адресов. Если маска не задана, принимается зна- чение 255 255.255.255 Используется ключевое слово interface. - f pathname, --fetchmailrc pathname Указывает имя управляющего файла .fetchmailrc, отличающееся or при- нятого по умолчанию Если в качестве аргумента pathname стоит де- фис, считывает стандартный ввод. Рекомендованные полномочия на этот файл устанавливаются в 0600, т.е. u=rw, g=, о=.
244 II Команд* -i pathname"?-, —idfile pathname Указывает альтернативное имя файла .fetchids, используемого для со- хранения UlDs (идентификаторов пользователей) при подключении че- рез POP3. Используется ключевое слово idfile. -configdump Проводит синтаксический контроль содержимого файла -/.fetchmailrc, интерпретируя указанные опции командной строки. Выводит на стандарт- ный вывод отчет о конфигурации в виде структуры данных языка Python. В каждом режиме кроме ETRN требуется аутентификация клиента. Обычная аутен- тификация пользователей в fetchmail очень похожа на механизм аутентификации ftp. Если вы используете одинаковые имена при регистрации на сервере и на клиентской машине, вам не о чем беспокоиться по умолчанию ваше регистрационное имя на кли- ентской машине будет принято в качестве идентификатора пользователя на сервере. С помощью опции -d interval, или —daemon interval, можно запустить fetchmail в ре- жиме демона. Здесь аргумент interval определяет интервал в секундах между опроса- ми почтового сервера. В режиме демона fetchmail сама себя запускает в фоновом режиме. Пример $ fetchmail -d 600 Этот краткий вызов определяет, что fetchmail будет запущена в режиме демона. fg - запусхает прерванный процесс в режиме перед- него плана. Синтаксис fg [JOBSPEC] Команда fg встроена в командный процессор, или оболочку bash. Прервав процесс JOBSPEC при нажатии Ctrl+Z, можно затем перевести его в режим переднего плана (основной, или приоритетны,., режим) с помощью fg. Если аргумент JOBSPEC не за- дан, переводится текущее задание. fgrep - одна из разновидностей поисковой команды grep. К Команда fgrep - это то же самое, чго grep -F (см. команду grep). Работает с шаблоном, являющимся списком фиксированных строк, разделенных символом newline, любая из строк должна быть сопоставима (найдена). Следует отметить, что fgrep не работаете регулярными выражениями. Она удобна для поиска строк, содержащих символ обратной наклонной черты, звез дочки и дру гие символы, которые обычно приходится заключать в кавычки.
II. Команды Пример Предварительно распечатаем файл prim64, содержащий образцы поиска для файла prim62: § cat prim64 cvv * puts $ fgrep -f prim 64 prim62 cccvv inputs=5 B=5*6 $ file - опреде!ъе: тис указанного файла. К Синтаксис file [-bcinsvzL] [-f namefile] [ -m magicfiles] file_ Программа file тестирует каждый заданный файл file, пытаясь классифицировать его. Прежде всего устанавливается тип файла. Часто для этого приходится прове- рять magic numbers (магические числа): первые шестнадцать бит файла содержат кодированную информацию о типе этого файла С помощью файла /etc/magic или /usr/share/magic ядро системы интеопретирует кодированную информацию, пытаясь определить тип файла. Если был обнаружен ASCII-файл, команда также пытается определить язык тексто- вого файла, анализируя строки нескольких первых блоков файла. Опции - Ь В выводимых строках не печатает имен файлов (краткий режим). - с Обычно используется совместно с опцией -т, чтобы отладить новый файл magic перед его включением в систему. Способствует синтакси- ческому анализу файла magic. - f namefile Вместо командной строки считывает список указанных файлов (по од- ному в каждой строке) из файла namefile. Если вместо имени файла стоит дефис, тестирует стандартный ввод. - i Сообщает mime-тип файла (text/plain и т.д.) - m magicfiles Указывает альтернативный список файлов, содержащих magic numbers (магические числа). В качестве разделителя имен файлов в списке ис- пользует двоеточие. - п Сбрасывает (освобождает) содержимое стандартного вывода после проверки файла. Это полезно лишь в случае проверки списка файлов. - V Выводит информацию о версии программы и завершает ее. - z Пы гается тестировать сжатые файлы
246 11 Команды - s Анализирует помимо обычных также и специальные файлы. - L Следует символическим ссылкам. Пример В командной строке tile указано несколько имен файлов разного типа: $ file lex.yy.c lexout mainletter proba.tiff lex.yy.c: C program text (from flex) lexout: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped mainletter: ASCII text proba.tiff: TIFF image data, big-endian $ Команда file достаточно "интеллектуальна". Она не просто определяет, что lex.yy.c - текстовый файл на языке С, но в состоянии проанализировать, что он создан с помо- щью flex. - буферизованный интерфейс для InterNetNews, осуществляющий запись в файлы. filechan Синтаксис filechan [-d directory] [-f fields]]-a map][-p pidfile] Считывает строки стандартного ввода и копирует некоторые поля каждой строки в файлы, имена которых определены в специальных полях строки, filechan вызывается innd для реализации подачи по частям (компонентам), хотя в этой роли ее функции ограничены: в отличие от buffchan она не обрабатывает команды входного потока. Опции -ffields filechan рассматривает входной файл как набор строк. Каждая строка содержит фиксированное число исходных полей, за которыми следует переменное количество полей, содержащих имена файлов. Все поля в строке разделены пробелами. По умолчанию число исходных полей рав- но 1, с помощью fields можно указать требуемое количество. - d directory Указывает каталог directory, куда программа записывает свой вывод; nd умолчанию - в <pathoutgoing in inn.conf>. - р pidfile Программа filechan запишет строку, содержащую ее PID, в файл pidfile. - m trap Использование файла отображения тар задается с помощью флага -ш. См. описание этой опции для команды buffchan. Записывая строки в файл, filechan открывает его в расширенном режиме и затем пытается заблокировать, чтобы сменить владельца файла и его групп) на владельца каталога, куда производится запись. Пример Программа filechan вызывалась с » >ицией -f 2 и получила следующий исходны*! файл;
! Команды 247 news/hardware/c/144 993Jfunnary.ob.ed tor push copy news/software/c/140 1847Jnews.xoo.com push copy news/sources/linux/2001 10281Jnews.linux.com tom copy Тогда в файле tom возникнут такие строки: news/hjrdware/c/144 993Jfunnary.ob.ed news/sources/linux/2001 10281fnews.linux.com В файле push соответственно следующие: news/hardware/c/144 993Jfunnary.ob.ed news/software/c/140 1847Jnews.foo.com И, наконец, в файле сору появится такое содержимое: news/hardware/c/144 993Jfunnary.ob.ed news/software/c/140 1847Jnews.foo.com news/sources/linux/2001 10281Jnews.linux.com Tina - производит поиск файлов в еве каталогов. 1х Синтаксис find [patA...]I expression] Команда find может производить поиск файлов по маршруту path по многочислен- ным критериям; □ по имени файла или шаблону имени □ по ссылкам □ тех, которые использовались в определенный промежуток времени □ по размеру □ по типу □ по владельцу или группе □ с определенными полномочиями доступа □ содержащих текст, совпавший с указанным шаблоном □ по местонахождению в дереве каталогов (по глубине вхождения в структуру каталога) □ по комбинации перечисленных условий Так называемое expression (выражение) состоит из опций командной строки, тес- тов, которые возвращают значение истинно или ложно, и действии. Основные опции -daystart В качестве точки отсчета времени принимает начало дня. -depth Обрабатывает содержимое каждого подкаталога перед обработкой соб- ственно каталога. -follow Не следует при поиске символическим ссылкам. -help, --help Печатает перечень опций командной строки и ывершаег про1рамму.
248 II Команды -maxdepth levels Производит поиск в дереве каталогов не глубже указанного уровня levels. -mindepth levels Производит поиск в дереве каталогов уровня levels и глубже. -mount Не выполняет поиск в каталогах других файловых систем. -version, —version Печатает номер версии программы find и завершает ее. Тесты +/1 Больше, чем и, где n - числовой аргумент. -п Меньше, чем и, где л - числовой аргумент. п Равно п, где п числовой аргумент. -amin п Поиск файла, к которому было обращение и минут тому назад. -anewer file Поиск файла, доступ к которому производился после того, как он был модифицирован. -atime и Поиск файла, к которому производилось обращение и *24 часов тому назад. -cmin и Поиск файла, состояние которого было последний раз изменено и ми- нут тому назад. -cnewer file Поиск файла, состояние которого последний раз изменялось после того, как указанный файл file был модифицирован. -ctime n Поиск файла, состояние которого было последний раз изменено и *24 часов тому назад. -empty Поиск обычного пустого файла или пустого каталога. -false Всегда ложно - условие, которое никогда не выполняется. -fstype type Поиск файлов в файловых системах указанного типа tvpe. С помощью команды find -printf %F можно увидеть ваши типы файловых систем. -gid n Поиск файла, принадлежащего группе, числовой идентификатор кото- рой равен п. -group gname Поиск файла, принадлежащего группеgname. -ilname pattern Подобен тесту -Iname, но при сопоставлении шаблона регистр букв иг- норируется. -iname pattern Подобен тесту -name, но при сопоставлении шаблона регистр букв иг- норируется. -mum п Поиск файла, индексный дескриптор которого равен п. -ipath pattern Подобен тесту -path, но при сопоставлении шаблона регистр букв иг- норируется.
II. Команды 249 -i regex pattern -links и Подобен тесту -regex, но при сопоставлении шаблона регистр букв иг- норируется. Поиск файла, на который указывают п ссылок. -Iname pattern Поиск символических ссылок, имена которых соответствуют шаблону pattern. -mmin п Поиск файла, содержимое которого модифицировалось п минут тому назад. -mtime п Поиск файла, содержимое которого модифицировалось п *24 часа тому назад. -name pattern Поиск файла, базовое имя которого соответствует заданному шаблону pattern. -newer file Поиск файла, который модифицировался позже, чем указанный файл file. -nouser Поиск файла, принадлежащего несуществующему пользователю. -nogroup -path pattern -perm mode Поиск файла, принадлежащего несуществующей группе. Поиск имени файла по указанному шаблону оболочки. Поиск файла с заданными полномочиями в восьмеричной или символь- ной форме. -perm -mode -perm +mode Устанавливает для файла все биты полномочий mode. Устанавливает для файла любой бит полномочий mode. -regex pattern Поиск файла, имя которого совпадает с регулярными выражением pattern. Маршрут в этом случае должен полностью совпасть, т.е., что- бы отыскать файл по имени ,/stdar можно указать регулярное выраже- ние .*dar, но нельзя задавать - d.*ar. -size n[bckw] Поиск файла указанного размера п. Приняты следующие единицы из- мерения: b блоки размером в 512 байт с байты к килобайты w слова размером 2 байта -true Всегда истинно - условие, которое всегда выполняется -type c Поиск файла заданного типа с. Приняты следующие типы файлов: b блочно-специальный с символьно-специальный d каталог р именованный канал (буфер FIFO) f обычный файл 1 символическая ссылка s соксг
250 11 •<'змаигъг -u id п Поиск файла, принадлежащего владельцу, идентификатор которого ра- вен н (числовое значение). -used п Поиск файлов, к которым были обращения в последние п дней после изменения их статуса. -user ипате Поиск файла, принадлежащего владельцу ипате. -xiype с Подобен тесту -type с той лишь разницей, что искомый файл является символической ссылкой. Поиск символической ссылки, указывающей на файд типа с, если не задана опция -follow. Действия -exec command; Выполняет команду command. Возвращает значение true (истинно) в случае нулевого кода завершения. Все последующие аргументы коман ды find рассматриваются как аргументы command пока не встретится точка с запятой, завершающая список аргументов. Строка вида {} за- мещается именем текущего обработанного файла. -fls file Возвращает true. Действует подобно -1s, но производит запись резуль- тата в файл file подобно -fprint. -fprint file Возвращает true. Выводит полное имя файла в файл file. Если file не существует, создает его. В противном случае - "портит" существую- щий файл (пишет в начало файла). -fprintO file Возвращает true. Действует подобно -printO, но производит запись ре- зультата в файл file, как -fprint. fprintf file format Возвращает true. Действует подобно -printf, но производит запись ре- зультата в файл file, подобно -fprint. -ok command ; Действует подобно -exec, но требует подтверждения пользователя. Если ответ не начинается с буквы у, или Y, не выполняет command и возвра- щает false (ложно). -print Возвращает true. Направляет на стандартный вывод полное имя файла, за которым следует newline. -printO Возвращает true. Направляет на стандартный вывод полное имя файла, за которым следует символ 0. Это позволяет программам, которые обра- батывают вывод команды find, корректно интерпретировать имена фай- лов. -printf format Возвращает true. Печатает на стандартный вывод строку format, ин- терпретируя заданные в ней управляющие последовательности и дирек- тивы; очень напоминает функцию printf языка С. В отличие or -print действие -printf не добавляет в конце строки символ newline -Is Возвращает true. Отображает текущий файл в формате команды Is -dils.
II. Команды Пример Команда find запускается в фоновом режиме, а результаты своей работы направля- ет в файл result. Преимуществом такого запуска является то, что пользователь может продолжить свою работу, не дожидаясь завершения поиска. $ find . -name prim32 -print>result & $ А теперь суперпользователь хочет отыскать в своем текущем каталоге (/root) все обычные файлы, принадлежащие пользователю misha. I find . -user misha -type f -print ./rab/home/misha/.bashhistory ./rab/home/misha/home/misha/.bash_history ./prim67 ./prim68 ./photo23.gif ./photo24.gif ./photo25.gif ./photo26.gif ./photo27a.gif ./photo34.gif ./photo35.gif # ringer - программа получения информации о пользова- IV теле. Синтаксис finger [-Imsp][user...][userQhost... ] Запущенная без каких-либо опций finger по умолчанию создает вывод в стиле опции -I, а также печатает информацию о каждом пользователе, зарегистрированном в систе- ме в настоящее время, в противном случае - в стиле опции -s. С помощью finger можно просматривать пользователей на локальной и на дистан- ционной машинах. Можно указать пользователя в формате user@host. что по умолча- нию соответствует выводу в стиле опции -I, или в формате @host, что по умолчанию соответствует выводу в стиле опции -s. Опция -I - это единственная опция, которая может быть передана на дистанционную машину. Опции -S Выводит имя пользователя при регистрации, настоящее имя, имя тер- минала и статус записи (в виде символа * после имени терминала, если отсутствуют полномочия на запись), время простоя, время регистра- ции, местонахождение офиса и его номер телефона. Время регистрации выводится в виде месяца, дня, часов и минут лишь в том случае, если регистрация производилась не более полугола тому назад. В противном случае вместо ука «ання часов и минут выво- ди гея год.
252 И Команды - 1 Помимо информации, создаваемой опциуй -s, также выводит исходный каталог пользователя, его домашний телефон, заданную при pel нстра- ции оболочку (командный процессор), состояние почты, а также со- держание eio файлов .plan, .project и .forward. Многие пользователи не создают эти файлы, поэтому соответствующая информация может отсутствовать. - р При использовании опции -I запрещает выводить содержание файлов .plan и .project. - m Запрещает производить сопоставление (поиск) имен user, определяю- щих регистрационные имена пользователей, хотя в отсутствие опции -т, это могут быть настоящие имена. Поиск имен нечувствителен к ре- гистрам. Примеры Ниже дважды запущена команда finger: первый раз для еще не зарегистрировавше- гося пользователя, второй раз - для уже зарегистрировавшегося. Система фиксирует 16 секунд простоя для пользователя misha, зарегистрировав- шегося на терминале tty2. flex ускоренный генератор программ лексического анализа. Синтаксис flex [option]] filename 1 Генератор flex - это инструмент, создающий про1раммы распознавания образцов в текстовом файле, flex считывает заданный входной файл filename или стандартный ввод, если имя файла не определено, в поисках описания, какого рода программу-снпнер пред- стоит создать. Описания представляют из себя пары pci улярных выражений н С-кода.
II. Команды 253 называемые правилами, flex генерирует свой вывод в виде исходно! о файла на я шке С — lex.yy.c. Этот файл должен быть откомпилирован и скомпонован (с опцией -1П). Пос- ле запуска полученного исполняемого файла программа-сканер анализирует и ищет строки, сопоставимые с указанным регулярным выражением Если таковые найдены, выполняет С-код, соответствующий заданному правилу По умолчанию любой текст, не сопоставленный с помощью flex-сканера, просто копируется в выходной файл. На- чало правила отмечают два символа %%. Если при сравнении с шаблоном найдено более одного сопоставления, берется вариант с текстом большей длины. В случае об- наружения нескольких сопоставлений одинаковой длины, берется первое найденное. Каждому шаблону в правиле соответствует действие, которое воплощается в виде про- извольного оператора языка С. Основные опции - Ь Генерирует информацию в виде списка состояний сканера, а также от- ражает входные символы, на основании которых была создана эта ин- формация. - d Переводит сгенерированный сканер в режим отладки. - f Генерирует "быстрый" сканер: не производит сжатия таблиц и обходит стандартные операции ввода-вывода. - h Выводит информацию об опциях flex и завершает выполнение програм- мы. - i Генерирует сканер, нечувствительный к регистру: регистр букв во вход- ных шаблонах игнорируется, а маркеры во входном файле будут сопо- ставляться, невзирая на регистр. - р Создает отчет по производительности обработки и направляет его в стандартный файл ошибок. - S Подавляет default rule - правило, принятое по умолчанию. - t Вместо того, чтобы записать сгенерированный сканер в файле lex.yy.c, направляет его на стандартный вывод .V Записывает в стандартный файл ошибок статистику, создаваемую ска- нером. - w Запрещает вывод предупреждающих сообщений. - В Создает пакетный сканер. - F Использует альтернативную таблицу сканера для ускоренного представ- ления. - 1 Создает интерактивный сканер. _L Не генерирует директив #line. Без этой опции Псх создает сканер с ди- рективами Mine, так что при нахождении ошибок в указанных действи- ях пользователь будет уведомлен об их мсс гопахожденпп в орш нналь- ном входном файле. - Т Запускает flex в режиме трассировки. _у Выводит информацию о версии npoi раммы п завершает ее выполнение
254 II Команды -7 Генерирует 7-бигныи сканер. Основное преимущество состоит в том, что размер таблиц сканера сокращается чуть ли не вдвое. -8 Генерирует 8-битный сканер (по умолчанию). -+ Генерирует сканер на языке C++. ooutput Записывает созданный сканер в файл output. -Рprefix Меняет заданный по умолчанию префикс уу, который используется для наименований глобальных переменных и функций, на указанныйрге/Zr. -Sskeleton Указывает базовый файл, перекрывающий заданный по умолчанию. --help Выводит краткое описание опций. —version Выводит информацию о версии программы. Входной файл Пех состоит из трех секций, разделяемых строкой, содержащей только символы %%. Первая секция - definitions - содержит описания декларируемых имен. Ее формат таков: имя определение Здесь имя - это слово, начинающееся с буквы или символа подчеркивания, далее следуют буквы, цифры, символы подчеркивания и дефисы. В свою очередь определе- ние может включать новое имя и определение. Вторая секция - rules (правила) - содержит набор правил следующего формата: шаблон действие Наконец, секция кода пользователя просто копируется в файл lex.yy.c, она исполь- зуется для утилит, которые вызывают сканер или вызываются из него. Эта секция не обязательна; если она отсутствует, может также отсутствовать строка со вторым на- бором % %. Шаблоны входного файла записываются с использованием расширенного набора регулярных выражений. Вот они: X сопоставляет символ х . (точка) [xyz] [-A-Z] любой символ кроме newline (новой строки) класс символов; шаблон сопоставляет либо х, либо у, либо z "отрицательный" класс символов; в этом случае сопоставляются лю- бые символы кроме прописных букв латинского алфавита [AA-Z\n] любой символ кроме прописных букв или newline ноль или более повторений г, где г - любое регулярное выражение одно или более повторений г г? ноль или одно повторение г г{3,7} \0 \156 любое г, лежащее в диапазоне от 3 до 7 нулевой символ (ASCII-код 0) восьмеричное значение 156 \х7Ь шестнадцатеричное значение 7Ь rs конкатенация двух регулярных выражений г н s
II. Команды 255 r|s либо г, либо s r/s сопоставляет г, если далее следует s Лг сопоставляет г только в начале строки г$ сопоставляет г только в конце строки <s>r сопоставляет г только в стартовом условии s «EOF» конец файла В действиях встречаются специальные директивы: ECHO копирует yytext (текстовую переменную) в выходной файл сканера BEGIN за этой директивой следует наименование стартового условия, куда помещается сканер REJECT при сопоставлении входного файла просит сканер перейти на "второе лучшее правило"; это может быть правило, сопоставляющее такой же по величине текст, как и оригинальное, но встречающееся далее во вход- ном файле Пех, или правило, сравнивающее несколько меньший текст yymore( ) сообщает сканеру, что при следующем сопоставлении соответствую- щий маркер будет добавлен к текущему значению переменной yytext вместо ее замещения yyless(n) возвращает п первых символов текущего маркера во входной поток, откуда они будут повторно сканироваться при следующем сравнении; если параметр п равен 0, полная текущая входная строка будет сканиро- ваться повторно input( ) считывает следующий символ входного потока unput (c) возвращает символ с обратно во входной поток, этот символ будет сле- дующим сканируемым символом yyterminate( ) останавливает работу сканера и возвращает нулевой код программе, вызвавшей этот сканер; по умолчанию эта директива срабатывает по концу файла. Пример Файл prim88 подается на вход команде flex. $ cat prim 88 %% с I ср I срр |ECHO; REJECT; • |\n $ flex -I prim88 $ gcc lex.yy.c -Ifl -o lexout $ В результате выполнения этих команд создается исполняемый файл lexout, содер- жащий программу-сканер.
256 II Команд» форматирует текстовые фай,. . fmt Синтаксис fmt [-number][option]... [file]... Утилита fmt оперируе i такими текстовыми конструкциями, как абзацы. Перенос оиа осуществляет по словам, а не просто разбивает концы длинных строк. Пустую строку воспринимает как конец абзаца. Эту утилиту можно применять для форматирования строк почтовых сообщений или строк файлов, которые редактируются с помощью редактора vi. Она также незамени- ма при написании программ для командного процессора (оболе аки] и во всех тех слу- чаях, когда приходится иметь дело со слишком длинными строками, не помещающи- мися на экране, или, наоборот, со слишком короткими. Утилита fmt читает данные из файлов /i/е или со стандартного ввода, если имена файлов не заданы или вместо них стоит дефис, и записывает информацию на стандарт- ный вывод. По умолчанию в выходном файле сохраняются пустые строки, пробелы между сло- вами и отступы. Опции -с, —crown-margin Сохраняет отступы двух первых строк абзаца. -р, —prefix=string Обрабатывает лишь строки, начинающиеся с выражения string. -s, —split only Разбивает длинные строки, но не заполняет их. -t, -tagged-paragraph Выделяет начало абзаца отступом в первой строке ("красная" строка). -и, —uniform-spacing Устанавливает один пробел между словами и два - между предложени- ями. -w, — width=™mber -number Устанавливает длину строки в значение number По умолчанию - 75 символов. —help Выводит справку по опциям программы и завершает ее работу. —version Выводит информацию о версии программы и завершает ее работу. Пример Выделим и распечатаем строки комментариев из программы на языке С. $ fmt -р prog.с * Эта программа считывает входной файл, * отбирая из него строки * для загрузки в БД. $
II. Команды 257 ТОЮ преобразует каждую входную строку файла в соот К ветствии с указанной шириной. Синтаксис fold [option]...[file]... Преобразует входные строки каждого файла file (по умолчанию стандартного вво- да), а затем записывает их на стандартный вывод. Опции - b, —bytes Подсчитывает количество байтов вместо количества столбцов (сим- волов) в строке. При этом также учитываются управляющие символы. - s, —spaces Разрывает строки только на пробелах. - w, — width-iwd/h Устанавливает ширину строки. По умолчанию принимается 80 симво- лов. —help Выводит список опций и завершает выполнение программ. —version Выводит информацию о версии программы и завершает ее. formail - форматирует (реформатирует) информацию в фор мат почтового ящика. Синтаксис formail [+skip] [-total] [-vbczfrktedgY] ]-p prefix][-D aaxlen idcache] [-X header field] [-X headerfield] [-a headerfield] (-A headerfield] [-1 headerfield][-1 headerfield][-u headerfield][-U headerfield] [-R oldfield newfield] [~n [maxprocs] ] [-s ]command ]arg...]]] "Ожидает" информацию стандартного ввода, чтобы преобразовать ее в формат по- чтового ящика, создать заголовки автоответа. Опции - v Выводит информацию о версии formail и завершает ее работу. Не отбрасывает н икакие фиктивные заголовки почтового ящика, так на- зываемые строки, начинающиеся с From. - р prefix Определяет префикс цитируемых частей. Если данная опция не указана, назначает символ >. - Y Предполагает традиционный формат почтового ящика Berkeley (Берк- ли), игнорируя любые поля Content-Length: (длина содержимого). _с Соединяет поля продолжений в заголовке (поля заголовка, занимаю- щие более одной строки).
258 II Команды - z Гарантирует наличие пробела (неизображаемого символа типа whitespace) между полем имени и содержанием. - f Игнорирует строки не в формате почтового яшика. - г Создает заголовок автоответа. - к При создании заголовка автоответа или при извлечении полей сохраня- ет тело сообщения. - I Доверяет отправителю, предлагающему использовать обратный адрес из его заголовка: выбирает информацию из header sender (заголовок отправителя) вместо envelope sender (конверт отправителя). - s [command [т»х ••]] Разбивает входной фай;: на отдельные почтовые сообщения и передает их по конвейеру одно за другим, каждое своей программе. Опция -s - последняя опция командной строки. Первый из аргументов, следую- щий за ней, рассматривается как имя программы command, другие ар- гументы arg просто будут переданы программе. Если программа не ука- зана, formail вновь "склеит" разбитую на части почту. - п [maxprocs] Предлагает formail не ждать завершения каждой программы до старта следующей. Предполагает параллельное выполнение процессов Не- обязательный параметр maxprocs указывает максимальное число кон- курирующих процессов. - е Не требует, чтобы заголовку нового сообщения предшествовали пус- тые строки, хотя по умолчанию делается именно так. При задании оп- ции -е каждое сообщение сразу следует за другим. - d Сообщает formail, что сообщения, которые предполагается разбить на части, вовсе не должны быть в формате почтового ящика, т.е. по- зволяет разделить на части цифровую информацию, статьи или файлы нестандартного (для почты) формата, отменяет распознавание поля Content-Length:. - m minfields Указывает число (по умолчанию 2) последовательных полей заголов- ков, встретив которые formail "решает", что начинается новое сооб- щение. - q Запрещает сообщат ь об ошибках записи, дублирующихся сообщениях и некорректных полях Content-Length:. Эта опция действует по умол- чанию. Чтобы вывести такую информацию, задается опция -q- - D maxlen idcache Рассматривая текущее сообщение, будет проверять, используя файл idcache (содержи) идентификаторы сообщений), не было ли ранее со- общения с таким идентификатором Mcssage-ll): приблизительно тако- го размера maxlen. Если разбивка нс производилась, возвращает код успешного завершения в случае обнаружения дублирующихся сооб- щений. Если разбивка upon (водилась, не сообщает о дублировании.
II. Команды 259 При использовании совместно с опцией -г про1рамма formal! отда- ет предпочтение mail address (почтовому адресу) конверта отравите ля нежели взятому из Message-ID. - х headerfield Извлекает содержимое поля headerfield из заголовка и выводит его на экран в виде единственной строки. - X headerfield Аналогична опции -х, но вдобавок сохраняет имя поля. - a headerfield Добавляет к заголовку пользовательское поле headerfield при усло- вии, что таковое ранее не существовало. Если пользователь указал одно из имен полей Message-ID: или Resent-Message-ID: (идентификатор "негодующего" сообщения) без какого-либо содержимого, formail со- здаст уникальный Message-ID. - A headerfield В любом случае добавляет к заголовку пользовательское поле headerfield - i headerfield Подобна опции -А, но вдобавок существующие аналогичные поля пере- именовываются, и при этом их имена получают префикс Old- (старое). - I headerfield Подобна опции -i, но существующие аналогичные поля просто удаля- ются. - u headerfield Рассматривает первое появление поля headerfield как уникальное и за- тем удаляет его последующие появления. - U headerfield Рассматривает последнее появление поля headerfield как уникальное и удаляет все его предшествующие появления. - R oldfield newfield Всякий раз переименовывает имя поля oldfield в newfield. +skip Пропускает при разбивке первые skip сообщений. -total Выводит при разбивке не более указанного количества (total') сообще- ний. Пример $ formail +1 -ds>> mailboxl строки вводимых сообщений Ctrl+D $ Данная команда добавит разбиваемую на части информацию к содержимому поч- тового ящика mailboxl, опуская при этом первое сообщение. Если необходимо передать аналогичный вывод npoi рамме proctnail, следует на- брать такую команду: $ formail +1 -ds procmail строки вводимых сообщений Ctrl+D $
260 II Команды топл/ пересылает net .епо, ученные сообщения. Синтаксис forw [+folder] [msgs] [-annotate] [ -noannotate] [-form formfife] [-format] [-noformat][-filter filterfile][-inplace][-noinplace}(-mime][-nomime] [-draftfolder +folder][-draftmessage msg] (-nodraftfolder] [-editor editorJf-noedit][-whatnowproc program][-nowhatnowproc] [-dashetuffing][-nodashstuffing][-build][-file msgfile][-version] [-help] forw [+folder] [msgs] [-digest list][-issue number] [-volume number] [other~switches_for_forw] [-help] Команда forw используется, чтобы приготовить сообщение, содержащее другие сообщения. Она создает новое сообщение из файла форм (компонентов). Тело сообщения ком- понуется из перепорученных сообщений. Затем с помощью comp вызывается редак- тор. После того, как редактирование будет выполнено, но сообщение еще не отослано, приглашается пользователь. Хотя команда forw использует файл форм для конструирования начала предвари- тельного сообщения, она также использует фильтр сообщений — файл, определяющий, как должно быть отформатировано каждое перепорученное сообщение для включе- ния в тело предварительного. Опции -form formfile Если файл forwcomps существует в пользовательском каталоге nmh (xmh), программа использует его вместо формы, взятой по умолча- нию. Можно также указать файл альтернативных форм с помощью formfile. +folder Параметр folder определяет папку с сообщением. По умолчанию уста- навливается текущая папка. msgs Определяет имя файла, содержащего сообщение; по умолчанию берет- ся текущее сообщение (cur). -annotate Аннотирует ниже представленными строками каждое перепорученное сообщение: Forwarded:date Forwarded:addrs Здесь addrs - список адресов, содержащий столько строк, сколько тре- буется. Такая аннотация будет включаться в сообщение лишь в том слу- чае, если оно напрямую отправляется от команды forw. Если сообще- ние немедленно не отправляется от forw, команда comp use может быть использована для повторного редактирования и рассылки сконст- руированного сообщения. Но в этом случае аннотации не включаются на свои обычные места. По умолчанию действует -noannotate
II. Команды 261 -inplace По умолчанию создает аннотации на тех же мещах, чтобы сохранить любые ссылки на сообщение. -noinplace Отменяет действие опции -inplace. -editor editor Указывает редактор editor, используемый для предварительного редак- тирования. -noedit Не выполняет редактирование сообщения. -noformat Указывает, что каждое перепорученное сообщение включается в пред- варительное сообщение в своем первозданном виде без какой-либо фильтрации. Опция действует по умолчанию. -format Использует фильтр сообщений, заданный по умолчанию и являющийся адекватным для большинства пользователей. По умолчанию применя- ется фильтр mhl.forward. filter fdterfde Указывает альтернативный фильтр. -nodashstuffing He отделяет каждое перепорученное сообщение от другого с помо- щью символа тире в первом столбце с последующим пробелом. Дан- ный флаг подавляет возможность обращения к отдельным сообщени- ям; опция -dashstuffing (по умолчанию) позволяет ссылаться на отдель- ные сообщения. -mime Использует правила MIMF. для инкапсуляции. Этот флаг вынуждает forw создавать композиционный файл mhbuild. Следует отметить, что nmh не вызывает автоматически mhbuild, в профиле .mh_profile должна обязательно присутствовать следующая строка: automimeproc: 1 В противном случае необходимо в диалоге с программой whatnow вы дать следующую команду до отправки предварительного сообщения What now? mime По умолчанию устанавливается -nomime. -draftfolder +folder Создает предварительное сообщение в указанной папке folder. По умол- чанию действует -nodraftfolder. -draftmessage msg Использует указанное предварительное сообщение msg для создания текущего сообщения. -whatnowproc program После редактирования программа forw вызывает программу program, задающую вопросы "What now? (Что сейчас делать?)". Если program установлена в значение whatnow, программа forw использует встроен- ную программу, задающую вопросы. Если вы определили собственну к> программу типа whatnow, нс следует ее запускать: программа forw это сделает сама.
262 II Команды -nowhalnowproc Не только запрещает вызов программы типа whatnow, но и отменяет редактирование сообщений. -build Предполагает использование интерфейса mh-e редактора Emacs к nmh. Эга возможность работает лишь тогда, когда программа nmh ком- пилировалась с поддержкой mh-e, и подразумевает задание опции -nowhalnowproc. Предусматривает создание файла mh-dir/draft, со- держащего предварительное сообщение, которое будет представлено для редактирования. Этот флаг несколько устарел и, скорее всего, ис- чезнет из будущих версий nmh. -file msgfile Указывает, что сообщение было перепоручено в виде имени файла вме- сто папки почтовой системы nmh или номера сообщения. Предполага- ет использование интерфейса msh к nmh и предусматривает примене- ние опции -noannotate. Перепорученное сообщение просто полностью копируется в предварительное сообщение. Производится обработка с флагами -filter, -mime и -digest, хотя обычно leading (заголовные) и trailing (концевые) разделители для Forwarded Message (перепоручен- ного сообщения) не добавляются. С помощью флагов -digest, -issue и -volume можно создавать дайджесты (крат- кие описания содержимого), предусмотренные в nmh (xmh). Остов стандартного сообщения располагается в файле /etc/nnih/forwcomps или <mh-dir>/forwcomps (второй предпочтительнее). При наличии флага -digest остов со- общения находится в файле /etc/nmh/digestcomps или <mh-dir>/digestcomps. Файл /etc/nmh/mhl.forward или <mh-dir>/mhl.forward - стандартный фильтр для обработки сообщений (второй предпочтительнее). В качестве пользовательского профиля выс- тупает SHOME/.mh_profiie. Предварительное сообщение содержится в файле <mh-dir>/draft. В профиле SHOME/.mh_profile можно встретить такие компоненты: Path: определяет пользовательский каталог для nmh Current-Folder: текущая открытая папка по умолчанию Draft-Folder: папка с предварительным сообщением для comp, dist, forw, также бе- рется по умолчанию Editor: перекрывает редактор, вызываемый по умолчанию fileproc программа перерегистрации сообщения whatnowproc: прог рамма, задающая вопросы "What now? (Что сейчас делать?)’’, вы- зывается comp, dist. forw, которые запрашивают о расположении пред- варительного сообщения (по умолчанию /usr/bin/whatnow) Заданная папка становится текущей, а первое перепорученное сообщение - теку- щим сообщением.
II. команды 263 информирует об использовании памяти в системе free Синтаксис free I-Ь|-к|-ш] [ —о] [-s delay] [-t] [-VJ Выводи, информацию о свободной и используемой памяти, области своппинга (под- качки), буферах ядра, разделяемой памяти, кэш-памяти (сверхоперативной памяти). Опции - Ь Показывает количество памяти в байтах. - к Показывает количество памяти в килобайтах (по умолчанию). - т Показывает количество памяти в мегабайтах. - о Запрещает вывод строки -/+ buffers/cache (буфера/кэш), где знаки плюс и минус соответственно обозначают добавленную или отнятую память буферов. - s delay Безостановочно выводит информацию каждые delay секунд. - t Выводит строки, содержащие суммарное количестве памяти. - V Информирует о версии программы. Пример $ free total used free shared buffers cached Mem: 30536 28520 2016 21600 656 9148 -/+ buffers/cache: 18716 11820 Swap: 42296 10272 32024 $ frm (nfrm) - выводит список тем и отправителей почтовых сообщений, находящихся в вашем почтовом ящике. Синтаксис frm [-hMnOqStv][-S status][fofder|username]... nfrm [-hnQqStv][—s statue](folder)username]... Для описания каждого сообщения выводит по строке следующего формата from [subject) гае from - имя отправителя, от которого получено сообщение, и subject тема сооб- щения. Про1 рамма frm производит считывание панки folder, если опа указана, вмесп' поч- тового ящика, заданного по умолчанию. Если же в качестве аргумента онреде ено имя
2t)4 II Команд». пользователя wSCT'name.Tonja программа ищет его почтовый ящик, заодно проверяя, есть ли у вас полномочия на чтение. Команда nfrm идентична frm -s new. Опции -h Выводит справку по опциям upoi раммы. -М Трактует все папки, как если бы они были спул-папкой (блокирование, статус обновления, заголовки и т.д.). -n Использует такую же схему нумерации, как read msg. -Q Выводит только сообщения об ошибках. Эта опция полезна в сценари- ях оболочек, где важно лишь знать, успешно или аварийно завершилась программа. -q Выводит только по одной итоговой строке для каждого указанного поч- тового ящика или папки. -s Выводит общее количество сообщений в каждом почтовом ящике или папке. -s status Выводит только заголовки сообщений с указанным статусом. Параметр status может принимать следующие значения: new новое unread непрочитанное old старое read прочитанное -t Устанавливает режим tidy (аккуратный). Если поле From (от кого) до- статочно длинное и затрагивает поле Subject (тема), последнее будет перенесено на следующую строку. -V Устанавливает режим подробного вывода: распечатывает описательный заголовок до вывода содержимого каждого почтового ящика или папки. Пример $ frm chief Ь2 chief letter for all misha letter for all chief 1ettermainletter chief lettermainletter $ fsck проверяет и исправляет файловую систему Linux. Синтаксис fsck [-BACVRTNP1 (-t fstype][ — llfsck-optfons] filesys
II. Команды 265 Программа fsck проверяет, а иногда и "ремоншрует" одну или более файловых сис- 1ем Linux, поэтому в качествеfilesys может быть указано имя устройства (например /deUhdcl), точка монтирования (например, /usr), метка (ext2) или UUID Код возврата fsck - это сумма следующих условий: О отсутствие ошибок 1 наличие корректируемых ошибок файловой системы 2 систему следует перезагрузить 4 ошибки файловой системы остались неисправленными 8 ошибка операции 16 подсказка или синтаксическая ошибка 128 ошибка связана с разделяемой библиотекой Очень часто fsck - это просто интерфейс к различным программам проверки фай- ловых систем. Опции - s Устанавливает серию операций с помощью fsck, что очень удобно, если вы проверяете несколько файловых систем, а программы проверки ра- ботают в интерактивном режиме. Например, по умолчанию e2fsck за- пускается в интерактивном режиме. Чтобы запустить e2fsck в пакетном режиме, следует указать опцию -р или -а, если вы хотите, чтобы ошиб- ки корректировались автоматически; в противном случае - опцию -п. - t fstype Указывает тип проверяемой файловой системы. Совместно с флагом -А проверяет лишь файловые системы заданного типа. Если fstype на- чинается с префикса по, тогда только проверяет файловые системы, тип которых не совпадает с fstype. - fy Просматривает файл /ctc/fstab и i л.ггается проверить все файловые систе- мы, описанные в нем. Такая опция обычно задана в файле инициализа- ции системы. Вначале проверяется корневая файловая система, если только не указана опция -Р. Затем файловые системы проверяются в порядке, указанном fs passno (шестое поле файла /etc/fstab). Если встречаются файловые системы с одинаковыми номерами. e2fsck ста- рается проверять их параллельно. - С Отображает шкалу (лишь одну в текущий момент) хода выполнения для тех программ проверки файловых систем, которые поддерживают та- кую возможность. - N Ничего не выполняет, а лишь показывает, что могло бы делаться. - Р В случае установки флага -А проверяет файловую сис гему параллельно с проверкой других файловых систем. .R При проверке файловых систем с флагом -А пропускает корневую фай- ловую систему в случае, когда она уже смонтирована для чтения'запиен. - Т На старте не отображает заголовок. - V Подробно информирует о происходящем, включая все специфические команды файловых систем, которые исполняются.
266 I1 Команды fsck-options Рассматривает любую неизвестную программе fsck опцию или следу- ющую за символами — как специфическую опцию файловой системы, которую и передает программе проверки файловой системы. -а Автоматически восстанавливает файловую систему, даже не задавая ни- каких вопросов. -г Интерактивно восстанавливает файловую систему, требуя подтвержде- ния выполняемых действий. Следует учесть, что такая возможность присуща elfsck по умолчанию. Эта опция поддерживается лишь для обратной совместимости. fsinfo - выводит информацию о сервере шрифтов системы X. Синтаксис fsinfo [-server servername] Утилита fsinfo анализирует возможности сервера шрифтов, ряд параметров, исполь- зуемых при подключении клиента к серверу, каталоги шрифтов и доступные альтерна- тивные серверы. Опции -server servemame Выводит информацию по указанному серверу servername. Переменная окружения FONTSERVER определяет имя сервера шрифтов, заданное по умолчанию. Пример Образец листинга fsinfo может выглядеть следующим образом: name of server: tansen:7100 version number: 2 vendor string: Font Server vendor release number: 10 maximum request size: 16384 longwords (65536 bytes) number of catalogues: 1 Number of alternate servers: 1 #0 tansen:7101 number of extensions: 0 fslsfonts выводит список шрифтов, поддерживаемых К сервером шрифтов системы X. Синтаксис fslsfonts (option ][-fn pattern] Можно получить полный список шрифтов или час1ичны11 - для шрифтов, имена которых соответствуют заданному шаблону pattern.
II. Команды 267 Опции -server hosr.pon Указывает параметры сервера шрифтов для кон i акт а. Параметр host указывает сетевой узел (систему), где запушен сервер шрифтов, а па- раметр port — порт, на котором сервер шрифтов прослушивает под- ключения. -1 В дополнение к имени шрифта выводи г в этой же строке его некоторые атрибуты. -11 -111 Добавляет к выводу опции -1 свойства шрифта. Поддерживается для совместимости, хотя вывод полностью совпада- ет с тем, что создает опция -II. -m Также включает в листинг минимальную и максимальную границы каж- дого шрифта. -C -w width -n columns Создает Листинг, состоящий из нескольких столбцов. Создает листинг в один столбец. Указывает ширину вывода в символах. По умолчанию 79 символов. Указывает количество столбцов, используемых для отображения вы- вода. По умолчанию принимается 0 столбцов, и вывод производится в соотвегствии с опцией -w width. -u Оставляет вывод несортированным. fstobdf - преобразует шрифт, полученный с сервера К шрифтов системы X, в BDF-формат. Синтаксис fstobdf [-server server] -fn fontnaaie Программа fstobdf считывает шрифт с сервера шрифтов и печатает BDF-файл на стандартный вывод, что может быть использовано для пересоздания шрифта. Это по- лезно лишь в процессе тестирования серверов при отладке метрик шрифта и восста- новления потерянных BDF-файлов. Опции -server server Указывает сервер, с которого должен быть считан шрифт. -fn fontname Указывает шрифт, для которого создается BDF-файл. ftP программа передачи файлов в 1Р-сетях. Синто» ис ftp [-pinegvd][host] pftp [~inegvd][hostj
268 11 Команды Позволяет подключиться к дистанционной системе, используя протокол FTP. Пос- ле подключения пользователь может пересылать файлы на дисынционную систему и оОратно. Опции можно указывать в командной строке. Опции -р Использует пассивный режим при передаче данных. Позволяет приме- нять ftp в таком окружении, где брандмауэр (сетевой экран) запрещает подключение извне к клиентской машине. В этом режиме требуется, чтобы FTP-сервер поддерживал команду PASV. Такой режим устанав- ливается по умолчанию при вызове pftp. -i Отключает выдачу интерактивного приглашения при передаче файлов. -п При начальном подключении удерживает ftp от автоматической регист- рации на дистанционной системе. Если разрешен автоматический вход (регистрация) на дистанционную систему, ftp начнет прос...атривать файл .netrc в исходном каталоге пользователя в поисках элемента, описыва- ющего счет (бюджет) пользователя на дистанционной машине. Если такового элемента не существует, ftp пригласит пользователя ввести ре- гистрационное имя (по умолчанию аналогичное регистрационному имени на локальной машине) на дистанционной машине и, если необходимо, предложит ввести пароль. - е Отменяет редактирование команд и поддержку протоколирования (ис- тории) команд, если это было задано при компиляции ftp. В противном случае — ничего не делает. - g Запрещает использовать символы подстановки в именах файлов - v Подробно уведомляет о всех ответах дистанционного сервера, а также выводит статис гику по передаче информации - d Включает режим отладкг Клиентский узел, к которому ftp осуществляет подключение, может быть указан в командной строке (host). Если это сделано, ftp немедленно попытается установить со- единение с FTP-сервером на упомянутом узле. В противном случае ftp перейдет в свой собственный интерпретатор команд и станет ждать указаний пользователя: в строке появится приглашение ftp>. При этом распознаются команды, перечисленные ниже. Команды ! [command [a/gs]] Вызывает на локальной машине интерактивную оболочку. Если заданы аргументы, то первый из них рассматривается как имя команды command для непосредственного исполнения, остаток представляет из себя спи- сок аргументов, передаваемых собственно команде (профаммс) $ macro-name [ares] Исполняет макрос macro-name. определенный с помощью команды macdef. Аргументы args, передаваемые макросу не должны содержать символы подстановки.
II. Команды 269 account [pos.vu'</] После успешного ввода имени дополнителы ю запрашивает пароль, лю- бующийся для доступа к ресурсам дистанционной системы. Если пара- метр passwd не указан, пользователь будет приглашен для ввода паро- ля в неотображаемом режиме. append local-file [remote-file] Присоединяет локальный файл local-file к файлу remote-file на дистан- ционной системе. ascii Устанавливает текстовый режим передачи файлов, что принято по умол- чанию. Не стоит передавать двоичные файлы в этом режиме. bell Выводит звуковой сигнал, оповещающий об окончании каждой переда- чи файлов. binary Устанавливает бинарный (двоичный) режим передачи файлов. В этом режиме можно передавать и принимать любой файл. bye Закрывает соединение с дистанционным сервером и завершает работу ftp. case Если включена команда case (по умолчанию отключена), то все про- писные буквы в именах файлов дистанционной системы будет записы- вать в локальный каталог в виде строчных букв. cd remote-directory Меняет рабочий каталог на дистанционной машине. cdup Осуществляет переход между каталогами дистанционной машины: воз- вращается в родительский каталог текущего каталога. chmod mode file-name Меняет полномочия файла дистанционной системы по имени file-name на значение mode. close Завершает FTP-сессию с дистанционным сервером и возвращается в командный интерпретатор. Удаляет любые определенные макросы. сг Если включена (по умолчанию) команда сг, то при передаче ASCll-фай- лов отбрасывает символ возврата каретки, оставляя единственный раз- делитель записей LF (linefeed — перевод строки). delete remote-file Удаляет на дистанционной машине файл по имени remote-file. debug [dehug-value] Устанавливает режим отладки. Параметр debug-value указывает уро- вень отладки. Если включен режим отладки, ftp распечатывает каждую команду, направляемую на дистанционную машину, со стре лкой —> впе- реди. dir [remote-dir] [local-file] Печатает содержимое каталога remote-dir и также помещает вывод в файл local-file па локальной машине. Если каталог не задан, печатает содержимое текущего рабочего каталога дистанционной машины. Если
270 II Команды не указан локальный файл или вместо его имени стоит дефис, выводит содержимое каталога на терминал. disconnect Синоним команды close. form format Устанавливает тип передачи в значение format. По умолчанию этот па- раметр принимает значение file (файл). get remote-file [local-file] Копирует файл remote-file дистанционной машины на локальную под именем local-file. Если параметр local-file не указан, имя дистанцион- ного файла сохраняется. При передаче файла используются текущие ус- тановки команд type, form, mode и struct. glob Допускает расширение имен файлов, т.е. разрешает использовать сим- волы подстановки в командах mdelete, mget и niput. Расширение имен файлов для команды выполняется как в оболочке csh. А для команд mdelete и mget каждое имя дистанционного файла расширяется отдель- но на дистанционной машине, и при этом списки не сливаются. hash После передачи каждого блока размером 1024 байт выводит символ #. help [command] Выводит справку по указанной команде command. Если аргумент не за- дан, ftp печатает список всех своих команд. idle [seconds] Устанавливает показание неактивного таймера (определяющего время бездействия) на дистанционной машине в значение seconds. Если пара- метр seconds не задан, распечатывает текущее значение таймера. led [drr] Меняет рабочий каталог локальной машины на указанный. Is [remote-dir] [local-file] Печатает содержимое каталога remote-dir дистанционной машины и также помещает вывод в файл local-file на локальной машине. В лис- тинг включается любая системно-зависимая информация, которую вы- бирает сервер; так большинство Unix-систем создает вывод с помощью команды Is -1 (см. nlist). Если каталог не задан, печатает содержимое рабочего каталога дистанционной машины. Если не указан локальный файл или вместо его имени стоит дефис, выводит содержимое каталога на терминал. macdef macro-пате Определяет макрос macro-name. Встреченная среди строк макроса пу- стая строка, которая содержит символ NL (newline новой строки) или CR (carriage return - возврат каретки), завершает режим ввода мак- роса, который остается определенным до ввода команды close. Мак- ропроцессор интерпретирует символы $ и \ как специальные. Символ $. за которым следует число, замещается соответствующим аргументом из строки вызова макроса. Символ i, следующий за $. уведомляет мак- ропроцессор о цикле: при первом прохождении цикла Si замещается пер- вым аргументом из строки вызова макроса, 'при втором прохождении вторым аргументом и т.д.
II. Команды 271 mdelete [remote-files] Удаляет файлы remote-files дистанционной машины mdir remote-files local-file Подобна команде dir, но позволяет задать несколько дистанционных файлов. mget remote-files Расширяет имена файлов remote-files дистанционной машины и выпол- няет для каждого файла команду get. Создание имен файлов будет вы- полняться в соответствии с текущими установками команд case, ntrans, пшар. Файлы копируются в локальный рабочий каталог. mkdir dir-name Создает каталог на дистанционной машине. mis remote-files local-file Подобна команде nlist, но позволяет задать несколько дистанционных файлов remote-files, и к тому же должен быть указан файл local-file для вывода содержимого. mode [mode-name] Устанавливает режим передачи файла в значение mode-name. По умол- чанию принят режим stream (потоковый). modtime file-name Выводит время последней модификации файла file-name дистанцион- ной машины. input local-files Производит расширение имен локальных файлов (см. glob) списка local-files и выполняет команду put для каждого из файлов. Создание имен файлов выполняется в соответствии с установками команд ntrans и в тар. newer file-name [local-file] Копирует файл file-name с дистанционной системы, если он новее, чем соответствующий файл local-file локальной системы. Если такой файл не существует на локальной системе, просто копирует дистанционный файл, правда при этом он может получить имя local-file. В остальном эта команда идентична get. nlist [remote-dir] [local-file] Печатает список файлов дистанционного каталога remote-dir и также направляет вывод в локальный файл local-file. Если парамеi р remote-dir не указан, выводит список файлов текущего рабочего каталога дистан- ционной машины. Если не задан локальный файл или вместо его имени стоит дефис, вывод направляется на терминал. nmap [inpattern outpatterri] Устанавливает илн отменяет механизм отображения имен файлов, тде inpattern шаблон для имен входных файлов, a outpattern для имен выходных. Если аргументы нс заданы. отменяет механизм отображе- ния. Эта команда полезна, если приходится подключа! ься к листании-
272 II Команды онному компьютеру с операционной системой, отличной от Unix, где действуют другие соглашения от носительно имен файлов. Если заданы аргументы, то отображаются дистанционные имена файлов в командах input и put и локальные имена файлов в командах inget и get. ntrans [inchars [ои/с/ив-jJ] Устанавливает или отменяет механизм трансляции символов имен фай- лов Если аргументы не заданы, отменяет механизм трансляции. Сим- волы имен файлов, совпадающие с символами в наборе inchars, заме- щаются соответствующим символом из outchars. Эта команда полез- на, если приходится подключаться к дистанционному компьютеру с опе- рационной системой, отличной от Unix, где действуют другие соглаше- ния относительно имен файлов. Если заданы аргументы, то транслиру- ются символы дистанционных имен файлов в командах input и put и локальных имен файлов в командах inget и get. open host [port] Устанавливает соединение с указанной системой host с использовани- ем заданного порта port. prompt Выключает или включает интерактивное приглашение. При пересылке нескольких файлов интерактивное приглашение позволяет выборочно отобрать файлы. Если интерактивное приглашение отключено (по умол- чанию включено), команды mget и input скопируют все файлы, а ко- манда mdelete удалит все файлы. proxy ftp-command Выполняет указанную FTP-команду на вторичном подключении. Коман- да proxy позволяет параллельно подключаться к двум дистанционным ftp-серверам для пересылки файлов между ними. Первой из команд proxy должна быть команда open, позволяющая выполнить вторичное подключение. Затем можно ввести команду proxy ?, чтобы получить справку по командам вторичного подключения. Команда open для proxy не определяет новый макрос при авторегистрации, a close - не уничто- жает существующих определений макросов. Команды get и mget осу ществляют пересылку файлов с сетевого узла первичного подключе- ния на вторичный узел. И наоборот, команды put, mput и append осу- ществляют пересылку файлов с сетевого узла вторичного подключе- ния на первичный узел. put local-file [remote-file] Копирует локальный файл local-file в дистанционный файл remote-file. Если remote-file не задан, использует имя локального файла, обрабо- танное в соответствии с установками команд ntrans или пшар. В про- цессе пересылки файлов используются текущие установки для команд type, form, mode и struct. pwd Печатает имя текущего рабочего каталога дистанционной машины. quit Синоним команды bye.
II. Команды 273 quote н»у1 <?rg2 ... Посылает произвольную FTP-команду на дистанционный ГГР-сервер Здесь предполагается, что argl — это сама задаваемая команда для вы- полнения на дистанционном узле; все другие аргументы последователь- но передаются команде. recv remote-file [local-file] Синоним команды get. reget remote-file [local-file] Действует подобно команде get, но если local-file уже существует и он меньше, чем remote-file, предполагает, что local-file - это часть ранее осуществляемой и неуспешно завершенной передачи. Возобновляет копирование с соответствующего места Эта команда полезна при пе- редаче больших файлов по низкокачественным телефонным каналам. remotehelp [command-name] Запрашивает у дистанционной системы справку по заданной команде command-name. remotestatus [file-name] Без аргумента сообщает о состоянии дистанционной машины. Если за- дан аргумент file-name, сообщает о состоянии указанного файла. rename [/гот] [Го] Переименовывает файл from дистанционной системы в файл to. reset Очищает очередь ответов. Эта команда повторно синхронизирует пос- ледовательность команда/ответ с дистанционным FTP-сервером. Не- обходимость в таких действиях может быть вызвана нарушением FTP-протокола со стороны дистанционного сервера. restart marker Осуществляет повторный запуск передачи файлов с помощью команд get или put, начиная с места, указываемого аргументом marker, кото- рый задает смещение в байтах относительно начала файла. rmdir dir-name Удаляет каталог на дистанционной машине. runique Включает на локальной системе режим сохранения файлов с уникаль- ными именами. Если пользователь копирует с дистанционной системы файл, имя которого уже существует в локальной системе, при первой попытке имя копируемого файла получает числовой суффикс .1, при следующих попытках .2, .3 и т.д. Этот процесс может продолжаться до тех пор. пока не будет установлен максимальный суффикс - .99 По умолчанию рассмотренный режим отключен. send local-file [remote-file] Синоним команды put. sendport Устанавливает использование команд PORI’. По умолчанию в процес- се подключения программа ftp пы гас гея для каждой пересылки тайных использовать команду PORI’. Применение команд PORI может пре- дотврати 1ь задержку при пересылке нескольких файлов. Гели очеред-
II Команды 274 ная команда POR1 завершается аварийно, ftp будет использовать за- данный по умолчанию порт. Если отключено применение команд PORT, не будет производиться никаких попы ток использовал ь такую команду для каждой передачи данных. site a/gl Посылает на дистанционный сервер команду, специфичную для его сай- та. Первый из артументов обычно является именем команды, все пос- ледующие аргументы последовательно передаются этой команде. size file-name Сообщает о размере файла file-name дистанционной системы. status Уведомляет о текущем состоянии ftp. struct [struct-пате] Устанавливает структуру передаваемого файла в значение struct-name. По умолчанию используется структура stream (потоковая). sunique Включает на дистанционной системе режим сохранения файлов с уни- кальными именами. Для успешного выполнения этой возможности ди- станционный FTP-сервер должен поддерживать команду STOC для про- токола FTP. Дистанционный сервер будет сообщать о назначенном уни- кальном имени. По умолчанию эта возможность не включена. system Сообщает об операционной системе дистанционной машины. trace Включает трассировку пакетов. type [type-name] Устанавливает режим передачи файлов в значение type-name. Если не задан никакой ар1умент, распечатывает текущее значение режима. По умолчанию принят режим ASCII (текстовый). umask [newmask] Устанавливает маску, определяющую режим создания файлов на дис- танционной системе, в значение newmask. Если аргумент newmask не задан, печатает текущее значение маски. user user-name [password] [account] Посылает дистанционной системе информацию о новом пользователе, указывая его имя user-name, пароль password и номер счета (бюдже- та). Если аргумент password не указан, а сервер требует его, пользова- тель приглашается для введения пароля. Если аргумент account не ука- зан, а сервер требует его, пользователь приглашается для введения но- мера счета. Весь этот процесс обычно осуществляется автоматически при первичном подключении к FTP-серверу, если только не отключена авторегистрация. verbose Выводит подробные информационные сообщения. Пользователю со- общается о всех ответах FTP-сервера, а также после завершения пере- сылки файла выводится статистика, отражающая эффективность пере- дачи. По умолчанию эта особенность включена. ? [command] Синоним команды help. Аргументы команд, содержащие пробелы, должны заключаться в кавычки.
II. Команды 275 Пример Ниже приведен фрагмент ftp-сессии. s: root@localhost localdomain: /root I □ x Файл Правка Settings Справка ftp> user misha Д 331 Password required for misha» Password: 230 User misha logged in. ftp> binary 200 Type set to I. ftp> glob Globbing on. ftp> mget photo* mget photo01.gif? у 200 PORT command successful. 150 Opening BINARY mode data connection for photo01.gif (34702 bytes). 226 Transfer complete. 34702 bytes received in 0,0333 secs (le+03 Kbytes/sec) mget photo02.gif? у 200 PORT command successful. 150 Opening BINARY mode data connection for photo02.gif <27250 bytes). 226 Transfer complete. 27250 bytes received in 0.033 secs <8.1e+02 Kbytes/sec) mget photo08.gif? у 200 PORT command successful. 150 Opening BINARY mode data connection for photo08.gif (36590 bytes). 226 Transfer complete. 36590 bytes received in 0.0211 secs (1.7e+03 Kbytes/sec) mget photo09.gif? n mget photol0.gif? n mget photol5.gif? n lJ ftP> I LEZJ Подключившийся к дистанционной системе пользователь misha ввел по требова- нию программы свой пароль. Установил двоичный режим передачи и замещение имен файлов. С помощью команды mget определил группу пересылаемых файлов. Далее ftp уточняет необходимость пересылки каждого найденного файла. ftpcount - показывает текущее количество пользователей FTP-сервера. Синтаксис ftpcount [-V] Команда ftpcount выводит текущее количество пользователей (и предел) для каж- дого класса, определенного в файле ftpaccess. Опции V Выводи । информацию о версии npoi раммы и janepiuaei ее выполнение
276 II Команды Пример $ ftpcount Service class all - 2usere (no maximum) $ ftpd - запускает демон Internet-сервера на протоколе FTP Синтаксис ftpd (—d][—V][—1J[—t timeout][-T maxtimeout][-a][-Л][-L](-i][-1](~o) [-p ctrlport] [-P dataport) (-ql (-Q] l-r rootdir] [ —s ] [-S] [-u umaBk][-V] [-w][-W][-X] ftpd - это процесс FTP-сервера, который, используя протокол TCP, "прослушивает" порт, указанный для службы FTP в файле /etc/services. Опции - V Выводит информацию о версии программы и затем завершает ее. - d Записывает в syslog (системный журнал) отладочную информацию. - t timeout Обычно FTP-сервер получает тайм-аут после 15 минут неактивной сес- сии. С помощью этой опции можно выполнить установку тайм-аута не- активного периода. По умолчанию-2 часа. - Т maxtimeout Позволяет клиенту запросить максимальный период тайм-аута. По умол- чанию - 2 часа. - а Использует конфигурационный файл ftpaccess, определяющий классы пользователей и, как следствие, возможности их доступа к серверу. - А Запрещает (по умолчанию) использовать файл ftpaccess. - 1 Регистрирует в системном журнале каждый FTP-сеанс. - L Регистрирует в системном журнале все команды, посылаемые серверу FTP, хотя эта опция может перекрываться параметрами файла ftpaccess. - i Регистрирует в xferlog (в журнале регистрации FTP-сервера) файлы, получаемые сервером. Эта опция может перекрываться параметрами файла ftpaccess. - I Отключает использование RFC931, с помощью которого делается по- пытка определения имени пользователя на машине-клиенте. - о Регистрирует в xferlog файлы, отправляемые сервером. Эта опция мо- жет перекрываться параметрами файла ftpaccess. - X Вывод, создаваемый с помощью опций -i и -о, не сохраняется в xferlog. но сохраняется через syslog таким образом, что можно централизован- но накапливать информацию от различных сетевых узлов в одном жу р- нале. - и umask Устанавливает маску полномочий, принимаемую по умолчанию, в ука запнос значение umask.
II. Команды _ 277 -W Фиксирует в файле wtmp каждую регистрацию пользователя на FTP- сервере и выход из него. Опция принята по умолчанию. -W Запрещает фиксировать регистрацию пользователя в файле wtmp что осуществляется с помощью опции -w. -S Запускает демон ftpd в фоновом режиме, чго полезно при старте сце- нариев rc.local во время инициализации системы. -s Запускает демон ftpd в приоритетном режиме, что полезно при запуске от init (/etc/inittab). -Р dataport Перекрывает номер порта данных, используемого демоном. Обычно ftpd извлекает номера портов из /etc/services. -р ctrlport Перекрывает номер управляющего порта, используемого демоном. Опция -р доступна только в том случае, если ftpd запускается как авто- номный демон. -ч Использует PID-файлы (PID- идентификатор процесса). Эта опция при- нята по умолчанию. -Q -г rootdir Запрещает использовать PID-файлы. Сразу же после загрузки с помощью chroot устанавливает указанный каталог rootdir в качестве корневого каталога системы. Аналогична опции -d. - закрывает FTP-сервер в указанное вр^мя ftpshut Синтаксис ftpshut [-V][-l min||-d min] time [warning-message.\ Команда ftpshut записывает файл с сообщением завершения в единственном мес- те, указанном с помощью ключевого слова shutdown в файле /etc/ftpaccess. Сразу же после проведения закрытия сервер продолжает отказываться от подключений, пока этот файл не будет удален. Поэтому, когда настанет время повторно запустить сервер, вам придется вручную удалить файл с сообщением завершения Может быть указано немедленное завершение работы FTP-серверов или предстоя- щее время завершения в одном из двух форматов: +number или hhmm (24-часовый формат). Размер предупреждающего сообщения warning-message может достигать 75 сим- волов. Опции .у Печатает информацию о версиях программы и завершает ее выполне- ние. -1 min Определяет время, когда FTl’-сервср станет недоступным: по умолча- нию за десять минут до завершения работ или немедленно, если у ка- занное время меньше десяти минут.
278 11 Команды -d min Определяет время, когда будут разорваны все текущие РТТ’-подк.ио- чения: по умолчанию - за пять минут до завершения работ или немед- ленно, если планируется завершить ftpshut ранее, чем через десять ми- нут. показывает текущий статус каждого FTP-пользователя. ftpwho Синтаксис ftpwho [-V] Уведомляет о текущем статусе каждого пользователя, зарегистрировавшегося на FTP-сервере. Опции -V Выводит информацию о версии программы и завершает ее выполнение. Пример $ ftpwho Service class all: 1099 ? S 0:00 ftpd: myhost.mydomain: misha: IDLE - 1 users (no maximum) $ funzip - фильтр^ис. юльз''емый в конвейере, для извлечения компонентов из ZIP-архива. Ci таксис [ — 11 funzip [ -password] | [... ] funzip [-password] input.zip| [.., ] funzip [-password] Input.gz | [... ] Поскольку funzip действует как фильтр, предполагается, что ZIP-архив (или gz-файл) будет подан по конвейеру через стандартный ввод. Хотя вместо стандартного ввода может быть указан файл input.zip (input.gz). Для шифрованных ZIP-файлов в командной строке может быть указан необязатель- ный аргумент -password - пароль, которому обязательно предшествует дефис. Необя- зательный пароль должен быть определен до любых имен файлов, если последние со- держатся в командной строке. Однако задавать пароль в командной строке - это преж- де всего большой риск для надежности системы. Если первый компонент ZIP-файла зашифрован, но в командной строке не указан пароль, пользователь будет приглашен для ввода пароля, который в этом случае не отображается на консоли. В связи с существующим ограничением на извлечение едипс гпепиоти члена архива npoi рамма funzip более полезна в сочет ании с вторичной архивной про>раммой типа tar.
II. Команды 279 Пример Следующая команда используется, чтобы проверить первый компонент архива prini98.gr: $ funzip prin98.gz>/dev/null $ Любые обнаруженные ошибки будут направляться в стандартный файл ошибок. идентифицирует процессы, использующие указанные файлы или сокеты. fuser Синтаксис fuser [-a|-s][-n space][-signal](-kimuv) name... [-][-n space][-signal] [-kimuv] name... fuser -1 fuser -V Программа fuser отображает идентификаторы процессов (PID), использующих ука- занные файлы или файловые системы, задаваемые аргументом пате. По умолчанию в режиме отображения за каждым именем файла следует буква, по- казывающая вид доступа: с текущий каталог е запущенный исполняемый файл f открытый файл; по умолчанию в режиме отображения буква f может отсутство- вать г корневой каталог m отображаемый файл или разделяемая (совместно используемая) библиотека Опции -а Отображает все файлы, указанные в командной строке, хотя по умолча- нию выводятся имена только тех файлов, которые используются хотя бы одним процессом. -к Отправляет процессам, обращающимся к указанным файлам, сигнал завершения SIGKILL (см. приложение 1), хогя его можно заменить с помощью опции -signal. _j Перед завершением процесса требует подтверждения от пользователя. Эта опция игнорируется, если опция -к не задана. _] Отображает все существующие названия сигналов (см приложение 1). _т Если определена эта опция, указывает файл смой тированной файловой системы или смой тированное блочно-специальное устройство. -п space Выбирает различные множеств имен. Поддерживаются множеств имен файлов (по умолчанию), udp (локальные nopi ы UDP). tep (локальные
280 11 Аманды порты TCP). Для портов может быть указан либо номер порта, либо его символическое имя. -s Производит операции без вывода сообщений. В этом режиме игнори- руются опции -и, -v и -а. -signal Посылает процессу указанный сигнал завершения вместо обычного SIGK.1LL. Сигналы могут задаваться по номеру или по наименованию (см. приложение I). - и Добавляет к каждому PID имя владельца процесса. - v Отображает процессы в стиле команды ps. - V Выводит информацию о версии программы. Переустанавливает все опции. Пример # fuser -uvm /mnt/floppy USER PID ACCESS COMMAND Znmt/floppy misha 1101 ..c.. gmc ♦ gawk - GNU-версия языка программи, ования AWK. Синтаксис gawk (option] -f program-file [ — ] file... gawk (option] (—] program-text file... В командной строке могут встречаться собственно опции gawk, текст программ на языке программирования AWK и значения предопределенных переменных языка. Оп- ции gawk могут быть заданы либо в традиционном однобуквенном стиле POSIX или в виде длинных опций GNU. Соответственно опции POSIX начинаются с одного дефиса, в то время как длинным опциям GNU предшествуют два дефиса. В первую очередь gawk считывает исходные тексты программ из файлов program-file (опция -f). если таковые указаны, из файлов, определяемых опцией —source, или из первых встречен- ных в командной строке аргументов без опций (program-text). Основные опции -F fs, —field-separator fs Использует fs в качестве разделителя входных полей AWK. Определя- ет значение предопределенной переменной FS. -v var=val. --assign var- val Назначает значение val переменной var до начала выполнения програм- мы. Такие значения переменных доступны в блоке BEGIN npoi рамм на языке AWK.
II. Команды 281 - f program-file, —file program-file Считывает исходный текст программ на языке AWK из файла program-file. - W traditional, -W compat, —tradil onal -compat Запускает gawk в режиме совместимости: действует аналогично awk в UNIX. В этом режиме не используются никакие специфические рас- ширения GNU. - W help, -W usage, - help, —usage Направляет на стандартный вывод относительно краткую справку о до- ступных опциях gawk. - W lint, —lint Печатает предупреждения о "подозрительных" конструкциях или непе- реносимых в другие реализации языка AWK. - W lint-old, -lint-old Предупреждает о конструкциях непереносимых в оригинальную вер- сию awk в Unix. - W posix, —posix Включает режимы совместимости со следующими дополнительными ограничениями: □ не распознаются управляющие последовательности \х □ когда FS устанавливается в единственном месте в качестве раз- делителей полей действуют только символы пробела и табуля- ции. но никак не символ newline □ не распознается синоним func ключевого слова function □ операторы * и **= не могут использоваться вместо Л и л= □ недоступна функция fflush •W re-interval, -re-interval Включает использование компонентов, определяющих интервалы, или диапазоны, в регулярных выражениях Одно или два числа внутри фи- гурных скобок, разделенные запятой, рассматриваются как определе- ние числового диапазона. Подобные компоненты изначально не были доступны в языке AWK. Стандарт POS1X добавил их, чтобы awk и egrep соответствовали друг другу. Опция -posix также определяет их исполь- зование. W source program-text, —source program-text Использует program-text в качестве исходного кода на языке AW х С помощью этой опции легко соединить библиотечные функции, ука- зываемые с помощью опции -f, с исходным кодом введенным прямо в командной строке. -W version, —version Сообщает о версии применяемой реализации gawk. Указывает конец опций
282 II Команды Пример Самый простой способ использования AWK - коди- ровать программу в команд- ной строке, принимать вход- ные данные со стандартно- го устройства ввода (с кла- виатуры) и посылать выход- ные данные на стандартное устройство вывода (экран). Здесь приведена эта про- стейшая форма программы. В начале строк печатается количество полей входных записей. ' misha@localhost localdomain: /home/misha [misha@lccalhost nisha]S gawk '{print NF “♦ ” $0}' AWK is a good idea 5: AWK is a good idea I Ask not what you can do for AUK, 18: Ask not what you can do for AWK, but rather 2: but rather what AUK can do for you Б: what AWK can do for you [mishaQlocalhost misha]$ | X - компилятор GNU языков программирования С и C++. gcc, g++ Синтаксис gcc [option|filename] g++ [option | filename] Компиляторы языков С и C++ интегрированы, причем, g++ представляет собой сце- нарий, вызывающий gcc с опциями, распознающими язык программирования C++. gcc может провести свои заданные файлы через четыре стадии; препроцессирова- ние, компиляция, создание объектного кода (ассемблирование) и компоновка (созда- ние исполняемого файла). Программа на языке С может содержать специальные команды препроцессора, ко- торый модифицирует код еще перед обработкой его компилятором (см. срр). Соб- ственно компилятор обрабатывает исходный код и создает версию программы на язы- ке ассемблера. Используя созданную компилятором версию программы, ассемблер генерирует объектный код. Четвертый компонент - компоновщик - создает из объект- ного кода исполняемый файл. По умолчанию этому файлу будет присвоено имя a.out. Суффиксы имен файлов указывают язык программирования, а также вид проделан- ной и предстоящей обработки. Ниже приведены упомянутые суффиксы .с исходный файл на языке С .С исходный файл на языке C++ . сс исходный файл на языке C++ .схх исходный файл на языке C++ .срр исходный файл на языке C++ m исходный файл объектно-ориентированного С .i файл на языке С, предварительно обработанный препроцессором . ii файл на языке C++, предварительно обработанный препроцессором .s файл с кодом ассемблера .S файл с кодом ассемблера
II. команды 283 .h файл препроцессора; файл заголовка на языке С, обычно в командной строке не именуется .о объектный файл .а архивный файл Основные опции -х language Конкретно указывает язык language входных файлов, не ориентируясь на суффикс имени файла. Ниже представлены возможные значения па- раметра language : с objective-c cpp-output c++-cpp-output assembler assembler-with-cpp -х попе -с -S c-header Отключает использование какой-либо спецификации языка, ориентиру- ясь лишь на суффиксы имен файлов. Так и было бы по умолчанию, если бы вообще не применялась опция -х, Но если пользователь желает вы- полнить одну из четырех стадий, реализуемых gcc, то можно использо- вать -х (или суффиксы имен), чтобы "разъяснить" gcc, откуда начать, и одну из опций -с, -S или -Е, чтобы определить, где следует остановиться. Компилирует или ассемблирует исходные файлы, создавая файл объект- ного кода, но не выполняя компоновку. По умолчанию создает имя объектного файла из исходного, замещая суффикс .с, ,i, ,s и т.д. на .о. Останавливается после стадии компиляции. -Е Останавливается после стадии препроцессирования, направляя резуль- тат на стандартный вывод. -о file Задает имя выходного файла. Может применяться на разных стадиях работы gcc, соответственно указывая исполняемый файл, объектный, ассемблерный или файл на С после обработки препроцессором. -v Направляет в стандартный файл ошибок команды, выполняемые для реализации стадий компиляции, а также выводит информацию о версиях компилятора и препроцессора. -pipe Вместо временных файлов применяет конвейеры для связи между раз- личными стадиями работы gcc. -gdebinfo Создает отладочную информацию в формате, задаваемом аргументом debinfo, который может принимать следующие значения gdb для использования отладчиком GDB stabs в формате stabs без расширений GDB (на MIPS, Alpha и System V Release 4) stabs+ в формате stabs, используя расширения GNU, понимаемые только GDB coff формат COFF использовался ранее SDB на большинстве систем до System V Release 4
284 II Команды xcoff форма! XCOFF используется отладчиком DBX на системах IBM RS/6000 xcoff+ формат XCOFF с расширениями GNU, понимаемый только GDB dwarf формат DWARF (версия 1), используемый SDB на большин- стве систем System V Release 4 dwarf+ формат DWARF (версия 1) с расширениями GNU, понимае- мый только GDB dwarf-2 формат DWARF (версия 2), используемый DBX в IRIX6 -include file Отрабатывает заданный файл как входной до обработки обычного вход- ного файла В первую очередь компилируется содержимое указанного файла. -М [-MG] Предлагает препроцессору создать правило, пригодное для make и опи- сывающее имя объектного файла и его зависимости, т.е. все файлы, включаемые в него с помощью директивы #include. Такое правило может занимать одну строку и более; в качестве символа продолжения применяется обратный слэш. Вместо обработанной препроцессором ис- ходной программы на стандартный вывод направляется список правил; такой список использует make. Опция -М предполагает опцию -Е. Параметр -MG подразумевает, что пропущенные файлы заголовков сгенерированы и находятся в том же каталоге, где размещается исходный файл. -Wa,option С помощью параметра option передает ассемблеру опцию или разде- ленный запятыми список опций. object-file name Считает, что имя файла, которое не содержит специального распозна- ваемого суффикса, является именем объектного файла или библиоте- ки. Эти объектные файлы используются как входные, если gcc выпол- няет стадию компоновки. -\library В процессе компоновки использует указанную библиотеку library -lobjc Эта опция необходима для компоновки программ на объектно-ориенти- рованном С. -static В системах, поддерживающих динамическую компоновку, нс разреша- ет компоновку с разделяемыми библиотеками. В других системах эта опция неэффективна. Библиотеки могут быть статическими, разделяе- мыми (совместно используемыми) и динамическими. Код статической библиотеки встраивается в программу при компиляции, код разделяе- мой библиотеки - при каждом запуске программы. Динамическая биб- лиотека тоже может загружаться при запуске программы, однако сами библиотечные функции загружаются лишь при поступлении соответ- ствующей команды из программы. -shared Создает разделяемый объект, который может быть затем скомпонован с другими объектами, формируя исполняемый файл.
II. Команды 285 -Wl,option С помощью параметра option передает компоновщику опцию или раз- деленный запятыми список опций. Пример S g++ mycprog.cpp -о outprog S В приведенном примере компилируется программа mycprog, написанная с исполь- зованием объектно-ориентированной версии языка С. Эта версия языка разработана для систем NeXT. дао - вызывает отладчик GNU. Синтаксис gdb [-help][-пх][—qj[-batch][-cd=dir| [-f][-b bps][-tty=dev][-s symfile] [~e prog] [-Бе prog][-c core][-x crods][-d dir] [prog [core|procID] ] Основное предназначение отладчика gdb, как и всякого другого, предоставлять ин- формацию о том, что происходит внутри некоторой программы, а также о том, что случилось в момент аварийного завершения. Чтобы помочь пользователю "выловить" ошибки в его программе, gdb умеет де- лать следующее: □ запускает программу пользователя, указывая все, что может воздействовать на особенности ее поведения □ останавливает программу при заданных условиях □ анализирует, что случилось при останове программы □ позволяет вносить экспериментальные изменения в программу, упрощающие процесс поиска ошибок Можно использовать gdb для отладки программ на языках С, C++ и Modula-2, ука- зывая в командной строке имя исполняемой программы prog. Отладчик вызывается с помощью команды оболочки gdb. Однажды запущенный, считывает команды, поступающие с терминала, до тех пор, пока не получит от пользо- вателя команду quit. Помимо имени программы в командной строке можно указать файл соте (дамп па- мяти) или идентификатор процессаprocID, если требуется отладить запущенный про- цесс. Далее приведены наиболее часто применяющиеся команды gdb Команды break [file.] function Устанавливает контрольную точку в первой строке указанной функции function (в файле file). run [arglist] Запускает вашу программу с указанным списком api ументов
286 II Команды bt Отображает последовательность вьновов подпрограмм, приведшую к данной точке программы. print expr Отображает значение выражения ехрг. c Продолжает вашу программу после останова в контрольной точке next После останова продолжает выполнять следующую строку програм- мы; пропускает любые вызовы функций в этой строке. step После останова продолжает выполнять следующую строку програм- мы, шаг, реализующий любые вызовы функций в этой строке. help [name] Выводит информацию о команде по имени пате или общую информа- цию о применении отладчика, если не указано конкретное имя. quit Осуществляет выход из отладчика. Опции Все опции и аргументы командной строки обрабатываются в последовательном по- рядке за исключением опции -х. -help, -h Распечатывает все опции с кратким пояснением. -symbols-symfile, -s symfile Считывает из указанного файла таблицу символов (идентификаторов). -write Разрешает писать в исполняемые файлы и файлы core (дампов памяти). -exec=prog, -е prog Рассматривает prog как исполняемый файл, который требуется выпол- нить при соответствующих условиях для анализа констант совместно с данными памяти. -se prog Использует prog как таблицу идентификаторов и исполняемый файл. -core-core, -с core Использует для анализа содержимое указанного файла, рассматривая его как дамп памяти. -command-cm rfs, -х cmds Исполняет команды отладчика из файла cmds. -directory=rfir, -d dir Добавляет указанный каталог dir к маршруту поиска исходных файлов. -nx, -n Обычно после обработки всех опций и аргументов командной строки выполняет команды файла инициализации .gdbinit. Если задана эта оп- ция, не выполняет такие команды. -quiet, -q Не печатает вступительную информацию, а также сведения об автор- ских правах на эту программу. Подобные сообщения также отсутству- ют в пакетном режиме. -batch Запускает отладчик в пакетном режиме. Завершается с нулевым кодом после благополучного выполнения всех командных файлов, задавае-
II Команды 287 -cd=dir -fullname, -f -b bps мых с помощью опции -x, и файла .gdbinit. Завершается с ненулевым кодом, если при выполнении команд возникают ошибки Пакетный режим полезен при использовании отладчика в качестве фильтра: для загрузки и запуска программы на другом компьютере. Использует указанный каталог dir в качестве рабочего вместо текуще- го каталога. Эту опцию устанавливает emacs, вызывая отладчик gdb в качестве под- процесса. Эта опция определяет стандартный формат вывода gdb: два 32-битных символа, за которыми следуют имя файла, номер строки и положение символа, разделяемые двоеточием и завершающиеся сим- волом newline - новой строки. Устанавливает скорость в бодах любого последовательного интерфей- са, используемого gdb для дистанционной отладки. -tty=dev, -t=dev Использует указанное устройство для стандартного ввода и вывода ва- шей программы. Пример Ниже приведен запуск программы lexout под отладчиком gdb. misha@localhost.localdomain: /home/misha___________________________________ • ImishaBlocalhost mishalt gdb lexout I CNU gdb 19991004 Copyright 1998 Free Software Foundation, Inc, GEE is free software, covered by the GNU General Public License, and you are I welcome to change it and/or distribute copies cf it under certain conditions. Type ‘‘show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... I (gdb) run : Starting program! /home/misha/lexout I sd i 99 hji ' Program exited normally. ’ (gdb) print yytext 11 = 0 (gdb) print YY_REfiD_BUF_SIZE i No symbol "YY_REfiD_EUF_SIZE“ in current context. ! (gdb) | _________________________________________________ менеджер дисплея GNOME. gdm Синтаксис gdm Программа gdm написана как замещение xdm - менеджера дисплея системы X. Программа gdm запускает Х-сервер и отображает специфическое окошко, приглаша-
288 II Команд». ющее пользователя зарегистрироваться в системе. По умолчанию, после ввода имени и пароля устанавливается сеанс GNOME, хотя выбрав Session => KDE, можно зака- зать KDE. gdm считывает различные параметры конфигурации из файла/etc/Xll/gdm/gam.cnni запуск gdm из командной строки может выполнить лишь суперпользователь. getfilename - запрашивает у пользователя имя файла в заданном формате. Синтаксис getfilename format-паше file-name Запрашивает у пользователя имя файла в заданном формате format-name, а затем копирует этот файл в file-name (второй аргумент командной строки). Эта команда прак- тически не используется сама по себе, но добавляет полезные свойства многим поч- товым программам, например mailto. Пример В файле mailcap (/etc/mailcap) можно найти такое выражение: compose="getfilename Postscript %S" При работе с mailto у пользователя будет запрошено имя включаемого файла в формате Postscript, т.е. команда getfilename будет вызвана неявно. getkeycodes Синтаксис getkeycodes - печатает таблицу соответствия скан-ко- дов клавиш их кодам. Команда getkeycodes выводит таблицу ядра, устанавливающую соответствие меж- ду скан-кодами клавиш (шестнадцатеричные значения) и кодами, представляющими физические клавиши (десятичные значения). Пример $ getkeycodes Plain scancodes хх (hex) versus keycodes (dec) 0 is an error; for 1-88 (0x01-0x58) scancode equals keycode 0x58: 88 124 125 126 127 0 0 0 0x60: 0 0 0 0 0 0 0 0 0x68: 0 0 0 0 0 122 0 123 0x70: 0 0 0 89 120 0 0 90 0x78: 91 92 93 94 95 124 121 0
II. Команды 289 Escaped scancodes е( ) XX (hex) еО 00: 0 0 0 0 0 0 0 0 еО 08: 0 0 0 0 0 0 0 0 еО 10: 0 0 0 0 0 0 0 0 еО 18: 0 0 0 0 96 97 0 0 еО 20: 0 0 0 0 0 0 0 0 еО 28: 0 0 0 0 0 0 0 0 еО 30: 0 0 0 0 0 98 0 99 еО 38: 100 0 0 0 0 113 114 115 еО 40: 116 117 0 0 0 0 101 102 еО 48: 103 104 0 105 124 106 118 107 еО 50: 108 109 110 111 0 0 0 0 еО 58: 0 0 0 125 126 127 0 0 еО 60: 0 0 0 0 0 0 0 0 еО 68: 0 0 0 0 0 0 0 112 еО 70: 0 0 0 0 0 0 0 0 еО 78: 0 0 0 0 0 0 0 0 - получает один из списков от NNTP-сервера. $ Во второй половине листинга представлены коды управляющих клавиш. Первая часть таблицы не случайно начинается со скан-кода 0x58. Дело в том, что скан-коды, лежащие в интервале 0x01-0x58, эквивалентны своим кодам клавиш, распознаваемым ядром. getlist Синтаксис getlist [-h host}[list [pattern [types}]} Полученный от NNTP-сервера список list программа getlist посылает на стан- дартный вывод. Аргумент list может принимать значения active, active.times, distributions или newsgroups. Эти значения соответственно запрашивают содержи- мое файлов active, active.times, <pathetc in inn.conf>/distributions или <pathdb in inn.conf>/newsgroups. Опции -h 11одключается к серверу на указанном узле host. По умолчанию под- ключается к серверу, указанному в файле inn.conf. Если аргумент list принимает значение active, для ограничения вывода могут ис- пользоваться параметры pattern и types. Если указан шаблон pattern, то будут печа- таться только те строки файла active, чьи группы новостей соответствуют шаблону. Если также задан types, будут печататься только те строки файла active, четвертое поле которых начинается с символа (флаг статуса статей), найденного в types.
290 II Команды - устанавливает связь между Linux и указанным терми- налом. getty Синтаксис getty [-d defaults f-i-len-h] ]-r delay) [-t timeout] [-w vaitfor) line)speed)type)lined)]] getty -c gettydefs_file Монитор вашего персонального компьютера выступает в роли специального тер- минала, или консоли. И обычно вам не приходится специально вызывать getty, она бу- дет вызвана из файла /etc/inittab при загрузке системы. В случае необходимости можно подключить дополнительные терминалы через спе- циальную многопортовую плату, расширяющую возможности последовательных пор- тов компьютера. И в этом случае приходится вызывать getty, указывая ей скорость передачи в бодах и имя устройства-терминала. getty является второй из трех программ — init, getty, login - используемых систе- мой Linux для регистрации пользователя. Программа getty вызывается init, чтобы вы- полнить следующее: □ открыть линии tty (терминалов) и установить их режимы □ вывести приглашение регистрации и получить имя пользователя □ инициализировать процесс регистрации для данного пользователя Устройство tty, используемое getty, определяется аргументом line. Программа getty применяет строку Idevlline как имя устройства при его подключении. Аргумент speed - это метка элемента в файле /etc/gettydefs. Этот элемент инфор- мирует getty о начальной скорости в бодах, используемом приглашении регистрации, финальной скорости и установках tty. Если аргумент speed не гадан или элемент не найден, по умолчанию используется первый элемент файла /etc/gettydefs. Аргумент type - строка, содержащая тип терминала, подключаемого к последова- тельному порту. В качестве type необходимо применять одно из терминальных имен, содержащихся в БД termcap. Программа getty использует это значение для очистки экрана видеодисплея; на основе значения аргумента type она также устанавливает пере- менную окружения TERM. Аргумент lined определяет порядок (дисциплину линии), действующий на данной последовательной линии, задается он в виде строки. По умолчанию принята LDISC0. Опции - с gettydefs_file Эта опция используется для тестирования содержимого файла getty defs Анализирует содержимое указанного файлаgettydefs_file, информируя о найденных синтаксических ошибках. - Ь Не дает "зависать" линии во время старта - г delay Устанавливает время тадсржки в секундах после приема очеретного сим- вола прежде чем разрешит getty продолжать. По умолчанию принято -г0 (не ждать очередной символ).
II Команды 291 - t timeout Программа gctty завершается, если не получает имени пользователя в течение указанного параметром timeout количества секунд после вы- вода приглашения. Устанавливает время ожидания информации от пользователя. По умолчанию время ожидания не ограничивается. - w waitfor Указывает gctty ожидать поступления строки waitfor до того, как она распечатает приглашение регистрации. По умолчанию getty не ожидает поступления никаких строк символов. - d defaults_/7/еПослс синтаксического анализа командной строки getty по умолчанию обращается к файлу /etc/conf.getty, отражающему конфигурацию во время выполнения. С помощью этой опции командной строки можно изменить имя файла. gimp - вызывает одну из наиболее известных графических программ Linux. Синтаксис gimp [option] file-- gimp - GNU Image Manipulation Program - GNU-программа манипулирования изоб- ражениями. gimp - сложное и мощное программное обеспечение с полным набором графи- ческих инструментов. Основные опции -n, —no-interface Запускает программу без пользовательского интерфейса. —display display Осуществляет вывод на указанный Х-дисплей. -no-data Запускает программу, не загружая шаблоны, градиенты, палитры, кис- точки. —no-splash Запускает программу без отображения стартового окна. —no-splash-image Не выводит обычного изображения в стартовом окне. —no-shm Не использует разделяемую между gimp и ее plug-in модулями память. —no-xshm Не использует расширения X в части разделяемой памяти. git - браузер |>айлевой системы. Синтаксис git [optionHpat<ilHPat,lJl
292 II Команды git - браузер файловой системы с поддержкой ряда особенностей оболочки об- легчающей и упрощающей работу пользователя. git создает две панели: левую и правую. Каждая из панелей содержит каталог фай ловой системы. Пользователь может просматривать дерево каталогов, используя ф ф. Page-Up, Page-Down, Home, End и TAB (для переключения между панелями), а так- же, нажимая клавишу Enter, входить или покидать каталог. Опции - Ь Выводит краткую справку по опциям. - v Выводит номер версии GIT. - с Использует ANSI-цвета. - Ь Не использует ANSI-цвета, а все наименования файлов выводятся в одном цвете. - р При выходе выводит финальный маршрут. Аргументы path\ и palh2 определяют соответственно маршруты левой и правой панелей. Чтобы выйти из GIT, достаточно нажать F10. Под двумя панелями располагается строка для обычных команд оболочки, под этой строкой находится строка состояния, отражающая статус команды, выполняемой в те- кущий момент, а также предупреждения и сообщения об ошибках. В строке состояния также может появиться приглашение, если требуется принятие решения. gitaction - входит в состав GIT и выполняет определенное действие для каждого казанного файла. Синтаксис git gitaction - это сценарий, вызываемый программой git при нажатии F2 и выполняю- щий определенное действие для каждого заданного типа файла. Если файл текстовый, на экран будет выведено его содержимое, если файл графический, то вызванная про- грамма kview выведет на экран изображение, архивный файл вначале будет распакован и т.д., и т.п. "Знает" gitaction форматы elf, html, форматы почтовых draft (предвари- тельных сообщений) и многое другое. gitkeys - входит в состав GIT; выводит последовательность кодов клавиш клавиатуры. Синтаксис gitkeys Программа gitkeys выводит последовательности кодов, получаемых при нажатии клавиш. Работа программы завершается при нажатии клавиши SPACE (пропел).
II. Команды 293 Пример На рисунке показана панель программы gitkeys. Файл Правка Settings Справка [roct@localhost /root]# gitkeys GNU Interactive Tools 4*3,19 - Display key sequence utility GIT is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or <at your option) any later version. Copyright (C) 1993-1998 Free Software Foundation, Inc. Written by Tudor Hulubei and Andrei Pitis, students at PUB, Romania Press SPACE when done. 7a 78 63 76 62 6e 6d 2c 2e 2f di de d3 cd c9 d4 d8 c2 cO 2f I gitmount - входит в состав GIT, позволяет монтировать любое блочно-специальное устройство. Синтаксис gitmount device gitmount - сценарий автомонтирования, позволяющий подключить любое блоч- ное устройство, не указывая тип файловой системы Пользователь может, например, установить дискету и набрать gitmount fdO. Дискета будет подключена к каталогу /mnt/fdO, который будет автоматически создан, если он не существовал до того. Пользо- вателю ничего не требуется знать о типе монтируемой файловой системы, gitmount все определит самостоятельно и выдаст на экран соответствующее сообщение. Пример I gitmount fdO fdO:vfat # Программа gitmount установила, что на дискете имеется файловая система vfat. gitps - предназначена для вывода инфорк;ац1.и о процессах, а также может выдать сигнал об их завершении. Синтаксис gitps [option] Входит в состав GIT
294 II Команды Опции - h Выводит краткую справку по опциям. - v Выводит номер версии GIT - с Использует ANSI-цвета. - Ь Не использует ANSI-цвета. - р Передает остаток параметров команде ps. gitps обращается к ps и передает ей параметры. Запускается gitps из командной строки. Пользователь может применять ф, Ф, Page-Up, Page-Down, Home, End и 'L (получение нового состояния процессов), с помощью F10 можно выйти из gitps. Ус- тановку сигналов (крайнее правое поле внизу) для отправки выбранному процессу мож- но осуществить с помощью клавиши Enter. Призер На рисунке приведена панельgitps. g; GNU Interactive Tools - ps Файл Правка Settings Справка Lilli Interactive lools 4.5,19 - Process Viewer/Killer PIB ТП Title’ C 1 22[13pts/l OO:OQ:CJ bash 2213 pU/1 :С>:СЛ find 2214 pts/1 00:00:00 gitps 2215 pts/1 00:00:00 ps Irrous-tlOVE ' '-SILrV :’r2ESI "XT/FIO-QUIT "k- gitrgrep - рекурсивная команда grep, входит в состав GIT. Синтаксис gitrgrep [grep-like-options] gitrgrep - маленький сценарий, рекурсивно вызывающий grep и передающий ей опции и параметры grep-like-options. В отличие от grep спецификации файлов обяза- тельно окружаются кавычками. Пример $ gitrgrep -1 info "*.* /home/misha/: /home/misha/Desktop/: /home/misha/Desktop/Autostart/: /home/misha/Desktop/Templates/: /home/misha/Desktop/Trash/: /home/misha/.kde/: /home/misha/.kde/share/: /home/misha/.kde/share/applnk/: /home/misha/.kde/share/аррв/:
II Команды 295 /home/misha/.kde/share/apps/kdehelp/: /home/misha/.kde/share/apps/kdisknav/: /home/misha/.kde/share/apps/kfm/: /home/misha/.kde/share/apps/kfm/bookmarks/: /home/misha/.kde/share/apps/kfm/tmp/: /home/misha/.kde/share/apps/kpanel/s /home/misha/.kde/share/apps/kpanel/applnk/: /home/misha/.kde/share/apps/ksokoban/: /home/misha/.kde/share/apps/kdeui/: /home/misha/.kde/share/config/: /home/misha/.kde/share/icons/: /home/misha/.kde/share/icons/mini/: /home/misha/.kde/share/mimelnk/: /home/misha/.xauth/: /home/misha/-gnome/: /home/misha/.gnome/accels/: /home/misha/.gnome/apps-redhat/: /home/misha/.gnome/apps-redhat/Administration/: /home/misha/.gnome/apps-redhat/Games/: /home/misha/.gnome/apps-redhat/Games/Video/: /home/misha/.gnome/apps-redhat/Utilities/: /home/misha/.gnome/apps-redhat/Utilities/Mail/: /home/misha/.gnome/apps/: /home/misha/.gnome/panel.d/: /home/misha/.gnome/panel.d/default/: Applet_2.d esktop /home/misha/.ее/: /home/misha/.ее/icons/: /home/misha/.ее/minis/: /home/misha/.ee/minis/home/: /home/misha/.ee/minis/home/misha/: /home/misha/.ее/minis/mnt/: /home/misha/.ее/minis/mnt/floppy/: /home/misha/.gnome_private/: /home/misha/nsmail/: /home/misha/.enlightenment/: /home/misha/.enlightenment/themes/: /home/misha/.me/: /home/misha/.gnome-help-browser/: /home/misha/.gnome-desktop/: /home /misha /. gnome-desktop /Ё+ТБ++ ++- • T+L+ ¥: /home/misha/.gnome-desktop/fdO/: /home/misha/practice/: /home/misha/rcs/: /home/misha/RCS/: /home/misha/.netscape/: cert7.db /home/misha/.netscape/cache/: /home/misha/.netscape/archive/: /home/misha/evsdir/: /home/misha/rab/: /home/misha/rab/person/: /home/misha/rab/test/: /home/misha/rabl/: /home/misha/rabl/CVSROOT/: /home/misha/rabl/wv/:
296 II Команды /home/misha/rabl/vvv/rab/: /home/misha/rabl/vvv/rab/person/: /home/misha/rabl/vw/rab/test/: /home/misha/git/: $ gitunpack - унифицированный распаковщик архивов, вхо- дящий в состав GIT. Синт: сис gitunpack dir file — gitunpack - сценарий оболочки, принимающий каталог dir и набор архивов fde в качестве аргументов командной строки. 11роизводит распаковку архивов в указанный каталог dir, подбирая для этого подходящую утилиту, исходя из расширений архивов. Пример Необходимо распаковать в каталог git все файлы архивов текущего каталога. х и misha@lucalhost.localcioniairi. /home/misha CmishaSlocalhost mishalS gitunpack git *.* ZusrZbinZgitunpack: photo01.gif: unknown archive type ZusrZbinZgitunpack: photo02.gif: unknown archive type ZusrZbinZgitunpack: photo08*gif: unknown archive type ZusrZbinZgitunpack: photo09*gif: unknown archive type ZusrZbinZgitunpack: photolO^gif: unknown archive type rm: невозможно удалить 'pr1^43.2': No such file or directory rm: невозможно удалить 'prim44»Z'i No such file or directory rm: невозможно удалить 'prim45.Z': No such file or directory ZusrZbinZgitunpack: proba»jpeg: unknown archive type ZusrZbinZgitunpack: proba.tiff: unknown archive type ZusrZbinZgitunpack: rcs06.gif: unknown archive type J / Файлы архивов prim43.Z, prim44.Z и prim45.Z распаковываются в каталог git, но сами оригинальные архивы при этом сохраняются. Для gitunpack все графические фай- лы являются архивами неизвестного типа, но их и не требуется распаковывать. gitview - входит в состав GIT и предназначена для вывода содержимого файла в шестнадцатеричном формате. Синтаксис gitview [option] file... Опции -h Выводит краткую справку по опциям. -V Выводит номер версии GIT.
II. Команды 297 -с Использует ANSI-цвета. -Ь Не использует ANSI-цвета. Выводит содержимое файла file в шестнадцатеричном и ASCII форматах. Пользо- ватель может применять ф, Ф, Page-Up, Page-Down, Home, End. С помощью Fl 0 мож- но выйти из gitview. В поле Seek at: набирается offset — смешение, начиная с которого производится вывод. Пример Ниже показана панель gitview при выводе содержимого файла. GNU Interactive Tools - File prim30____________________________________ _ в x Сайл правка Settings Справка GNU Interactive Tools 4.3.19 - Hex/ftscii File Viewer File: prin30 Offset 00 01 02 03 04 05 0Б 07 08 09 ОЙ 0B 00 0D 0E OF Ascii A 7 00000030 20 El DO D2 20 20 33 30 20 20 31 37 ЗЙ 30 34 20 ... 30 17:04 00000040 20 6E 73 6D 61 69 6C 0Й 2D 72 77 2D 72 2D 2D 72 nsnail.-rw-r—r 00000050 2D 2D 20 20 31 20 20 20 72 6F 6F 74 20 20 72 6F — 1 root ro 00000060 6F 74 20 20 33 38 20 20 20 20 El DO D2 20 20 33 ot 38 ... 3 Seek at: | Trrcws/PgUp/PgDoun/Home/End-MOVE 'T.-REFRESH ^"C/FIO-CUIT 0-9/a-fZA-F-0FFSET gprof определяет производительность программ на языке С, Pascal или Fortran 77. Синтаксис gprof [—abCBzv][—е|—Е name][-f|-F лате][-k fromname toname] [objfile [gmon.out]] gprof создаст профиль выполнения программ на языках С, Pascal или Fortran 77. Информация по каждому вызову любой подпрограммы накапливается в профиле. Эти данные извлекаются из профиля графа вызовов - по умолчанию файл gmon.out. кото- рый создается при компиляции программ с опцией -pg компиляторами сс, рс и (77. Про- грамма gprof считывает заданный объектный файл objfile и устанавливает соответ- ствие между его таблицей символов (идентификаторов) и профилем графа вызовов gmon.out. gprof подсчитывает время, затраченное па выполнение каждой подпрограммы. За- тем это время распределяется между вершинами графа вызовов. Опции _а Не информирует о статических функциях. Вся информация по таким функциям - время выполнения, обращения к другим функциям и из tpy гих функций - принадлежит функции, загружаемой до статической.
298 II. Команды -Ь Не выводит описание каждого поля профиля. -с Перекрывает статический граф программы эвристическим, анализиру- ющим текстовое пространство объектного файла. -е пате Запрещает выводить элемент графа для подпршраммы по имени пате и всех вызываемых ею подпрограмм. Может быть задано несколько таких опций, но с каждой опцией -е указывается только одно имя. -Е пате Аналогична опции -с, но не информирует о времени, затраченном на под- программу по имени пате. -f пате Печатает элемент графа для подпрограммы по имени пате и всех вы- зываемых ею подпрограмм. Может быть задано несколько таких оп- ций, но с каждой опцией -f указывается только одно имя. -F пате Аналогична опции -f, но информирует только о времени выполнения под- программы по имени пате. Опция -F перекрывает опцию -Е. -k fromname toname Запрещает информировать о вызовах подпрограммы toname из fromname. -S Создает профиль gmon.sum, содержащий итоговую информацию по всем указанным профилям. -V Выводит информацию о версии программы и завершает ее. -Z Выводит имена подпрограмм, время выполнения которых равно 0, т.е. они ни разу не вызывались. grep - печатает строки, совпавшие с шаблоном. Синтаксис grep [-(ABCJnum]]-EFGHLUVZabchilnqrsuvwxyz]]-е pattern\-t file] [~d action] (—directories=acticn][—extended-regexp] [—fixed-strings] [—basic-regexp] (—regexp=pattern] [—file=file]]—ignore-case] [ —word-regexp] [ —line-regexp] ] —no-messages ] [ —invert-match] [ —version] [ —help] ]-byte-offset] ] -line-number] [ —with-f ilename] [-no-filename] [ —quiet] [ —silent] [ —text] [ —files-without-match] [—files-with-matches](—count][—before-context=num] I—after-context=num] (—context=num] ]—binary] [—unix-byte-offsets] [—nunapj]—null]]—recursive] [file ] Команда grep ищет в поименованных входных файлах file строки, содержащие за- данный шаблон (образец) ранет. Если имена файлов file не заданы, в качестве вход- ного файла предполагается стандартный ввод. По умолчанию grep печатает совпав- шие строки. Существуют три разновидности grep, управляемые следующими опциями. -G, - basic-regexp Интерпретирует шаблон ранет как базовое регулярное выра- жение. Это положение принято по умолчанию.
II. Команды 299 - Е, —extended-regexp Интерпретирует шаблон pattern как расширенное регулярное вы- ражение. - F, —fixed-strings Интерпретирует шаблон pattern как список фиксированных строк, разделяемых символом newline (новая строка), любая из которых должна быть сопоставима. Любые варианты grep понимают перечисленные ниже опции. Опции - А пит, — after-context=num Печатает строки завершающего контекста в количестве пит после со- впавших строк. - В пит, —before-context=num Печатает строки завершающего контекста в количестве пит до совпав- ших строк. -С пит, —context=num Печатает пит строк выходного контекста. По умолчанию - две строки. -пит То же, что и -context-num строк предшествующего и завершающего контекста. Команда grep никогда не печатает любую заданную строку более одного раза. -V, —version Направляет номер версии grep в стандартный файл ошибок. -b, -byte-offset Печатает смещение в байтах внутри входного файла до каждой строки вывода. - с, —count Вместо обычного вывода для каждого входного файла печатает коли- чество совпавших строк. Если указана также опция -v, печатает количе- ство несовпавших строк. - d action, —directories=cction Если входной файл является каталогом, для его обработки применяет- ся параметр action. По умолчанию action установлен в значение read: это означает, что каталоги считываются, как если бы они были обыч- ными файлами. Если action установлен в значение skip, каталоги молча пропускаются. И если action recurse, команда grep считывает все файлы под каждым каталогом рекурсивно, что эквивалентно опции -г. - е pattern, —regexp=pattern Использует pattern в качестве шаблона (образца), что полезно для за- щиты шаблонов, начинающихся с дефиса. - f file, —file=yi/e Получает шаблоны из файла file по одному в каждой строке. -Н, —with-filename Печатает имя файла для каждого найденного сопоставления. -h, -no-filename Выполняя поиск по ряду файлов, не добавляет их имена в выходной файл.
300 JI Команды -i, —ignore-case При поиске игнорирует чувствительность к регистру в шаблоне и во входных файлах. -L, —files-without-match Запрещает обычный вывод, печатая лишь имена входных файлов не содержащих образец. Просмотр завершается на первом найденном сов- падении. -1, —files-with-matches Выводит лишь имена входных файлов, с троки которых содержат обра- зец. Просмотр завершается на первом найденном совпадении. -п, -line-number Формируя вывод, добавляет номер к каждой строке в пределах ее вход- ного файла. -q, —quiet, —silent Запрещает обычный вывод. Обработка завершается на первом найден- ном совпадении -г, —recursive Считывает все файлы каждого каталога рекурсивно; эквивалентна оп- ции -d recurse. -s, —no-messages Запрещает выдачу сообщений об ошибках по поводу несуществующих или несчитываемых файлов. -a, —text Не запрещает вывод строк, содержащих двоичную информацию. Обыч- но. если несколько первых байт указывают, что файл содержит двоич- ную информацию, команд grep выводит только сообщение, уведомля- ющее о найденном совпадении с шаблоном. Эта опция заставляет ко- манду grep трактовать файл как текстовый. -v, -invert-match Действует наоборот - выбирает несовпадающие с шаблоном строки. -w, -word-regexp Выбирает только те строки, где найдено совпадение целого слова с об- разцом, -х, —line-regexp Выбирает только строки, полностью совпавшие с образцом. - у Эта опция - синоним опции -i. - U, —binary Рассматривает файл как двоичный и, в отличие от обычной обработки, не отбрасывает символы CR (carriage return - возврат каретки). Эта опция неэффективна иа платформах, отличающихся от MS DOS и MS Windows. - u, - unix-byte-offsets Отчитывается о смещении в байтах так, будто обраоаг ываст текстовые Unix-файлы, т.е. обрабатывая символы CR. Эта опция эффективна лишь с опцией -Ь.
II. Команды 301 —mmap Считывая входной файл, вместо заданного по умолчанию системного вызова read использует mmap если это возможно. В ряде случаев сис- темный вывод mmap способствует увеличению производительности обработки, но может привести к непредсказуемым результатам (дамп памяти), если при обработке произойдет ошибка ввода/вывода. -Z, —null Выводит нулевой байт (0 - символ ASCII) вслед за именем файла. А команда grep -1Z выводит нулевой байт после каждого имени файла вместо обычного символа newline. Чтобы обработать имена файлов, даже если они содержат символы newline, эта опция используется вме- сте с некоторыми командами: find -print sort -z. -z, -null-data Считает, что строку данных завершает нулевой байт вместо newline. Пример Необходимо вывести все строки файла prim62, содержащие выражения input/output или input-output: $ grep "input[/-Joutpuf prim62 input/output errors fast input-output $ grephistory - выводит имена файлов из файла history службы Usenet. Синтаксис grephistory I-e][-f filename}[-h][-i][-1][-n][-o][-q][-s]I-T] |-t) [messageid} Для любой статьи, имеющей указанный messageid (идентификатор сообщения) или ключ хеширования заданного messageid, команда grephistory запрашивает в файле history индекс dbz. Параметр messageid командной строки grephistory соответствует Message-ID (идентификатору сообщения); если программа не может найти в БД упомя- нутый параметр, она выводит текст Not found и завершается с ненулевым кодом. Если в БД обнаружен указанный messageid, программа grephistory выводит маршрут или маркировку статьи, если статья хранится в api-хранилище, и благополучно завершается Опции - е Печатает только имя файла с маркером существующей статьи. - f Позволяет указывать отличающиеся значения для файла history и БД. - h Распечатывает ключ хеширования сообщения Message-ID, даже если оно отсутствует.
302 II Команды - i Считывает список Message-ID со стандаршого ввода. В каждой стро- ке содержится по одному идентификатору, при этом головной и завер- шающий пробелы игнорируются. На стандартный вывод распечатыва- ются Message-1D, не найденные в БД. - 1 Выводит полную строку файла history. - и Если не один маршрут не существует, программа печатает /dev/null (фиктивное устройство) и благополучно завершается. Это может слу- читься, если статья была уничтожена или истек срок ее хранения, но сведения о ней все еще сохраняются в файле history. - о Будет выводить обзор о заданной статье. Этот флаг доступен, если <DBZ TAGGED HASH in config.data> установлен в значение DONT и параметр extendeddbz включен в файл inn.conf. - q Не выводит ни одно сообщение. - s Считывает подобный список со стандартного ввода самой программы grephistory. На стандартный вывод печатается список имен файлов для каждой доступной статьи. - Т Будет выводиться только смещение обзора данных по статье. Этот флаг доступен, если <DBZ TAGGED HASH in config.data> установлен в зна- чение DONT и включен extendeddbz в inn.conf. - t Печатается только смещение по текстовому файлу history. grodvi - преобразует вывод groff в формат ТеХ. Синтаксис grodvi (-dv)[-wn][-Fdir][file__] Язык верстки ТеХ (система верстки текстов teTeX) использует формат dvi. Со- зданный с помощью программы grodvi файл file может быть распечатан любым dvi-драйвером. Опции - d Не использует tpic (препроцессор pic рисует в режиме, пригодном для ТеХ) для выполнения команд рисования. - V Выводит номер версии программы. - wn Устанавливает по умолчанию толщину линии в л тысячных от т-про- бела. -fdir Устанавливает каталог Лг/devdvi для нахождения шрифтов и файлов описания устройств.
II. Команды 303 - обеспечивает интерфейс для работы с системой форматирования groff. groff Синтаксис groff [ -tpeszvhlNRVXZ ] [ -Parg] [ -Larg] [ -TdevJ [ -f fam} [ -nnuaj (-dist] [ file... J Основные опции - h Выдает справку по опциям команды. - е Выполняет препроцессорную обработку с eqn - программой формати- рования уравнений, математических выражений, формул. - t Выполняет препроцессорную обработку с tbl - программой формати- рования таблиц. - р Выполняет препроцессорную обработку с pic-программой форматиро- вания рисунков, при этом входные команды распознаются ТеХ и troff. - s Выполняет препроцессорную обработку с soelim - программой, интер- претирующей запросы типа .so из входного потока. Это необходимо для обработки файлов, включаемых с помощью .so. - R Выполняет препроцессорную обработку с refer - программой, обраба- тывающей библиографические ссылки в документах системы groff. - v Сообщает о версиях программ системы groff. - V Направляет конвейер команд на стандартный вывод, не выполняя их. - z Подавляет вывод troff, печатает только сообщения об ошибках. - Z Перекрывает вывод постпроцессора из troff. - Parg Передает указанный аргумент постпроцессору. -1 Направляет вывод на принтер. -Larg Передает аргумент arg для обработки текста в спуле (временном фай- ле) печати. -Ldev Готовит вывод для устройства dev, по умолчанию - ps. -X Вместо обычного постпроцессора использует просмотр под XI1. -ffam Применяет fam в качестве семейства шрифтов, принятого по умолча- нию. -ппит Начинает нумеровать первую страницу с номера пит. -olist Печатает только страницы из указанного списка list (см. опцию -о ко- манды troff). -N Запрещает использовать символы newline в разделителях eqn. Обычно groff запускает troff и постпроцессор, готовящие документы для вывода на определенном устройстве (см. опцию -Т). Параметр dev может принима i ь следую- щие значения:
304 II. Команды ps принтер в формате PostScript dvi формат, принятый в ТеХ Х75 предварительный просмотр под X Window с разрешением 75 dpi (dots per inch - точек на дюйм) X100 предварительный просмотр под X Window с разрешением 100 dpi ascii устройство построчной печати (без форматирования) latinl устройство построчной печати, использующее набор символов ISO Latin-1 Постпроцессор задается командой postpro в файле описания устройств. grolj4 - вызывает специальный groft-драйвер для принтеров семейства HP Laseijet 4 Синтаксис grolj4 [-1V][-d[n]]|-cn][-psize][-wn][-Fdir][file...] Драйвер grolj4 создает вывод в формате PCL5 пригодном для принтеров семей- ства HP Laseijet 4. Оп< ии -СП Печатает и копий каждой страницы. -1 Печатает документ в альбомной (landscape) ориентации. -ф] Устанавливает дуплексный режим в соответствии со значением л: 1 компоновка по длинной стороне 2 компоновка по короткой стороне По умолчанию принято значение 1. -psize Устанавливает размер бумаги в значение size, которое может быть одним из следующих: letter (формат письма), legal (принятый в США для до- кументов), executive, а4, comlO, monarch, с5, Ь5, dl. -V Печатает номер версии программы. -wn Устанавливает по умолчанию толщину линии в л тысячных от т-про- бела. -Fdir Устанавливает каталог dir/dex 1 j4 для нахождения шрифтов и файлов опи- сания устройств. groupadd - создает новую группу пользователей. Синтаксис groupadd [-g gid [-о]][-г][-f] group Создает новую группу по имени пате.
II. Команды 305 - удаляет группу. Опции - g gid [-о] Создает группу с уникальным идентификатором gid, если только не за- дана опция -о. По умолчанию это значение больше 499, а также боль- ше любого идентификатора существующих групп. Опция -о разрешает дубликовать GID в пределах системы. - г Добавляет системный счет и автоматически выбирает первый доступ- ный GID меньший, чем 499, если только не задана опция -g. - f Аварийно завершает команду groupadd, если добавляемая группа уже существует в системе. Команда используется только суперпользователем. Приглер 1 groupadd -g 541 monaco I groupdel Синтаксис groupdel паше Удаляет группу с именем пате. Используется только суперпользователем. Пример I groupdel misha groupdel: cannot remove user's primary group. i Удаление группы no имени misha не состоялось, так как невозможно удалить пер- вичную группу, если входящий в нее пользователь по-прежнему имеет счет в системе. groups Синтаксис groups [option]...[username]... Печатает имена основных и дополнительных групп для всех заданных в командной строке имен username или же для текущего процесса, если не указано имя пользо- вателя. Опц| —help Выводит краткую справку по команде и завершает ее выполнение. —version Выводит информацию о версии команды и завершает ее выполнение. - выводит список групп, членом которых является К указанный пользователь.
306 П Команды Пример $ groups Sofia root Sofia : Sofia root s root bin daemon sys adm disk wheel $ grpck - проверяет целостность файла групп. Синтаксис grpck I-г JI group gshadow} По умолчанию проверяет соответствие файлов /etc/group и /etc/gshadow. Хотя с помощью аргументов group и gshadow пользователь может выбрать альтернативные файлы. Проверке подлежат уникальность имен групп, корректность списков членов групп и администраторов, а также количество полей в записях. Опции -г Проводит изменения без участия пользователя: предполагается, что на все вопросы, касающиеся изменений, был получен ответ по (нет). Команда используется только суперпользователем. grpconv - оперирует обм евь Ф'-.йг^» труп Синтаксис grpconv Программа grpconv очень похожа на pwconv с той лишь разницей, что вместо фай лов паролей пользователей оперирует аналогичными файлами групп: /etc/group (глав- ный файл групп) и /etc/gshadow (файл теневых паролей групп) grpconv создает файл теневых паролей gshadow из основного файла групп (group) и существующего (необязательного) файла gshadow. grpunconv - оперирует обычными и теневыми файлами групп. СиН| аксис grpunconv Программа grpunconv очень похожа па pwunconv с той лишь разницей, что вмес- то файлов паролей пользователей оперирует аналогичными файлами групп etc/group (главный файл групп) и /etc/gshadow (файл теневых паролей групп). grpunconv создает файл групп из существующего основного файла group и из те- невого файла gshadow, а затем удаляет последний.
II. Команды 307 gs вызывает Ghostscri, t. Синтаксис gs [option][file]... Команда gs вызывает Ghostscript - интерпретатор Adobe PostScript с языком PDF (Portable Document Format - мобильный формат документа), gs считывает файлы file в указанной последовательности и выполняет их как программы Ghostscript, после чего считывает стандартный входной поток (обычно с клавиатуры), интерпретируя каждую отдельную строку. Введенная команда quit (Ctrl+D, Ctrl+C) завершает работу интер- претатора. Опции - filename argl... Берет следующий аргумент filename в качестве обычного имени фай- ла, а остальные ар.ументы (argl и т.д.), даже если им присущ синтаксис переключателей, рассматривает как массив строк и определяет имя ARGUMENTS в userdict до запуска файла. Когда Ghostscript заверша- ет выполнение этого файла, он возвращается в оболочку. -Dname=token, -dname=token Описывает имя пате в systemdict с заданным определением token. Па- раметр foken - только одна лексема без пробелов -Dname, -dname Описывает имя пате в systemdiet с нулевым значением. -Sname-string, -sname—string Описывает имя пате в systemdict, определяя в качестве его значения указанную строку string. -q Запрещает печатать обычные стартовые сообщения. -gnumberl xnumber2 Эквивалентно указанию -dDEVICEVVIDTH=»umberl и -dDEVICEHEIGHT=™mber2. Задает ширину и высоту для устройств, например размеры окон в XI1. -rnumberl xnumber2, -rnumber Эквивалентно указанию dDEVICEXRESOLUTION numberl и -dDEVICEYRESOHJTlON=num/>er2. Опция используется 1ля уст- ройств, например принтеров, поддерживающих разные разрешения по осям X и Y. Если задано только одно значение, используется одинако- вое разрешение по осям X и Y. -Idir Добавляет указанный список каталогов в начало маршрутов поиска фай- лов библиотек. Указывает Ghostscript, что стандартный ппод причет и.« файла пан по конвейеру, по не пп геракз нвно черск командную с гроку
308 II. Команды Принятые специальные имена -dDlSKFONTS Задает схему символов для шрифтов, загружая файл шрифтов. -dNOCACHE Запрещает кэширование символов. Приемлемо только для отладки. -dNOBIND Запрещает оператор bind. Приемлемо только для отладки. -dNODlSPLAY Запрещает обычную инициализацию устройства вывода. Приемлемо только цля отладки. -dNOPAUSE Отключает вывод приглашения и паузу в конце каждой страницы -dSAFER Открывает файлы только для чтения. -dWRITESYSTFMDICT Оставляет возможность перезаписи словаря systemdict. -sDEVICE=deiice Выбирает альтернативное начальное устройство вывода. -sOutpuiFile=yi/ename Выбирает альтернативный выводной файл или конвейер в качестве на- чального устройства вывода. Пример Если в вашей системе имеется такой прекрасный обра- зец в формате PostScript, то вы сумеете его вывести на эк- ран с помощью следующей команды $ gs /usr/share/ghostscrlpt/5.50/exainples/tiger.ps Страшен, но не кусается' - позволяет получить информацию об инсталли- рованной версии GTK+. gtk-config Синтаксис gik-c^nilg [—prefix[=prefix]] [—exec-prefix[=prefix] ] [—version] [—libs](--cflags] GTK+ (Gimp Tool Kit) - графический инструмент для создания графических прило- жений. GTK4 работает под X и поддерживает многочисленные языки программирова- ния, включая С, C++, Perl и др. gtk-config — сценарий, позволяющий конфигурировать и определять флаги компилятора и компоновщика для приложений, использующих GTK+. Опции —version Печатает текущую версию GTK+. --libs Печатает флаги компоновщика, необходимые для создаваемых прило- жений GTK+.
II. Команды 309 —cflags Печатает флаги компилятора, необходимые для создаваемых приложе- ний GTK+. —prefix prefix Использует альтернативный префикс вместо принятого при инсталля- ции. Если опция -exec-prefix не задана, использует prefix в качестве префикса имен исполняемых файлов. Эта опция должна быть задана до —libs или —cflags. —exec-prefix=pre/ix Использует альтернативный префикс в качестве префикса имен испол- няемых файлов. Эта опция должна быть задана до —libs или —cflags. Примеры Так может выглядеть makefile для компиляции и компоновки программы: СС=дсс LDLIBS='gtk-config —libs' CFLAGS=-Wall -д 'gtk-config —cflags' buttonwin: buttonwin.о $(CC) $(LDLIBS) buttonwin.о -о buttonwin buttonwin.о: buttonwin.c $(CC) $(CFLAGS) -c buttonwin.c clean: rm -f buttonwin rm -f *.o Обратите внимание, как gtk-config используется в makefile. Команда заключена в обратные кавычки, что вынуждает make выполнять ее и считывать строку вывода для сохранения в переменной. В этом makefile определены две переменные - LDLIBS and CFLAGS, - необходимые для компиляции и компоновки. gunzip - распаковывает архивы, ранее созданные с помощью gzip или compress. Синтаксис gunzip [-cfhlnrtvV](-S suffix][name...) Распаковывает сжатые файлы пате, имеющие расширения .gz, -gz, .z, -z. _z. -Z. Ко- манда gunzip замещает сжатые файлы их оригинальными версиями, удаляя расшире- ния из имен файлов. В настоящее время gunzip может распаковать архивы, созданные gzip, zip. compress и pack. Распознавание входного формата производится автоматически. Команда gunzip также различает специальные расширения .tgz и .taz как сокращения для соответствен- но .tar.gz и .tar.Z. Содержание опций команды gunzip см. в описании gzip.
310 II. Команды gv - просматривает в X Window документы в формате PostScript и PDF. Синтаксис gv [filename][-monochrome][-grayscale][-color](-[no]safer][~[no]quiet] [-arguments arguments][-page label] [-[no]center][-media media] [-portrait][-landscape][-upsidedo-n][-seascape][-scale n] [-scalebase n] [-swap] [-noswap] [-antialias] [-noantialias] [-dsc] [-nodsc] [-eof] [-noeof ] [-pixmap] [-nopixmap] [-watch] [-nowatch] [-?] [-h] [-help] [-v][-resize][-noresize][-geometry [width][xbeight] [ {+-}xoffset[+-}yoffsetj [ -ad resource_file] [ -style resource_file] [-spartan][otber_ toolki t_options] Просматривает файлы по имени filename. Просматривает даже сжатые файлы (gzip, zip, compress). Для просмотра PDF файлов требуется версия Ghostscript не ниже 4.x. Опции -ad resource Jile Считывает и использует дополнительные ресурсы из указанного файла Эти ресурсы имеют более высокий приоритет, чем предлагаемые опци- ей -style. -antialias, -noantialias Не использует либо использует псевдонимы. -arguments arguments Запускает Ghostscript с дополнительными опциями, задаваемыми стро- кой arguments. -center, -nocenter Устанавливает либо нет автоматическое центрирование страниц. -dsc, -nodsc Анализирует либо нет структуру документа в соответствии с существу- ющими соглашениями по структуре. - eof, -noeof Учитывает или нет EOF в конце документа. -geometry [width][xheight][ {+-}sofiset{+-]yofiset] Устанавливает предпочтительный размер и расположение изображения. - v Выводит информацию о версии программы и завершает ее. - h, -? Выводит краткую справку и завершает программу. - help Выводит более подробную справку и завершает программу. -scale и Выбирает коэффициент масштабирования относительно 1.0 Параметр п должен быть целым числом. -scalebase п Выбирает основу масштабирования; параметр п всегда целое положи тельное число.
II. Команды 3 1 1 -monochrome, -grayscale, -color Устанавливает используемую цветовую палитру: -monochrome монохромное изображение -grayscale изображение в градациях серого -color цветное изображение -media media Выбирает размер используемой бумаги. -page label Выводит в начале страницы заданную метку label. -pixmap, -nopixmap Пытается поддерживать заэкранные области отображаемой страницы в случае большого цветного растрового изображения. Если использует- ся опция -nopixmap, Х-сервер пытается поддерживать затененные час- ти отображаемой страницы. -portrait, -landscape, -seascape, -upsidedown Устанавливает ориентацию: -portrait портретная -landscape альбомная -seascape морской пейзаж -upsidedown перевернутая портретная -quiet, -noquiet Стартует gv в режиме вывода либо минимальных сообщений, либо по- дробных. -resize, -noresize Автоматически подстраивает или нет размер своего окна к размеру ото- бражаемой страницы. -safer, -nosafer Открывает либо нет файлы только для чтения. -spartan Отображает в стиле gvspartan. -style resource_file Считывает и использует дополнительные ресурсы из указанного файла. -swap, -noswap Меняет либо нет значения ориентации landscape и seascape. -watch, -nowatch Устанавливает или нет периодическую проверку документа с целью на- хождения более новой версии документа. gzexe - упаковывает исполняемые файлы. Синтаксис gzexe (-d][паше...] Утилита gzexe позволяет запаковать исполняемые файлы пате н затем автомати- чески распаковать, если пользователь запустит их „а выполнение. Очень •экономит тис- ковое пространство.
312 II Команды Опции -d Вместо сжатия распаковывает заданный исполняемый файл. gzip - сжимает файлы. Синтаксис gzip (-acdfhlbnWrtvVlS][-S suffix][file ...] Упаковывает перечисленные файлы пате и существенно уменьшает их размер, ис- пользуя кодирование по методу Лемпел-Зив (Lempel-Ziv). При выполнении упаковки каждый файл замещается сжатой версией с таким же именем, как у оригинального, к которому добавляется расширение ,gz; сохраняются владелец, группа, полномочия, а также временные метки оригинала. Если имена файлов не указаны или вместо имени стоит дефис, содержимое стандартного ввода упаковывается и пересылается на стан- дартный вывод. Команда gzip только сжимает обычные файлы, игнорируя символи- ческие ссылки. -f, —force -h, —help -1, —list Опции -a, —ascii Устанавливает текстовый режим и конвертирует концы строк в соот- ветствии с локальными договоренностями. -с, --stdout, — to-stdout Направляет результат обработки на стандартный вывод, сохраняя ори- гинальные файлы неизменными. - d, —decompress, —uncompress Выполняет распаковку архивов, действует подобно gunzip. Перезаписывает выходной файл и сжимает ссылки. Выводит краткий список опций. Выводит для каждого упакованного файла ряд полей: размер упакован- ного и оригинального файлов, коэффициент сжатия и т.д. Выводит принятую для программы gzip лицензию и завершает ее. При упаковке не сохраняет оригинальные имена и временные метки. Сохраняет оригинальное имя и временную метку. Подавляет печать любых предупреждений. Рекурсивно выполняет упаковку файлов во всех каталогах -t, —test -v, —verbose -V, —version -1, —fast -L, —license -n, —no-name -N, --name -q, —quiet -r, --recursive - S .suf, —suffix .suf Использует указанный суффикс вместо .gz. Проверяет целостность сжатых файлов Отображает в процессе обработки имена и процент сжатия. Выводит информацию о версии программы и завершает ее Указывает метод быстрого сжатия (минимальное сжатие).
II. Команды 313 - 9, —best Указывает наиболее медленный метод сжатия (наилучшее сжатие) По умолчанию принят уровень сжатия, равный -6 (разумный компромисс между уровнем сжатия и скоростью). Пример Имеет смысл конкатенировать упакованные файлы: $ gzip -с nnn>archl.gz $ gzip -с prim68>>archl.gz $ В дальнейшем с помощью gunzip их можно легко распаковать буквально за одно обращение к архиву. halt - останавливает систему. Синтаксис halt I-n][-w][-d][-f][-i][-p] Программа halt делает соответствующую отметку в файле /var/Iog/wtmp и затем предлагает ядру выполнить останов. Если команда halt вызвана, когда система не нахо- дится на уровне выполнения 0 или 6, вместо упомянутой команды будет вызвана shutdown с флагом -h или -г. Опции -п Не выполняет sync перед остановом. -W Фактически не выполняет останов, а лишь делает запись об этом в /var/Iog/wtmp. -d Ничего не записывает в файл /var/Iog/wtmp. -f Заставляет выполнять halt, а не shutdown. -i До останова системы завершает работу всех сетевых интерфейсов. -Р Выполнив останов системы, отключает питание. Данная команда является привилегией суперпользователя. head - выводит начало файла. К Синтаксис head [option]... [file]... head -number [option]...[file]... Распечатывает начало (по умолчанию первые десять строк) каждого файла. Если имена файлов не заданы или вместо имени файла стоит дефис, считывает стандартный ввод.
314 II Командь Если в командной строке укатано несколько файлов, перед распечаткой каждого из них выводит однострочный заголовок, содержащий имя файла. Команда head поддерживает два формата опций: новый, в котором число является параметром опции, и старый, в котором число предшествует любой символьной опции Опции -number Эта опция распознается, если только она указана в командной строке пер- вой. Параметр number- десятичное число, за которым может следовать (необязательно) буква. Параметр number обозначает размер, в то время как следующая за ним однобуквенная опция - единицы измерения. -с bytes, —bytes=byzex Вместо принятых по умолчанию начальных строк печатает содержи- мое указанного числа байт. Добавив к указанному количеству соответ- ствующую букву, можно производить распечатку в блоках: Ь 512 байт к 1024 байт m 1048576 байт -п п, — lines=n Выводит первые п строк. -q, —quiet, —silent Не печатает заголовков содержащих имена файлов -V, —verbose Обязательно печатает заголовки, содержащие имена файлов. Пример Вызывает по две строки каждого файла: $ head -n2 prim8* ==> prim80 <== kb mode was XLATE ==> prim81 <== kb mode was RAW [ if you are trying this under X, it might not work ==> primS2 <== kb mode was RAW [ if you are trying this under X, it might not work ==> primS3 <== kb mode was RAW [ if you are trying this under X, it might not work ==> primS4 <== Typematic Rate set to 10,9 cps (delay = 250 ms) ==> primS5 <== int variable; /*... */ ==> primB6 <== !_TAG_FILE_FORMAT 2 /extended format; —format=l will not append to lines/ I_TAGFILE SORTED 1 /0=unsorted, l=sorted/
II Команды 315 ая> prim87 <с=» prim85,18 ==> prim88 ° I ==> prim89 <== history - манипулирует протоколом команд. Синтаксис history [л] history -с history -d offset history -anrw [filename] history -p arg [arg—] history —s arg [arg...] В первом формате отображает п строк файла history (истории), или протокола ко- манд, с номерами строк. Аргумент filename указывает имя файла, содержащего все введенные вами команды. Если filename отсутствует, извлекает имя файла-протокола из переменной окружения HISTFILE. Опции -а Добавляет новые строки к протоколу команд. Эти строки обычно вво- дятся до начала текущего сеанса bash. -с Удаляет все элементы, очищая список history. -d offset Удаляет элемент протокола, указываемый смещением offset. -n Считывает еще не прочитанные строки в текущий список протокола ко- манд. Эти строки добавляются к протоколу команд до начала текущего сеанса bash. -р arg [arg ...] Выполняет замещение в протоколе по следующему аргументу arg (каж- -Г дый аргумент необходимо заключить в кавычки) и выводит результат на стандартный вывод. Считывает содержимое файла протокола команд и использует его как текущий протокол. -s arg [arg ...] Хранит перечисленные аргументы в протоколе команд как один элемент. Последняя команда в протоколе удаляется перед добавлением аргумен- тов.
316 II Команды Записывает текущий протокол в стационарный протокол команд, пере кривая содержимое последнего. Можно назначить количество сохраняемых команд в файле history. Если вы доба- вите в ваш файл .login строку set history=I50, то, когда бы вы ни зарегистрировались, в протоколе команд будет фиксироваться до 150 командных строк. Пример $ history 6 gitunpack git /misha/prim43.Z 7 GITHAN GITUNPACK 8 man gitunpack 9 umount /mnt/fdO 10 man gitunpack 319 rmdir —help 320 info rm 321 man rm 322 rmdir /rab/person 323 rmdir ./rab/person 324 man yes 325 expect --help 326 expect -h $ Чтобы повторить, например, команду за номером 320, достаточно ввести 1320. host - вызодгт информацию о заданном узле Internet, ис- пользуя DNE Синтаксис host [-1][-v][-W][-г][-d][-t querytype][-a]host]server] Отображает информацию об указанном сетевом узле host, где аргумент host может представлять из себя имя или IP-адрес узла. Имя узла состоит из имен, разделенных точками; IP-адрес также задается в десятично-точечной нотации. Если имя указанного узла не оканчивается на точку, к нему будет автоматически добавлено имя локального домена. При поиске используется DNS (Domain Name System - система имен доменов). Информация приходит от взаимосвязанных серверов, разбросанных по стране (стра- нам). По умолчанию команда host просто взаимно конвертирует имена в IP-адрееа. Второй аргумент командной строки — serve. - не является обязательным. Он позволя- ет направить запрос к указанному серверу server. Если тот аргумент отсутствует ис- пользуется назначенный по умолчанию сервер имен доменов. Задав в командной строке краткое имя сетевого узла Internet, можно получить его полное доменное имя, IP-адрес (иногда несколько адресов по числу сетевых интер- фейсов) и информацию о том, как доставляется элскт ровная почта для пого ) зла
II. Команды 317 Основные опции - w Приказывает постоянно ждать ответа. ОЬычно по истечении одной ми- нуты устанавливается тайм-аут. - v Использует подробный формат вывода - официальный формат мастер- файла домена (см. named). - г Отключает режим рекурсии, т.е. сервер имен возвращает информацию только из собственной БД, не опрашивая других DNS-серверов. - d Включает режим отладки, подробно информируя о сетевых транзакци- ях. - t querytype Разрешает указать тип просматриваемой информации. В настоящее вре- мя поддерживаются следующие типы (см. named): a, ns, md, mf, cname, soa, mb, mg, mr, null, wks, ptr hinfo, minfo, mx, uinfo, uid, gid, unspec, any (для всех типов), * (синоним any). Упомянутые типы долж- ны набираться на нижнем pei истре. По умолчанию принимаются а и mx. - а Эквивалентна -v -t any. - 1 Выводит полный список сетевых узлов домена - с class Задает тип адреса, указанный в записи. Для IP-адресов этот параметр равен IN, для MIT Athena Hesiod - HS и т.д. (см. nslookup). Пример % host shv shv.dqarmstadt.de is a nickname for SHAVA.DQARMSTADT.DE SEAVA.DQARMSTADT.DE has address 152.2.22.80 SHAVA.DQARMSTADT.DE mail is handled by RS10.DQARMSTADT.DE % В первой строке сообщается, что shv.dqarmstadt.de - сокращение, и что офици- альное имя узла - SHAVA.DQARMSTADT.DE. Далее обычно следуют строки, отобра- жающие адреса. Для систем с несколькими сетевыми интерфейсами существует не- сколько адресов. Последняя строка содержит информацию об электронной почте, уве- домляя, что почта приходит на RS10.DQARMSTADT.DE. hostname - отображает информацию об имени текущего узла или устанавливает новые. Синтаксис hostname [-v] {2iostnaine|-F file} hostname [-v] [-d|-f|-s|-a|-i|-y|-n] hostname [-v] hostname -V|—version|-h|—help Заданная без аргументов, hostname просто отображает имя текущего \ зла сети, для отображения форматированного имени применяется третий формат команды.
318 II Команды Суперпользователь может использовать эту команду (первый формат) для уста- новления нового имени узла hostname. Новое имя может быть назначено на основе таблицы имен узлов, по умолчанию хранящейся в файле /etc/iiosts. Опции - V, —version Выводит информацию о версии программы и завершает ее. - v Задает подробный формат вывода, сообщающий об используемых си- стемных вызовах. - h, —help Выводит справочную информацию и завершает программу. - s, —short Отображает короткое имя узла. - a, —alias Отображает существующие псевдонимы. - i, —ip-address Отображает- IP-адрес узла. - f, —fqdn, long Отображает длинное имя узла, или FQDN (Fully Qualified Domain Name - полное правомочное доменное имя). - d, —domain Отображает доменное имя системы DNS. - у, —ур, nis Отображает доменное имя системы NIS/YP. - F file Устанавливает новое имя на основе таблицы узлов, хранящейся в ука- занном файле file. Пример t hostname diasoft f httpd Синтаксис httpd [-X](-R libexeedir][-d serverroot][-f config][-C directive] |-c directi vej [ -D parameter) httpd [-hl[-lJ[-Ll(-v](-V][-S][-t][-T] Ha WEB-серверс Apache поддерживается протокол HTTP (Hyper Text Transfer Protocol - протокол передачи гипертекста). Apache может работать в качестве демо- на, т.е. быть постоянно запущенным автономным процессом. При этом он создает на- бор дочерних процессов для обслуживания запросов. Чтобы их остановить, следует направить родительскому процессу сигнал TERM. И в качестве альтернативы httpd может быть вызван Internet-демоном inetd всякий раз, когда выполняется подключе- ние к службе HTTP. Опции командной строки - R libexeedir Эта опция доступна лишь в том случае, если Apache создавался на ос- нове правила SHARED CORE, которое встраивает код WFB-cepaepa в файл DSO (Dynamic Shared Object динамического разделяемого - запускает WEB-сервер Apache.
II. Команды 319 объекта). По умолчанию этот файл отыскивается по четко заданному маршруту под директивой ServerRoot. Если вы хотите это поменять, используйте опцию -R. - d serverroot Устанавливает исходное значение для директивы ServerRoot в serverroot, что может быть перекрыто командой ServerRoot в файле конфигурации. - f config На старте выполняет команды из файла config. Если значение config не начинается со слэша, тогда берется маршрут относительно ServerRoot. По умолчанию таковым файлом является conf/httpd.conf - С directive До чтения файлов конфигурации выполняет указанную директиву. - с directive Выполняет указанную директиву после чтения файлов конфигурации. - D parameter Устанавливает указанный параметр конфигурации, который может быть использован с секциями <IfDefine>...</IfDefme> конфигурационных файлов, чтобы пропустить по условию или выполнить команды. - h Выводит краткую справку о доступных опциях командной строки. - 1 Выводит список модулей, включенных при компиляции в код Apache. - L Выводит список директив совместно с ожидаемыми аргументами, раз- мещая их в том месте, где проверяется директива. - S Отображает установки файла конфигурации, прошедшие синтаксичес- кий анализ. В настоящее время лишь отображает установки виртуаль- ного узла. - t Запускает синтаксические тесты лишь для файлов конфигурации. Пос- ле проведения тестов программа тотчас же завершается либо с кодом О, если ошибки не обнаружены (Syntax ОК), либо в противном случае с кодом, отличным от 0 (Syntax Error). - Т То же, что и опция -t, но не проверяет файлы конфигурации. - X Выполняет запуск в режиме одного процесса, что полезно лишь для отладки и не пригодно для реального Web-сервера. - v Выводит информацию о версии и завершает программу. - V Выводит информацию о версии, строит параметры httpd и затем завер- шает его. hwclock - запрашивает и устанавливает аппаратные часы ЭВМ. Синтаксис hwclock -г|—show hwclock -w|—systohc hwclock —s|—hctosys hwclock -a|—adjust
320 II Команды hwclock -v|—version hwclock —set —date=newdate hwclock —getepoch hwclock —setepoch —epoch-year Вы можете вывести текущее время, установить показания аппаратных часов на ука- занное время или на системное, а также установить системное время от аппаратных часов. В Linux существуют две главные разновидности часов. Аппаратные часы работают независимо от любой управляющей программы, запущенной в ЦП и даже когда ком- пьютер выключен. Эти часы также называют RTC, часы BIOS, или часы CMOS. Сис- темные часы - это часы внутри ядра Linux, управляемые по прерыванию таймера. Сис- темное время - это количество секунд, прошедшее от 00:00:00 часов, 1 января, 1970 (UTC). Ему присуща фактически бесконечная точность. Команда hwclock устанавливает значение часового пояса в ядре в значение, опре- деляемое переменной окружения TZ и каталогом /usr/Iocal/timezone, если вы назна- чаете системное время, используя опцию —hctosys. Опции —show Считывает показания аппаратных часов и выводит локальное время на стандартный вывод. —set Устанавливает аппаратные часы в значение, указываемое опцией —date. —hctosys Устанавливает системное время от аппаратных часов и часовой пояс в ядре в значение локального часового пояса, как определено TZ и /usr/lib/zoneinfo. —systohc Устанавливает показания аппаратных часов на текущее системное вре- мя. —adjust Подстраивает показания, систематически добавляя или вычитая время аппаратных часов. —getepoch Печатает эпохальное значение аппаратных часов ядра (число полных лет, с которого начинается отсчет). —setepoch Устанавливает эпохальное значение аппаратных часов ядра в значение, указываемое опцией —epoch. —version Печатает информацию о вереи программы. —date=date string Указывает значение времени как date string (см. date) и устанавливает показания аппаратных часов в это значение. — epoch=year Рассматривает аргументyear как начало эпохи для аппаратных часов. — utc, —localtime Сохраняет показания аппаратных часов соответственно в формате ЦТС или локального времени. —badyear Информирует, что аппаратные часы нс в состоянии сохранять ГОДА в диапозоне 1994-1999 (почти все компьютеры с Award BIOS, выпущен-
II. Команды 321 ные между 4/94 и 5/95). Чтобы компенсировать этот недостаток бет обновлений BIOS, всегда используйте -badycar. В этом случае hwclock пытается определить год, основываясь на последней откалиброванной дате в файле adjtimc. Вам рекомендуется выполнять hwclock —set или hwclock — systolic по меньшей мере раз в году. Примеры id и root@sofia /root _ в х File Edit Settings Help (root@soFia /root]# date Sun Dec 16 14:33:52 EET 2001 [rootBsoFia /root]# hwclock -r Sun Dec 16 14:34:09 2001 0,894156 seconds [rootBsoFia /root]# hwclock —systohe [rootBsoFia /root]# date Sun Dec 16 14:35:20 EET 2001 [rootQsoFia /root]# | A / - печатает подлинные и действующие UID и GID. К Синтаксис id [option}...[username] Команда id выводит информацию об указанном пользователе username или теку- щем пользователе, запустившем эту команду, если имя пользователя не задано. По умолчанию печатает подлинные идентификаторы пользователей (UID) и групп (GID), действующие идентификаторы пользователей и групп, если они отличаются от подлинных, идентификаторы дополнительных групп. Опции - g, —group Печатает только идентификатор группы. - G, —groups Информирует только о дополнительных группах. - n, —name Вместо идентификаторов печатает имена пользователей и групп. Ис- пользуется совместно с опциями -u, -g или -G - г, —real Вместо действующих печатает подлинные идентификаторы пользова- телей и групп. Используется совместно с опциями -u. -g, или -G. - u, —user Печатает только идентификатор пользователя Пример $ id uid=500(Sofia) gid=500(sofia) groups=500(sofia) $
322 II Команды ident - иментк>4>ицирует в файлах ключевые строки RCS Синтаксис ->.ЯНН- -1 ident [-q](-V][file ] Команда ident отыскивает все образцы, соответствующие шаблону $keyword:text $ в поименованных файлах file или, если имена файлов не указаны, в содержимом стан- дартного ввода. Эти шаблоны обычно включаются автоматически командой со системы RCS, но могут также быть включены вручную. Опции -q Запрещает вывод сообщений, если в файлах не обнару жено шаблонов. -V Распечатывает версию ident. Команда ident помимо текстовых работает с объектными файлами т. дампами. Она находит все образцы типа Skeyword.text $, даже если ключевое слово keyword не под- держивается в RCS, а также выводит информацию по всем нестандартным ключевым словам. Ниже приведен список ключевых слов, в настоящее время поддерживаемых со. Вре- мя по умолчанию задается в формате UTC (иногда называемом GMT), но если файлы вы- бираются с помощью'опции -zzone, применяется числовая индексация часового пояса. Клю«-- ние сло.1 SAutorS имя пользователя, регистрирующего версию SDateS дата и время регистрации версии SHeaderS стандартный заголовок, содержащий полный маршрут к RCS-файлу, но- мер версии, дату и время, автора, состояние и индикатор блокирования (кто произвел блокировку) SIdS то же, что и SHeaderS, но используется базовое имя RCS файла (без маршрута) SLockerS имя зарегистрировавшегося пользователя осуществившего блокиро- вание версии; это ключевое слово может быть пустым, если версия не блокировалась SLogS сообщение, заполняемое во время регистрации; цпя целей, преследуе- мых ident, эквивалентно SRCSfileS SNameS символическое имя, используемое для записи версии, если таковое за- дано SRCSfileS собственно базовое имя RCS-файла без маршрута SRevisionS назначенный для проверки номер версии SSourceS полный маршрут к RCS-файлу
II. Команды 323 \044 \\ - ~ .исиеает характеристики и формат изображений. $State$ анализируемое состояние, назначенное с помощью опции -s команды res или ci Следующие управляющие последовательности можно встретить в значениях клю- чевых слов: сим вол табуляции \t символ новой строки \п пробел \040 $ \ identify Синтаксис identify [options...] file [file...] Команда identify также информирует о неполном нли поврежденном файле с изоб- ражением. Опции -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное ви- деокэшу. -format string Выводит характеристики изображения в выбранном вами формате, где string принимает такие значения: %Ь размер файла %d каталог %е расширение имени файла %f имя файла %h высота %1 входное имя файла %1 метка %т тип файла %п число сцен %о выходное имя файла %р номер страницы %q квантовая глубина %s номер сцены %1 вершина (верхний уровень) имени файла %ц уникальное имя временного файла %w ширина %х разрешение вдоль оси х %у разрешение вдоль оси у
324 II Команды \п новая строка \г возврат каретки -ping Эффективно определяет характеристики изображения. -size wiMrxheight+offset Указывает ширину и высоту низкоуровневых изображений (GRAY, RGB или CMYK) и позволяет с помощью смещения offset пропустить лю- бую информацию из заголовка изображения или сообщить количество цветов в таблице отображения. Для фото-образов CD можно выбирать из таких размеров: 384x256 768x512 1536x1024 3072x2048 И. наконец, с помощью этой опци" можно указать уровень специфи- ческого разрешения изображения формата JBIG или JPEG. -verbose Печатает подробную информацию об изображении: имя и класс изоб- ражения, общее количество уникальных цветов, размер, формат и т.п. Пример $ identify sancha.xpm figOl.png sancha.xpm 24x24 DirectClass 834b XPM -O.Ou 0:00 fig01.png[l] 640x480 PseudoClass 88c 27kb PNG 0.4u 0:01 $ ifconfig Синтаксис ifconfig [interface] ifconfig interface [aftype] options]address... Программа ifconfig используется для конфигурирования резидентных сетевых ин- терфейсов, Она применяется во время загрузки для установки необходимых интерфей- сов, а позже обычно нужна для отладки. Если в командной строке не указаны никакие аргументы, отображает состояние те- кущих активных сетевых интерфейсов. Если определен единственный аргумент interface, информирует лишь о состоянии этого интерфейса. Если указан единствен- ный аргумент -а, отображает статус всех интерфейсов. В противном случае конфигу- рирует интерфейс. Если первый аргумент, идущий после имени интерфейса, распознается в качестве одного из имен поддерживаемого семейства адресов, то он используется для декоди- рования и отображения всех адресов протоколов. В настоящее время допустимы сле- дующие значения аргумента aftype’. - кон фи гур и, ует сетевой интерфейс.
II. Команды 325 inet TCP/IP (по умолчанию) inet6 IPv6 ах25 сеть пакетного радио АХ.25 ddp Appletalk Phase 2 ipx Novell IPX netrom cm. ax25. В качестве значения аргумента interface обычно используется имя драйвера, за ко- торым следует собственно номер устройства (ethO для первого устройства Ethemet- интерфейса). Аргумент address устанавливает IP-адрес интерфейса. Опции up Активизирует интерфейс. Для установки этого флага достаточно назна- чить адрес интерфейса. down Закрывает интерфейс. Harp Включает или отключает на этом интерфейсе использование протокола ARP, определяющего адрес Ethernet, соответствующий данному 1Р-ад- ресу. [-Jpromisc Включает или отключает для этого интерфейса режим promiscuous, определяющий получение всех пакетов сети. [-Jallmulti Включает или отключает для этого интерфейса режим all-multicast, определяющий получение всех групп пакетов сети, а не только адресо- ванных данному интерфейсу. metric N Устанавливает метрику интерфейса в значениеА("цена" отправки паке- та по интерфейсу). mtuA Устанавливает для интерфейса MTU (Maximum Transfer Unit - макси- мальный передаваемый блок). netmask addr Устанавливает для этого IP-интерфейса сетевую маску. По умолчанию ее значение определяется как обычная сетевая маска для сетей класса А, В или С на основании IP-адреса. add addr/prefixlen Добавляет для интерфейса адрес в соответствии с протоколом IPv6 (рас- ширенный адрес). del addr/prefixlen Удаляет адрес интерфейса на основе IPv6. tunnel aa.bb.cc.dd Создает новое устройство-туннель (IPv6-in-IPv4) для заданного дис- танционного узла. irq addr Устанавливает канал прерывания, используемый устройством, хотя не все устройства могут динамически менять свои IRQ-установки. io addr addr Устанавливает для устройства базовый адрес ввода/вывода.
326 II Команды mem start addr Устанавливает начальный адрес разделяемой памяти, исполыуемои устройством, хотя немногие устройства нуждаются в этом. media type Устанавливает физический порт или тип носителя, используемый уст- ройством. Не все устройства могут менять эту установку. Ниже приве- дены допустимые значения параметра type: 10base2 тонкий Ethernet lObaseT Ethernet на витой паре, скорость передачи информации 10Mbps (10 Мбит/сек) AUI внешний трансивер auto предлагает драйверу выполнить автоматическое определе- ние носителя, что доступно далеко не каждому драйверу. [-(broadcast [addr] Если задан addr, устанавливает широковещательный адрес для прото- кола этого интерфейса. В противном случае устанавливает (или очища- ет) для этого интерфейса флаг IFFBROADCAST. [-[pointopoint [addr] Устанавливает для интерфейса режим point-to-point (точка-точка): пря- мая связь между двумя машинами и больше никто не прослушивает ее. Значение addr, если задано, указывает адрес машины с другой сторо- ны. В противном случае устанавливает или очищает для интерфейса флаг 1FFPOINTOPOINT. hw class address Устанавливает аппаратный адрес интерфейса, если подобная операция поддерживается драйвером устройства. За ключевым словом hw дол- жны следовать имя класса устройства и его адрес в виде распечатыва- емых символов ASCII. Поддерживаются следующие классы устройств ether Ethernet ах25 AMPR АХ.25 ARCnet netrom AMPRNET7ROM multicast Устанавливает для интерфейса флаг multicast (групповой), что обычно не требуется, так как сами драйверы способны выполнить корректную установку. txqueuelen length Устанавливает размер очереди устройства; для более медленных уст- ройств выбираются значения поменьше. Пример Команда ifeonfig применяется для проверки подключения: f ifeonfig etho Link encap:Ethernet HWaddr 01:75:9C:7E:45:20 inet addr:192.197.5.200 Beast:192.197.5.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:2000 Metric:!
II. Команды 327 RX packets:4217 errors:0 dropped:0 overruns:0 frame:О TX packets:2217 errors:0 dropped:0 overruns:0 carrier:О collisions:0 txqueuelen:100 Interrupt:5 Base address:0x220 10 Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 DP LOOPBACK RUNNING MTU:2500 Metric:1 RX packets:25 errors:0 dropped:0 overruns:0 frame:0 TX packets:50 errors:0 dropped:0 overruns:0 carrier:0 pppO Link encap:Point-to-Point Protocol inet addr:209.106.26.118 P-t-P;209.106.26.100 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1200 Metric:1 RX packets:112 errors:2 dropped:0 overruns:0 frame:2 TX packets:127 errors:0 dropped:0 overruns:© carrier:© collisions:© txqueuelen:6 ♦ - интерфейс препроцессора С к утилите make. -Ddefine Idir -Ddefine -T template -f filename -C filename imake Синтаксис imake [-Ddefine] [-Idir] [-VdefineJ] ]-Ttemplate] [-f filename] [-C filename] [-s filename][-e][-V] Программа imake применяется для создания Makefiles (см. make) по заданному образцу: набору макроопределений препроцессора и входному файлу, называемому Imakefile (по одному на каталог). Это позволяет при хранении различных элементов, используемых для построения, держать отдельно машинно-зависимые компоненты: опции компилятора, альтернативные имена команд и специальные правила make. Опции Устанавливает переменные окружения, описывающие каталоги, пере- дается непосредственно срр. Например, X Window использует эту оп- цию для установки значения TOPDIR в имя каталога, содержащего де- рево дистрибутива, и CURDIR - в имя текущего каталога относительно вершины. Задает каталог dir, в котором могут находиться образец для imake и файлы конфигурации; передается непосредственно срр. Снимает установки переменных при отладке файлов конфигурации imake; передается непосредственно срр. Указывает имя главного файла с образцом для imake, который обычно располагается в каталоге, определяемом опцией -I. По умолчанию при- нят файл Imakc.tmpl. Указывает имя входного файла, одного на каждый каталог. По умолча- нию принято имя Imakefile. Указывает имя файла с расширением ,с, который создастся в текущем каталоге. По умолчанию Imakcfilc.c.
328 II. Команды - s filename Указывает имя файла с правилами для make. Ьсли вместо имени стоит дефис, записывает содержимое файла на стандартный вывод. По умол- чанию создается, но не исполняется файл Makefile. - е Опция предполагает, что imake исполнит созданный Makefile. По умол- чанию решение принимает пользователе. - v Выводит командную строку, передаваемую ерр для генерации Makefile. Программа imake вызывает ерр лиоо с флагом -I, либо -D, передавая имя файла, содержащего три следующие строки ♦define IMAKE_TEMPLATE "Imake.tmpl" ♦define INCLUDE- IMAKEFILE cimakefile > ♦define IMAKE—TEMPLATE Следует напомнить, что Imake.tmpl и {makefile могут быть перекрыты соответ- ственно опциями -Т и -f. Файлы конфигурации imake содержат переменные двух типов собственно пере- менные imake и переменные make. После запуска imake ее переменные интерпрети- руются ерр, переменные make записываются в Makefile для последующей интерпре- тации программой make. import - выполняет захват изображений экранов Х-серверг Синтаксис import [options___J file Команда import считывает изображение с любого видимого окна Х-сервера и по- мещает его в указанный файл. Можно выполнить захват единственного окна, всего экра- на или любой прямоугольной области на экране. Целевое окно может быть указано по идентификатору, имени или может быть вы- брано с помощью указателя мыши. Щелкните указателем мыши в требуемом окне, если вы нажмете кнопку и начнете выполнять перетаскивание, формируемый прямо- угольник будет расширяться. Стоит освободить кнопку - и часть экрана, окаймленная прямоугольником, будет сохранена в файле. В начале захвата звонок клавиатуры про- звучит один раз, а в конце - дважды. Опции -bordercolor color Указывает цвет рамки. -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное Ьн- деокэшу. Пока не будет задействовано 80 Мбайт памяти, пикселы изоб- ражения хранятся в памяти. Последующие операции с пикселами пере- носятся на диск. Если ваш компьютер не имеет достаточного количе- ства оперативной памяти, вы, возможно, захотите подстроить это зна- чение.
II. Команды 329 -colors value Задает предполагаемое количество цветов для изображения (опция ог- раничения числа цветов). Опции -dither, -colorspace затрагивают алго- ритм ограничения числа цветов. -colorspace type Устанавливает альтернативный тип цветового заполнения. На выбор пре- доставляются следующие типы: GRAY, ОНТА, RGB, Transparent, XYZ, YCbCr, YIQ, YPbPr, YUV или CMYK. По умолчанию ограничение цвет- ности имеет место в цветовом заполнении RGB. Эта опция требует оп- цию -colors или опцию -monochrome. -comment string Назначает для изображения указанную строку комментария. -crop widthxheight{+-}x_offset{+-]y offset{%} Устанавливает предпочтительный размер и расположение усеченного изображения, используя геометрическую спецификацию (см. X). Вы можете указать ширину или высоту в процентах, добавив %. -debug Разрешает вывод отладочной информации. -delay value Выводит после паузы следующее изображение. Аргумент value - это число сотых долей (1/100) секунды. Максимальная задержка достига- ет 65535. -density widthxheight Задает горизонтальное и вертикальное разрешение в пикселах. Эта оп- ция указывает разрешение изображения, когда выполняется дешифри- рование страницы PostScript или переносимого документа. По умолча- нию принято значение, составляющее 72 точки на дюйм в горизонталь- ном и вертикальном направлениях. Эта опция должна согласоваться с опцией -page. -depth value Задает количество битов (8 или 16) в цветном образце в пределах пик- села. Эта опция применяется для низкоуровневых изображений, глуби- на цветности которых неизвестна, а именно: для GRAY (изображения в градациях серого), RGB или CMYK. -descend Достигает изображения, спускаясь по иерархии окон. -display host:display[.screen] Указывает Х-сервер для контакта (см. X). -dispose method Определяет метод диспозиции (расположения) для GIF-формата: 0 расположение не указано 1 не располагает между кадрами 2 перекрывает кадр фоновым цветом из заголовка 3 перекрывает предшествующим кадром -dither Использует диффузию (рассеивание) ошибки по Флойду/Штейносргу (Floyd/Steinberg), улучшающую изображения, которые страдают or сжатия палитры. Эта опция требует опцию -colors пли -monochrome
330 II Команд! - Базовая стратегия рассеивания состоит в том, чтобы создать простраи ственное разрешение путем усреднения интенсивностей нескольких соседних пикселов. -encoding type Указывает шифрование (кодирование) шрифта. Выбор производится из AdobeCustom, AdobeExpert, AdobeStandard, AppleRoman, BIG5, GB2312, Latin 2, None, SJIScode, Symbol, Unicode, Wansung. -endian type Задает окончания (MSB или LSB, см. приложение VI) в выводимом изоб- ражении. -frame Включает кадр с окном X в импортируемое изображение -geometry width*height{+-}xjyffset{+-}y_offset{%} {@} {!}{<} {>} Устанавливает предпочтительный размер и расположение окна изобра- жения. По умолчанию во время изменения размера пытается сохранять формат изображения (соотношение ширины и высоты). Чтобы выну- дить изображение принять некий определенный размер, добавьте в кон- це восклицательный знак. Вы можете указать процент ширины (или вы- соты), добавив %, и изменить размеры с помощью о. Символ > меня- ет размер изображения только в том случае, если его ширина или высо- та превышает геометрическую спецификацию. Символ < меняет раз- мер изображения только в том случае, если его ширина и высота мень- ше, чем геометрическая спецификация. Символ @ указывает макси- мальную область изображения в пикселах. Указывает тип чередования (поочередного сканирования линий) для низкоуровневых форматов изображений (RGB или YUV): None Line Plane Partition interlace type (RGBRGBRGBRGBRGBRGB...) по умолчанию (RRR...GGG...BBB...RRR...GGG.. BBB...) (RRRRRR.. .GGGGGG.. .BBBBBB...) как Plane, но разные битовые плоскости (матрицы, обра- зованные совокупностью одноименных битов всех пик- селов) сохраняются в разных файлах: image.R, image.G, image.B Назначает изображению указанную метку. Трансформирует данное изображение в монохромное (черный и белый цвета). Замещает каждый цвет его дополнительным, или аддитивным, цветом. Для любого цвета имеется противоположный цвет, от смешения с ко- торым может получиться белый. Белый цвет станет черным, желтый - голубым и т.д. -page vMthxheight{+-}x_offset{+-}y offset{%} {!}{<} {>} Устанавливает предпочтительный размер и расположение канвы изоб- ражения. Опция -page похожа на -geometry. -pause seconds Устанавливает паузу в секундах между моментальными копиями игра- на. -label name -monochrome -negate
II. Команды 331 ping Эффективно определяет характеристики изображения. -pointsize value Указывает размер шрифта Postscript (в пунктах, вернее, в десятых до- лях типографского пункта, значение 80 обозначает, что размер шрифта равен 8 пунктам). -quality value Устанавливает уровень сжатия для изображений формата JPEG/MIFF/ PNG. Для форматов JPEG и MPEG значение value меняется от 0 (наи- высшее сжатие) до 100 (наименее эффективное сжатие) при принятом по умолчанию 75. Используйте опцию -sampling factor, чтобы ука- зать коэффициенты цветности (цветоразностных сигналов) загружаемых сэмплов (образцов). -resize <width>x<height>{%) {@} {!}{<} {>} Это псевдоним опции -geometry, действующий таким же образом. -rotate degrees{<} {>} Вращает изображение по методу Паеса (Paeth). Символ > вращает изоб- ражение только в том случае, если его ширина превышает высоту; сим- вол < вращает изображение только в том случае, если его ширина мень- ше высоты. Если вы используете символы < и >, рекомендуется заклю- чать их в двойные кавычки, например, так: -rotate "-45>". -sampling factor horizontal_factorx.verticalJactor Указывает горизонтальный и вертикальный коэффициенты сэмплирова- ния, эти коэффициенты используются кодировщиками JPEG, MPEG-2 и YUV для определения цветности (цветоразностного сигнала) при заг- рузке образцов. -scene value Устанавливает номер сцены изображения или первое изображение в по- следовательности изображений. -screen Указывает экран для захвата. Вы можете получить части других окон, что перекрывают указанное окно, и, что более важно, захватить меню и другие всплывающие независимые окна, которые появляются поверх указанного окна. -silent Действует без выдачи сообщений. -snaps value Указывает количество моментальных снимков экрана. Эта опция позво- ляет захватить более одного изображения экрана сервера X и создать анимационную последовательность. -transparent color Внутри изображения делает данный цвет прозрачным. -trim Выполняет подгонку краев изображения, удаляя любые края, имеющие тот же самый цвет, что и угловые пикселы. -verbose Печатает детальную информацию о данном изображении: номер сцены в сценарии, имя и размер изображения, общее количество уникальных цветов, класс или пссвдокласс изображения, количество секунд, необ- ходимое, чтобы прочесть и трансформировать данное изображение.
332 II Коменты -window id Выполняет изображение фона, задаваемого по имени или идентифика- тору окна. Для id задайте значение root, если в качестве целевого хоти- те указать корневое окно X. Пример Создадим последовательность моментальных снимков экрана без использования мыши и поместим их в файл result.gif. S import -window root -pause 5 -snaps 3 result.gif fc [10J 3237 [10] Done import -window root -pause 5 -snaps 3 result.gif § А теперь проверим, что из себя представляет файл result.gif: $ identify result.gif result.gif[0] GIF 640x480+0+0 PseudoClass 256c 8-bit 1022kb 1.3u 0:02 result.gif[1] GIF 640x480+0+0 PseudoClass 256c 8-bit 1022kb 0.9u 0:02 result.gif[2] GIF 640x480+0+0 PseudoClass 256c 8-bit 1022kb 0.4u 0:01 $ В состав файла result.gif вошли три изображения. - суперсервер, предназначенный для запуска служб Internet. inetd Синтаксис inetd [[-di][-q queuelength] [configuration-file] Запускается во время загрузки через /etc/rc. local. Если ваша init может порож- дать произвольных демонов, суперсервер inetd может быть запущен от нее, а также перезапущен, если это потребуется. Будучи запущенный, inetd прослушивает подключения по ряду сокетов (программ, обслуживающих соответствующие подключения) Internet. Когда в одном из этих со- кетов обнаруживается произведенное подключение, inetd начинает устанавливать, ка- кая требуется служба, и вызывает соответствующую программу. После завершения программы обычно продолжает прослушивать возможные подключения. Эпции - d Включает несколько видов отладки. Подразумевает опцию -i. - i Не работает в фоновом режиме; для запуска от init. - q queuelength Устанавливает размер очереди сокета в указанное значение. По у мол- чанию принято 128. Перед выполнением суперсервер inetd считывает информацию со своего конфшу- рационного файла, который можно задать с помощью аргумента configuration-file. По умолчанию в качестве такового принят /etc/inctd.conf В конфигурационном файле можно встретить ряд полей'
II. Команды 333 service name название проверяемой службы, как оно определено в файле /etc/services socket type тип сокета, определяемый одним из следующих значений: stream потоковый dgram дейтаграмма raw низкоуровневый тип rdm надежно доставляющий seqpacket работающий с последовательными пакетами protocol протокол, определенный в файле /etc/protocols; принимает значение tcp или udp wait/nowait[.mav] применяется только с сокетами дейтаграмм, для всех остальных соке- тов указывается nowait; необязательный суффикс max определяет мак- симальное число образцов сервера, порождаемых inetd за интервал в 60 секунд; если суффикс max опущен, по умолчанию принимается зна- чение 40 user].group] имя пользователя, который может запустить сервер; можно также ука- зать необязательное имя группы server_program маршрут к программе, запускаемой inetd по запросу server_program arguments обычные аргументы, начинающиеся с orj;v[0], который является име- нем программы. Получив сигнал SIGHUP (см. приложение I), inetd перечитывает свой конфигура- ционный файл. Пример Вот как выглядит стандартная строка из файла /etc/inetd.conf для службы ftp: ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -1 -a mews - направляет статью локальному серверу новостей Usenet для последующего распространения. Синтаксис inews [-h][-D][-0][-R][-S](header_fiaps][input] Считывает статью новостей Usenet (возможно с заголовками) с указанного файла input или стандартного ввода, если файл не задан, добавляет некоторые заголовки и тестирует ее на соответствие стандартам Usenet. Если статья по какой-либо причине не проходит проверку, она будет отвергнута. В противном случае inews посылает ее на локальный сервер новостей, описанный в файле inn.conf, для дальнейшего распро- странения.
334 КОМЭНйи Опции -h В стандартном случае ввод содержит заголовки статьи, пустую строку и собственно тело сообщения. Этот флаг должен использоваться для совместимости с более старыми версиями программы, ио может быть опущен лишь в том случае, когда сообщение не содержит заголовков. -О По умолчанию в сообщении будет присутствовать заголовок Organization (организация); чтобы отказаться от этого заголовка, ис- пользуется флаг-О. -D Устанавливает режим отладки, выполняет необходимые проверки, а за- тем направляет статью вместо сервера на стандартный вывод. -А, -V, -W Для совместимости с программой С News принимает, но игнорирует флаги -А, -V, -W -N Трактует флаг -N программы С News как флаг -D. -S Обычно inews пытается добавить файл .signature (файл электронной подписи), если он существует в исходном каталоге пользователя, в ко- нец статьи. Если этот файл не может быть считан или он чересчур длин- ный - более четырех строк или более одного стандартного буфера вво- да/вывода— или возникают другие проблемы, статья не будет опубл!, кована. Чтобы подавить это, применяется флаг -S. -R Отвергает любые попытки опубликовать управляющие сообщения. header-flags В командной строке можно указать различные заголовки сообщений с помощью так называемых флагов заголовков. Каждый из этих флагов различает единственный, идущий за ним параметр. Если его значение представляет более одного слова, то их следует заключить в кавычки. Ниже приведен список опций (флагов) и соответствующих им заголов- ков: a Approved (одобренное) с Control (управляющее) d Distribution (для распространения) е Expires (с истекшим сроком) f From (от кого) w Followup-To (следует к) n Newsgroups (группы новостей) г Reply-То (кому следует направить ответ) t Subject (тема статьи) F References (ссылки) о Organization (организация) х Path prefix (пребикс маршрута) Программа inews завершается с нулевым кодом, если статья успешно опубликова- на или отправлена, и завершается с ненулевым кодом - если статья не может быть доставлена. Если inews приходится накапливать свой ввод из-за недоступности сервера ново- стей, необходимо с помощью cron регулярно запуска! >. mews с флагом -U
II. Команды 335 п,-име;л ? inews -t “my wishes"-n macrobiotic articlemy Warning Can't connect to server -Article will be spooled. $ Сделана попытка отправить статью из файла articlemy на сервер новостей. Пре- дупреждающее сообщение свидетельствует о невозможности подключиться к серве- ру. Статья не пропадет; в подобных случаях все статьи накапливаются и будут отрав- лены при установке подключения. info - считывав! документацию в гипертекстовом, формате GNU texinfo на заданную тему или об указанной команде. Синтаксис info [option]...[menu-item...] Если запустить info, не указав команду, будет представлен начальный экран info, содержащий краткую инструкцию по перемещению между темами. Опции —aptopos=subject Просматривает указанную тему subject во всех индексах всех руко- водств. Jirectory=Ar Добавляет указанный каталог dir к маршруту info (переменная INFOPATH)' —dribble=filencme Запоминает последовательность нажимаемых пользователем клавиш в файле filename. -file-filename Использует информацию заданного файла. —help Выводит краткое описание опций и завершает программу. —index-search=striHg Переходит к разделу, указанному по индексу string —node~-nodename Указывает узел, с которого следует начинать. —output= filename Выводит выбранные разделы в файл filename. —restore= filename Считывает последовательность нажимаемых клавиш из файла/Меиот, —show-options, —usage Напрагляется к разделу опций командной строки.
336 II Команды —subnodes Рекурсивно выводит подтемы (подразделы). —vi-keys Использует привязки клавиш, как для vi и less. —version Выводит информацию о версии программы и завершает ее. Пример Требуется просмотреть во всех разделах тему forwarding (переназначение, пере- попучение): $ info —apropos=forwarding (gcc)Constructing Calls" — forwarding calls "(emacs)Rmail Reply" — forwarding a message (mh-e)Forwarding" — forwarding <1> 1 (mh-e)Customizing Forwarding" — forwarding $ 1П11 - инициализирует управление пооцессами Гх Синтаксис init [-a][~s][-b]]-z ххх] [ 01234568s] /sbin/telinit [-t sec][0123456sSQqabcUu] init - это родитель всех процессов. Его основное предназначение - создание про- цессов по сценариям, хранящимся в файле /etc/inittab. Программа init может нахо- диться в одном из восьми уровней исполнения: 0-6 и S, или s. Уровни 0, 1 и 6 являются зарезервированным! Уровень 0 используется, чтобы ос- тановить систему, уровень 6 - чтобы перезагрузить, и уровень 1 используется, чтобы перевести систему в однопользовательский режим. Уровень S никогда не использует- ся напрямую, а все больше для сценариев, выполняющихся при переходе на уровень 1. init вызывается ядром в качестве последнего шага в последовательности загруз- ки. При этом ядро просматривает файл /etc/inittab в поисках элемента initdefault, опре- деляющего начальный уровень запуска для системы. Если упомянутый элемент или даже файл /etc/inittab отсутствует, уровень запуска может быть введен с системной консоли. Уровень S, или s, переводит систему в однопользовательский режим, при этом /etc/inittab даже не требуется. При запуске нового процесса init проверяет, существует ли файл /etc/initscript. И если такой файл существует, использует его для запуска процесса. Каждый раз при завершении родительского процесса init отмечает сам факт и при- чину "смерти” в файлах /var/run/utmp и /var/log/wtmp. telinit привязана к init. Она принимает односимвольный аргумент и сигналы для выполнения соответствующего действия. init принимает от LILO (загрузчика)следующие флаги: Принимаемые флаги -s, S, single Переходит в однопользовательский режим. 0-6 Указывает уровень запуска.
II. Команды 337 -b, emergency Сразу переходит в оболочку однопользовательского режима, не запус- кая никаких сценариев. -a, auto Загрузчик LILO может добавлять командную строку, которая по умол- чанию выполняется в процессе загрузки. Если это будет обнаружено, init создает возможность пользователю указать командную строку вручную. Q, q Вновь исследует файл /etc/inittab. U, и Перезапускает себя, но не исследует вновь файл /etc/inittab - t sec Заставляет telinit информировать init, как долго он ожидает (по умол- чанию 5 секунд) между отправками процессам сигналов SIGTERM и SIGKILL. - z ххх Собственно игнорирует сам параметр ххх, идущий за флагом -z. Этот прием позволяет слегка расширить командную строку. В дальнейшем init может манипулировать командной строкой, отображая текущий уро- вень исполнения. - демон InterNetNews. innd Синтаксис innd [-а][-с days][-С][-d][~f](-В count][-i count]]-IIP-address][-1 size] [-b] [-Ш mode] [-n fiag][-o count] [-pfddesc] [-Pport] [-r] [-s] [~t timeout] [-T count][-uH--X seconds][-Z] innd - демон InterNetNews - поддерживает все входящие подпитки NNTP. Он счи- тывает в память файлы active, newsfeeds и incoming.conf, а затем открывает порт NNTP для получения статей от дистанционных сайтов. Если был определен <HAVE UNIX DOMAIN SOCKETS in include/config.h>, то для получения статей от локальных про- цессов, таких, как nnrpd и rnews, применяются потоковый сокет Unix-доменов и со- кет дейтаграмм, используемый ctlinnd. В противном случае вместо упомянутых соке- тов используются именованные каналы. Для непосредственного обращения к серверу и выполнения ряда действий применяется ctlinnd, при этом открывается БД history и два журнала для замещения стандартных файлов вывода и ошибок. После того как файлы и сокеты были открыты, innd ждет на своих портах подклю- чений и данных, используя системный вызов select (синхронное мультиплексирование ввода/вывода) и неблочный ввол/вывод. Если информация недоступна, то очищает свои структуры данных. Количество секунд тайм-аута перед очисткой устанавливается как <DEFAULT_TIMEOUT in config.data>. Обычно задается 300 секунд. Опции - а По умолчанию, если в файле incoming.conf не встречается никаких у по- минаний об узле, пытающемся подсоединиться, подключение переда- стся nnrpd. В случае задания флага а любой узел может подключить- ся и передавать статьи.
338 II Команды -с davs Отвергает старые статьи. Срок в днях задает параметр days По умол- чанию принято 14 дней, хотя опция artcutoff в файле inn.conf может поменять это значение. Если установлено значение -сО, никакие про- верки сроков производиться не будут. -С Принимает и распространяет, но ни в коем разе не уничтожает и не вы- тесняет сообщения. -d, -f Обычно демон innd переводит сам себя в фоновый режим, направляет стандартный вывод и ошибки в журналы (log files), открепляет себя от терминала. Применяемый флаг -d инструктирует сервер не делать это- го, в то же время использование флага -f оставляет сервер в фоновом режиме. -X seconds Устанавливает количество секунд seconds, используемое флагами -Н и -Т. По умолчанию определено нулевое значение, означающее отклю- чение проверки. -H count Определяет количество подключений к серверу, которое разрешено выполнить узлу за период, задаваемый флагом -X. По умолчанию оп- ределено значение 2 -T count Определяет общее количество входящих подключений к innd за пери- од, задаваемый флагом -X. По умолчанию принято значение, равное 60, максимальное значение - 128. -i count Ограничивает количество входящих NNTP-подключеиий значением count. Нулевое значение count запрещает эту проверку. По умолчанию принято значение, равное 50, хотя опция maxconnections из файла inn.conf может поменять это значение. -UP-address Позволяет связать innd с указанным адресом IP-address интерфейса. Для задания адреса определена десятичная нотация. -1 size Ограничивает размер статьи значением size. Любая статья размером больше заданного просто отвергается. Нулевое значение параметра size отключает проверку. По умолчанию принят размер в 1000000 байт. -L Не создает связи (ссылки) для переправляемых статей. -m mode Запускает сервер в заданном с помощью параметра mode режиме. В зависимости от значения mode эмулируются следующие команды: g go - обычный запуск р pause - приостановка t throttle - сворачивание n flag Если параметр flag установлен в значение у, то разрешает читателям действовать через сервер; если flag установлен в значение п (по умол- чанию), разрешает чтение новостей даже когда сервер не запущен. Хотя значение flag может быть изменено с помощью опции readerswhenstopped из файла inn.conf. -o count Ограничивает значением count количество открытых файлов, пре (наз- наченных для исходящих подпиток. По умолчанию принято значение.
II. Команды 339 равное количеству допустимых дескрипторов, та вычетом некоторого количества, зарезервированного для внутреннего использования. -pfddesc Открывает порт NNTP для указанного дескриптора fd desc. -Pport Использует порг port для прослушивания подключений. - г Сервер перенумерует файл active так, как если бы была послана коман- да renumber. - s При задании этого флага innd лишь проверяет синтаксис файла newsfeeds, не выполняя ничего более. Найденные ошибки фиксируют- ся в журнале (syslog). - t timeout Меняет период тайм-аута, задаваемого параметром timeout, при осво- бождении содержимого буферов. - и Обработка журналов обычно ведется с буферизацией. В противном слу- чае требуется установить флаг -и. - Z Отключает потоковый ввод (mode stream) и отвергает другие потоко- вые команды. Поступающие статьи, которые имеют управляющий заголовок (Control header) или заголовок темы (Subject header), начинающийся с пяти символов cmsg (последний всегда пробел), называются управляющими сообщениями. Когда поступает управляющее сообщение, первое слово текста конвертируется в символы нижнего регистра (кроме cancel) и используется в качестве имени програм- мы для исполнения. Если указанной программы не существует, тогда исполняется за- данная по умолчанию программа <pathcontrol in inn.conf>/default. Все управляющие программы вызываются с четырьмя параметрами. Первый из ко- торых - адрес человека, отправившего сообщение по почте. Второй параметр - адрес обратного ответа, который берется из заголовка Reply-То, если этот заголовок пус- той, используется почтовый адрес. Третий параметр - имя файла, в котором находится статья, по маршруту относительно спул-каталога новостей. Четвертый параметр - узел, приславший статью. Управляющие сообщения обычно поступают от групп новостей под именем control, хотя в этом имени может быть также отражена и подгруппа. innd использует команды NNTP, определенные в RFC 977. Хотя имеются и некото- рые различия. Появились две новые команды: так одна из них - mode reader - прика- зывает серверу передать подключение nnrpd; сегодня команда mode query - это си- ноним mode reader, а вообще она заложена для будущего расширения. Имеются ко- манды, поддерживающие потоковую передачу - check messageid и takethis messageid. Существует пакетная команда xbatch byte-count, которая считывает количество байт, задаваемое параметром byte-count, и хранит их до последующей обработки програм- мой rnews, которая может стартовать отдельно. Пример Сообщение finegroup будет находиться в файле control.finegroup. если существует группа finegroup. В противном случае оно попадет в файл control.
340 II Команды innd фиксирует все поступившие статьи в журнале, который представляет и i себя текстовый файл с переменным количеством полей, разделенных пробелами, в одном из следующих форматов: sat 01 02:15:06.000 с feed <hessage-ID> site... sat 01 02:46:08.010 + feed <Message-ID> sxte... sat 01 05:48:09.000 j feed <Mesbage-ID> site... sat 01 08:55:22.008 - feed <Message-ID> reason... Первые три поля содержат дату и время. Пятое поле - это сайт, который отправи.. статью. В шестом поле содержится ID сообщения с упомянутой статьей. После этого поля может находиться имя узла и размер поля в зависимости от того, указана ли в файле inn.conf опция nntplinklog и logsize. Четвертое поле указывает статус статьи: + статья будет принята с сообщенле cancel (уничтожить) будет принято до прибытия оригинальной статьи j статья попадает в группу новостей junk (бесполезные) - статья отвергнута Поле reason включает причину, по которой была отвергнута статья: заголовок че- ресчур длинный, дубликат, отсутствие символа двоеточия в заголовке, нежелательная группа новостей и т.д., и т.п. inndstart Синтаксис rnndstart [flags] Программа inndstart - небольшой внешний интерфейс, что открывает порт NNTP. I станавпивает USERID (идентификатор пользователя) и GROUPID (идентификатор груп- пы) в соответствии с параметрами администратора службы новостей и затем исполняет innd с флагом -рис минимальным соблюдением правил безопасности. Такая програм ма очень удобна, если сайт не желает запускать innd с привилегиями суперпользова- теля. innfeed Синтаксис innfeed [-a spool-dir][-Ь directory][-С][-с filename][-d пшп](-е bytes] [-h](-l filename][-m](-p file][-s file][-x][-уI]-z]]-v](file] Поддерживает как стандартный протокол IHAVE, так и потоковое расширение CHECK/TAKETHIS. - упрощенный аналог innd. - осуществляет передачу новостей между компью- терами на протоколе NNTP.
II. Команды 34 J Протокол 1HAVE/SENDME (я имею/перешли мне) псиноляег избежать пересылки дублирующихся новостей. Вместо того чтобы пересылать на дистанционный узел со- держимое всех статей, локальная система пересылает только их идентификаторы (IHAVE -я имею). Дистанционный узел принимает такое сообщение и с помощью фай- ла history возвращает на отправившую систему сообщение SENDME (перешли мне). В этом сообщения дистанционный узел просит переслать лишь те статьи, которые им еще не обрабатывались. innfeed может одновременно подпитывать новостями любое число дистанцион- ных узлов и будет открывать несколько подключений к каждому сетевому узлу, если это сконфигурировано. Ограничения существуют лишь на количество дескрипторов открытых файлов и память. innfeed присущи три режима обработки: channel (канальный), funnel-file (режим файла "дымохода", сбрасывающего "дым”) и batch (пакетный). Первый из режимов используется, когда в командной строке не указано имя файла, в конфигурационном файле не задано ключевое слово input-file, а также не определе- на опция -х. В этом режиме innfeed запускается со стандартным входным файлом, под- ключенным через конвейер к innd. Когда бы демон innd ни закрыл конвейер, а у него могут возникнуть разные причины сделать это, innfeed завершается. При этом innfeed пытается завершить отправку всех статен, находящихся где-то на середине процесса пересылки, прежде чем выдать команду окончания работы. Второй режим применяется, если в качестве аргумента задано имя файла file или ключевое слово input-file определено в конфигурационном файле. В этом режиме innfeed считывает указанный файл с такой же отформатированной информацией, как innd поставляет для первого режима. Ожидается, что innd постоянно производит за- пись в упомянутый файл, так что по мере продвижения к концу этого файла innfeed периодически осуществляет проверку новых поступлений информации. Чтобы препят- ствовать безудержному росту размеров файла, пользователю необходимо позаботиться о периодическом "выбросе информации из файла на сторону", как выпускается дым из дымохода, и предоставить innd возможность освобождать файл от его содержимого. После этой процедуры пользователь сможет послать innfeed сигнал S1GALRM, и она. в свою очередь, сможет закрыть текущий и открыть новый файл созданный innd. Если используется флаг -х, то применяется пакетный режим. В этом режиме innfeed попросту игнорирует стандартный ввод и обрабатывает любые записи регистрации в журнале (backlog), созданные ранее запускаемой копией innfeed. Чтобы innfeed корректно функционировала, необходимо выполнение двух условий наличие каталога, в котором программа может хранить файлы backlog, и конфигураци- онного файла (описанного в innfeed.conf), где указываются поддерживаемые сетевые узлы, называемые foo. Для каждого foo программа innfccd поддерживает до 4-х файлов в каталоге журна- ла backlog: файл foo-lock, препятствующий путанице других образцов файлов innfeed с текущим; файл foo.input, содержащий информацию о старой статье, который innfeed считывает для повторной обраоотки; файл foo.output, куда innfecd записывает инфор- мацию о статьях, которые не смогла обработать, и, наконец собственно файл foo. По- следний файл никогда не создается innfecd, ио если она обнаружит таковой, то тут же переименует его на будущее в foo.input и в дальнейшем начнет считывать именно этот файл. Что позволяет считывать пакетный файл и помещать в такое место, где innfccd
342 II Команды сможет легко его обнаружить. Пользователь никогда не должен непосредственно вно- сить изменения в файлы .input или .output запущенной программы innfeed Формат трех последних файлов выгляди г следующим образом. маршрут/к/статье <messagc-id> Это те самые два первых поля строк innd, которые демон передает innfeed И в то же время это два первых поля строк пакетного файла, куда innd производит запись, если innfeed недоступна по каким-либо причинам. Программа innfeed записывает текущее состояние в файл innfeed.status, где со- держатся детали обработки в целом и по каждому узлу, поддерживаемому этим образ- цом innfeed. Если innfeed получит указание направить статью компьютеру, который она не под- держивает, информация о статье будет занесена в файл, имя которого совпадает с шаб- лоном innfeed-dropped.* с частью имени файла, соответствующего идентификатору процесса innfeed, производящего запись именно в этот файл. Основные опции -a spool-dir Указывает каталог spool-dir (вернее верхний уровень каталогов) для накопления статей. С помощью chdir (изменение каталогов) програм- ма innfeed переходит в этот каталог, манипулируя абсолютным марш- рутом. По умолчанию используется <patharticles in inn.conf». -b directory Указывает каталог для хранения файлов backlog. Если маршрут отно- сительный, то он берется относительно <pathspool in inn.conf». По умол- чанию принят innfeed. -с filename Указывает конфигурационный файл, отличающийся от принятого по умолчанию. Если указан относительный маршрут, то он берется отно- сительно <pathetc in inn.conf». По умолчанию принято имя файла innfeed.conf. -С innfeed просто проверяет конфигурационный файл, выдает отчет о най- денных ошибках и завершается. -d пит Указывает начальный уровень регистрации. Все отладочные сообще- ния направляются в стандартный файл ошибок. -е bytes Позволяет сформировать предельный размер в байтах на 10% больше, чем заданный размер; innfeed будет замещать выходной файл "хвос- том" исходного (оригинальная версия) По умолчанию предел не уста- навливается. -h Печатает краткое описание опций. -1 filename Указывает файл регистрации, отличающийся от стандартного файла ошибок. -m Включает процесс регистрации всех пропущенных статей. -p/i/e Указывает имя файла file для записи в него Р1Г) (идентификатора процесса innfeed). Маршрут берет ся относительно <pathrun in iim.eonf-.
II Команды 343 -S file Указывает имя файла для периодической записи в него состояния Если определен относительный маршрут, то он берется относительно <pathlog in inn.conf* По умолчанию принимается файл innfeed.statui -V Выводит информацию о версии программы и завершает ее. -X Сообщает innfeed, что не следует ожидать информацию о статьях от демона innd, вместо этого приказывает приступать к обработке любых существующих файлов backlog, а затем завершает ее работу. “У Позволяет выполнять динамическую увязку узлов. Если информация по статье, полученная от innd, содержит неизвестный узел, тогда поми- мо имени узла берется и IP-информация. -Z Вынуждает создавать статистический отчет по каждому параллельно подпитываемому подключению. Программа innfeed реагирует на следующие сигналы: SIGALRM закрывает funnel-file, указываемый в командной строке, и затем вновь открывает его SIGINT записывает большой отладочный слепок (дамп) работающей системы SIGHUP перезагружает конфигурационный файл SIGCHLD закрывает и вновь открывает все файлы backlog SIGTERM осуществляет запланированное завершение работ SIGUSR1 увеличивает уровень отладки на единицу; обычно используются уров- ни отладки от 0 до 5, хотя начальный уровень отладки равен 0, если только не задана опция -d SIGUSR2 уменьшает уровень отладки на единицу Пример Существует три категории регистрируемых элементов статистики, первый из кото- рых называется HOST. Для заданного узла через определенные интервалы создается статистика всех подключений. August 20 11:37:10 data innfeed[15016]:remie checkpoint seconds 1250 offered 2418 accepted 1137 refused 1025 rejected 211 missing 2 spooled 774 on close 0 unspooled 113 deffered 12 requeued 18 queue 37.2/100:12,20,18,6,21,23 Значения полей листинга таковы: seconds время подключения innfeed к узлу remie offered количество команд IHAVE, посланных узлу не в потоковом режиме; количество команд TAKETHIS, посланных в режиме по-СНЕСК, плюс- количество команд CHECK, посланных в потоковом режиме, когда не действовал режим по-СНЕСК accepted количество статей, отправленных на дистанционный компьютер н при- нятых им
344 II Команд refused количество статен, предназначенных узлу, который сообщил, что не желает их принимать, так как видел идентификаторы сообщений Message-1D rejected количество отвергнутых статей missing количество статей, которые innfeed предназначала данному сетевому узлу, но которых не оказалось по разным причинам в каталоге накоп- ленных статей: возможно, они были уничтожены или истек срок их хра- нения spooled элементы статей, записанные в .output (файл backlog) потому, что не могли быть отправлены на дистанционный компьютер или приняты им en close количество статей, накопленных после того как innfeed закрыла все подключения к узлу unspooled количество элементов статей, считанных с .input (файл backlog) deffered статьи, отправку которых дистанционный узел попросил innfeed выпол- нить попозже; innfeed немедленно отправляет эти статьи в конец оче- реди requeued статьи приготовленные к отправке, но так и не отправленные в связи с обрывом связи или по другим причинам queue первое число средний размер очереди в течение предшествующего интервала ре истрации второе число - максимально доступный размер очереди третье - процент от общего времени, определяющий время, когда очередь пустовала четвертое - процент от общего времени, когда очередь была на- полнена не более, чем на 25% пятое - процент от общего времени, когда очередь была на- полнена от 25% и до 50% шестое - процент от общего времени, когда очередь была на- полнена от 50% и до 75% седьмое - процент от общего времени, когда очередь была на- полнена от 75% и до 100% восьмое - процент от общего времени, когда очередь была пол- ностью наполнена innstat - печатает дамп системы INN. Синтаксис innstat Программа innstat это сценарий, сообщающий об оперативном режиме сервера, заполнении дискового Пространства, состоянии всех журналов и lock-фай нов.
II. Команды 345 innxmit - посылает статьи Usenet на дистанционный сервер NNTP. Синтаксис innxmit [-А altspool][-а][-с][-dj[-1][-И][-г][-в][-t timeout] [-Т timeout] |-р) [-v] [-Р portnum] host file innxmit подключается к серверу NNTP в указанном сетевом узле host (проверяя себя через файл passwd.nntp, если это возможно) и посылает ему статьи, указанные в пакетном файле file. Файл <pathetc in inn.conf>/passwd.nntp содержит пароли для под- ключения к дистанционным серверам NNTP. Обычно innxmit вызывается из сценария, запускаемого с помощью cron, при этом используется shlock, чтобы заблокировать узел, за которым следует команда ctiinnd, освобождающая пакетный файл. Если аргу- мент file не является абсолютным маршрутом, то он берется относительно каталога <pathoutgoing in inn.conf' -. Обычно в сетях статьи накапливаются в течение некоторого периода времени, пос- ле чего они собираются в один файл, сжимаются и пересылаются на дистанционную систему. Такой метод называется batching (пакетная передача). Статьи пакетного фай- ла file посылаются на дистанционный узел. Каждая строка пакетного файла может со- храняться в одном из следующих форматов: filename Message-ID * filename Поле filename именует посылаемую статью. Если в нем содержится не абсолют- ный маршрут, то он берется относительно спул-каталога новостей - <patharticles in inn.confX Если поле Message-ID не указано, то его содержимое будет добыто из ста- тьи. Поля filename и Message-ID разделяются пробелом. В первом формате за полем Message-ID могут следовать дополнительные поля, например, размер статьи. И хотя innxmit игнорирует любое поле после Message-ID, но перезаписывает такие поля, коль требуется. Если возникает коммуникационная ошибка, скажем, ошибка записи, то innxmit приостановит отправку и перезапишет пакетный файл, содержащий текущую и другие неотправленные статьи. Опции - t timeout Указывает тайм-аут, определяющий попытки подключения. - Т timeout Указывает общее количество времени в секундах, предназначенное для пересылки статьи. - Р portnum Указывает номер порта portnum, другой, чем по умолчанию. - г Если дистанционный сервер посылает неожиданный код ответа, innxmit запрашивает статью и возобновляет процесс. Флаг -г препятствует это- му. - v Перед завершением innxmit помещает в syslog отчет о пересылке п статистику зафиксированных ресурсов ЦП. Если указан флаг-v. булет также производить распеча гку на стандартный вывод.
346 II Команды - а Если все статьи успешно пересланы, innxmit удаляет пакетный файл, в противном случае он будет переписан и продолжает содержать список неотправленных статей. Если никакие статьи не были пересланы или были отвергнуты, файл остается неприкосновенным, что создает проблемы в связи с его непомерным ростом. Чтобы пакетный файл был в любом случае переписан, применяется флаг -а. - р Если задан флаг -р, не выполняет никакие подключения, и очищает па- кетный файл от элементов, которые ссылаются на уже несуществую- щие файлы. Этот флаг предполагает также флаг -а. - d Направляет отладочную информацию в стандартный файл ошибок. - 1 Отключает регистрацию причин, выдвигаемых дистанционным узлом, если он отвергает статьи. - М Заставляет innxmit просканировать заголовки статьи до ее отправки. Иногда необходимо отправить MIME-статью (не в 7-битном формате), формат отправляемой статьи будет изменен. - A alt spool Указывает альтернативный спул-каталог alt spool, используемый, если статья не найдена. Таковым может оказаться монтируемый спул-ката- лог NFS главного сервера с более длительным сроком хранения статьи. - s Во время подключения к серверу innxmit пытается установить расши- рение потокового режима протокола NNTP. Если все закончится благо- получно, будет использоваться несколько отличающийся протокол, ко- торый увеличивает пропускную способность. Если сервер не может рас- познать потоковый режим, innxmit возвращается к обычному режиму передачи NNTP. Флаг -s препятствует установке расширения потоково- го режима. - с В потоковом режиме производится предварительная проверка ID каждо- го сообщения, чтобы избежать аналогичных действий на сервере. Если задан флаг-с, осуществляет пересылку статей без такой проверки. insmod - инсталлирует загружаемый модуль яд: а. Синтаксис insmod [-fkmpqrsxXvyY] [-Р prefix] [-о шос!и1е_лаше] object file [symbol-value... ] Программа insmod вставляет загружаемый модуль в работающее ядро, insmod старается скомпоновать модуль object_file с работающим ядром, разрешая все сим- волы (идентификаторы) из экспортируемой таблицы символов ядра. Программа insmod осуществляет поиск модуля в некоторых общих каталогах, определенных по х молча- нию. Переменная окружения MODPATH перекрывает значения, принятые по у молча- нию. Но если существует конфигурационный файл /etc/modulcs.eoni. он перекрывает маршруты, определенные в MODPATH
II. Команды 347 Опции - f Пытается загрузить модуль, даже если версия ядра, для которого он компилировался, не совпадает с текущей версией ядра - к Устанавливает для модуля флаг auto-clean (автоматической очистки), который используется какой-то период времени обычно одну минуту. - гл Выводит карту загрузки, облегчающую отладку модуля в момент кра- ха ядра. - о module пате Устанавливает точное имя модуля вместо имени, унаследованного от базового имени объектного файла. - р Выполняет опробование модуля с целью удостовериться, что он мо- жет быть успешно загружен: устанавливает месторасположение объект- ного файла, проверяет номера версий и разрешаемые символы (иден- тификаторы). - q Не печатает список любых неразрешенных символов. Не сообщает о несоответствии версий. - г Некоторые пользователи компилируют модули под UID (идентифика- тором) обычного пользователя, а затем инсталлируют их в качестве су- перпользователя. По умолчанию попытка использовать модуль, вла- дельцем которого не является суперпользователь, завершается аварий- но. Опция -г разрешает суперпользователю загружать модули, владель- цем которых он не является, хотя в целях безопасности этого делать не рекомендуется. - s Вместо терминала выводит все в syslog (системный журнал). - V Переходит в режим подробного комментирования. - X, -х Соответственно экспортирует (по умолчанию) или нет все внешние сим- волы (идентификаторы) модуля. - Y, -у Соответственно добавляет (по умолчанию) или не добавляет символы ksymoops в ksyms (копия /proc/ksyms). - Р prefix Позволяет использовать модули со специальными префиксами, добав- ляемыми к их символьным именам, для ядра SMP (Symmetric Multi Processing - симметричного мультипроцессирования). Некоторые модули дополнительно принимают параметры [symbol=value...] для под- держки своих операций. Часто такими параметрами являются порты ввода-вывода и значения IRQ (прерываний), которые отличаются на разных компьютерах и нс могут быть определены техническими средствами. Параметры могут быть числовыми (де- сятичными, восьмеричными и шестнадцатеричными) и строковыми (строка символов). Начиная с ядра 2.1, строка символов заключается в кавычки и таким образом распо- знается. Числовые значения распознаются, как в языке С: например. 18.022, Ох 12 (со- ответственно десятичное, восьмеричное и шестнадцатеричное значения).
348 IL Команды install - копирует файлы, устанавливая режимы доступа, а также владельца/группу. Синтаксис install [option]...source dest install [option]...source directory install -d [option]...directory В первом формате копирует source в dest или во втором формате - несколько фай- лов source в указанный каталог directory. В третьем формате создает все компоненты заданного каталога. Эта команда обычно применяется при инсталляции пакетов: для копирования про- грамм в нужные каталоги, для создания требус чых каталогов и установки полномочий доступа (см. диаграмму в описании команды xgettext). Опции - b, —backup [=control] Создает при инсталляции копию каждого уже существующего файла, в противном случае он будет перезаписан или удален. - d, -directory Трактует все аргументы как имена каталогов, создает все компоненты указанных каталогов - D Полезна в первом формате команды install. При копировании source в dest создает все компоненты dest кроме последнего. - С Инсталлирует файл, даже если таковой уже существует. - g, - group group Устанавливает группу владельца файла или каталога в значение group. - m, —mode=moJe Устанавливает полномочия на доступ к файлу или каталогу, как команда chmod. По умолчанию принято значение 0755. - о, --owner—oivner Устанавливает владельца файла или каталога. Эта опция доступна толь- ко суперпользователю. - р, -preserve-timestamps Назначав г время доступа/модификации исходных файлов соответству- ющим выводным. -s, —strip Отбрасывает таблицы символов (идентификаторов) устанавливаемых программ. Опция применяется лишь для первых двух форматов -S, —suffix=suj97x Перекрывает обычный суффикс имен файлов, используемый при копи- ровании, устанавливая suffix ()6ычно при копировании суффикс задает ся символом
II. Команды 349 -v, --verbose Распечатывает имя каждою созданного каталога —help Выводит список опций и завершает программу. —version Выводит информацию о версии программы и завершает ее выполнение Пример ♦ install -d -о sofia /home/sofia/sourcesa i Создается подкаталог /home/sofia/sourcesa, владельцем которого назначена Sofia; полномочия доступа установлены в значение rwxr-xr-x, или 0755. ipchains - выполняет администрирование IP-брандмауэров Синтаксис ipchains -[ADC] chain rule-specification [option] ipchains -[KI] chain rulenum rule-specification [option] ipchains -D chain rulenum [option] ipchains -h [leap] ipchains -[LFZNX] [chain] [option] ipchains -P chain target [option] ipchains -M [-L|-S] [option] Программа используется для установки, поддержки и проверки правил IP-брандма- уэра. Специальная программа, которая, основываясь на некоторых правилах, запрещает или разрешает передачу проходящей через нее информации, называется брандмауэром (firewall). Предназначение брандмауэра - не допустить выход информации из некото- рой подсети наружу или, наоборот, оградить ее от вмешательства извне. Заложенные правила в зависимости от типов осуществляемых проверок можно разделить на 4 кате- гории: проверки по входной, выходной и пересылочной цепочкам правил, а также це- почки, определенные пользователями. Правила фильтрации брандмауэра указывают критерий для отбора информационно- го пакета и выполняемые действия. В качестве действия targel может быть определе- но одно из указанных ниже значений: имя цепочки правил, определенных пользователем ACCEPT принять пакет DENY запретить пакет REJECT отвергнуть пакет и уведомить об этом отправителя MASQ замаскировать пакеты, как будто источником их происхождения явля- ется локальный узел; к тому же автоматически демаскировать распоз- нанные обратные пакеты, осуществляя их проверку по пересылочной цепочке REDIRECT осуществить проверку по входной цепочке правил (или определенной пользователем), передавая пакеты локальному сокету, даже если они были отправлены на дистанционный у тел
350 Н. Команды RETURN проверять следующее правило в предшествующей (вызывающей, це- почке правил Опции распознаваемые ipchains, делятся на несколько т рупп: команды (только одна в каждой командной строке), указывающие выполняемые действия, параметры, играю- щие роль спецификаций и применяемые в командах, и дополнительные опции. Команды —append, -A chain Добавляет одно или более правил rule-specification в конец выбранной цепочки cham —delete, -D chain rulenum Удаляет одно или более правил из выбранной цепочки. —replace, -R chain rulenum Замещает правило в выбранной цепочке (нумерация с единицы). —insert, -I chain [rulenum] Вставляет одно или более правил rule-specification в выбранную це- почку chain под заданным номером rulenum. —list, -L [chain] Отображает все правила выбранной цепочки правил. —flush, -F [chain] Опорожняет (удаляет все правила одно за другим) выбранную цепочку. —zero, -Z [chain] Обнуляет счетчик пакетов и счетчик байт во всех цепочках. —new-chain, -N chain Создает новую пользовательскую цепочку под указанным именем. —delete-chain, -X chain Удаляет указанную пользовательскую цепочку правил. —policy, -Р chain target Устанавливает "полицейский контро ть" над действием target, заданным для цепочки chain. —masquerading, -М Позволяет отобразить текущие маскируемые подключения (совмест- но с опцией -L) или установить параметры маскировки для ядра (со- вместно с опцией -S). —set, -S tcp tcpfin udp Меняет при маскировке пакетов время тайм-аута (в секундах) соответ- ственно для tcp-сессий (tcp), tcp-сессий после получения последнего пакета FIN (tcpfin), а также для UDP-пакетов. —check, -С chain Проверяет заданный пакет по выбранной цепочке. -h [iemp] Выводит описания синтаксиса команд.
II. Команды 351 Параметры -р, - protocol [!] protocol 11роверяет коммуникационный протокол правила или пакета. Указанный protocol может принимать одно из следующих значений: tcp udp temp all числовое представление одного из перечисленных или отличающе- гося протокола -s, — source[l] address [/mask] [!] [port[:port]] Указывает исходную спецификацию, где address может быть или име- нем узла, или сетевым именем, или IP-адрссом; mask обозначает сете- вую маску, а аргумент ! перед адресом или портом инвертирует смысл; port - номер порта, представляющий из себя числовое значение ICMP-типа или один из типов имен для ICMP. —source-port [!] [port[:port]] Определяет исходный порт или диапазон портов (через двоеточие). -d, —destination [1] address [/masA] [!] [port[:port]] Указывает спецификацию (аналогично исходной) порта назначения. —iemp-type [!] typename Определяет спецификацию типа ICMP (опция -h icrnp отображает су- ществующие типы). -j, —jump target Определяет действие правил, распространяющихся на пакет. -i, —interface [!] name Указывает необязательное имя интерфейса, через который должен быть получен пакет. [!] -f, —fragment Указывает, что правило относится ко второму и последующим фраг- ментам фрагментированных пакетов. Другие дополнительные опции -b, —bidirectional Правило проверяется для IP-пакетов в обоих направлениях. -v, —verbose Режим подробного комментирования происходящего с указанием ад- реса интерфейса, опций правил и масок TOS (типов обслуживания), счет- чиков пакетов и байт. -n, —numeric Выводит адреса и порты в числовом формате. По умолчанию отобра- жает их как имена узлов, сетевые имена пли службы. -I, —log Включает регистрацию совпавших пакетов в журналах ядра.
352 И Команды -m, —mark markvalue 11омечает совпавшие паке гы, соответственно добавляя или вычитая зна- чение markvalue, если оно начинается со знака плюс нли минус, из те- кущего помеченного номера пакета (нумерация с нуля). -t, —TOS andmask xormask Помечает используемое для модификации поле TOS в заголовке IP. Если пакет соогвегствует правилу, сначала выполняется поразрядное сло- жение его поля TOS с маской andmask, а затем осуществляется пораз- рядное умножение результата предыдущего действия с маской xormask. Эта опция существенна, если действия правил установлены в значение DENY или REJECT. [!] -у, — syn Только сопоставляет TCP-пакеты с установленным битом SYN и очи- щенными битами АСК и FIN; такие пакеты используются, если запра- шивается инициализация TCP-подключения. Если опции -у предшеству- ет флаг!, смысл опции меняется на противоположный (инвертируется). -line-numbers При выводе добавляет номера, соответствующие положению правила в цепочке к началу каждого правила. -х, —exact Выводит вместо округленных точные значения счетчика пакетов и счет- чика байт. -no-warnings Запрещает печать предупреждений. Пример Следующее правило определяет пакеты для установки соединения, отправленные с узла 192.168.20.1: -р tcp -S 192.166.20.1 -у ipchains-restore Си и таксис ipchains-restore [-f][-v][-p] Опции -f Очищает цепочки, не требуя подтверждений. -v Выводит каждое правило. р Создает каждую несуществующую, ио упомянутую цепочку. Ввод информаци завершается при нажатии Ctrl+D. - восстанавливает со стандартного ввода цепочки IP-брандмауэра
II. Команды 353 ipchains-save - выводит цепочки правил IP-брандма- уэра на стандартный вывод. Синтаксис ipchains-save [chain][-v] Необязательный аргумент chain определяет имя сохраняемой цепочки. Опции -v Распечатывает каждое правило. Пример I ipchains-save :input ACCEPT : forward ACCEPT :output ACCEPT t ispen - интерактивный орфогра рический корректор. Синтаксис ispell I common-flags][-Hj-N][-Leontext][-V] file — ispell [common-flags] -1 ispell [common-flags] [-f file] [-s] {-a|-A} ispell [-d file] [-w ciiars] -c ispell [-d file] [-w cAars] -e[e] ispell [-d file] -D ispell -v[v] Проверяет правописание слов в указанных файлах file, используя системные слова- ри. Программа ispell отображает каждое не найденное в словаре слово наверху экрана, позволяя вам изменить его. Если слово почти соответствует найденному в словаре, но отличается одной бук- вой, отсутствует пробел или дефис, то оно отображается в следующих строках. Про- грамма ispell пытается "угадать” слово по его корню, выставляя перед словом вопро- сительный знак. В результате строка, содержащая слово, и предшествующая строка печатаются внизу экрана. Ниже приведены общие опции common-flags, пригодные для многих форматов. Общие опции -г Указывает, что входной файл поступает в формате ТеХ нли LaTeX. -п Указывает, что входной файл поступает в формате nroil/troff
354 II Команды - b Создает резервную копию входного файла, добавляя к его имени рас ширение .bak. - х Не создает резервной копии. - В Отображает слова с пропущенными между ними пробелами как орфо- графические ошибки. - С Игнорирует пропущенные между словами пробелы ("склеившиеся" сло- ва). - Р Запрещает создавать дополнительные комбинации корня н могущих быть окончаний. - т Допускает отсутствующие в словаре комбинации корня и окончаний. - S Сортирует список предлагаемых вариантов по вероятности появления. - d file Указывает имя файла, содержащего системный альтернативный словарь. - р file Указывает имя файла, содержащего персональный альтернативный сло- варь. - w chars Указывает помимо алфавитных дополнительные символы, которые мо- гут быть частью слова. - W п Определяет допустимую длину слов, воспринимая лишь те слова, ко- торые содержат не менее п символов. Если вы хотите, чтобы все слова независимо от их длины проверялись по словарю, укажите -VV 0. - Т type Предполагает, что все файлы имеют указанный тип форматирования Аргумент type может быть либо одним из уникальных имен, опреде- ленных в файле языковых окончаний (см nroff), либо суффиксом имен файлов, включающим обязательную точку. Дополнительные опции - а Предполагает, что корректор используется в конвейере. При чтении входного файла для каждого проверяемого слова записывает строку на стандартный вывод. Прн этом записанная строка начинается со следу- ющих символов: * слово было найдено в главном или персональном словаре + обычно за плюсом следует пробел и корень слова, который был найден в словаре после удаления окончания слово является конкатенацией двух стов (опция -С) & само слово отсутствует в словаре, но пайцен его аналог, иду щий среди прочей дополнительной информации crpoi-Ti ера у через пробел после символа & # через пробел следует отсутствующее в словаре слово -А Подобна опции -а, но если строка начинается с выражения &lnclude_Filc&, остаток строки следует рассматривать как имя фан ла, из которого следует в дальнейшем считывать слова. -s Имеет смысл лишь совместно с опцией -а или -Л. Коррекюр ispell ос га- навливает сам себя по сигналу SIGTSTP (см. приложение 1) пос ле каж-
II. Команды 355 дой строки ввода. Продолжение следует лишь после получения сигна- ла SIGCONT. -f file Имеет смысл лишь совместно с опцией-а или-А. Записывает результа- ты орфографической проверки в указанный файл. -с Считывает список слов со стандартного ввода, записывая для каждого слова возможные корневые слова и окончания, результат направляет на стандартный вывод. -е [е] Обратная опция для опции -с: создает список возможных слов на осно- ве заданных ограничений. Параметр е принимает числовые значения из промежутка 1-4, определяя уровень обработки. - D Выводит из словаря на стандартный вывод таблицу окончаний. - 1 Создает на основе информации стандартного ввода список не обнару- женных в словаре слов. - М Выводит внизу экрана маленькое меню возможных опций ispell. - N Запрещает выводить внизу экрана меню опций ispell. -Lcontext Указывает количество строк контекста, отображаемого внизу экрана. По умолчанию определяется как некий процент от размера экрана. -v[v] Подробно информирует о ходе обработки; если задан двойной флаг, уве- домляет об опциях, с которыми ispell компилировалась. -V Выводил управляющие символы в стиле ЛС. Для интерактивного диалога с программой доступны односимвольные команды, регистр при этом игнорируется. Команды R Полностью заменяет текущее слово его аналогом. пробел Принимает слово лишь на этот раз. А Принимает слово как таковое лишь до конца сеанса работы ispell I Принимает слово, занося его в персональный словарь. U Принимает слово, занося его строчными буквами в персональный сло- варь. 0-л Замещает слово на и-ое предлагаемое программой. L Производит поиск в системном словаре. X Записывает остаток файла, игнорируя ненайденные слова, и переходит к обработке следующего. Q Выходит из программы, не сохраняя результатов обработки. ! command Запуск команды command. Л L Обновляет экран. Л Z Останавливает программу ispell. ? Выводит экран помощи.
35о II Команды Пример $ ispell -1 rectangle firewall adition fad adition $ Из четырех введенных слов (Ctrl+D после слова fad) корректору "не понравилось” слово adition. Совершенно верно! Следует писать addition. Так, пожалуй, освоишь правописание слов английского языка. Для других языков необходимо иметь соответ- ствующие словари. jobs Синтаксис jobs [~lnp][pid—] Задав аргумент pid (идентификатор конкретного задания), можно ограничить вы- вод команды информац..гй только об этом задании. Опции -1 Выводит идентификаторы заданий и групп процессов. -п Выводит информацию о заданиях, состояние которых изменилось со времени последнего запроса. -р Выводит только идентификаторы групп процессов. Пример $ jobs —п [2]+ Running find / -name 1111 -print & $ join - сливает строки двух файлов в общее поле Синтаксис join [option]...filel filel Утилиту join часто применяют для объединения двухколоночных файлов. В файлах filel и file2 ищутся определенные столбцы и "склеиваются” те их строки, значения которых совпадают. По умолчанию "склеиваемое" поле является первым и от теляетел пробелом. Если вместо одного из файлов (но нс обоих) стоит дефис join считывает стандартный ввод. “ выводит список выполняемых или остановленных В заданий.
II. Команды _____________________________ _ 357 Опции -a side 11ечатает непарные строки из файла side. -е empty Замещает пропущенные входные поля строкой empty. -i, — ignore-case При сравнивании полей не учитывает регистр символов. -i field Эквивалентно -1 field -2 field. -j 1 field Эквивалентно -1 field. -j2 field Эквивалентно -2 field. -o format Использует указанный формат при создании выходной строки. -t char Использует char как разделитель входных и выходных полей. -v side Подобна опции -a side, но запрещает печатать соединенные выходные строки. -1 field Объединяет по указанному полю файла filei. -2 field Объединяет по указанному полю файла file!. —help Отображает список опций и завершает программу. —version Выводит информацию о версии и завершает программу. Если указана опция -t char, идущие впереди пробелы отдельных полей игнориру- ются. Любой параметр field является номером поля (нумерация с единицы). Пример % join -t, vvv vvvl % Объединяет файлы vvv и vwl по первому столбцу. Поля должны быть разделены запятой. kbd mode - выводит и устанавливает текущий режим драйвера клавиатуры. Синтаксис kbd_node l-auks] Без опций kbd_mode выводит текущий режим. Опции - s Устанавливает режим RAW (режим scancode, см. showkey). - к Устанавливает режим MEDIUMRAW (режим keycode, см. showkey). - а Устанавливает традиционный режим XLATE (ASCII), использующий любой 8-битный набор символов. Предполагается, что такой набор поз- же транслируется в UNICODE, а затем отображается на зкране с по- мощью consolechars -ш.
358 II Команды -и Устанавливает режим UNICODE (UTF-8), предполагающий 1 6-битный набор символов, передаваемых в ядро в виде 1, 2 или 3-х байт в соот- ветствии с кодированием UTF-8. В двух последних режимах используется отображение клавиатуры с помощью loadkeys. Следует отметить, что установка режимов иных, нежели XLATE или UNICODE, может сделать вашу клавиатуру недоступной. Эта команда полезна, если после аварийного завершения какая-нибудь программа оставляет клавиатуру в непри- годном режиме. Для ее возврата в режим XLATE или UNICODE следует использовать kbd_mode. kbdconfig - несложный интерфейс цля конфигурирования системной клавиатуры. Синтексис^..’ kbdconfig (—back]]—test] kbdconfig производит настройку файла /etc/sysconfig/keyboard, содержащего имя таблицы преобразования клавиатуры. Опции 1 —back По умолчанию в окне программы kbdconfig находится кнопка Cancel (завершение). Если определена эта опция, вместо кнопки Cancel пред- лагает кнопку Back (возврат). --test Разрешает запускать kbdconfig обычным пользователям (не только су- перпользователю). Но в этом случае изменения в конфигурации не со- храняются. Программа kbdconfig возвращает: О в случае успешного завершения 1 если пользователь щелкнул переключателем мыши на кнопке Cancel или Back 2 в случае возникновения ошибки - переустанавливает для клавиатуры скорость повтора и время задержки. kbdrate Синтаксис kbdrate • - ] [- г rate][-d de J ay j Когда Linux загружается, ядро устанавливаег скорость (темп) повтора в максимально допустимое для данной клавиатуры значение. С одной стороны, это хорошо, но, если скорость повтора чересчур высока, можно легко получать цажс при самом незначитель- ном нажатии клавиш повтор символов. В этом случае целесообразно примени гь kbdrate для синхронизации скорости повтора.
II. Команды 359 Время задержки - это промежуток времени, в течение которого клавиша может быть нажата без инициирования повтора. Применяя kbdrate без опций, можно установить скорость повтора в 10.9 cps (characters per second - символов в секунду) и время задержки в 250 ms (миллисе- кунд) для систем Intel и М68К. Эти же значения приняты по умолчанию j ля IBM. Что касается SPARC-систем, то использование kbdrate без опций установит скорость по- втора в 20 cps, а время задержки - в 200 ms. Опции - s Подавляет вывод сообщений. - г rate Устанавливает скорость повтора в значение rate. Для Intel принят диа- пазон от 2.0 до 30.0 cps. Однако допускаются только определенные значения, поэтому программа выберет ближайшее допустимое значе- ние для указанного пользователем. Для SPARC принят диапазон от О (без повторов) до 50 cps. - d delay Устанавливает время задержки. Для Intel принят диапазон от 250 до 1000 ms с шагом 250 ms; для SPARC — от 10 до 1440 ms с шагом 10 ms. - V Выводит информацию о версии программы и завершает ее. Не все клавиатуры позволяют работать с kbdrate (в частности, непозволительно работать с клавиатурой Gateway АпуКеу). >* Пример Набрав kbdrate без опций, можно увидеть примерно такое сообщение: Typematic Rate set to 10.9 cps (delay = 250 ms) kdm - менеджер дисплея KDE. Синтаксис kdm Может рассматриваться как альтернатива xdm. Если в текстовой консоли набрать такую команду, то возникает панель регистрации KDE. Достаточно ввести имя пользователя и его пароль. Впрочем, такую команду лучше включить в один из файлов инициализации, например, в .bash_profile. kill - заве traet п; оцессь* В Син аксис kill -1(signal] kill [—в signalf -pj pid...
360 II. Комаи/ ь* Команда kill посылает сигнал завершения указанному процессу pid. Если не указа- но ни одного сигнала, посылает сигнал SIGTLRM Сигнал SIGKJLL(9) является безус- ловным, оповещает об осязательном завершении процесса и не может быть перехвачен. Опции -signal Определяет посылаемый сигнал по имени либо по номеру (см. прило- жение I) - р Лишь выводит идет ификаторы поименованных процессов, не посылая сигнал. - 1 signal Выводит имя указанного по номеру сигнала или полный список суще- ствующих сигналов, если не указано никакого сигнала. - s signal Определяет посылаемый сигнал (см. приложение I). Процесс может завершить либо его владелец, либо суперпользователь. Большинство оболочек, или командных процессоров, имеют встроенную команду kill. Пример $ kill -9 1027 $ При успешном завершении процесса никакое сообщение не выводится, оно появится лишь при попытке завершить процесс без наличия соответствующих прав либо при попытке "убить" несуществующий процесс. - завершает все процессы, запущенные указанной командой. killall Синтаксис killall [-egiqvw][-signal] пате... killall -1 killall -V Посылает сигнал завершения всем процессам, которые были запущены командой пате. Чтобы завершить процессы, возникшие при запуске исполняемого файла, следует использовать прямой слэш в имени команды. Опции - е Завершает все процессы, очень длинные имена которых сопоставля- ются по первым 15 символам. - i Требует подтверждения при завершении процессов. - I Выводит полный список существующих сигналов (см. приложение I). - V Подробно комментирует свои действия.
II. Команды 361 -signal Определяет посылаемый сигнал по имени или номеру (см. приложение 1) Специальный сигнал 0 проверяет наличие процесса. -V Выводит информацию о версии программы и завершает ее. -q Подавляет комментарии, если ни один из процессов не был завершен -g Завершает всю группу процессов, к которой принадлежит указанный про- цесс. Все процессы одной группы должны иметь один и тот же дей- ствующий U1D (одного владельца). -w Ожидает полного завершения всех снимаемых процессов. Утилита killall иной раз может ждать бесконечно: сигнала, который игнориру- ется, зомби-процесса. Пример $ killall $ -0 find Не выдает никаких сообщений, если проверяемый процесс существует. ksyms - отображает экспортируемые символы (идентифика- торы) ядра. Синтаксис /sbin/ksyms [-a][~h][—ш] Информация выводится в следующем формате: адрес идентификатора, имя и опре- деляемый модуль. Опции -а Отображает все символы (идентификаторы). По умолчанию собствен- ные идентификаторы ядра не выводятся. -h Не выводит заголовки столбцов листинга. -m Включает в листинг информацию о модулях: адрес загрузки и размер. kudzu - обнаруживает новые или замененные устройства в системе и конфигурирует их. Синтаксис kudzu После старта kudzu обнаруживает текущие аппаратные средства (устройства) и про- веряет их на основании БД, хранящейся в файле /ctc/sysconfig/hwconf, если таковой существует. Установив, какое устройство было добавлено или удалено из системы, пре- доставляет возможность пользователям сконфигурировать дополнительное оборудо- вание, а затем обновляет содержимое БД.
362 II Команды Если упомянутая БД не существует, kudzu пытается установить, какие устройства были уже сконфигурированы, просматривая /etc/modules.conf 'ctc/syscoflg/network-scripts/ и /etc/Xll/XF86Config. Опции —usage Выводит краткое сообщение об использовании программы. —help, -? Печатает вспомогательную информацию. -q, —quiet Не выдавая сообщений, выполняет только конфигурирование, не тре- бующее ввода дополнительной информации от пользователя. -s, —safe Выполняет попытку конфигурирования в безопасном режиме, не мешая устройству. -t, —timeout [seconds] Устанавливает период тайм-аута (в секундах) для начального диа- лога. Если в течение этого периода ни одна клавиша не будет нажа- та, программа kudzu завершается, не обновляя содержимого /etc/sysconfig/hwconf. -отражает все происшедшие в система реги траци last Спитаке»-: last (-Я](-лил][-п лил][-adix][-f file][-t YYYYMHDDBBHHSS] [паше... ] (tty...) Применяйте команду last, чтобы узнать, кто использовал систему, на каких терми- налах он работал, когда вошел и вышел из системы. Команда last использует инфор- мацию, регистрируемую в файле /var/Iog/wtmp. Могут быть заданы имена пользова- телей (пате) и терминалы (tty), тогда last выводит информацию лишь по этим элемен- там Опции -пит Счетчик, указывающий число отображаемых строк. -п пит Работает по аналогии с -пит. -t YYYYMMDDHHMMSS Отображает ситуацию с регистрациями на указанное время (ГГГГММДДЧЧММСС). -R Не выводит поле с именем хоста. -а Отображает имя хоста в последнем столбце. -d Хранит не только имя, но и адрес дистанционного хоста. Транслирует IP-адрес в имя хоста (для нелокальных поцключеннй). -i Подобна опции -d, но отображает IP-адрес в точечно-десятичном фор- мате.
II команды 363 -х Отображает информацию по закрытиям системы и изменение уровнен выполнения. -f file Вместо принятого по умолчанию /var/log/wtmp использует указанный файл. Команду last особенно полезно применять для выявления дистанционных пользо- вателей. Пример Чтобы определить, когда конкретный пользователь регистрировался в системе, за- дайте в качестве аргумента его имя. # last misha misha tty3 Wed Sep 17 10:40 still logged in wtmp begxns Tue Sep 16 17:01:13 2003 Пользователь misha регистрировался на терминале tty3. iastb - от эажает все безуспешные регистрации'. ' Синтаксис Iastb [-R][-num](-n num][-adix][-f file][-t yyyyhmddbbmmsS][aaae...] [tty...] Применяйте команду Iastb, чтобы узнать, кто, когда и откуда пытался зарегистри- роваться в системе. Команда Iastb использует БД, хранящуюся в файле /var/log/btmp, неудачных попыток регистрации в системе. Могут быть заданы имена пользователе^ (пате) и терминалы (tty), тогда Iastb выводит информацию лишь по этим элементам. Опции -пит Счетчик, указывающих число отображаемых строк. - п пит Работает по аналогии с -пит. - t YYYYMMDDHHMMSS Отображает ситуацию с регистрациями на указанное время (ГГГГММДДЧЧММСС). - R Не выводит поле с именем хоста. - а Отображает имя хоста в последнем столбце. - d Хранит не только имя, но и адрес дистанционного хоста. Транслирует IP-адрес в имя хоста (для нелокальных подключений). - j Подобна опции -d, но отображает 1Р-адрсс в точечно-десятичном фор мате. _х Отображает информацию по закрытиям системы и изменение уровней выпо [нения.
364 II Команды - f file Вместо принятого по умолчанию /var/log/btmp использует указанный файл. Команду lastb особенно полезно применять для выявления злоумышленников. Пример Чтобы определить терминал, с которого, не зная пароля конкретного пользователя, кто-то пытался зарегистрироваться в системе под его именем, задайте в качестве ар- гумента это имя. # lastb sofia sofia tty4 Wed Sep 17 10:46 - 10:46 (00:00) sofia tty4 Wed Sep 17 10:45 - 10:45 (00:00) btmp begins Wed Sep 17 10:45:49 2003 latex - позволяет создать форматированный текстовый файл, используя программу ТеХ и пакет макроопре- делений LaTeX. Синтаксис tex [option]__[ texnarae] .tex] [commands] tex [option]__\first-line tex [option]__bfmt args Обрабатывает входной текст документа со вставленными командами форматиро- вания. Создает по меньшей мере три выходных файла. □ Не зависящий от устройства файл типа .dvi Содержит команды которые могут быть оттранслированы в команды различных устройств вывода. Формат доку- мента LaTeX можно отобразить, используя специальный просмотрщик xdvi, ко- торый можно обнаружить по следующему маршруту: KDE меню => Графика ч> Просмотрщик DVI □ Файл .log, содержащий итоговую информацию и сообщения об ошибках, встре- ченных во входном файле. □ Файл .aux, используемый LaTeX для секционирования. Команда latex запускает ТеХ с файлом texname, обычно создавая texname.dvi. Пос- ле того как файл texname прочитан, любые оставшиеся команды commands отобража- ются как ввод ТеХ. Если первая строка texname имеет вид %&/йн, тс fmt - это суще- ствующий файл типа .fmt, использует его. Также использует NAME.fmt. где КАМЕ - это имя вызываемой программы, обычно tex. Если первый аргумент (не опция) начинается с обратного слэша, команда latex ин- терпретирует все аргументы как входную строку ТеХ. Если первый аргумент (не оп- ция) начинается с символа &, следующее далее слово берется в качестве файла fmt для чтения, перекрывая все прочие установки. Если в командной строке отсутствуют аргументы или опции, latex приглашает для ввода.
II. Команды 365 Опции -fmt=/»iiname Использует параметр fmtname вместо извлеченного из имени програм- мы или из строки типа %&. -interaction=sfri«g Устанавливает режим диалога, где string может принимать следующие значения: batchmode пакетный режим scrollmode обрабатывает файл не останавливаясь после каждой ошибки errorstopmode обрабатывает файл, останавливаясь после каждой ошибки -ini Будет вызывать программу initex и создавать файл типа .fmt, содержа- щий определения шрифтов и макросов. -kpathsea-debug=nnm6er В соответствии с битами number устанавливает флаги маршрут _в по- иска. [-no]-mktex=/mt Отключает/включает генерацию mkte^/nit, где fmt принимает значение tex или tfm. ТеХ также считывает TFM-файлы для загрузки шрифтов, опре- деленных для данного документа. По умолчанию запускаете) програм- ма mktextfm, создающая любые несуществующие TFM-файлы. -output-comment=srnng Использует строку string как комментарии к DVI-файлам вместо обыч- ного комментария, содержащего дату и время запуска ТеХ. mltex Включает расширения MLTeX, такие как \charsubdef. Позволяет ис- пользовать несуществующие образцы шрифтов, объявленные в заме- щениях образцов. Команда \charsubdef определяет, как создать обра- зец шрифта, не обязательно существующего (умляу.ът, диакритичес- кий знак над гласной и т.д.), с помощью двух существующих образцов. -progname=strMg Устанавливает имя программы как string -shell-escape Разрешает выполнять команды оболочки, передаваемые па выполне- ние с помощью команды \vvrite\S{SHELL_COMMAND}. ‘ranslate-file=tariame Использует ТСХ-файл по имени texname. Файлы ТСХ (ТеХ character translation - трансляция символов ТеХ) помогают непосредственно под- держивать ввод 8-битных международных символов, если использ) ются шрифты, содержащие эти символы. ТСХ файлы переводя! вход- ной код символа (код клавиатупы) во внутренний код ГсХ (набор XSCID. позволяя на ходу вносить изменения в таблицы преобразований. ТСХ-файлы можно также указать в первой строке главного док! мента: -translation-!ile=texname.
366 н Комачдь Собственно команды самой latex начинаются с имени команды, которое содержит обратный слэш и строку букв или единственный символ (не букву). Аргументы, заклю- ченные в квадратные скобки, являются необязательными, - заключенные в фигурные скобки - обязательными. Пакет LaTeX чувствителен к регистру. Все команды вводят- ся на нижнем регистре, если только не указано обратное. Id - компоновщик GNU. Синтаксис Id (-о output}[option] objfile... Id объединяет ряд объектных и архивных файлов objfile, располагая их данные и увязывая символические ссылки. Очень часто последний шаг при построении скомпи- лированной программы - это вызов Id. Эта версия Id использует общие установки библиотек BFD при обработке объект- ных файлов, что позволяет считывать, объединять и записывать объектные файлы во многих форматах, например COFF или a.out. Файлы разных форматов могут компоно- ваться совместно. Компоновщик Id - очень гибкий инструмент, как в плане собственно компоновки, так и диагностики. Поэтому существует большое количество опций командной строки и переменных окружения, с помощью которых можно управлять его возможностями. Имя выходного файла с результатами компоновки определяется с помощью опции -о output. По умолчанию используется файл a.out. Основные орцин -/{.architecture Задает двухбуквенные имена, указывающие члены семейства Intel 960. Эта опция формирует поисковую стратегию компоновщика в привязке к архитектуре компьютера. -b input-format Указывает двоичный формат входных объектных файлов. Эта опция не столь уж и полезна, поскольку компоновщик конфигурируется таким образом, что распознает заданный по умолчанию формат, который так- же можно получить из переменной окружения GNUTARGET Спи- сок доступных двоичных форматов можно получить с помощью objdump -I. -Bstatic Не компонует без разделяемых библиотек. -Bdynatnic Компонует вопреки динамическим библиотекам. -Bsymbolic Разрешает ссылки на глобальные символы с учетом определений, су- ществующих в разделяемых библиотеках, если таковые имеются. Эта опция лишь существенна на платформах ELF, где поддерживаются раз- деляемые библиотеки. -с commandfile Считывает команды компоновщика из указанного файла. —crcf Выводит таблицу перекрестных ссылок.
II. команды 367 -d, -de, -dp Выделяет пространство для общих символов (идентификаторов) -dcfsym svmbol=expr Создает в выходном файле глобальный символ (идентификатор)зутЬо/ содержащий абсолютный адрес задаваемый выражением ехрг. В каче- стве параметра ехрг можно указать шестнадцатеричную константу или имя существующего символа. Можно использовать знаки плюс или минус, чтобы соответственно добавлять или вычитать шестнадцатер ные константы или символы. —demangle Пытается претставить имена символов (идентификаторов) в удобном для чтения формате, при этом отбрасывая идущие впереди символы подчеркивания. Опция принята по умолчанию. —no-demanglc Не пытается представить имена символов в удобном для чтения формате. По умолчанию принята опция —demangle, если только не установлен; пе- ременная окружения COLLECT NO DEMANGLE. -е entry Вместо заданной по умолчанию точки входа определяет указанный сим- вол (идентификатор) в качестве начала при исполнении программы. Е, -export-dynamic При создании файла ELF добавляет все символы в таблицу динамичес- ких символов, хотя обычно в этой таблице содержатся лишь символы (идентификаторы), используемые динамическим объектом. - f name, —auxiliary пате При создании ELF-объекта устанавливает внутреннее поле DT_AUXILIARY в указанное имя, это сообщает динамически.^ ком- поновщику, что таблица символов разделяемого объекта будет испол! зеваться как вспомогательный фильтр для таблицы символов указан- ного объекта. - F name, —filter пате При создании ELF-объекта устанавливает внутреннее поле DT_FILTER в указанное имя, это сообщает компоновщику, что таблица символов разделяемого объекта будет использоваться как фильтр для таблицы символов указанного объекта. - h name, -soname пате При создании разделяемого объекта ELF устанавливает внутреннее поле DT_SONAME в указанное имя. Когда исполняемый файл компонуется с разделяемым объектом, который имеет поле DT SONAME, тогда ис- полняемый файл, запускаемый динамическим компоновщиком, будет пытаться загрузить разделяемый объект, указанный полем DT SON \МЕ вместо того, чтобы использовать имя файла, данное компоновщиком. help Печатает сведения об опциях на стандартный вывод и завершает про- грамму. -iar Добавляет архивный файл аг к списку файлов компоновки. Опция мо- жет использоваться многократно.
Зо8 II Команды -Lsearchdir Добавляет маршрут searchdir к списку маршрутов, обследуемы;. Id поиске архивных библиотек. -М Печатает на стандартный вывод диагностическую информацию по ком- поновке. -Map mapfile Направляет диагностическую информацию по компоновке в файл mapfile -memulation Эмулирует указанный компоновщик emulation. Список доступных эму- ляций можно получить с помощью опции —verbose или -V. -N Указывает читаемый и записанный текст, а также секции данных. -n Устанавливает текстовый сегмент в режим "только для чтения". -noinhibit-exec В любом случае создает выходной файл даже в случае ошибок. -о output Указывает имя программы, создаваемой Id; по умолчанию - a.out. -Olevel Генерирует оптимизированные выходные файлы уровня level. В каче- стве level указывается числовое значение больше, чем 0, что суще- ственно увеличивает время компоновки. -R filename Считывает имена идентификаторов и их адреса из файла filename, но не настраивает и не включает их в вывод. -г Выполняет частичную komi оновку, создавая выходной файл, который затем может использоваться как входной для 2d. -rpath directory Добавляет каталог к маршруту поиска библиотек времени выполнения используется для формата ELF с разделяемыми объектами. -rpath-link directory Включает дополнительный каталог для поиска разделяемой библиоте- ки. При использовании ELF одна разделяемая библиотека может запра- шивать другую. -S Не включает информацию отладчика о символах (идентификаторах) в выходной файл. -shared Создает разделяемую библиотеку для ELF —sort-common Запрещает обычную сортировку глобальных символов (идентифика- торов) в соответствующих выходных секциях. -Tbss ozg/-Tdata ozg/-Ttext org Использует org в качестве стартового адреса соответственно для сек- ций bss, данных или текстовой секции выходного файла. -t Печатает имена входных файлов в порядке их обработки программой Id. -u sym Вводит sym в выходной файл как неопределенный символ. Может по- вторяться с различными опциями, добавляя неопределенные символы (идентификаторы).
II. Команды 369 -Ur При компоновке программ на C++ разрешает ссылки на конструкторы Во всех остальных случаях действует подобно -г. —verbose Выводит номер версии Id и список допустимых эмуляции —wam-constructors Предупреждает об использовании глобальных конструкторов, что при- годно лишь для некоторых форматов объектных файлов. —wam-once Однажды предупреждает о каждом неопределенном символе (иденти- фикаторе). —wam-section-align Предупреждает, если адрес выходной секции меняется по причине вы- равнивания. —whole-archive Для каждого архива, заданного в командной строке после опции -whole-archive, включает в компоновку каждый его объектный файл. —no-whole-archive Отключает действие опции -whole-archive. - X Уничтожает все временные локальные символы, чьи имена начинаются с L. - х Уничтожает все локальные символы (идентификаторы). Idconfig - определяет связывание ссылок во время выпол- нения. Синтаксис Idconfig ]-DvnNX][-f conf][-С сасЛе][-г root] directory... Idconfig -1 [-Dv] library... Idconfig -p Создает необходимые связи и кэш, используемый во время выполнения компонов- щиком Id.so, для наиболее новых разделяемых библиотек, найденных в каталоге directory, в файле /ctc/ld.so.conf и в каталогах /usr/lib и /lib. Программа Idconfig про- веряет заголовок и имена файлов библиотек, чтобы установить, каких версий должны быть их обновленные ссылки. Обычно Idconfig запускается суперпользователем, так как требует полномочия на запись на некоторые системные каталоги и файлы. Чаще запускается автоматически во время загрузки из файла /etc/rc или вручную, когда ин- сталлируется новая DLL. Опции - D Устанавливает режим отладки. Предполагает опции -N и -X - V Печатает текущий номер версии, имена пройденных каталогов и любые созданные связи.
370 II Команды -п Обрабатывает только катало! и directory, указанные в командной строке. Не обрабатывает /usr/lib и /lib, а также каталоги, указанные в /etc/id.so.conf. Предполагает опцию -N. -N Не перестраивает кэш. Связи тем не менее обновляются, если только не указана опция -X. -X Не обновляет ссылки. Если только не указана опция -N, кэш все-таки перестраи вается. -f conf Вместо /ctc/Id.so.conf использует conf. -С cache Вместо Zetc/ld.so.cache использует cache. -г root Вместо каталога root использует заданный параметром root каталог. -1 Вручную связывает отдельные библиотеки library. Опция рассчитана на квалифицированных пользователей. -Р Печатает список каталогов и библиотеки, хранимые в текущем кэше. Пример После инсталляции новой DLL необходимо обновить в /lib символические ссылки разделяемой библиотеки. Это выполняет суперпользователь. 1 /sbin/ldconfig -n /lib I Idd - распечатывает разделяемые библиотеки, необходи- мые каждой указанной программе. Синтаксис Idd f-vdr] program Idd —version Idd —help Печатает список разделяемых библиотек, необходимых каждой указанной програм- ме program. Для программ типа a.out (старый формат) Idd просто разветвляется и "фиктивно" выполняет каждую программу. Динамический компоновщик id.so, который обычно заг- ружает разделяемые библиотеки, распознает специальный режим и распечатывает за- висимости. Для программы формата ELF команда Idd тоже разветвляется и выполняет каждую программу с соответствующим набором переменных окружения. Динамический ком- поновщик ELF по имени Id-Iinux.so, который обычно загружает разделяемые библио- теки, распознает специальный режим и распечатывает зависимости. Опции --version Печатает информацию о версии и завершает программу. -help Печатает сообщения использования и завершает программу
II. Команды 371 -d, — data-relocs Обрабатывает перемещения данных -г, —function-relocs Обрабатывает перемещения данных и функций. -v, —verbose Устанавливает режим подробного комментирования. Примеры $ Idd lexout libc.so.6 => /lib/libc.so.6 (0x4001b000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) $ Это отчет Idd для типичной программы на языке С, использующей двоичный фор- мат ELF. Для такой более сложной программы как gimp, используется куда больше разде- ляемых библиотек: $ Idd /usr/bin/gimp libgtk-1.2.so.O => /usr/lib/libgtk-1.2.so.0 (0x4001b000) libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x4013b000) libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x4016f000) libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.O (0x40172000) libdl.so.2 => /lib/libdl.so.2 (0x40196000) libXext.so.6 => /usr/XHR6/lib/libXext.so. 6 (0x4019a000) libXll.so.6 => /usr/XllR6/lib/libXll.so.6 (0x401a6000) libm.so.6 => /lib/libm.so.6 (0x4024a000) libc.so.6 => /lib/libc.so.6 (0x40267000) libXi.so.6 => /usr/XHR6/lib/libXi.so.6 (0x4035c000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) $ Среди библиотек особо следует отметить следующие: библиотека XII libXll.so.6 библиотека с инструментарием GIMP библиотека GDK (the General Drawing Kit - общий комплект для рисования) библиотека математических функций библиотека С libgtk-1.2.so.O libgdl 1.2.SO.0 libm.so.6 libc.so.6. Разделяемые (совместно используемые) библиотеки должны иметь тот же самый двоичный формат, что и приложение, использующее их.
372 II Кс манды less - позволяет просматривать содержимое файла в прямом и обратном направлениях. К Синтаксис less -? less —help less -V less —version less [-[+JaBcCdeEfFgGiIinMnNqQrRsSuUVwWX][-b bufs][-h lines][-j line] [-k filename]]-{o0] logfile](-p pattern][-P prompt][-t tag] [-T tagBfile]]-r tab][-y lines][-]z] lines][ + [ + ] and]]— ][filename]... Программа less не считывает вначале весь входной файл filename полностью, как это де лают другие текстовые редакторы, например vi, поэтому даже в случае больших входных файлов она стартует значительно быстрее. Программа Jess использует termcap или для некоторых систем terminfo, поэтому она может быть запущена на различных терминалах. С помощью команды - может быть изменено большинство опций, когда less уже запущена. Большинство опций может быть задано в двух форматах: дефис, за которыг- следует единственная буква, или же два дефиса, за которым следует длинное имя оп- ции. Многие опции также выбираются из переменной окружения LESS, хотя опции ко- мандной строки перекрывают переменную LESS. Опция, появившаяся в переменной LESS, всегда может быть переустановлена в командной строке в значение по умолча- нию, если ей предшествует комбинация знаков минус и плюс. Опции -?, —help Выводит все принимаемые less команды. При работе в некоторых обо- лочках, или командных процессорах, возникает необходимость вместо вопросительного знака вводить "А?". -а, - search-skip-screen Начинает поиск после последней отображенной на экране строки. По умолчанию поиск начинается со второй строки экрана. -bn, —buffers=n Указывает количество буферов, используемых для каждого файла. По умолчанию для каждого файла, исключая каналы (см. опцию -В), при- меняются 10 буферов размером 1 Кбайт каждый. -В, -auto-buffers По умолчанию, когда информация считывается из канала (конвейера!, производится автоматическое выделение необходимого количества бз - феров. Опция -В отменяет автоматическое выделение и использует ко личество, указываемое опцией -1>, хотя это может привести к потере данных.
II. Команды 373 -е, — clear-screcn Выполняет полную перерисовку экрана от верхней строки вниз. По умол- чанию полная перерисовка экрана выполняется путем прокрутки or низа экрана. -С,-CLEAR-SCREEN Подобна опции -с, но вначале очищает экран. -d, —dumb Запрещае г выдач! сообщений об ошибках, обычно возникающих на тер- миналах типа dumb (низкоуровневых, неинтеллектуальных). Обычно подобные сообщения касаются таких важных особенностей, как очистка экрана или обратный скроллинг (прокрутка). -е, —quit-at-eof Автоматически завершает выполнение программы при повторном дос- тижении конца файла (EOF). По умолчанию для завершения программы существует команда q. -Е,-QUIT-AT-EOF Автоматически завершает выполнение программы при первом дости- жении конца файла (EOF). -f, —force Открывает также необычные файлы: к таковым можно отнести каталог или специальный файл устройства. Запрещает выдачу предупреждаю- щего сообщения при открытии двоичных файлов. По умолчанию отка- зывается открывать такие файлы. -F, — quit-if-one-screen Автоматически завершает программу less, если весь отображаемый файл может разместиться на первом же экране. -g, hdite-search Обычно less выделяет все строки, соответствующие последней коман- де поиска. Если задана опция -g, будет выделять лишь определенную строку. Это обычно делается для ускорения работы less. -G, —HILITE-SEARCH Запрещает выполнять выделение строк, найденных с помощью команд поиска. -Ьл, — max-back-scroll=n Указывает максимальное количество строк обратного скроллинга (про- крутки). Если терминал не в состоянии выполнить обратный скроллинг, устанавливается -ЬО. -i, - ignore-case В процессе поиска игнорирует регистр букв. Но эта опция игнорирует- ся, если прописные буквы появляются в шаблонах поиска I, —IGNORE-CASE Подобна опции -i, но игнорирует регистр букв даже в шаблонах поиска. -jn, —jump-target=n Указывает строку экрана, где позиционируется строки цели. В качестве строки цели можно рассматривать объект текстового поиска, тег (эти-
374 н Команд я кетку) поиска, строку указанного номера и т.д. Строка экрана определи ется по номеру: верхней строке экрана присваивается номер 1, следую- щей строке 2 и т.д. Номер может быть отрицательным числом, указы вающим строку относительно низа экрана: нижней строке экрана присва- ивается номер -1, второй строке относительно низа - -2 и т.д. Если ис- пользуется опция -j, поиск начинается со строки, следующей за целевой -k filename. —lesskey-file=^tfename Открывает и интерпретирует поименованный файл как созданный про- граммой lesskey В этом файле описаны клавиши, используемые less. -m, —long-prompt Выводит подробное приглашение, как команда more, указывая процент просмотренной информации файла. По умолчанию в качестве пригла- шения команда less использует двоеточие. -М, - LONG-PROMPT Выводит даже еще более подробное приглашение, чем команда more. -и, —line-numbers Запрещает выводить номера строк, что может создавать определен- ные проблемы, так как номер отображается в подробном приглашении, в команде, а с помощью команды v номер текущей строки также пе- редается редактору. -N. -LINE-NUMBERS Отображает номер в начале каждой строки, выводимой на дисплей. -ofilename, —\og-file=filename Копирует входной файл программы less в поименованный файл filename для последующего отображения. Эта опция имеет смысл, когда входная информация поступает по каналу (конвейеру). Если файл уже существует, less просит подтверждения перед его перезаписью -О filename, —LOG-FILE= filename Опция -О подобна -о, но она перекрывает сушествуюший файл, не спра- шивая подтверждения. -ppattern, --pattern-pattern Опция командной строки -р эквивалентна команде +7pattern: предлага- ет less стартовать с первого появления указанного шаблона. -Pprompt, —prompt = prompt Предлагает три стиля приглашений на выбор пользователя. Эта опция обычно задается в переменной окружения LESS, где она должна стоять последней или завершаться знаком доллара. Опция -Ps, за которой сле- дует строка, меняет короткое приглашение (по умолчанию) на эту стро- ку -Pm меняет среднее по формату приглашение. -РМ меняет длинное приглашение. -Ph меняет приглашение экранной помощи. -Р= меняет приглашение, распечатываемое командой =. -q, - quiet, --silent Работает в режиме "молчания": звонок терминала не звонит, сели тела стся попытка "перескочить" в процессе скроллинга за пределы файла.
II. Команды 375 Если терминал имеет "визуальный1' звонок, он и будет использоваться вместо настоящего. -Q, -QUIET, -SILENT Работает в режиме полного "молчания": терминал никогда не издает зву ковых сигналов. -г, —raw-control-chars Отражает низкоуровневые управляющие символы, используя формат с символом Л. Могут возникнуть проблемы с отображением содержи- мого экрана: длинные строки, разделенные в неурочном месте и т.п. -R, -RAW-CONTROL-CHARS Работает подобно опции -г, но пытается, где это возможно, сохранить нормальный вид содержимого экрана. -s, —squeeze-blank-lines Заменяет несколько идущих подряд пустых строк на одну пустую, что полезно при отображении вывода nroff. -S, —chop-long-lines Встречая строки длиннее, чем ширина экрана, просто отбрасывает ос- таток. По умолчанию отображает остаток длинной строки на следую- щей строке. -ttag, -tag = tag Редактирует файл, содержащий указанный тег (этикетку) tag. Чтобы это работало, в текущем каталоге должен быть файл по имени tags, пред- варительно построенный командой ctags. Эта опция может быть также указана внутри less с помощью команды -. -Ttagsfile, —tag-H\e=tagsfile Указывает файл, используемый вместо файла tags (см. опцию -t). -u, —underline-special Рассматривает возврат на один символ и возврат каретки как распеча- тываемые символы, так что они направляются на терминал, если обна- руживаются во входном файле. -U, -UNDERLINE-SPECIAL Рассматривает символы табуляции, возврат на один символ и возврат каретки как управляющие символы; эти символы поддерживаются со- гласно опции -г. -V, —version Выводит информацию о версии less. -w, —hilite-unread Временно выделяет первую вновь появившуюся строку после постра- ничного движения вперед. Это выделение удаляется в следующей ко- манде, инициализирующей движение. -W,-HILITE-UNREAD Действует, как -w, по временно выделяет первую новую сроку после любой команды, инициализирующей движение впере i более чем на о Ц1> строку.
376 II. Ктмаццл -xn, —tabs=n Устанавливает шаг табуляции в п позиций, по умолчанию - 8. -X, —no-init Запрещает посылать на терминал инициализирующие и деинициализиру- ющие строки termcap. -ул, —max-forw-scroll=n Указывает максимальное число строк скроллинга (прокрутки) вперед. -[z]n, —window=n Меняет указанный по умолчанию размер окна скроллинга (прокрутки, на л строк, по умолчанию - один полный экран, при этом символ г мо- жет быть опущен для совместимости с командой more. Если число л отрицательное, то его модуль указывает разницу между текущий раз- мером экрана и требуемым. -"сс, — quotes=cc Меняет открывающую и закрывающую кавычки соотвс гствснно на пер- вый и второй символы параметра сс. Это требуется для вызова файла, имя которого содержит пробелы и кавычки. —, —tilde Отображает строки после конца файла как пустые. Обычно строки пос- ле EOF отображаются в виде единственного символа ~. Отмечает конец опций командной строки; далее следуют аргументы, интерпретируемые как имена файлов. + Берет остаток этой опции, следующий за знаком плюс, в качестве на- чальной команды для less. Кс. анды В командах приняты след; ющие обозначения ЛХ означает Ctrl+X; некоторым ко- мандам также может предшествовать число №, символы -> обозначают правую стрел- ку клавиатуры, символы -< обозначают левую стрелку. h, Н Выводит справку по командам. Пробел, AV. f, AF Выполняет скроллинг (прокрутку) на N строк вперед, по умолчанию - на одно окно. z Подобна команде f, но если задан параметр N, устанавливает новый раз- мер окна. ESC+пробел Подобна команде f, но прокручивает полный экран, даже если в процес- се отработки достиг нут EOF (конец файла). RETURN, AN, е, АЕ, j, AJ Выполняет прокрутку вперед на N строк, по умолчанию - на одну. d, AD Выполняет прокрутку вперед на Nстрок, по умолчанию - на полэкрана. b, АВ, ESC+v Выполняет обратную прокрутку на N строк, по умолчанию - на одно окно. w Выполняет обратную прокрутку па N строк, устанавливает новый раз- мер окна (N строк).
II. Команды 377 у, AY, ЛР, к, ЛК Выполняет обратную прокрутку на N строк, по умолчанию - на одну строку. u, AU Выполняет обратную прокрутку на N строк, по умолчанию - на полэк- рана. ESC-), RIGH1ARROW Выполняет правосторонний горизонтальный скроллинг (прокрутку) на .V символов, по умолчанию -на 8 ESC-(, LEFTARROW Выполняет левосторонний горизонтальный скроллинг (прокрутку) на N символов, по умолчанию на 8. г, AR, AL Пеоерисовывает экран. R Перерисовывает экран, о, орасывая люоол буферированный ввод. F Прокручивает вперег пытаясь выполнить чтение, когда достигнут ко- нец файла. g, <, ESC-< Идет к строке N, по умолчанию - к началу файла (первая строка). G, >, ESC-> Идет к строке N, по умолчанию - к концу файла. р, % Переходит на позицию, определяемую значением Л' - новым положе- нием, выраженным в процентном отношении. { Если в верхней строке экрана появилась левая фигурная скобка, произ- водит поиск правой фигурной скобки. Если в верхней строке имеется несколько фигурных скобок, можно задать число N, определяющее вло- жение конструкций. } Если в нижней строке экрана появилась правая фигурная скобка, произ- водит поиск левой скобки в обратном направлении (к верхней строке). ( Подобна {, но ищет обычную круглую скобку. ) Подобна }, но ищет обычную круглую скобю' [ Подобна {, но ищет квадратную скобку. ] Подобна }, но ищет квадратную скобку. ESC+AF Подобна {. Рассматривает следующие два символа соответственно как открывающую и закрывающую скобки. ESC+AB Подобна} Рассматривав г следующие два символа соответственно как открывающую и закрывающую скобки. m Помечаеттекущую позицию любсч следующей за командой буквой ниж- него регистра. • Отрабатывает одинарную кавычку. Любая следующая буква нижнего регистра возвращает к позиции, ранее помеченной этой буквой. Дру гая последующая одинарная кавычка возвращает к предшествующему ме- сту. ( летующий за кавычкой символ А или $ перемещает соответствен- но в начало и конец файла.
378 11 Команды /pattern Производи! поиск в прямом направлении Л'-ой с 1 роки, содержащей ука- занный шаблон pattern. По умолчанию N равно 1. Шаблон - это регу- лярное выражение, распознаваемое ed. Поиск начинается со второй ото- бражаемой строки, если только опции -а и j не поменяют этого Неко- торые символы, входящие в начало шаблона, рассматриваются как спе- циальные, а не являются собственно частью шаблона AN,' поиск строки, не совпадающей с шаблоном ЛЕ, * если в процессе поиска достигнут конец текущего файла, а указанный шаблон не найден, продолжает поиск в следую- щем файле, из перечисленных в командной строке AF, @ начинает поиск с первой строки первого файла из указанных в командной строке, невзирая на текущее отображение или установки опций -а и j А К вызывает любой текст текущего экрана, совпадающий с шаб- лоном, но держит текущую позицию, не возвращаясь к пер- вому сопоставлению А R выполняет обычное текстовое сравнение, не интерпретируя метасимволы регулярных выражений '/pattern Производит поиск в обратном направлении N-ой строки, содержащей указанный шаблон pattern. Поиск начинается со строки, предшествую- щей верхней отображаемой строке. Некоторые символы, как и в ко- манде /, рассматриваются в качестве специальных AN,! поиск строки, не совпадающей с шаблоном АЕ, * если в процессе поиска достигнуто начало текущего файла, а указанный шаблон не найден, продолжает поиск в пред- шествующем файле из указанных в командной строке, не- взирая на текущее отображение или установки опций -а и -j А К действует, как в прямом поиске А R действует, как в прямом поиске ESC+/pattem Действует так же, как /* ESC+?pattem Действует так же, как ?*. п Повторяет предшествующий поиск для N-ой строки, содержащей пос- ледний шаблон. Очень существенно, как модифицировался предшеству- ющий поиск: АЕ продолжается поиск в следующем или предшествующем файле, если в текущем файле не обнаружено совпадений А N выполняется поиск W-ой строки, не содержащей шаблон А R не использует регулярные выражения Не выполняет никаких действий, если предшествующий попек модифи- цировался AF или ЛК. N Повторяет предшествующий поиск в обратном направлении. ESC+n I (овторяет прсдшсс гвующнй поиск, пересекая границы текущего файла.
11. Команды 379 ESC+N Повторяет предшествующий поиск в обратном направлении, пересекая границы текущего файла. ESC+u Отменяет выделение текста строк, совпавшего с текущим шаблоном поиска. Если выделение текста уже было отменено предыдущей коман- дой ESC+u, вновь включает его. :e [filename] Открывает новый файл filename. Если имя файла не задано, повторно загружает текущий файл. AXAV, E Действует подобно команде :с. :n Открывает Л-ый следующий файл из указанных в командной строке. По умолчанию открывает следующий файл. T Открывает /V-ый предшествующий файл из указанных в командной стро- ке. По умолчанию предыдущий файл. :x Открывает Л'-ый файл из указанных в командной строке. По умолча- нию - первый файл. :d =, AG, :f Удаляет из списка файлов имя текущего. Печатает некоторую информацию об отображаемом файле: его имя, номер строки, смещение относительно ннжней строки, длину файла, ко- личество строк и процент отображенной информации. - Меняет значение вслед идущей короткой опции и описывает новую ус- тановку. — Подобна команде -, но работает с длинными опциями вместо коротких. -+ Переустанавливает вслед идущую короткую опцию в ее значение по умолчанию. —+ Подобна команде -+, но работает с длинными опциями. _i Переустанавливает вслед идущую короткую опцию в значение, проти- воположное принятому по умолчанию; описывает новую установку. —! Подобна команде -!, но работает с длинными опциями вместо корот- ких. (подчеркивание) Описывает вслед идущую короткую опцию. +cmd Описывает вслед идущую длинную опцию. Запускает указанную команду emd каждый раз при загрузке нового фай- ла. V Выводит информацию о версии less. q, О, :q, :Q, ZZ Завершает less. V Вызывает редактор, задаваемый переменной окружения VISUAL или EDITOR, для редактирования текущего файла. Если не определены обе эти переменные, вызывает vi. \ctnd Вызывает оболочку для запуска команды cmd. Если в команде встре- тился символ %, он замещается именем текущего файла, если символ
380 II Команды #- именем предшествующего файла. Два символа!! повторяю г послед- нюю команду оболочки. |<m>c/nd Перелает по конвейеру секцию текущего файла между первой строкой текущего экрана и позицией, отмеченной буквой т, заданной команде cmd. В качестве значения т можно также указать Л или $, что соответ- ствует началу или концу файла. Если в качестве значения т определена точка или newline (символ новой строки), передает по конвейеру весь текущий экран. s filename Сохраняет входную информацию в файле filename, что только работа- ет, если в качестве входного файла используется канал, а не обычный файл. Пример На следующей странице на первом рисунке задается поиск в обратном направлении шаблона х58. На втором рисунке выделяется (см. первую строку) найденный сегмент строки. Используется стандартное приглашение less в виде двоеточиг inimioQlocolhost.loLaldoniair /home/misha к = imishoOlocalhostlocaldomain: /home/misha х 0 0x78: 91 92 93 94 95 124 121 Escaped scancodes еО (hex) еО 00: еО 08: еО 10: . еО 18: . еО 20; еО 28: еО 30: еО 38: еО 40; еО 48: еО 50: еО 58: еО 80; еО 68: еО 70: еО 78: 7х58| О о о о о о о о 117 104 о о о о о о о о о О О О О О О о 100 116 103 108 109 НО 111 О о о о о о о о 97 о о 98 о о о о о о о о о о о о о 99 0 0 0 0 0 о о о о о о о о о О 105 124 о О 125 126 0 0 О О О О о о о о о 96 0 0 0 0 113 114 115 о о о о о О 101 102 106 118 107 О 127 О О О О О 0 О О 112 0 0 о о ОД 88 124 125 126 127 О О О 0x60: 0 0 0 0 0 0 0 0 0x68; 0 0 0 0 0 122 0 123 0x70: 0 0 0 89 120 0 0 90 0x78: 91 92 93 94 95 124 121 0 Escaped scancodes eO XX (hex) eO 00: 0 0 0 0 0 0 0 0 eO 08: 0 0 0 0 0 0 0 0 eO 10: 0 0 0 0 0 0 0 c eO 18: 0 0 0 0 96 97 0 0 eO 20: 0 0 0 0 0 0 0 0 eO 28: 0 0 0 0 0 0 0 0 eO 30: 0 0 0 0 0 98 0 99 eO 38: 100 0 0 0 0 113 114 115 eO 40: 116 117 0 0 0 0 101 102 еО 48: 103 104 0 105 124 106 118 107 еО 50: 108 109 110 111 О О О О еО 58: 0 0 0 125 126 127 О О о о о lilo - инсталлирует заг; узник Linux. Синтаксис lilo [-С config_file] -q [~m тарfile] (-v.. . J lilo [-C config_file] [-b boot_device] [-c] [-11-L] [-i bootsector] [-ш map file][-d delay][-v...][-t][-s save_file|-S save_file] (-P fixJ-P ignore](-r root_dir] lilo [-C config_file] [-Ш map_fHe] -R [vord...] lilo [-C config_file] -I name [option] lilo [-C config_file][-e save file] -u|-U (boo t_ de vice] lilo -V
II. Команды 381 Команда lilo инсталлирует загрузчик Linux под названием LILO, он также является boot-менеджером общего назначения, позволяя загружать из разных разделов жестко- го диска другие операционные системы: MS DOS, OS/2, Windows95, Windows NT, BSD, UnixWare и т.д. Обычно инсталляцию LILO осуществляют во время инсталляции Linux. После старта LILO отображает приглашение boot: и ждет, когда пользователь вве- дет имя загружаемого образа. Если он не отвечает некоторый период времени (значе- ние хранится в файле /etc/lilo.conf), будет загружен образ, принятый по умолчанию (первый образ из /etc/lilo.conf). Если LILO применяется для загрузки Linux, можно указать одну или более опций option для передачи ядру Linux. В качестве опций, пере- даваемых ядру, могут быть указаны параметры дисковых контроллеров: адрес порта ввода/вывода, IRQ, DMA. Опции -С configJile Использует указанный файл в качестве файла конфигурации. По умол- чанию - /etc/lilo.conf -я Выводит список ядер операционных систем (не только Linux), которые можно загрузить. Список обычно хранится в файле /boot/map. -L error Предполагает, что будет загружен и запущен первый загрузчик. Код ошибки, состоящий из двух цифр, указывает разновидность проблемы. -m тар Jile Указывает альтернативный файл, содержащий список ядер операцион- ных систем. -d delay Задает задержку в миллисекундах перед загрузкой первой операцион- ной системы. -r root_dir Выполняет команду chroot, передавая ей в качестве аргумента задан- ный каталог, что необходимо при загрузке с гибкого диска в случае вос- становления системы. -s saveJile Сохраняет старое содержимое boot-сектора в указанном файле save- file (по умолчанию - в /boot/boot JVAW7V, где NNNN зависит от устрой- ства), когда lilo перезаписывает boot-сектор. -1 Использует последовательные номера секторов (режим linear) вместо традиционного адреса сектор/дорожка/цилиндр. -i boot sector В качестве загрузочного сектора использует содержимое указанного файла boot_sector. -R word... Передает загрузчику командную строку word для последующей за- грузки. -I пате Идентифицирует образ ядра, заданный меткой пате. Подробно информирует о происходящем. Задание двойной опции -vv увеличивает уровень информативности. -t Выполняет лишь тестирование, не записывая вновь созданный загру- зочный сектор.
382 •• Команды -с Совмещает несколько запросов чтения (из соседних секторов), что ус- коряет процесс загрузки, но неприемлемо для дискет. - b boot device Устанавливает имя устройства, содержащего загрузочный сектор - Р {fix|ignore} Исправляет или игнорирует испорченную таблицу разделов. - S save Jile Перезаписывает существующий файл, содержащий сохраненный загру- зочный сектор, хотя обычно ие делает этого. - u boot device Деинсталлирует L1LO, восстанавливая ранее сохраненный загрузочный сектор, при этом проверяет временную метку. - U boot device Действует аналогично опции -и, не проверяя временных меток. - V Выводит информацию о версии программы. listres - отображает ресурсы виджета (widget) Синтаксис listres [option—] Программа listres создает список содержимого БД ресурсов виджета: класс, в ко- тором был изначально определен ресурс, образец и имя класса, тип ресурса. Если не задан специальный переключатель -all, распечатывает в два столбца список имен вид- жетов и иерархий их классов. Виджет (widget) - это графический объект GUI (Graphic User Interface - графичес- кого интерфейса пользователя). Для Linux создано немало GUI: Enlightenment, KDE и Др. Опции -all Распечатывает информацию о всех существующих виджетах и объек- тах. -nosuper Не распечатывает ресурсы, унаследованные от суперкласса, что позво- ляет увидеть новые ресурсы подкласса. -variable Идентифицирует виджеты но переменным имен записей класса вместо имени класса, задаваемого в переменной, что позволяет выделить под- классы, имеющие то же самое имя класса, что их суперклассы -top пате Указывает имя виджета, рассматриваемого в качестве вершины иерар- хии; пате может совпадать либо с именем переменной класса, либо с именем класса. По умолчанию core. -format printf-string Указывает стиль формата строки, используемого для распечатки име- ни, класса образца, з ина каждого ресурса.
II. Команды 383 |П _ создает ссылки на файлы Синтаксис In [ option]... target (linkname] In {option]__target directory В первом формате создает ссылку по имени linkname (необязательный аргумент) на файл target. По умолчанию In создает "жесткие" ссылки, а с опцией -s - символические ссылки. Если последний аргумент командной строки является именем существующего каталога, 1п создает ссылку на каждый файл target в этом каталоге. Если задано два имени файла, 1п создает ссылку со второго на первое имя Если задан один аргумент target. In создает в текущем каталоге ссылку на этот файл. "Жесткая" ссылка - это просто другое имя существующего файла. И оригинал, и ссылка имеют тот же самый дескриптор. Пользователь не может создать жесткую ссылку на каталог. Кроме того, жесткая ссылка не может распространяться через .раницы файловой системы. В случае символической ссылки специальный тип файла ссылается на другой файл по имени. Большинство операций - открытие файлов, чтение, запись - передается на символическую ссылку, которую ядро автоматически распознает и поэтому манипулирует с файлом, на который указывает ссылка. Но некоторые операции, например удаление, выполняются собственно над ссылкой, а не над тем файлом, на который она ссылается. Опции - b method, —backup [=method] Создает резервные копии каждого файла, который будет перезаписан или удален См ниже описание параметра .nethod. - d, -F, —directory Разрешает суперпользователям создавать жесткие ссылки на каталоги. - f, —force Удаляет существующие адресуемые файлы, на которые указывает ссыл- ка. - i, —interactive Требует подтверждения, если приходится удалять существующий адре- суемый файл. -n, —no-dereference Если явно заданный целевой объект в свою очередь является ссылкой на каталог, рассматривает этот объект как обычный файл. - s, —symbolic Вместо жестких создает символические ссылки. - S suffix, — suffix=suflir Использует указанный суффикс для имен файлов резервных копий, со- здаваемых с помощью опции -Ь.
384 II Команды —target-dircctory=<//rec/ory Указывает выходной каталог. - V, —verbose Перед связыванием печатает имя каждого файла. - V method, — version-control=mer/!or/ Меняет тип резервирования, выполняемый с помощью опции -Ь. Пара- метр method может принимать следующие значения: попе (или off) без копии numbered (или t) создает пронумерованные копии never (или simple) создает обычную копию existing (или nil) создает пронумерованную копию, если уже су- ществуют пронумерованные копии, в противном случае создает обычную копию. По умолчанию в качестве суффикса при создании резервных копий применяется символ @. П, име, । $ In -s /rab/person/hhh $ В текущем каталоге создает hhh - ссылку на /rab/person/hhh. $ Is -1 hhh Irwxrwxrwx 1 misha misha 15 c+- 6 20:27 hhh -> /rab/person/hhh $ loadkeys - загружает таблицы трансляции клавиатуры. Синтаксис loadkeys [-d][-h][—qJ[-v(-v]][-m][-c][-s][filename...] В Linux драйвер клавиатуры анализирует таблицу клавиатуры чтобы установить, в какие коды следует транслировать нажатую клавишу или какое действие она вы- зывает. Таблица трансляции клавиатуры предоставляется в виде текстового файла. По умолчанию в Red Hat Linux 7.0 таковым является defkeymap.map из каталога /usr/srcflinux/drivers/char. Программа loadkeys считывает файлы, указанные ар- гументом filename} если имя файла не определено или в качестве имени стоит де- фис, считывает содержимое стандартного ввода. Другие таблицы отображения клавиатуры можно отыскать в каталоге /usr/Iib/kbd/keymaps/i386/qwerty. Таблица клавиатуры, например для Финляндии, хранится в файле fi.kmap.gz. Опции - h, —help Печатает информацию о версии программы и завершает ее работу. - V, --verbose Печатает подробности проведенных изменений. - q, --quiet Подавляет вывод стандартных сообщений.
II. Команды 385 -с, - clear compose Очищает скомпонованную таблицу ядра. Если эта опция не укатана и заданный файл не содержит никаких сформированных определении кла- виш, таблица ядра остается неизменной. -s, —clearstrings Очищает строку таблицы. Без этой опции только добавляет или заме- щает строки, но не удаляет их -d, -default Возвращает заданную по умолчанию таблицу. -тп, —mktable Переводит программу в режим интерактивного приема вводимой инфор- мации, задающей новые назначения клавиш (см. Примеры). Завершая ввод, следует нажать Ctrl-rD. В результате loadkeys печатает на стан- дартный вывод файл, который может быть использован в качестве /usr/src/linux/drivers/char/defkeymap.c, указывающего взятые по умолчанию привязки клавиш. Но модификация текущей таблицы не вы- полняется. Примеры Предположим, вы хотите поменять отображение двух клавиш Скажем, вам требу- ется, чтобы символ а интерпретировался как г, и наоборот. Для этого наберите в при- глашении оболочки следующее: $loadkeys keycode 44=+а keycode 30=+z Ctrl+D $ Теперь перейдите в текстовую консоль, так как эта процедура не работает под X, набрав, например Ctrl+Alt+F3. А сейчас можете экспериментировать: нажав на клавиа- туре а, будете получать z, и наоборот. Предположим, вам потребовалось загрузить раскладку, принятую в Финляндии. Для этого наберите такую команду $ loadkeys /usr/lib/kbd/keynaps/i386/qwerty/fi.kmap Loading /usr/lib/kbd/keymaps/i386/qwerty/fi.kmap.gz $ А теперь попробуйте набрать привычный символ Л (над цифрой 6 в верхнем ре- гистре) получите &; вместо знака минус возникает плюс и т.д., работает новая табли- ца отображения клавиатуры. Чтобы вернуться к установленной по умолчанию таблице, достаточно ввести простую команду: $ loadkeys -d Loading /usr/lib/kbd/keymaps/i386/qwerty/defkeyinap.kmap.qz S Все вновь вернулось "на круги свося".
38b II Команд locate - запускает GNU-версию программы locate, обеспечи- вающую быстрый поиск файлов системы. Синтаксис slocate ]-qi][-d path][—database=path] search-string slocate ]-i][-r regexp] [ —regexp=regexp] slocate ]-qv][-o file][—output=file] slocate (-e dirl,dir2...][-f fstypel...][-1 level][-c][-U pathj[-u] slocate [-Vh][—version]!—help] GNU-версия locate предлагает безопасный способ индексации и быстрого поиска файлов в вашей системе. Чтобы ускорить поиск файлов, используется специальное ко- дирование, сжимающее базу данных программы slocate. В БД также хранится инфор- мация о полномочиях на файлы и их владельцах, поэтому пользователи могут увидеть лишь те файлы, которые им доступны. GNU-версия программы locate называется slocate. Опции - и Создает БД программы slocate, начиная с каталога /. - U path Создает БД программы, начиная с каталога path. - о file, —output=yi/e Указывает создаваемую БД. - d path, — database=pat/i Определяет маршрут поиска базы данных. -h, —help Выводит список опций slocate. -v, —verbose При создании БД отображает ее файлы. -V, —version Выводит информацию о версии программы slocate. -e dir\,dir2... Исключает перечисленные каталоги из БД при использовании опций -и и -U. -f fstypeX... Исключает файлы перечисленных файловых систем из БД при исполь- зовании опций -и и -U. -c Анализирует содержимое /etc/updatedb.conf при использовании опций -и и -U. -1 level Устанавливает уровень безопасности: 0 отключает проверку безопас- ности, а 1 випочает по умолчанию. -i Производит поиск, не зависящий от регистра. -q Запрещает выдачу сообщений об ошибках. -n тип Ограничивает число выводимых результатов
II. Команды 387 -г regexp, -regexp=regexp При поиске использует базовое регулярное выражение FOSIX Пример $ slocate -qi diet /usr/bin/gdict /usr/dict /usr/include/linuxconf/dictionary.h /usr/include/pythonl.5/dictobject.h /usr/lib/cracklibdict.hwm /usr/lib/cracklib_dict.pwd /usr/lib/cracklib_dict.pwi /usr/lib/per15/5.6-O/Search/Dict.pm /usr/lib/pythonl.5/UserDict.py /usr/lib/pythonl.5/UserDict.pyc /usr/lib/pythonl.5/UserDict.pyo /usr/lib/pythonl.5/test/output/test_userdict /usr/lib/pythonl.5/test/test_userdict.py /usr/lib/pythonl.5/test/test_userdict.pyc /usr/lib/pythonl.5/test/test_userdict.pyo /usr/lib/linuxconf-devel/templates/_dict.cc /usr/lib/qt-2.2.O/include/qasciidict.h /usr/lib/qt-2.2.O/include/qdict.h /usr/lib/qt-2.2.0/include/qgdict.h /usr/lib/qt-2.2.O/include/qintdict.h /usr/lib/qt-2.2.0/include/qobjectdict.h /usr/lib/qt-2.2.0/include/qptrdict.h /usr/lib/qt-2.2.O/include/qwidgetintdict.h /usr/lib/qt-1.45/include/qdict.h $ lockfile - создает файл-семафор Синтаксиъс lockfile: -sleepLime|-r retries|-l locktimeout|-s suspend)-11-ml[ -mu| filename Может быть использована для создания одного или более файлов-семафоров. Если lockfile не может создать все указанные файлы filename в заданном порядке, перехо- дит в состояние ожидания, а затем вновь повторяет попытку создания последнего фай- ла, ранее завершившуюся аварийно. Все флаги могут быть указаны в любом месте командной строки, lockfile просто анализирует их слева направо Опции -sleeptime Указывает время ожидания в секундах, по умолчанию - 8 секунд. -г retries Задает количество попыток создания файла-семафора (lock-файла). Если retries равно -1 (-г-1), повторяет попытки создания сколь угодно долго. Если заданное количество попыток исчерпано до создания всех требуемых файлов, аварийно завершается, удалив все созданные до того файлы.
- создает элементы в заданном системное журнал г.. 388 «Команды -1 locktimeout Удаляет lock файл через указанное число секунд после последней мо- дификации (создания). -s suspend Приостанавливает удаление lock-файла (см. опцию -г) на указанное suspend количество секунд, по умолчанию на 16 секунд. Что иногда необходимо, если уже созданный файл-семафор используется другой программой, но в дальнейшем будет удален. -! Облегчает использование lock-файлов в качестве условий цикла в сце- нариях оболочки, инвертируя статус завершения. -ml Блокирует ваш системный почтовый ящик, если полномочия на сис- темный каталог почтового спула позволяют это. -mu Разблокирует ваш системный почтовый ящик. Все файлы, созданные lockfile, могут быть использованы лишь в режиме чтения logger Синтаксис logger [-isd] [-f file] [-p pri] [-t tag] ]-u sock] [message —] syslog - это фактически действующий механизм регистрации в Unix. Он впервые появился в BSD 4.2 в начале 80-х годов XX века и впоследствии входил в состав всех последующих реализаций Unix. Подобно многим другим компонентам Unix, syslog основан на архитектуре "клиент-сервер". При этом клиент предоставляет серверу syslog журналы регистрации (они могут находиться на той же машине), а сервер может запи- сывать в эти журналы либо уведомлять иными способами системных администрато- ров. logger - командный интерфейс к модулю регистрации системы syslog, позволяю- щий записывать сообщение message в требуемый журнал. Ядро Unix и большинство приложений, выполняющих регистрацию посредством syslog, используют специаль- ное устройство регистрации, скажем /dev/log). Этот механизм регистрации не так-то просто использовать в сценариях командного процессора, поэтому приходится прибе- гать к команде logger. Эта команда позволяет указывать приоритет журнала с помо- щью флага -р. Она принимает сообщение из командной строки или стандартного вво- да, а затем направляет его через syslog по соответствующему назначению. Системные журналы (или журналы регистрации) - лучшие помощники системного администратора, в них хранится предыстория (протокол) работы каждой системы, служ- бы и сети в конкретной инфраструктуре. Существует множество видов журналов, при этом в каждой операционной системе и в каждом приложении регистрация информации осуществляется по-разному. Наиболее распространенной формой журналов в Unix яв- ляется файл регистрации. Это простой текстовый файл, к которому система или прило- жение добавляет сообщения. Большинство правильно построенных ж\риалов содер- жат дату и время формирования каждого такого сообщения, имя приложения, создав- шего это сообщение, а также подробное описание произошедшего события.
II. Команды 389 Опции -i Регистрирует идентификатор logger-процесса в каждой строке. -S Помимо системного журнала также выводит сообщение в стандартный файл ошибок. -ffile -РРП -t tag -u sock Регистрирует текст сообщения из указанного файла. Фиксирует сообщение с заданным приоритетом (priority). Помечает каждую строку в журнале заданным тегом. Вместо встроенных подпрограмм syslog использует для записи указан- ный сокет. -d Использует дейтаграмму вместо потокового подключения к заданно- му сокету. -- Завершает список аргументов, что позволяет начинать сообщение message с дефиса. Не все журналы регистрации в syslog равноценны. Каждому журнальному сообще- нию присваиваются facility (особенность) и level (уровень), а в комплексе это называ- ется priority (приоритетом). Особенность указывает тип события, на которое дела- ется ссылка в журнале регистрации, в частности, информация по аутентификации, диаг- ностика электронной почты, сообщения из ядра операционной системы либо специаль- ное сообщение из приложения. К сожалению, системные администраторы не могут са- мостоятельно формировать упомянутые особенности, но в Unix распределены ключе- вые слова для определения некоторых из них. Наиболее распространенные особенно- сти приведены в следующей таблице. В ней также даны примеры программ, использу- ющих эти особенности для регистрации. Особенность Используется user пользовательскими процессами (принято по умолчанию) kem ядром Unix mail приложением электронной почты (sendmail) daemon системными демонами (named, ftpd) auth или authpriv системой аутентификации (login, su) cron подсистемами cron и at localO-7 зарезервирована для локального применения * символ подстановки для обозначения любой особенности Особенности разделяются по уровням. Уровень журнального сообщения опре- деляется его срочностью. Таким образом уровни могут быть использованы для про- ведения различия между срочными и информационными сообщениями. Так, сообще- ние, связанное с Telnet, может считаться информационным, а сообщение о сбое дис- ка - срочным. Предопределенные уровни syslog приведены в следующей таблице (пе- речислены в порядке убывания важности).
390 II Къмацдь' Уровень Описание еглегд alert аварийные ситуации действия, требующие непосредственного внимания crit критические условия err любые ошибки иного рода warning notice предупреждающие сообщения неошибочные условия info информационные сообщения debug отладочные сообщения none нерегистрируемая особенность Для получения журналов на машине должен быть запущен сервер syslog, обычно называемый syslogd. В большинстве стандартных реализаций sysloga конфигурирует- ся путем редактирования файла /etc/syslog.conf, состоящего из пар селекторов и дей- ствий. Селектор - это текстовое представление приоритета в файле syslog.conf. Он образуется путем объединения особенности и уровня, разделяемых точкой. Так, жур- нал с особенностью auth и уровнем info будет иметь селектор auth.info. Селектор используется для выбора действия, которое следует выполнить в отношении конкрет- ного сообщения. В качестве действия можно указать файл для регистрации сообще- ний, имена пользователей, которым будут направлены широковещательные сообще- ния, адрес дистанционного сервера. В одной строке одному действию могут соответ- ствоьать несколько селекторов (через точку с запятой), но также и одному селектору могут соответствовать несколько действий при добавлении в файл /etc/syslog.conf ряда строк с одним и тем же селектором. Примеры ♦ logger -р daemon.info "Shutting do rn Web-server" Ctrl+Z t В результате выполнения этой команды в файле регистрации (здесь /var/log/nics- sages) появилось такое сообщение (о закрытии Web-сервера): Sep 16 16:35:52 localhost root: Shutting down Web-server Следите за необычными системными сообщениями в журнале /var log/mcssagcs. операционная система регистрирует основную часть своей информации в этом файле А вот так можно привязать к одному селектору два действия, добавив следующие строки в файл /etc/syslog.conf: authpriv.* /var/loq/secure authpriv.* ₽logserver.auth.com Помимо файла /var/log/securc сообщения будут регистрироваться и на сервере @iogscrver.auth.com.
II. Команды 391 login - регистрирует пользователей в Linux lx Синтаксис login [username] login -р login -h host login -f name Команда login разрешает вход в систему Linux, регистрируя пользователей. Если в командной строке не указано имя пользователя username, предлагает ввести его, а затем, как правило, потребует еще и пароль. Команда выполняет некоторые административные действия и уведомляет пользо- вателя, если его ждет почта. Команда login использует файл /etc/securetty и проверя- ет, где (на каком терминале) пытается зарегистрироваться привилегированный пользо- ватель, или суперпользователь. Опции -f пате Пропускает вторую аутентификацию при регистрации. Эта опция не ра- ботает для суперпользователя. -h host Передает через login имя дистанционного узла; используется сервера- ми и устанавливается суперпользователем. -р Сохраняет предшествующее окружение, используемое getty. logname Синтаксис logname [option] Для нахождения имени используется файл /var/run/utmp.Ecnn в этом файле отсут- ствует элемент для вызывающего процесса, logname печатает сообщение об ошибке и завершается с кодом I. Опции —help Выводит описание опций программы и завершает ее. —version Выводит информацию о версии программы и завершает ее. Пример $ logname minha $ - печатает имя пользователя, вызвавшего эту К команду.
392 II Команды logrotate выполняет ротацию, сжимает и отправляет по почте системные журналы. Синтаксис logrotate [ -dv] [ -f | —force] [ -s | —state file] [ -m| —mail command] configfile+ logrotate — это программа общего типа, способная периодически сменять любой журнал регистрации. В Red Hat Linux программа logrotate выполняется как ежеднев- ное задание cron для сопровождения журналов этой операционной системы, но лишь немногие могут воспользоваться logrotate для управления журналами своих прило- жений. Наблюдение и уход за каждым файлом регистрации, или журналом, могут осу- ществляться в автоматическом режиме ежедневно, еженедельно, ежемесячно, а так- же, когда журнал станет чрезмерно большим. В процессе ротации журналов необходимо учитывать особенности работы с откры- тыми файлами. Многие приложения, в том числе и syslog, всегда сохраняют файлы регистрации в открытом состоянии вместо того, чтобы открывать и записывать в них данные по требованию. Благодаря этому сводятся к минимуму издержки на обработку таких файлов, и упрощается сам процесс регистрации, ибо файлы не нужно открывать и закрывать для записи каждого журнального сообщения. Но вместе с тем, если файл регистрации остается постоянно открытым, он не может быть полностью сменен, по- скольку все еще сохраняется процессом регистрации в открытом состоянии для запи- си журнальных сообщений. Большинство программ, открывающих файлы регистра- ции, предоставляют также возможность закрывать и повторно открывать такие файлы. В частности, утилита syslog повторно открывает файлы регистрации при посылке ей сигнала HUP. Если бы такая возможность отсутствовала, процесс регистрации пришлось бы останавливать для ротации журналов, а затем перезапускать, что неприемлемо в условиях производства, кроме разве что периодов технического обслуживания, когда большинство служб временно не работают. Информация, относящаяся к каждому журналу и правилам его ротации, по умолча- нию хранится в файле конфигурации под названием /etc/logrotate.conf. Чтобы сохра- нить промежуточное состояние между запусками, logrotate сохраняет время после- дней ротации каждого журнала в файле состояния, в Red Hat Linux он носит имя Zvar/ lib/logrotate/status. Файл состояния гарантирует, что logrotatc не будет выполнять смену журналов чаще одного раза в день, чтобы системный администратор не сделал это случайно еще раз. Любое количество конфигурационных файлов config_file+ может быть задано в командной строке. Содержимое предшествующих файлов конфигурации может быть перекрыто содержимым последующих файлов, поэтому порядок перечисления фай- лов является важным. Если в командной строке задано имя каталога, каждый файл в этом каталоге используется как конфигурационный. Часто один файл конфигурации включает другие конфигурационные файлы.
II. Команды 393 Опции . j Включает режим отладки и подразумевает опцию -v. В режиме отладки никакие изменения не могут быть произведены с журналами или же с файлом состояния программы logrotate. - f, —force Заставляет выполнять ротацию даже без особой необходимости. - m, —mail command Сообщает logrotate, какую команду command использовать при отправ- ке по почте журналов. Эта команда сможет принять два аргумента: тему сообщения и получателя. Данная команда затем должна считывать со- общение со стандартного ввода и отправить его получателю. По умол- чанию используется команда /bin/mail -s. - s, —state file Вынуждает logrotatc вместо /var/lib/logrotate/status использовать альтернативный файл состояния. —usage Печатает короткое сообщение по применению опций. Что касается опций, применяемых в файле конфигурации по имени /etc/ logrotate.conf, то они могут быть глобальными или специфичными для индивидуаль- ного файла регистрации. В частности, глобальные опции перечисляются непосредствен- но в отдельных строках, тогда как индивидуальные опции файлов регистрации указыва- ются следующим образом: путь_к_файлурегистрации { опции } Вот некоторые из наиболее употребительных опций: daily|wcekly|monthly Определяет периодичность ротации журналов compress (nocompress) Сжимает (или не сжимает) сменяемые журналы с помощью команды gzip create [режим][владелец][группа] Создает новый файл регистрации после ротации; права собственности и полномочия являются необязательными параметрами include маршрут Включает директивы из другого файла конфигурации или каталога кон- фигурационных файлов rotate пит Определяет число (лит) сохраняемых архивных файлов size=num[k|m] Выполняет ротацию файлов регистрации, когда журнал достигает ука- занного размера (лит) в килобайтах (к) или мегабайтах (ш) prerotate ... endscript Запускает команды оболочки, указываемые между операторами prerotate и endscript, до ротации журнала
394 II Команды postrotate ... endscript Запускает команды оболочки, указываемые между операторами postrotate и endscript, после ротации журнала Ротация журналов обычно осуществляется в зависимости от их размера или "воз- раста". Выбор одного из этих критериев для периодической смены файлов регистрации определяется доступным дисковым пространством и принятыми правилами сохранно- сти журналов. Если первостепенное значение имеет дисковое пространство, ротация журналов должна выполняться в зависимости от их размера, что позволяет постоянно поддерживать предсказуемое количество журналов регистрации. С другой стороны, принятые правила сохранности требуют хранить архивы журналов в течение несколь- ких месяцев или даже лет. В этом случае ротацию файлов регистрации следует выпол- нять в зависимости от срока их действия, а число сохраняемых журналов установить согласно принятым правилам, позволяющим соблюсти хронологию ведения журналов регистрации. Журналы регистрации, которые не разрастаются и периодически не сме- няются, будут оставаться небольшими по размеру, но в то же время в них будет содер- жаться устаревшая информация, тогда как журналы, которые быстро разрастаются, за- частую содержат больше информации, чем нужно для работы. Эти соображения наря- ду с дисковым пространством и правилами сохранности следует принимать во внима- ние при выборе критериев ротации журналов. Упомянутые подходы можно всегда реа- лизовать в определенной комбинации, в частности, выполнять периодическую смену файлов регистрации, если их размер превышает 50 Мбайт либо срок действия состав- ляет более двух месяцев. Пример Несмотря на многочисленные опции утилиты logrotate ее главная сила заключает- ся в файле конфигурации. Принятая по умолчанию конфигурация хранится в файле/etc/ logrotate.conf и выглядит примерно так: # see "man logrotate" for details # rotate log files weekly weekly I keep 4 weeks worth of backlogs rotate 4 f create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed fcompress 4 RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtrap — we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp rotate 1 } ♦ system-specific logs may be also be configured here.
II. Команды Как можно заметить, такие стандартные журналы из каталога Zvar/log, как messages и niaillog, вообще не упоминаются в файле конфигурации logrotate.conf, хотя они всегда подлежат ротации. Конфигурации для этих и ряда других журналов содержатся в файлах из каталога ZetcZlogrotatc.d и присоединяются к основному файлу конфигура- ции с помощью директивы include /etc/logrotate.d. - отображает строки, начинающиеся с указанных пре- фиксов. look Синтаксис look [-dfa][-t termchar] string [file] Утилита look отображает любые строки файла file, содержащие в качестве префик- са string. Так как look выполняет двоичный поиск, строки файла должны быть предва- рительно отсортированы, причем команда sort должна получить те же самые опции -d и/или -f, что и look. Если аргумент file не указан, используется файл ZusrZdict/words, сравниваются только алфавитно-цифровые символы, а регистр символов игнорируется. Опции - d Сравнивает только алфавит! ю-цифровые символы, использует набор ал- фавитных символов и порядок их следования, как в словаре. - f Игнорирует регистр символов алфавита. - а Использует альтернативный словарь (обычно ZusrZdictZweb2). - t tennchar Указывает символ, завершающий префикс. Будет производиться срав- нение символов, входящих в состав string, до первого появления termchar. Утилита look завершается с кодом 0, если была найдена и отображена одна строка или более, с кодом 1, если не была обнаружена ни одна подходящая строка, и с кодом более, чем 1, если возникла какая-нибудь ошибка. Пример % look -df bess Bess Bessel Bessemer Bessemer!ze Bessenerizes Bessie «
396 И Команды losetup - связывает loop-устройства с обычными файлами или блочными устройствами. Синтаксис losetup [~е encryption] [ -о offset] loop_device file losetup (-d] loop_device Команда losetup применяется, чтобы установить или отсоединить loop-устройства, а также показать их статус. Если задан единственный аргумент loop device, будет вы- веден статус соответствующего устройства. loop-устройства (или loopback-устройства - контурные устройства) в Linux позво- ляют манипулировать целой файловой системой внутри одного большого файла file. Поскольку большинство из пользователей не имеет запасного компьютера или же- сткого диска (а иногда и лишнего раздела) для тестирования и опробования разных (подчас опасных) команд, мы можем создать файл с образом требуемой файловой системы и монтировать ее, используя файловую систему типа loopback (по типу конту- ра обратной связи, или шлейфа, для кольцевой тестовой проверки) - специальную фай- ловую систему, позволяющую реализовать эту возможность. Опции - d Отсоединяет файл, или устройство, связанное с указанным 1оор-устрой- ством. - е encryption Разрешает шифрование данных, в качестве encryption применяются следующие ключевые слова: NONE не использует шифрование (по умолчанию) XOR использует простое XOR-шифрование DES использует DES-шифрование, защищающее пароли от сло- варных атак; в ядро должен быть добавлен необязательный пакет DES - о offset Стартует данные со смещением offset внутри заданного файла, или уст- ройства. Пример Прежде всего создадим файл объемом 40 Мбайт с блоками размером в 1024 байт, для этого понадобится 40000 блоков размером 1 Кбайт (1024 бант): I dd if=/dev/zero of=/tmp/lutest.img bs=1024 count=40000 40000+0 records in 40000+0 records out I А сейчас с помощью команды losetup нужно сделать так, чтобы вместо ASCII- файла система рассматривала данный файл в качестве блочного устройства: I losetup /dev/loopO /trnp/lutest-img
II. Команды 397 В файловой системе ReiserFS (тоже с журналированием) небольшие файлы под- держиваются более эффективно, чем в ext3. И хотя она пригодна для испольювания в качестве корневой файловой системы, официально Red Hat Linux такую возможность не поддерживает. Совсем другое дело дистрибутивы SuSE и Mandrake, поддерживаю- щие загрузку с файловой системы ReiserFS. И вот теперь с помощью команды mkreiserfs можно форматировать данный файл как файловую систему: I mkreiserfs /dev/loopO < mkreiserfs, 2002--------------> reiserfsprogs 3.6.4 mkreiserfs: Guessing about desired format.. mkreiserfs: Kernel 2.4.20-8 is running. Format 3.6 with standard journal - управля т принтео ,'М. Ipc Синтаксис Ipc [-A] [-a] [~Ddehug2eve2] [-Pprinter] [-Sserver] [-Uusername] [-V] [command [argument...]] Команда Ipc используется администратором системы для управления системой по- строчной печати. Для каждого сконфигурированного устройства построчной печати (элемент в файле /etc/printcan) может выполнять следующее □ активизировав. или деактивизировать принтер □ активизировать или деактивизировать очередь печати (spooling) принтера □ изменять порядок заданий в очереди печати □ определять состояние принтеров и связанных с ними очередей и демонов печа- ти Запущенная без аргументов, 1рс приглашает для набора команд со стандартного ввода; если же заданы аргументы argument, интерпретирует первый из них как коман- ду, а остальные - в качестве ее аргументов. Можно выполнить переназначение стан- дартного ввода, заставляя 1рс считывать команды из файла. .Опции - А Использует для аутентификации значение переменной окружения AUTH. - а Эквивалентно -Pall. -Pprinter Устанавливает очередь спула печати (all - все очереди), чтобы мани- пулировать ею. Если printer (или printei^fiost) не задан, использует при выборе принтера переменную окружения PRINTER или первый >пе- мепт файла printcap. - Sserver Посылает команды этому серверу. - V Печатает информацию о версии программы
II Команды -Vusername Считает, что запрос поступил от пользователя username -Ddebuglevel Устанавливает уровень отладки Команды ? [command...], help [command...] Печатает краткое описание каждой команды, указанной в списке аргу- ментов; если ни один аргумент не задан, печатает список доступных ко- манд. abort {all [printer] Немедленно прекращает работу активного демона спула печати на ло- кальном узле, а затем отключает процесс печати для всех (all) или ука- занных принтеров printer, запрещая стартовать новым демонам печати. active [pr@[Aori]] Подключается к серверу LPD ради указанного принтера. clean {all[printer} Удаляет из всех (ail) очередей печати или очереди указанного принтера локальной машины любые вре’менные файлы, файлы данных и управля- ющие файлы. client {all | printer ...} Распечатывает клиентскую конфигурацию и информацию printcap на локальной машине. debug {al 1 [printer] [string|off] Устанавливает отладочную строку string (общий уровень отладки, пе- ременную отладки или ключевое слово) для указанного принтера printer. defaultq Вносит в список для программы LPC принятую по умолчанию очередь, defaults Вносит в список принятые по умолчанию значения конфигурационной информации. disable {all [printer] Отключает очереди печати для всех (all) или указанных принтеров, down {alljprinter} message... Отключает очереди печати для всех (all) или указанного принтера, оста- навливает процесс печати и кладет сообщение message в файл состоя- ния принтера. Сообщение message можно не заключать в кавычки, enable {all (printer} Открывает локальную очередь печати (spooling) для всех (all) или пе- речисленных устройств printer. Дает возможность 1рг поместить но- вые задания в очередь печати. exit, quit Завершает |рс. hold printer{]obid] Задерживает в очереди указанного принтера printer задание jobid. holdall {all [printer] Устанавливает автоматическую задержку новых задании.
II. Команды 399 kill {all|pn/iter ...} "Убивает" сервер, на котором возникли проблемы. Ipd [pn/iter(a}[fto5/]] Получает PID демона LPD на принт-сервер. Ipq printer [opnon.s] Запускает ipq из Ipc. Iprm printer Jobid [jobid] Запускает Iprm из Ipc. move printer {jobid} destinationPrinter Пересылает указанное задание jobid на дистанционный принтер destinationPrinter и удаляет его при этом из очереди принтера printer. msg printer message text Обновляет сообщение состояния для указанного принтера. noholdall {а!1|рпигег} Отключает автоматическую задержку новых заданий. redirect [printer[destinationPrinter\off]] Перенаправляет задания из очереди принтера printer на другой принтер destinationPrinter или отключает возможность пересылки. redo [printerfjobid]] Перепечатывает выбранное задание jobid. release [printer[jobid]] Освобождает для печати задание jobid, ранее задержанное с помощью команды hold. reread [printer[@host]] Посылает запрос на сервер дистанционного узла host, чтобы перечи- тать конфигурационную информацию и файл printcap для принтера printer. restart {all|prZnrer} Пытается запустить новый демон печати. Это приходится делать, когда очередной демон завершил свою работу в силу каких-либо аварийных условий. Программа Ipq обычно информирует об отсутствии демонов печати Суперпользователь может вначале завершить работу текущего демона печати, а затем запустить новый. server {all \pi in ter} Печатает элементы printcap для указанного принтера так, как сервер LPD использовал бы их. start {а11|рпи/ег} Запускает печать и демона очередей печати для всех (all) или перечис- ленных принтеров printer. status {all \printer] Отображает состояние демонов и очередей печати локальной машины
400 II Команды stop |all|pnnter} Останавливает демона очереди печати после выполнения текущего га- дания и останавливает печать. topq printer ЦоЬпит ..] [user...] Помещает задания jobnum пользователя user в начало очереди печати указанного принтера printer. up {alllprmter} Эта команда противоположна команде down: включает спул (очередь печати) и запускает демон печати, сочетая действия команд enable и start. Пример На обычной системе команда Ipc status может отобразить следующее: f Ipc status Ip: queuing is enabled printing is enabled no entries no daemon present # Здесь показано состояние принтера по имени 1р (по умолчанию). Слово daemon (демон) в последней выведенной строке относится к фоновому процессу Ipd. Содер- жимое последней строки - no daemon present (в настоящее время демон отсутству- ет) - не должно вас волновать, так как демон, управляющий очередью печати, "ухо- дит", если каталог спула пуст, но всегда остается экземпляр демона принтера под назва- нием Ipd. ipa - демон построчной печати. Синтаксис Ipd [-FV][-hlogfile][-Ddebugopt] Копия Ipd обычно имеется в системе, ведь этот демон запускается еще в процессе загрузки системы. Лишь суперпользователь может запустить Ipd, если его по какой- либо причине нет в системе. После того как Ipd получает сигнал о наличии задания в очереди печати указанного принтера, он просматривает файл /etc/printcap, чтобы установить, принадлежит ли прин- тер вашей или другой системе (дистанционный принтер). Во втором случае локальный Ipd установит связь с дистанционным Ipd и начнет передавать ему файлы для печати, параллельно удаляя их из своего спула печати. Если принтер подключен к вашей системе, то Ipd проверит, не запущен ли уже де- мон печати для данной очереди. Если нет, то Ipd создаст копию самого себя, которая перешлет задания из очереди печати на принтер. Если вы инсталлировали Red Hat Linux, ваша система должна содержать каталоги спулов в /var/spool. Обычно в Unix в каталоге /var/spool хранятся очереди для мно-
II. Команды гих программ - электронной почты и новостей. Катало! и спулов печати располагаются в /var/spool/lpd, каждый тип принтера имеет свой собственный спул-каталог. Опции - L logfile Использует альтернативный файл для регистрации ошибок и сообще- ний отладки. - F Определяет запуск сервера LPD в режиме переднего плана. - V Печатает информацию о версии программы. - D debugopt Принимает разделяемый запятыми список отладочных установок в двух формах: facility=value или value, чтобы установить всеобщие значе- ния по умолчанию. Пр. аер Данная команда позволяет установить наличие демона Ipd в вашей системе: $ ps ах | grep Ipd 419 ? SW 0:00 [Ipd] 1690 pts/0 S 0:00 man Ipd 1833 tty2 S 0:00 grep Ipd $ ipq - проверяет очередь печати. Синтаксис Ipq f-a][-A]|-l][-L][-P printer]! sleeptime] I-V] (-D debugopt] [jobf...] Программа Ipq анализирует область спула, используемую Ipd для печати файлов на устройствах построчной печати. Аргументной# может быть именем пользователя, иден- тификатором задания, номером задания или базовым шаблоном замещения, прилагае- мым к итентификаторам заданий. Ключевое слово all (по умолчанию) отображает все задания. Вызванная без аргументов команда Ipq сообщает о заданиях, находящихся в очереди печати. Опции -а Заставляет сервер информировать о всех принтерах, упомянутых в printcap. -А Использует для аутентификации значение переменной окружения AUTH. -Ddebugopt Принимает разделяемый запятыми список отладочных установок в двх х формах: facility=value или value, чтобы установить всеобщие значе- ния по умолчанию -1 Выводит информацию по заданиям job#. -L При выводе информации устанавливает максимально подробный уро- вень.
402 II Команды -V printer Указывает определенный принтер. В противном случае используется заданный по умолчанию (или переменной окружения PRINTER) принтер Все остальные ар1ументы командной строки интерпретируются как имена пользователей претили номера заданий, представляющих интерес. -s Для каждой очереди печатает только итоговую строку состояния. -tsleeptime "Спит" между проверками очередей sleeptime секунд. -V Печатает информацию о версии программы. Пример Если вы ошибочно запустили печать большого файла и хотите остановить этот про- цесс, чтобы не переводить зря бумагу, можно воспользоваться командой Ipq, чтобы просмотреть текущие задания печати. $ Ipq Ip is ready and printing Rank Owner Job Files active misha 5 dfssdi $ Total Size 28652 bytes В настоящее время печатается задание (active в первом столбце) пользователя misha. Если вы не обнаруживаете своих заданий в подобном листинге, значит они уже распечатаны. 1рГ - передает задание принтеру, ставя его в очередь на печать. Синтаксис Ipr ]-А][-С class][-Ddebugopt][-F filterformat]]-h]]-i [numcols]]]-k] ]-J job][-K тш, mailTo][-p printer] ]-0] ]-r] [-R remoteAccount}]-s][-T title]]-U cser][-V]]-w width][~Z zoptions] I filename... ] Использует демона очереди печати, чтобы распечатать поименованные файлы пате в допустимых форматах. Демон применяет необходимые фильтры, чтобы распечатать файлы в соответствии с их форматами. Команда 1рг копирует указанные файлы в ката- лог спула (очереди печати). По умолчанию таким каталогом является /var/spool/lpd/lp. Периодически программа спула, или очереди печати, под названием ipd пересылает файлы из очереди печати на принтер. Опции А Использует для аутентификации значение переменной окружения Al ITH. -Ddebugopt Принимает разделяемый запятыми список отладочных установок в двз х формах: facility=value или value, чтобы установить всеобщие тече- ния по умолчанию. -к Отправляет задание прямо на сервер и обычно создает временный фай т для ввода перед отправкой
II. Команды 403 -Q Помещает имя очереди печати в файл задания. R remoteAccount Указывает учетную информацию (код счета), используемый дистанци- онной системой. -Z zoptions Передает опции zoptions с дополнительной информацией программе обработки временных очередей печати. •Sprinter -h Производит вывод на указанный принтер printer. Запрещает печатать страницы-разделители. -m mailto Посылает уведомление по электронной почте после выполнения задания. -г Удаляет файл после того, как он поставлен в очередь печати В целях безопасности не должен использоваться с опцией -s. -s D настоящее время отправляет фаллы прямо на сервер В старых вер сиях 1рг этот флаг предполагал использование символических ссылок вместо копирования файлов в каталог спула. -К num, -ftnum -Cclass Печатает num копий поименованных файлов. В целях классификации заданий замещает на странице-разделителе сис- темное имя (возвращаемое hostname) на строку class -}job Указывает имя распечатываемого задания на странице-разделителе. Обычно используется имя первого файла. -Уtitle Вместо имени файла указывает заголовок title для рг. -С user В целях учета печатает имя пользователя на странице-разделителе. -i [numcoZs] Определяет отступ во время печати; numcols — количество пробелов в начале каждой строки. По умолчанию отступ составляет восемь сим- волов. -v/num Определяет ширину страницы тля рг. -F format Задает спецификацию формата в виде одной строчной буквы: - b, 1 двоичный или литеральный файл, никакой обработки не произ- водится - с Полагает, что файлы созданы программой cifplot. - d Полагает, что файлы содержат данные в формате DVI(tcx). - f Интерпретирует первый символ каждой строки как стандарт- ный символ управления кареткой в FORTRAN. - g Полагает, что файлы содержат стандартные данные, созданные plot-утилитами, для построения кривых. - 1 Разрешает печатать управляющие символы, по запрещает раз- рывать страницы. - п Полагает, что файлы содержат данные в формате ditrofT (неза- висящая от устройств программа troff).
404 II Команды - р Использует рг для форматирования файлов. - t Полагает, что файлы содержат информацию в формате troff - v Полагает, что файлы содержат растровые изображения Пример Ставит в очередь печати файлы, имена которых начинаются с двух букв vv. Распе- чатка производится в двух экземплярах. % Ipr -#2 w*. % Iprm Си^тзксис Iprm [-а] [-А] [-Pprinter] [—VJ [-Uuser] [-Ddebuffopt) [ jobf... ] Команда Iprm удаляет задания из спула построчного устройства печати. Каждый пользователь может удалить лишь свои задания, хотя суперпользователь может уда- лить задания любого пользователя шег.Аргумснт job? может быть именем пользова- теля, идентификатором задания, номером задания или базовым шаблоном замещения, прилагаемым к идентификаторам заданий. Ключевое слово all (по умолчанию) от- ображает все задания. - удаляет задания из очереди печати. Опции -а Удаляет файлы из всех очередей печати, доступных пользователю. -А Использует для аутентификации значение переменной окружения AUTH. -Pprinter Указывает очередь печати принтера printer., в противном случае исполь- зуется заданный по умолчанию принтер. -V Печатает информацию о версии Iprm и также подробную информацию о процессах. U user Специально прилагает USERID для выполнения удалений на сервере. Это может выполнить лишь суперпользователь. -Ddebugopt Принимает разделяемый запятыми список отладочных установок в двух формах: facility=value или value, чтобы установить всеобщее значе- ние по умолчанию. job# Удаляет задание за номером job#. Этот номер можно получить с помо- щью Ipq. Если никакие аргументы и опции не заданы, Iprm удаляет текущее активное зада- ние, принадлежащее пользователю, вызвавшему команду.
II. Команды 405 is - выводит содержимое каталогов и информацию 1х об указанных файлах Синтаксис Is [option]...[file]... Выводит информацию оо указанных файлах file, по умолчанию отображает на экра- не содержимое текущего каталога без скрытых файлов. Опции - a, —all Выводит список всех файлов каталога, включая скрытые, имена кото- рых начинаются с точки. - А, — almost-all Выводит список всех файлов в каталогах, кроме текущего (.) и роди тельского (..) каталогов. - В, — ignore-backups Не включает в список файлы резервных копий, чьи имена оканчивают- ся символом развэ только они специа тьно не указаны в командной строке. d, —directory Выводит имена каталогов без их содержимого среди других типов фай- лов. - I pattern, —ignore=pattern Не включает в список файлы, чьи имена совпадают с шаблоном pattern. - L, —dereference Включает в длинный листинг информацию о файлах, на которые ссыла ются символические ссылки, вместо самих ссылок. - R, —recursive Отображает рекурсивно содержимое всех каталогов. - D, —dired В листинге длинного формата (опция -1) печатаем дополнительную стро- ку после главного вывода: //DIRED//BEG1 END1 BEG2 END2 Здесь пары BECW и ENDW обозначают целые числа, отмечающие по- зиции в байтах соответственно начала и конца каждого имени файла в выводе. Подобный листинг предназначен облегчить поиск имен фай- лов редактору Emacs. - G, —no-group В листинге длинного формата запрещает выводить информацию о груп- пах. -h, —human-readable Добавляет к значению каждого размера букву М, обозначающую коли- чество мегабайт (1048576 байт).
406 1 - Н, -si Добавляет к значению каждого размера букву М, обозначающую коли- чество мегабайт (1000000 байт) в системе SI (International System of Units - в международной системе единиц измерения). - i, —inode Печатает слева от имени каждого файла в листинге длинного формата его индексный дескрип гор - 1, —format=long, — format=verbose Создает листинг длинного формата, включая в него для каждого файла его тип, полномочия, количество жестких ссылок, имена пользователя и группы, размер в байтах, временную метку (по умолчанию время мо- дификации). - о Эта опция эквивалентна применению —format=long и —no-group. - s, —size Печатает слева от имени количество занимаемых файлом блоков раз- мером в 1024 байт. - с, — time=ctime, lime=status, —time=use В случае использования листинга длинного формата печатает статус вре- мени изменения (dime в дескрипторе файла) вместо времени модифи- кации. - f Не сортирует, отображая файлы в произвольном порядке; допускает оп- ции aU, но запрещает опции -1st - г, —reverse Везде, где используется сортировка, выполняет ее в обратном поряд- ке: имена файлов списка располагаются в обратном алфавитном поряд- ке, первыми также выводятся самые новые файлы и самые маленькие по размеру и т.д. - S. — sort-size Сортирует файлы по размеру: первыми в списке располагаются самые большие файлы. - t, - sort-time Сортирует по времени модификации (mtime в дескрипторе файла): са- мые новые файлы идут первыми. - и, — time=atime, — time=access В случае использования листинга длинного формата печатает время пос леднего доступа (atime в дескрипторе файла) к файлу. - U, —sort- none Не выполняет сортировку и включает файлы в список в том порядке, в каком они хранятся в каталоге. - v, — sort=version Сортирует по имени и номеру версии (индекс/версия) располагая фай- лы с самым маленьким номером первыми - X, —sort=extension Сортирует содержимое каталога в алфавитном порядке по расширени- ям имен файлов (символы после последней точки). Файлы без расши- рений располагаются раньше.
II. Команды 407 -1, — format=single-column V-s Выводит по одному файлу в строке. Такой формат используется по умол- чанию, если стандартный вывод команды направляется не на терминал -С, — format=vertical Выводит имена файлов по столбцам, сортируя по вертикали. Такой фор- мат принимается по умолчанию для команды Is, если в качестве стан- дартного вывода используется терминал. —со!ог[^и'Лел] Для распознавания типов файлов использует цвет, при этом параметр when может отсутствовать либо принимать одно из следующих значений: попе вообще не использует цвет (по умолчанию, auto использует цвет, если стандартный вывод направляется на терминал always всегда использует цвет. Опция —color при отсутствии when эквивалентна —color=always. -F, —classify, —indicator-style=classify Добавляет к каждому имени файла символ, указывающий тип. Ниже при- веден перечень символов: * обычные исполняемые файлы / каталоги @ символические ссылки | FIFO = сокеты К именам обычных файлов никакой символ не добавляется. —full-time Выводит время в полном формате, включающем секунды. —indicator-style=won/ Добавляет индикатор word к именам элементов. Допускаются следую- щие значения индикатора: попе не добавляет никаких индикаторов (по умолчанию) file-type добавляет символ типа (см.опцию -F) кроме символа * classify добавляет * к именам обычных исполняемых файлов, в противном случае использует договоренности для file-type - k, —kilobytes Печатает размер файлов в виде количества блоков по 1024 байт, пере- крывая принятый по умолчанию размер блоков. - m, — format=commas Включает в список по горизонтали столько файлов, сколько может по- меститься в строке, отделяя их друг от друга запятой и пробелом. - n, — numeric-uid-gid Вместо имен файлов включает в список числовые значения U1D и G1P - р, -file-type, —indicator-style=filc-type Действует подобно опции -F, не помечает лишь исполняемые файлы
408 II Команды -х FORMAT, -format-across, —format=horizontal Выводит имена файлов по столбцам, сортируя их по горизонтали -Т cols, —tabsize=co/s’ Табулирует в соответствии с шириной столбца cols. По умолчанию — 8. Если cols установлен в 0, вообще не применяет табуляцию. -w, —width=co/s Устанавливает ширину экрана, по умолчанию берет ее из терминальных установок, если это возможно. В противном случае использует пере- менную окружения COLUMNS, если она установлена, иначе принимает ширину экрана равной 80. -b, —escape Выводит неграфические символы в именах файлов, используя после об- ратного слэша алфавитные и восьмеричные последовательности подоб- но тому, как это делается в С. -N, —literal Печатает только имена файлов. -q, —hide-control-chars Вместо неграфических (неотображаемых) символов в именах файлов печатает вопросительные знаки. Используется по умолчанию, если вы- вод направляется на терминал. -Q, —quote-name Заключает имена файлов в двойные кавычки. —quoting-style=H'ord Рассматривает выходные имена в стиле значений параметра word: literal выводит имена файлов как они есть shell если имена содержат метасимволы оболочек, подхо- дит к ним с точки зрения оболочек shell-always в любом случае подходит к именам файлов с точки зрения оболочек с рассматривает имена файлов как строки языка С; дей- ствует подобно опции -Q escape действует подобно значению с, ио опускает двойные кавычки locale действует подобно значению с, но использует кавыч- ки, пригодные для локали; по умолчанию заложена пара - обратная и прямая кавычки Можно указать значение по умолчанию опции -quoting-style с помо- щью переменной окружения QUOTING STYLE Если переменная ок- ружения нс установлена, в качестве значения по умолчанию выбирает- ся literal. —show-control-chars Печатает в именах файлов неграфические символы как они есть, что принято по умолчанию.
II. Команды 409 —block-size size Использует блоки размером size. —help Печатает сообщение по использованию и завершает программу. —version Печатает информацию о версии программы и завершает ее. Пример $ Is -al ИТОГО 2892 drwx 22 misha misha 4096 ИЮН5 2 !1:10 . drwxr-xr-x 6 root root 4096 ИЮН30 16:24 .. -rw 1 misha misha 1249 HUH 16 19:49 .ICEauthority -rw 1 misha misha 115 ИЮН 16 12:58 .Xauthority -rw-rw-r 1 misha misha 0 ИЮН13 18:39 .addressbook -rw 1 misha misha 2285 ИЮН 13 18:39 .addressbook.lu -rw-rw-r 1 misha misha 165 ИЮН19 21:24 .article -rw 1 misha misha 15289 ИЮН 2 22:04 .bash history -rw-r—r 1 misha misha 24 ИЮН 30 16:24 .bash logout -rw-r—r 1 misha misha 230 ИЮН 30 16:24 .bash profile -rw-r—r 1 misha misha 124 ИЮН30 16:24 .bashrc drwx 4 misha misha 4096 ИЮН 9 01:08 .ее -rwxr-xr-xmisha misha 333 ИЮН30 16:24 .emacs drwx 3 misha misha 4096 ИЮЛ 16 19:48 .enlightenment drwx 6 misha misha 4096 ИЮЛ 16 19:48 .gnome drwxrwxr-x 2 misha misha 4096 ИЮЛ 9 00:59 .gnome-desktop drwxr-xr-x 2 misha misha 4096 ИЮЛ 9 03:28 . gnome-help-browser drwx 2 misha misha 4096 ИЮЛ 8 23:35 .gnome private drwxr-xr-x 3 misha misha 4096 ИЮЛ 30 16:24 .kde -rw-r—r— 1 misha misha 479 июли 21:17 .kderc -rw-rw-r 1 misha misha 115 ИЮЛ 22 00:56 .letter drwxrwxr-x 2 misha misha 4096 ИЮЛ 16 19:49 -me drwxrwxr-x 4 misha misha 4096 ИЮЛ 9 01:26 -netscape -rw 1 misha misha 456 ИЮЛ 13 23:36 .pine-interrupted-mail -rw-rw-r 1 misha misha 14044 ИЮЛ 13 18:35 -pinerc -rw-r—r 1 misha misha 3394 ИЮН 30 16:24.screenrc drwx 3 misha root 4096 ИЮЛ 1 14:18 .xauth drwxr-xr-x 5 misha misha 4096 ИЮН 30 16:24 Desktop -rw-rw-r— 1 misha misha 0 ИЮЛ 9 00:41 PRIH51 drwxrwxr-x 2 misha misha 4096 АВГ 7 20:38 RCS -rw-rw-r— 1 misha misha 183 АВГ 8 15:32 RMAIL -rw-rw-r— 1 misha mail 119677 ИЮЛ 8 15:20 RMAILOSE.0 -rw-rw-r— 1 misha misha 274439 ИЮН 13 12:27 WIN -rw-r—r 1 misha misha 16780 ИЮН 8 21:38 XF86Config -rw-rw-r 1 misha misha 2623 АВГ 18 22:20 arch.gz drwxrwxr-x 2 misha misha 4096 АВГ 11 18:32 evsdir -rw-rw-r 1 misha misha 280 АВГ 19 22:58 dead.article -rw 1 misha misha 808 СЕВ 1 15:25 dead.letter drwxrwxr-x 2 misha misha 4096 СЕВ 19 14:00 git Irwxrwxrwx 2 misha misha 15 АВГ 6 21:05 hhh -> /rab/person/hhh -rwxrwxrwx 1 misha misha 124 ИЮЛ 1 15:23letterall -rwxrwxrwx 1 misha misha 100 ИЮЛ 1 14:56letterall" -rw-rw-r 1 misha misha 35763 ИЮН 30 20:50lex.yy.c -rwxrwxr-x 1 misha misha 20340 АВГ 30 21:05 lexout drwx 2 misha misha 4096 ИЮН 13 18:36 mail -rw-r—r 1 root root 13 ИЮН 30 21:45 mainletter
410 II Команды -rw-rw-r 1 misha misha 31 АВГ 1 15:51 misha -rw-rw-r— 1 misha misha 16 АВГ 1 15:24 misha” -rw-r—г Iroot root 2370 АВГ 16 16:04 my.ps -rw-rw-r 1 misha misha 8192 CEH 4 19:55 nnn drwx 2 misha misha 4096 CEH 9 01:25 nsmail -rw-rw-r 1 misha misha 0 CEH 12 11:39 photo01.gif Isattr Синтаксис Isattr [-RVadvlJ[file...] Распечатывает атрибуты указанных файлов file. Опции - печатает атрибуты файла второй расширенной фай- ловой системы Linux, в том числе и ранее установ- ленные chattr. -R Рекурсивно отображает атрибуты каталогов и их содержимого. -V Отображает версию программы. -a Распечатывает информацию по всем файлам каталога, даже по тем, чьи имена начинаются с точки (скрытые файлы). -d Отображает каталоги, как другие обычные файлы, вместо вывода спис- ков содержимого. -V Информирует о версии файлов. -1 Пример Подробно информирует об атрибутах, добавляемых с помощью коман- ды chattr. $ Isattr гаЫ35 ----1---гаЫ35 ? Ismod - выводит список загружаемых модулей. Синтаксис Ismod Отображает информацию о всех загружаемых модулях: имя, размер, счетчик ис- пользований.
II Команды 411 Isof - составляет список открытых процессами файлов в системах Unix. Синтаксис Isof [-’abCtllnNOPRstUvV] l-л A][-c c][+|-d S][+|-D P][ + |-f [CfgGnJ] |-F [f]][-g |s]]I-i 1-iJK-k *] ( + I-L шП + 1-ИП-о [o]][-p s] [ + |-r [t]J[-S [t]H-T I s)[ + |-wH — II name;; ] В качестве открытого файла names может выступать обычный файл, каталог, блоч- но-специальный файл, символьно-специальный файл, исполнительная текстовая ссыл- ка, библиотека, поток или сетевой файл. Под сетевым файлом подразумевается сокет Internet, файл NFS, сокет домена Unix. В отсутствие каких-либо опций сообщает о всех открытых файлах, принадлежащих всем активным процессам. Опции -h Отображает сокращенную форму вывода, обнаруживая и поясняя ошиб- ки в прилагаемых опциях. - а Приказывает совместно применить все прикладываемые опции. - А А Указывает альтернативное имя списка файлов, где могут быть найдены в ядре адреса динамических модулей. - Ь Отменяет функции ядра, могущие блокировать - Istat(), readlink(), stat(). - с с Выбирает список файлов для выполняющихся процессов, чья команда начинается с буквы с. - С Запрещает печатать компоненты маршрутов из поименованного кэша ядра. +d 5 Выполняет поиск всех открытых образцов каталога л и содержащихся в нем файлов и каталогов верхнего уровня, не опускаясь по дереву ката- лога s и не следуя символическим ссылкам внутри него. - d s Выбирает список файлов, чьи дескрипторы располагаются в разделен- ном запятыми списке s (без пробелов). +D D Выполняет поиск всех открытых образцов каталога D и содержащихся в нем файлов и каталогов на полную глубину, игнорируя символические ссылки внутри D. - D D Использует кэшированный файл устройства. Анализ с помощью функ- ции stat() всех узлов дерева каталога /dev затратен по времени. Инфор- мация, необходимая Isof (номера устройства и дескриптора, маршрут), меняется редко. И обычно Isof поддерживает текстовый ASCll-файл кэшированного /dev. За опцией -D должна следовать функциональная
412 II Команды +]-f [cfgGn] -F/ -gH -i[i] -kit -I +|-L [1] -ni m буква; за функциональной буквой может следовать необязательное имя маршрута. Isof распознает следующие функциональные буквы: ? сообщает маршруты кэшированного файла устройств b строит кэшированный файл устройств i игнорирует кэшированным файл устройств г считывает кэшированный файл устройств и считывает и обновляет кэшированный файл устройств Функции Ь, г и и сопровождаются именем маршрута. Определяет, как интерпретировать аргументы имени маршрута Знак "+" разрешает, а знак запрещает эту комбинацию Эти символы опреде- ляют требования к информации файловой структуры: с счетчик использования структуры файла f адрес файловой структуры g аббревиатуры флагов файла G флаги файла в шестнадцатеричном формате п адрес узлов файловой структуры Определяет список символов обозначающих поля, выводимые для обработки другой программе, а также символ, завершающий каждое выходное поле. Каждое выводимое поле обозначается в f единствен- ным символом. По умолчанию завершающий символ установлен в зна- чение NL. Выбирает список файлов для обработки с необязательными идентифи- каторами групп, представленными в разделенном запятыми наборе (без пробелов). Выбирает список файлов, Internet-адрес которых совпадает с указан- ным в i адресом Если никакой адрес не указан, эта опция выбирает все сетевые файлы Internet и X 25 Если указано значение -i4 или -i6, ото- бражаются только файлы соответствующих версий протокола IP. Указывает имя файла ядра вместо /vmunix, /mach и т.д. Запрещает перевод пользовательских идентификаторов в имена регис- трации Разрешает (+) или запрещает (-) список счетчиков ссылок на файлы, где они доступны; они недоступны для сокетов или большинства FIFO и каналов. Когда задана опция +L без последующего номера, выводят- ся все счетчики ссылок. Когда задана опция -L (по умолчанию), ника- кие счетчики не выводятся. Спецификация в форме +L1 выбирает от- крытые файлы, на которые нс было ссылок, а в форме +aLI <file system> — открытые файлы указанной файловой системы, на которые не было ссылок. Вместо /dev/kmem или /dev/mem указывает фаЛл памяти ядра, так на- зываемый файл аварийного дамиа.
II. Команды +|-М -n -N -о -о о -О -ps -Р 4-1-гИ -R -s -SB -ТВ 413 Разрешает (+) или запрещает (-) вывод portmapper-pei истрации (см portmap) для локальных портов TCP и UDP. Запрещает для сетевых файлов преобразование сетевых номеров в ад- реса хостов. Выбирает файлы NFS. Всякий раз отображает смещение файлов. Опции -о и -s являются взаи- моисключающими. Определяет число десятичных цифр, которые следует распечатать пос- ле Ot в смещении файла, до того как форма будет переключена в Ох. Если нулевое число (неограниченное) направляется Isof, для всего вы- вода будет использоваться форма Ot. Обходит обычно применяемую стратегию, препятствуя блокировкам со стороны некоторых операций ядра. Составляет список файлов для обработки, чьи ID располагаются в раз- деленном запятыми списке $. Запрещает для сетевых файлов преобразование номеров в имена пор- тов. Запускает Isof в режиме повтора: открывает файлы, выбранные други- ми опциями, делает задержку в t секунд (по умолчанию 15), затем по- вторяет вывод листинга и задержку до тех пор, пока не останавливается по условию, определенному в префиксе к данной опции. Если в каче- стве префикса стоит минус, выполняет повтор бесконечно. Isof может быть прервана любым прерыванием или сигналом QUIT (см. приложе- ние I). Если в качестве префикса стоит плюс, завершает первый цикл без вывода информации по открытым файлам. Выводит идентификатор родительского процесса в столбце PPID. Всякий раз отображает размер файла. Если файл не имеет размера (пус- той), ничего не отображается. Опции -о (без последующего счетчика) и -s являются взаимоисключающими. Указывает необязательный таймаут в секундах для функций ядра: Istat(), readlinkQ, statQ. Минимальное значение параметра t равно 2, приня- тое по умолчанию - 15, когда никакое значение не задано, берется при- нятое по умолчанию. Управляет выводом (другие заголовки) информации TCP/TPI по следу- ющим ключевым символам: q выбирает длину очереди вывода s выбирает отчет по состоянию w выбирает размер окна вывода Опция -Т без последующих ключевых символов отменяет вывоц ин- формации TCP/TPI.
414 II Команды -t Создает краткий отчет лишь с идепт ификаторами процессов, ио без за- головков, так что вывод может быть передан по конвейеру команде kill Эта опция предполагает опцию -W. -US Заказывает список файлов для пользователей, чьи разделенные запя- тыми имена регистрации или пользовательские идентификаторы распо- ложены в наборе s. -U Заказывает листинг сокетов домена Unix. -V Выводит подробную информацию по версии Isof, а также сопутствую- щую информацию. -V Показывает компоненты (имена команд и файлов, Internet-адреса, фай- лы NFS и пр.), что были заказаны для включения в листинг, но не были обнаружены. +I-W Разрешает (+) или запрещает (-) подавлять предупреждающие сооб- щения. -- Сигнализирует о конце ключевых опций командной строки. Пример Следующий листинг показывает файлы, открытые пользователем misha и для него: f Isof -u misha COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 2566 misha cwd DIR 3,2 4096 227233 /home/misha bash 2566 misha rtd DIR 3,2 4096 2 / bash 2566 misha txt REG 3,2 626028 272767 /bin/bash bash 2566 misha mem REG 3,2 88760 272658 /lib/ld-2.3.2.so bash 2566 misha mem REG 3,2 21040 385054 /usr/lib/gconv/ gconv-modules.cache bash 2566 misha mem REG 3,2 11784 272766 /lib/ libtermcap.so.2. 0.8 bash 2566 misha mem REG 3,2 14408 272669 /lib/libdl- 2.3. 2. so bash 2566 misha mem REG 3,2 1465640 272665 /lib/libc-2.3.2.so bash 2566 misha mem REG 3,2 50028 272679 /lib/libnss_files- 2.3. 2. so bash 2566 misha mem REG 3,2 30305776 449067 /usr/lib/locale/ locale-archive bash 2566 misha Ou CHR 4,1 38644 /dev/ttyl bash 2566 misha lu CHR 4,1 38644 /dev/ttyl bash 2566 misha 2u CHR 4,1 38644 /dev/ttyl bash 2566 misha 255u CHR 4,1 38644 /dev/ttyl find 2716 misha cwd DIR 3,2 4096 483625 /usr/share/apps/ carddecks/cards- -gdkeard-bonded find 2716 misha rtd DIR 3,2 4096 2 / find 2716 misha txt REG 3,2 51028 320876 /usr/bin/find find 2716 misha mem REG 3,2 88760 272658 /lib/ld-2.3.2.so find 2716 misha mem REG 3,2 21040 385054 /usr/lib/gconv/ gconv-modules.cache
II. Команды 415 Ispci выводит информацию о всех PCI-устройствах. Синтаксис Ispci [option] Команда Ispci выводит информацию о всех шинах PCI данной системы и подключен- ных к ним устройствах. Локальная 32-разрядная шина PCI (Peripheral Component Inter- connect - подсоединение периферийных компонентов (устройств)) способна поддер- живать 64-битное расширение для процессоров последнего поколения класса Pentium. Разработана фирмой Intel. Работает на фиксированной тактовой частоте 33/66 МГц, взаимодействие через шину происходит без участия ЦП. Подключаемые устройства позволяет конфигурировать автоматически, что дает серьезные преимущества при ис- пользовании в ПК технологии Plug-n Play. Чтобы использовать Ispci. нужно иметь ядро версии 2.1.82 или выше. Опции -v Выводит детальную информацию о всех устройствах; двойная опция -vv увеличивает количество выводимой информации. - п Сообщает информацию о разработчике PCI и числовые коды устройств. - х Выводит стандартный заголовок конфигурации PCI: первые 64 байта в шестнадцатеричном виде. Тройная опция -ххх позволяет получить дамп полной конфигурации PCI. - b Показывает все IRQ и адреса, как их видят платы на шине РС1 (ядро может видеть по-другому). - t Показывает диаграмму в виде дерева, содержащего все шины, пере- мычки, устройства и подключения между ними. - s [[hws]:][s/ot][.[/unc]] Показывает только устройства на указанной шине, слот и их функции (правильнее сказать, шестнадцатеричный номер функции). d [vendor]:[device] Показывает только устройства с указанными идентификаторами произ- водителя и устройства. Шестнадцатеричные идентификаторы могут быть опушены или даны в виде * (звездочки), что означает любое зна- чение. - i file Использует указанный файл в качестве БД с идентификаторами PCI-уст- ройств вместо принятого по умолчанию файла (например, /usr/share/ hwdata/pci.ids в Red Hat Linux 9). - P dir Использует каталог dir, содержащий информацию по шине PCI, вместо принятого по умолчанию Zproc/hus/pci. m Выполняет дамп данных устройств PCI в машинном читаемом формате для облегчения последующего анализа сценариями. Поддерживаются оба формата дампа, обычный и расширенный.
4 lb 11 Команды - M Вызывает специальный режим, инз еньивно сканирующий шину, с целью обнаружения всех подключенных устройств в том числе и с неверно сконфигурированными перемычками. Этот режим доступен только су- перпользователю и предназначен исключительно для отладки дефект- ных устройств, может даже вызвать аварию машины. - - version Выводит информацию о версии программы, опция должна применяться в автономном режиме. - Р dir Использует стиль конфигурирования доступа к каталогу dir, появивший- ся только в Linux 2.1 и более новых версиях, вместо /proc/bus/pci. - Hl Использует прямой доступ к устройству через механизм 1 Intel-конфи- гураций (только i386 и совместимые). - Н2 Использует прямой доступ к устройству через механизм 2 Intel-конфи- гураций (только 1386 и совместимые). Таким методом можно обратить- ся только к первым 16 устройствам любой шины, и в ряде случаев он вообще неприменим. - F file Из данного файла извлекает всю информацию с выводом по команде Ispci -х. Пример ♦ Ispci 00:00.0 Bost bridge: Intel Corp. 430FX - 82437FX TSC [Triton I] (rev 02) 00:07.0 ISA bridge: Intel Corp. 82371FB PIIX ISA [Triton I] (rev 02) 00:07.1 IDE interface: Intel Corp. 82371FB PIIX IDE (Triton I] (rev 02) 00:0b.0 USB Controller: OPTi Inc. 82C861 (rev 10) 00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/ 8139C/8139C+ (rev 10) 00:0f.0 VGA compatible controller: Matrox Graphics, Inc. HGA 1084SG [Mystique] (rev 02) Эта команда очень удобна, когда нужно определить набор имеющихся в плате мик- росхем. lynx Си. такс с lynx [ option ] [path | CWL] lynx — полнофункциональный клиент WWW (не требует X) для пользователей, ра- ботающих на курсоро-адресующих текстовых дисплеях (терминалы vtlOO и их воз- можные эмуляторы). lynx может отображать па экране дисплея документы в формате Н LML, содержащие ссылки как на файлы локальной системы, так и на файлы дистанци- онных систем, работающих под Gopher, HTTP, FTP, WAIS и NNTP серверами. lynx может использоваться для доступа к информации WWW или для построения информационных систем, изначально предназначенных для локального доступа. |у их используется для построения некоторых CWIS (Campus Wide Information System университетских информационных систем), но его также можно применять для созда- - запускает браузер WWW
II. Команды 417 ния систем, изолированных в рамках одной локальной cei и. При стар ie lynx загружает любой локальный файл, определяемый аргументом (локатором) UKL. Опции Ожидает получения аргумента со стандартного ввода. -accept all cookies Принимает все Cookies - коды связи протокола HTTP; клиент может послать такой код сверху при последующих запросах. -anonymous Накладывает ограничения на анонимный счет (см. -restrictions). -assume_charset=A//A/£name Определяет набор символов MIMEname для документов. -assume_local_charset=A//A/£nome Предназначает указанный набор символов для локальных файлов. -assume_unrec_charset=M/A/£name Использует набор MIMEname вместо нераспознанных наборов симво- лов. -auth =ID.PASSWD Устанавливает идентификатор авторизации ID и пароль PASSWD, требу- емые в некоторых системах для проверки защищенных документов. -base Предусматривает комментарий URL и тег BASE при выводе дампов text/html в случае опции -source. -blink Требует высокоинтенсивные фоновые цвета, если это поддерживается терминалом пользователя. -book Использует закладку при запуске lynx и загрузке стартовой страницы. -buriednews Включает сканирование новых статей новостей для "захороненных" ссы- лок и конвертирует их в новые ссылки. -cache=number С помощью number устанавливает количество кэшируемых докумен- тов; по умолчанию - 10. -case При поиске строк учитывает регистр букв. -cfg=filename Использует указанный файл в качестве файла конфигурации вместо ис- пользуемого по умолчанию lynx.cfg. -child С помощью левой стрелки осуществляет выход в стартовом файле без сохранения содержимого. -cmd_log=/i/e«ame Записывает набираемые на клавиатуре команды в указанный файл filename. -cmd_scripl=filename Считывает набранные па клавиатуре команды, ранее записанные с по- мощью опции -emdjog. нз указанного файла filename.
418 II Команды -color Устанавливает режим цветовой поддержки, если такой режим доступен, что эквивалентно установке переменной окружения COLOP TLRM, для этого lynx должен быть откомпилирован с библиотек >и slang. -cormect_timeout=/7 Устанавливает при соединении //-секундный (по умолчанию - 18000> тайм-аут. -cookies Включает поддержку заголовков Cookies. -cookie_file=yiZena/ne Указывает файл для сохранения Cookies. -cookie save_file=/i/enome Хранит cookies в заданном файле. -core В случае фатальных ошибок выдает дампы. -crawl Выводит каждую страницу в файл, если задана опция -traversal, или же на стандартный вывод, если задана опция dump. Формат вывода оди- наков в обоих случаях. -debug-partial Устанавливает на стадиях показов задержку согласно MessageSecs. -<lisplay=DISPLAY Устанавливает переменную дисплея для программ, запускаемых через гехес. -dont_wrap_pre Запрещает заключать текст в угловые скобки с опциями -dump и -crawl. -dump Готовит форматированный вывод документа, заданного по умолчанию или указанного в командной строке, и направляет его на стандартный вывод. -editor=£Z)77’OZ? Использует заданный редактор, возможные значения - vi, ed. emacs и т.п. -emacskeys Допускает перемещения с помощью клавиш, подобные тем, что при- меняются в emacs. -enable-scrollback Включает режим совместимости с клавишами scrollback коммуникаци- онных программ. -error_file=/i/e Определяет файл, где lynx приводит отчет по кодам доступа HTTP. -схес Разрешает выполнение локальных программ, обычно эта возможность не включается. -fileversions Включает все версии файлов в локальные листинги каталогов VMS. -force_empty_hrefless_a Требует, чтобы элементы HREF-iess дескриптора А были пустыми. За- крывает их сразу же после просмотра.
II. Команды 419 -force html -force secure -from Рассматривает первый документ как HTML-докумеит. Включает флаг безопасности для SSL cookies. Включает передачу заголовков From (от кого). -ftp -getdata Запрещает ftp-доступ- Заполняет форму информацией со стандартного ввода, используя ко- манду GET, и выводит результат заполнения. -head Отправляет запрос HEAD для MIME-заголовков. help Печатает краткое описание синтаксиса команд lynx. -hiddenlinks=[optton] Управляет отображением скрытых связей. При этом option может при- нимать следующие значения: merge нумерует скрытые связи вместе с другими связями в по- рядке их появления в документе и отображает заключен- ными в квадратные скобки listonly показывает скрытые файлы только в экранах L>ist и лис- тингах, создаваемых опцией -dump или меню P>rint, но они возникают отдельно в конце этих списков; такая воз- можность заложена по умолчанию ignore не отражает скрытые связи даже в листингах -historical Включает использование > или —> в качестве терминатора коммента- риев. -homepage=URL Устанавливает домашнюю страницу отдельно от стартовой. -image_links Включает ссылки на все изображения. -index =<//?/. Устанавливает индексный файл для указанного локатора URL. -justify Осуществляет выравнивание текста. -link=number Устанавливает счетчик файлов Inkft.dat, создаваемых с помощью оп- ции -crawl, в значение number. -localhost Отменяет использование локаторов URL, указывающих на дистанцион- ные узлы. -locexec Разрешает исполнение локальных программ только от локальных фай- лов. -mime header Выводит MIME-заголовок выбранного документа, полученный при про- смотре его исходного кода. -minimal Включает минимальную версию, осуществляющую синтаксический ана- лиз комментариев. -newschunksize=«wn/>er Устанавливает количество статей в листингах отдельных частей.
420 II Команд -ilex'. smaxchunk=numZ>er -nobold Проверяет максимальное количество статей новостей в листингах, за- даваемое number, перед тем как делить на части Запрещает выполнять выделение полужирным шрифтом. -nobrowse Запрещает просмотр каталогов. -ПОСС Запрещает применять для собственных копий приглашения Сс: в поч- товых сообщениях. -nocolor Отключает цветовой режим, перекрывая возможности терминала, лю- бой из флагов -color, переменную COLORTERM, но сохраняет уста- новки файла .lynxrc. -noexec Запрещает исполнение локальных программ, что принято по умолча нию. -nofilereferer Препятствует передаче заголовков Referer для файлов URL. -nolist Запрещает выводить в дампах список ссылок. -nolog Запрещает отправлять по почте владельцам документов сообщения об ошибках -nonrestartingsigwinch -nopause -noprint -noredir Мгновенно реагирует на оконные изменения в случае запуска из-под xterm. Отменяет паузы при отправке сообщений о состоянии документа. Запрещает большинство функций печати. Запрещает автоматическое перенаправление и печатает сообщение со ссылкой на новый локатор URL. -noreferer Запрещает передачу заголовков Referer (ссылок). -noreverse Запрещает режим реверсного видео. -nosocks Отменяет применение SOCKS proxy-raw. -nostatus Запрещает передавать сообщения, связанные со статусом документа. -nounderline Запрещает видеоатрибуты, осуществляющие подчеркивание в докумен- те. -numberfields Помимо нумерации ссылок вводит нумерацию входных полей докумен- та. -number links Вводит нумерацию ссылок. -partial Отображает при загрузке страницы частей документа. -pauth=/O:R4SS!LD Устанавливает идентификатор авторизации ID и пароль Р1SSH D, треЬх емые для проверки на защищенном сервере Proxy. -popup Устанавливает поддержку выбора опций через "всплывающие" окна или списки радиокнопок.
421 II. Команды -post data -preparsed -prettysrc -print -raw -realm -reload -restrictions1 Обрабатывает информацию в виде формы со стандартного ввода ис- пользуя команду POST, и выводит результаты. Отображает результат синтаксического анализа исходного текста HTML, когда используется совместно с опцией -source или в режиме просмотра исходного текста. Показывает в цвете отображение исходного текста HTML с лексичес- кими элементами и тегами. Разрешает функции печати; принимается по умолчанию Устанавливает 8-битовую (по умолчанию) трансляцию символов для стартовых наборов. При запуске ограничивает доступ к локаторам URL. Освобождает кэш сервера Proxy только для первого документа. [option][,o/Jrio«][,option}... Накладывает ограничения на использование ряда служб, что задается в виде списка опций. Аргументы option могут принимать следующие зна- чения: all накладывает все возможные ограничения bookmark запрещает менять положение файла с закладками bookmarkexec запрещает устанавливать связи (ссылки) с помощью файла закладок change exec_perms запрещает менять полномочия на исполнение файлов, но не каталогов, когда разрешено управление локаль- ными файлами default синоним опции -anonymous, используемой в команд- ной строке diredsupport запрещает производить управление локальными фай- лами disk save запрещает сохранять файлы на лиске в меню загруз- ки и печати dotfiles запрещает доступ к скрытым файлам (имена начина- ются с точки) и их создание download запрещает загружать некоторые файлы в меню за- грузки (download menu) editor запрещает внешнее редактирование ехес запрещает исполнение сценариев exeefrozen запрещает пользователю менять опцию, разрешаю- щую исполнение на локальной системе
422 II. Команды filc_url запрещает использовать меню C>oto, нужные ссыл- ки или закладки для файлов, задаваемых с помощью URL goto запрещает команду g (goto) inside ftp запрещает ftp-соединения для пользователей внутри домена insidenews запрещает отправку новостей Usenet пользователям внутри домена inside rlogin запрещает использовать команду rlogin пользовате- лям внутри домена inside telnet запрещает использовать telnet пользователям внут- ри домена jump запрещает команду j (jump) mail запрещает использовать почту multibook запрещает использовать сразу несколько закладок newspost запрещает публикацию новостей USENET optionssave запрещает сохранять опции в файле .lynxrc outsideftp запрещает ftp-соединения для пользователей вне домена outsidenews запрещает чтение и отправку новостей Usenet пользо- вателям вне домена outside rlogin запрещает использовать команду rlogin пользовате- лям вне домена outside_telnet запрещает использовать telnet пользователям вне домена print запрещает большинство опций печати shell запрещает выполнять команды оболочки suspend запрещает переходить в фоновый режим, нажимая Ctrl+Z telnet_port запрещает указывать порт для соединения Telnet useragent запрещает модифицировать заголовок User-Agent (агент пользователя) Запрещает распознавание команд rlogin. Разрешает просматривать только каталоги, содержащие файлы •www_browsable. -rlogin -selective -shorturl -showcursor Чтобы показать очень длинные URL в строке состояния, использует строку, содержащую три идущих подряд символа подчеркивания, что означает невозможность отобразить всю порцию. Выводит курсор в начале текущей выбранной ссылки, не скрывая его в правом нижнем углу.
II. Команды 423 -source Работает подобно опции -dump, но вместо форматированного выво- дит исходный текст HTML. -stackdump Отменяет поддержку очистки SIGINT (см. приложение I). -start file_ok Разрешает стартовый файл и домашнюю страницу не http-формата с опцией -validate. -tagsoup Использует синтаксический анализатор TagSoup вместо SortaSGML. -telnet Не распознает команды TELNET. -term = TERM Сообщает lynx тип терминала, что полезно для дистанционного испол- нения. -Hog Переключает между использованием Lynx Trace Log (журнала трасси- ровки lynx) и стандартным файлом ошибок для трассировки вывода сес- сии. -trace Включает режим трассировки. -traversal Обходит все http-ссылки, встретившиеся в стартовом файле. При ис- пользовании с опцией -crawl каждая ссылка, начинающаяся с той же строки, что и стартовый файл, выводится в файл, предназначенный для индексации. -underscore Включает использование подчеркивания в дампах. -useragent = Name Устанавливает альтернативный заголовок User-Agent (агент пользова- теля). -use_mouse Включает поддержку мыши. -validate Для проверки принимает только локаторы ресурсов типа http. -verbose Включает комментарии [LINK], [IMAGE] и [INLINE] вместе с именами файлов этих изображений. -version Выводит информацию о версии программы. -vikeys Выполняет перемещения с помощью клавиш, подобные тем, что при- меняются в vi. -width=numZ>er Указывает число столбцов (по умолчанию - 80) для форматирования дампов. -with backspaces Включает в вывод управляющие символы backspace с опциями -dump or -crawl. Пример Ниже представлена страница текста в формате HTML, отображаемая на экране lynx. Для вывода следующей страницы достаточно нажать клавишу пробела.
424 11 Команды mail - посылает и получает поч i у. Синтаксис mail [-ilnv][-s subject][-с cc-addr][-b bcc-addr] to-addr... mail [-linNv] -f [ладе] mail [-linNv][-u user] Интеллигентная почтовая система с командным синтаксисом, напоминающим ed. Опции -V Подробно сообщает на терминал пользователя о результатах доставки. -1 Игнорирует любые сигналы прерывания от терминала, что удобно при использовании почты на некачественных телефонных линиях -I "Заставляет" mail работать в интерактивном режиме, даже когда уст- ройство ввода является не терминал. Как правило, специальный символ -действует при отправке почты в интерактивном режиме. -п -N Запрещает использовать конфигурационный файл /ctc/mail.rc. Запрещает выводить заголовки сообщений при чтении почты или ре- дактировании почтовой папки. -s subject Предоставляет возможность указать в командной строке тему. Только первый параметр после флага -s исполыустея в качестве текста темы.
II. Команды 425 поэтому необходимо применять кавычки, если в тексте встречаются пробелы. -с cc-addr Производит рассылку копий по списку cc-addr. -b bec-addr Производит рассылку "слепых" копий по списку bcc-addr. -f пате При обработке считывает содержимое почтового ящика пате или ука- занного файла. При выходе пользователя из программы mail записью? ет ранее удаленные сообщения назад в этот файл. -u user Эквивалентна команде mail -f /var/spool/mail/user, где user - имя пользователя. Ниже приведен список команд mail Каждая команда набирается в отдельной стро- ке, за ней могут следовать аргументы. Можно набирать только первый символ команд- ного слова. К омаь,, -И Находит n ное предшествующее сообщение и печатает его. Если но- мер не указан, печатает предшествующее сообщение. ? [command Выводит краткую справку по командам, выполняет команду оболочки (см. sh и csh). Reply Print list Отправляет ответ лишь автору сообщения. Действует аналогично команде print, но кроме сообщений из списка list распечатывает также проигнорированные поля заголовков. Type alias arg Идентична команде Print. Печатает заданный псевдоним arg: без параметров распечатывает все псевдонимы, определенные в настоящее время. alternates addr Эта команда полезна, если пользователю приходится иметь учетные chdir dir счета на разных компьютерах. Выводит состояние по указанному адре- су (адресам) или по текущему их набору, если никаких параметров не указано. Меняет текущий рабочий каталог пользователя на указанный dir. Если параметр dir отсутствует, то переходит в каталог пользователя, опре- деленный при регистрации в системе copy Эта команда выполняет то же, что и save, но в отличие от последней не удаляет оригинал. delete arg Берет в качестве параметра список сообщений arg и помечает их все как удаленные. Такие сообщения не сохраняются в nibox и будут недо ступны для большинства других команд. dp.dt Удаляет текущее сообщение и печатает следующее. Если огеутсгвх'ет следующее сообщение, сообщает о EOF (конце файла) edit list Берет список сообщений и по очерсли предлагает каждое из них гек- етовому редактору. При выходе из редактора сообщение возвращается на место.
426 exit file folders folder folder from headers arg help hold ignore list mail name mbox next mes preserve print list quit II Команды Немедленно возвращается в оболочку, не модифицируя системный поч- товый ящик пользователя, его файл mbox или файл, указанный с помо- щью опции -f. Синоним команды folder. Выводит список всех почтовых папок вашего каталога. Переключает на новый почтовый файл или папку folder. Если параметр не указан, сообщает, какой файл считывается в настоящий момент. Если же параметр задан, то сохраняет измененное содержимое в текущем и считывает его в новый файл. Для имени файла (параметр folder) опре- делено несколько специальных соглашений # предшествующий файл % системный почтовый ящик %user системный почтовый ящик пользователя user & файл mbox текущего пользователя +folder файл folder из почтового каталога пользователя Печатает заголовки (headers) сообщений из списка сообщений. Печатает заголовки текущей группы сообщений. Обычно в группе со- держится по 18 сообщений. Если в качестве параметра arg задан знак плюс, печатает заголовки следующей группы, если знак минус - пред- шествующей группы из 18 сообщений. Синоним команды ?. Помечает сообщения в списке сообщений, которые должны быть со- хранены в системном почтовом ящике пользователя вместо mbox. Добавляет поля заголовков в список игнорируемых заголовков. При пе- чати сообщения поля заголовка, входящего в список игнорируемых за- головков, не распечатываются на терминале пользователя. Если коман- да задана без параметров, выводится текущий набор игнорируемых по- лей. Отправляет почту пользователю с указанным именем пате. При выходе из программы пересылает список сообщений в mbox ис- ходного каталога пользователя. Это действие производится по умол- чанию, если только не указана команда hold. Выводит сообщение mes или просто следующее, если отсутству ют па- раметры. Синоним команды hold Печатает сообщения из заданного списка list на терминал пользователя. Завершая сессию, сохраняет все неудалепные и нссохраненные сооб- щения в пользовательском файле mbox его каталога, задействованно- го при регистрации. Сохраняет все сообщения, помеченные с помощью команды hold или preserve, а все прочие сообщения удаляются из со- ответствующего системного почтового ящика.
II. Команды 427 reply Берет список сообщений и отправляет почту отправителю и всем полу- чателям этого сообщения. По умолчанию сообщение не должно уда- ляться. respond Синоним команды reply. retain list Добавляет список полей заголовка к списку остающихся полей. Только такие поля будут выводиться на экран терминала при печати сообще- ний. Все другие поля заголовка подавляются. Если команда задана без параметров, будут распечатаны все остающиеся поля. save file Сохраняет сообщения в указанном файле file (почтовом ящике). На тер- минал пользователя выводится имя файла в кавычках, за которым сле- дуют счетчики количества строк и символов. set param Устанавливает значения переменных. Параметры перечисляются в форме опция=значение (или просто опция). J\p или после знака равенства не должно быть никаких пробелов. Рекомендуется использовать кавычки. Без параметров распечат ывает все значения переменных. saveignore Отбрасывает игнорируемые поля заголовков при сохранении сообщений. saveretain Сохраняет только определенные (остающиеся) поля заголовков при со- хранении сообщений. shell Вызывает интерактивную версию оболочки. size Печатает размер каждого сообщения в символах. sourse file Считывает команды из указанного файла file. top По умолчанию выводит первые пять строк каждого сообщения. type list Синоним команды print. unalias Отменяет действие команды alias. undelete Восстанавливает помеченные для удаления сообщения. unread, U Помечает сообщения как непрочитанные. unset Действие этой команды противоположно действию set. visual Запускает полноэкранный редактор для редактирования каждого сооб- щения списка. write Подобна команде save, но сохраняет только тело сообщения без заго- ловков. Это полезно, если по почте передаются исходные тексты про- грамм. xit Синоним команды exit. z Переходит в следующее окно при выводе на экран сообщения. Вер- нуться в предшествующее окно можно с помощью команды z- Следующие команды применяются при составлении сообщений и выполняют спе- циальные функции. Должны вводиться в начале строки сообщения.
428 II Команды Команды -[command Выполняет указанную команду command оболочки и возвращается к -Ьпате обработке сообщения. Добавляет перечисленные имена пользователей в список получателей ~спате "слепых" копий. Добавляет перечисленные имена пользователей в список получателей ~d копий. Включает в сообщение файл deadJctter из исходного каталога пользо- вателя. Запускает текстовый редактор обработки сообщения. По завершении -{messages редактирования можно добавлять к сообщению текст. Вставляет поименованные сообщения messages в отправляемое сооб- ~F messages щение, при этом игнорируемые заголовки (см. команды ignore и retain) не включаются. Идентична команде ~f, но включаются все заголовки сообщений. ~h Предоставляет возможность по очереди редактировать поля заголов- ~mmessages ков сообщений, используя терминальные символы erase и kill. Вставляет поименованные сообщения messages в отправляемое сооб- -Mmessages щенне; при этом в начало каждой строки вставляется символ табуляции или символ, определяемый строковой опцией indentprefix для того, чтобы выделить вставки. Игнорируемые заголовки не включаются. Идентична команде ~т, но включаются все заголовки сообщений. ~P Печатает сообщение вместе с полями заголовка. ~q Прекращает- работу над сообщением и сохраняет его в файле dead.letter —rfilename ("умерших писем”) исходного каталога пользователя, если установлена save. Включает в сообщение указанный файл filename. ~sstring Назначает строку string в качестве поля заголовка Subject: (Тема). '-Лиате Добавляет указанные имена в список получателей. ~v Осуществляет вызов альтернативного редактора, определяемого с по- —^filename мощью опции VISUAL. Обычно таковым является полноэкранный ре- дактор. Записывает сообщение в файл filename. -[command Пропускает сообщение через команду command, как через фильтр. Обычно в таком качестве применяется команда fmt. Если команда не создает выходной файл или завершается некорректно, сохраняет ори- гинальный текст сообщения. -.mail-command Выполняет заданную почтовую команду mail-command, хотя не вся- кую команду можно выполнять.
II. Команды 429 —string Вставляет в сообщение текстовую строку string, начинающуюся с сим- вола Установка опций выполняется с помощью команд set (включено) и unset (выклю- чено). Опции могут быть как бинарными (в этом случае только существенно знать, установлены ли они илн нет), так и строковыми. Во втором случае интересны их акту- альные значения. Бинарные опции append Сохраняя сообщения в mbox, добавляет их в конец файла, а не в начало. Эту опцию желательно указать в файле /ctc/mail.rc. ask, asksub Запрашивает тему каждого посылаемого сообщения. Если ответ полу- чен в виде символа newline (новая строка), поле темы будет отсут- ствовать в отсылаемом сообщении. askcc Запрашивает список адресатов для отправки копий сообщений. Ответ в виде символа newline свидетельствует о том, что пользователь удов- летворен текущим списком. askbcc Запрашивает список адресатов для отправки "слепых" копий сообще- ний. Ответ в виде символа newline свидетельствует о том, что пользо- ватель удовлетворен текущим списком. autoprint После удаления одного сообщения автоматически выводит следующее. debug Устанавливает двоичную отладочную опцию debug; действие аналогич- но указанию опции -d в командной строке. dot Интерпретирует единственную точку в строке как конец отправленного сообщения. hold По умолчанию хранит сообщения в системном почтовом ящике. ignore Игнорирует сигналы прерывания от терминала, отражая их символом @. ignoreeof Отказывается воспринимать Ctrl+D как конец сообщения. metoo Обычно, если происходит расширение списка рассылки, в состав кото- рого входил отправитель, он будет исключен из расширения. Данная опция обязательно включает отправителя в список рассылки. noheader Установка этой опции аналогична действию в командной строке флага -N. nosave В случае аварийных завершений не сохраняет частичные сообщения в файле dead.lcttcr исходного каталога пользователя. Reply all Взаимно меняет смысл команд reply и Reply. quiet При первом запуске не сообщает о версии программы. searchheaders В случае установки этой опции спецификация в форме /х:у будет рас- ширять все сообщения, содержащие подстроку у в поле заголовка х Данный поиск не чувствителен к регистру. verbose Установка этой опции аналогична действию в командной строке флага -v
430 11 Команцм Строковые опции EDITOR Указывает маршрут к текстовому редактору, используемому команда- ми edit и ~е. LISTER Указывает маршрут к программе вывода содержимого каталога, исполь- зуемого командой folders. По умолчанию принята /bin/ls. PAGER Указывает программу постраничного вывода сообщения на экран. По умолчанию принимается more. SHELL Указывает маршрут к оболочке, используемой командами ! и если не определена данная опция, применяется оболочка, взятая по умолчанию. VISUAL Указывает маршрут к текстовому редактору, используемому команда- ми visual и -V. crt Указывает максимальную длину сообщения до вывода его на экран программой постраничного просмотра. По умолчанию принимается высота экрана терминала, хранимая и системе. escape Задает первый символ, используемый при создании сообщений вмес- то—. folder Задает имя каталога, используемого для хранения папок сообщений. Если имя начинается со слэша, то программа mail считает, что задан абсолютный маршрут. В противном случае маршрут берется относи- тельно исходного каталога пользователя. MBOX Определяет имя файла, взятого по умолчанию как mbox в исходном каталоге пользователя. Здесь может быть задано имя папки. record Задает маршрут к файлу, используемому для регистрации отправляе- мой почты. Если данная опция не указана, то отправляемая почта не со- храняется. indentprefix Определяет строку, применяемую для выделения вставляемого в со- общение текста с командами типа ~т. По умолчанию используется Л1 (символ табуляции). toplines Устанавливает количество строк сообщения, выводимых командой top. Обычно распечатываются первые пять строк. Пример Вот как может выглядеть содержимое файла /ctc/mail.rc. set ask askcc append dot save crt ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via
431 II. Команды mailpost подпитывает группу новостей почтовыми сообщениями. Синтаксис mailpost [-г addr)I-t addrJ|-a addr][-d distribution][-m mailing-list) [-b database] newsgroups Программа mailpost считывает co стандартного ввода надлежащим образом от- форматированное сообщение электронной почты и передает его inews для последую- щей отправки серверу новостей для группы newsgroups. Перед тем как передать ста- тью программе inews, проверяет, не приходила ли она ранее, а также меняет заголовки (headers): очищает некоторые адресные заголовки и помещает префикс X- перед неиз- вестными заголовками. Программа mailpost регистрирует Message-ID всех поддерживаемых статей. И если статья была уже ранее получена, она будет "молча" опущена. Некоторые ошибки при- водят к тому, что статья будет отправлена администратору новостей. Опции - г addr Использует заданный адрес addr в качестве заголовка Path (маршру- та), если другое не определено. - f addr Этот флаг является синонимом флага -г. - a addr Добавляет параметр addr к статье в качестве заголовка Approved (одоб- ренная). - d distribution Добавляет параметр distribution к статье в качестве заголовка Distribution (куда распределять). - т та17|И£-/й1Добавляет параметр mailing-list (список рассылки) к статьям в каче- стве заголовка Mailing-List, если упомянутый заголовок до этого не существовал. - b database Определяет с помощью параметра database местоположение БД для хранения идентификаторов сообщений присланных статей, что препят- ствует хождению статей "по кругу", если они возвращались обратно. Эта опция необходима, если для процессов mailpost не определен доступ на запись к временному каталогу новостей (переменная athtmp в файле inn.conf). mailto - программа отправки мультимедийных почтовых сообщений. К Синтаксис mailto (-a cbarset](-c name][-r message-id)]-s subject][recipient-name]
432 II. К .мацры Простой и дружественный (более, чем metasend) интерфейс пользователя для от- правки мультимедийной почты в стандартном для Internet формате MIME. Программа mailto - очень напоминает программу mail, известную в системах Berkeley. Хотя mailto предназначена лишь для отправки почты, а не для ее чтения. Ни одна из воз- можностей чтения почты упомянутой выше mail не включена в mailto. Почтовые сообщения mailto могут включать MIME-тип text/richtext, позволяю- щий использовать подчеркивание, полужирный шрифт, курсив, мультимедийные объек- ты, текст на языках не в ASCII-формате (например, Hebrew). Опции -с пате Отправляет копии сообщений указанному списку получателей пате. Список имен желательно заключать в кавычки. -s subject Указывает тему сообщения. -a charset Указывает альтернативный набор символов: один из используемых на- боров символов терминала. -г message-id Указывает Message-ID (идентификатор сообщения), используемый при создании поля заголовка под названием In-Reply-To. Почта отправляется списку получателей, задаваемому аргументом recipient-name. Компоненты списка отделяются друг от друга пробелами или запятыми. Если набрать в командной строке mailto без всяких аргументов, программа запросит список полу- чателей То:, тему сообщения Subject: и, возможно, список СС: людей, получающих сообщения. После получения предварительных данных программа mailto предложит ввести собственно содержимое сообщения. Все, что вы наберете на клавиатуре, вой- дет в состав сообщения, кроме строк, начинающихся со специального символа —. Эти строки рассматриваются как команды, передаваемые mailto. Завершает сообщение Ctrl+D или комбинация символов —. (тильда и точка). Подготавливая текст сообщения, можно использовать возможности обычного фор- матирования текста (MIME-тип text/richtext): подчеркивание, курсив, выделение по- лужирным, центрирование и т.п. В сообщение можно включать нетекстовую информацию: изображения, звуковые файлы. Базовой командой для включения мультимедийных объектов в текст сообщения является После ввода такой команды mailto предложит выбрать разновидность вставляемых данных из предлагаемого ею списка. Как правило, в этом списке имеется следующая строка: 1: Raw data from a file, with you specifying the content-type by hand Выбрав такую строку, пользователь может вставит ь информацию из нетекстового файла, указав его имя. Может включить в сообщение вывод какой-нибудь команды, введя символ | и эту команду. Если пользователь решил вставить данные из указанного им файла, ему предстоит еще задать пару: вид/лодвкд (см. metasend). Ознакомиться с перечнем предлагаемых пар можно, вводя символ ? (вопросительный знак). Эти пары перечислены в локальном конфигурационном файле mailcap или в файле mailcap ис- ходного каталога пользователя, который можно модифицировать в соответствии с на- сущными потребностями. В системе, как правило, имее тся прототип этого файла, зна- комящий с существующими парами.
II. Команды 433 Ниже приведен список команд mailto: ~ ? выводит справку по командам — вводит текст, начинающийся с символа - ~. отправляет почту и завершает работу программы ~/ устанавливает максимальный размер, при превышении которого сообщение де- лится на части -?+ выводит справку по отображению символов клавиатуры в 8-битные символы (не ASCII-символы) ~> вводит отступ слева ~< отменяет отступ слева ~<R вводит отступ справа ~>R отменяет отступ справа —н устанавливает 8-битный режим для определения не ASCII-символов — отменяет 8-битный режим (возврат к ASCII-символам) добавляет нетекстовые данные: изображения, звуковую информацию и т.д. -л включает (и отключает; режим "справа налево"; подходит для некоторых язы- ков, например, арабскою ~Ь включает режим полужирного набора символов ~с добавляет элементы к списку СС: ~d читает файл dead.letter (Или поименованный файл ~d filename) ~е переходит в режим редактирования составляемого сообщения ~h переходит в режим редактирования заголовков ~i осуществляет набор символов курсивом -j устанавливает альтернативное выравнивание: -jc - центрирует ~jl - выравнивает по левому краю -jr - выравнивает по правом у краю ~п устанавливает newline (новую строку) —р распечатывает сообщение ~q завершает выполнение, копируя текущее сообщение в файл dead.letter -Q включает режим цитирования (заключает в кавычки) ~г считывает поименованный текстовый файл и включает его в почтовое сообще- ние -s переустанавливает тему сообщения ~S включает семитический режим одновременно устанавливает обработку сим- волов "справа налево" и 8-бигный режим (не ASCII-символы) ~t добавляет элементы к списку То: ~и эключаст подчеркивание символов
434 II Команды ~v редактирует с помощью редактора, определяемого переменной окружения VISUAL ~w записывает сообщение в указанный файл ~z добавляет содержимое файла -/.signature (текстовая подпись; -Z добавляет содержимое файла -/.SIGNATURE (нетекстовая подпись, MIME- формат) Пример Ниже приведен фрагмент протокола работы программы mailto. В письмо вставлен звуковой файл в формате audio/mod. - отправляет электронную почту з сме- шанном формате Hebrew/Enolish. mailto-hebrew Синтаксис mailto-hebrew aailto-argunients Программа mailto-hebrew запускает xterm (х-терминал), используя соотвстству ющий шрифт (iso-8859-8), что дает возможность подготовить сообщение в смешан- ном формате Hebrew/English (древнсеврейский/англнйский). Запускает программу mailto и передает ей аргументы mailto-arguments.
II. команды 435 make - утилита, управляющая группой файлов, на основе которых создается программа. Синтаксис make [-f fiIe](-C dir] [~d] [~e] [-h] [-i J [-I dij][-j[ jobs) ] [-k] [-Ipoad] ] [-n][-o fiIen-p](-q](-r][-s][-S][-t][-v][-wJ[-W file) target... Цель make - автоматически определить, какая часть программы нуждается в по- вторной компиляции, например, из-за изменения исходного текста. Помимо программ на языке С утилита make может использоваться .1 с программа ми на других языках, лишь бы их компиляторы могли быть запущены командой обо- лочки. Применение make не ограничивается только программами Ее можно использовать для описания любого задания, где некоторые файлы должны автоматически обнов- ляться, как только меняются другие файлы. Типичное использование утилиты make - создание нового исполняемого файла из обновленных объектных файлов, когда в результате проведенных изменений произво- дится очередная компиляция исходных файлов. Чтобы применять make, необходимо создать файл по имени makefile, описывающий отношения между файлами программы и командами модификации каждого файла. Если существует пригодный makefile, то каждый раз, внеся очередные изменения в некоторые исходные файлы, достаточно набрать команду оболочки make, которая произведет все необходимые компиляции. Программа make использует БД makefile и времена последних модификаций файлов, чтобы решить, какой из файлов нуждается в обновлении. Для каждого из таких файлов она записывает команды модификации БД. Говорят, что make выполняет команды makefile, обновляющие некоторые выходные имена, где под термином имя обычно подразумевается программа. Если только опция -f не задана, make просматривает в описанном порядке GNUmakefile, makefile и Makefile. Обычно вы вызываете такой файл как makefile или Makefile. Рекомендуется имя Makefile, гак как он расположен ближе к началу листинга каталога, возле других важ- ных файлов, таких, как README. Первое проверяемое имя - GNUmakefile - не очень рекомендуется для большинства случаев, так как его содержимое может быть не очень понятно другим версиям make. Если вместо параметра makefile стоит дефис, считыва- ется стандартный ввод. Основные опции - С dir Перед чтением makefile меняет каталог на указанный параметром dir. - d В добавление к обычной печати выводит также и отладочную инфор мацию. ”е Выдаст переменные окружения, пропуская их через переменные makefile. - f file Использует указанный файл как makefile.
4 ** команды -h Печатает сообщение об использовании. -i Игнорирует все ошибки в командах, выполняемых в процессе построе- ния целевого файла. -I dir Указывает каталог dir для поиска включаемых файлов makefiles. -j jobs Задает количество одновременно запускаемых заданий (команд). Если определена опция -j без параметра, make не ограничивает количество одновременно запускаемых заданий. -k При нахождении ошибки продолжает обработку, насколько это возмож- -l[/oad] Не стартует новое задание, если средняя загрузка по меньшей мере load (число с плавающей запятой). Заданная без аргумента, удаляет пред- шествующий предел загрузки. -n Печатает команды, которые должны быть выполнены, но не исполняет их. -o file Не пересоздае. указанный файл, даже если он "старше", чем его зави- симости. Важно отметить, что файл рассматривается как "очень ста- рый" и правила в нем игнорируются. -P Распечатывает БД (содержит правила и значения переменных), полу- ченную при чтении makefile. -q "Справочный режим". Не запускает никаких команд и ничего не печата- ет. Лишь возвращает код завершения, равный нулю, если указанный вывод уже находится в БД, в противном случае - формирует ненулевой код. -r Запрещает использовать встроенные неявные правила, очищает список заданных по умолчанию суффиксов. -s Запрещает выдачу информационных сообщений. -s Убирает действие опции -к. -t Меняет дату файлов, не меняя их самих. Создает впечатление, что вы- полнялись команды, хотя в действительности - это не так. -V Печатает информацию о версии программы make и некоторые допол- нительные сведения. -w Печатает содержимое рабочего каталога до и после обработки. -W file Создает видимость модификации выходного файла. Используемая с опцией -п, команда make информирует о последствиях модификации файла. Примеры Если приходится менять ядро, то невозможно обойтись без команды make. Хотя подобные работы может выполнять только суперпользователь. Для конфигурирования ядра необходимо запустить два сценария:
II. Команды 437 f make checkconfig # make checkhelp Первый из сценариев проверяв г исходное дерево на предмет отсутствия образцов для включения вида «include <iinux/config.h>, второй - проверяет, нет ли в файле конфигурации недокументированных опций. Вполне возможно, что такие опции име- ются, хотя для вашей конфигурации это не сушественно. Оба эти сценария вполне безвредны, они ничего не модифицируют. Не забудьте только перейти в соответствую- щий каталог. В зависимости от версии это может быть, например /usr/src/linux-2.2.15 или аналогичный каталог. Для настройки ядра можно воспользоваться командной строкой, текстовым меню или графической программой. Что демонстрируется ниже. Linux Kernel V2.2.14 Configuration | firrow keys navigate the menu* <Enter> selects submenus —>* Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes features* Press <EscXEsc> to exit, <?> for Help. Legend: [*1 built-in [ 1 excluded <M> module < > module capable level uytions —} rocessor type and features —> oadable module support —> eneral setup —> lug and Play support —> lock devices —> N tworking options —> elephony Support —> CSI support —> K3ESS < Exit > < Help >
4 iX 11 Команде Coda maturity level options Ethernet (i 000 Mbit, Flaps, the floppy Processor type and features appletalk devices Filesystem* Loadaom module support Token ring devices Network Fie Sy* General setup Wan Interfaces Parti U n Type; Plug amd Hay support Amateur Radio support Native Language Block devices IrDA subsystem support console drivers_j Networking options infrared-port device drivers Sound QoS and/or fair queueing ISDN subsystem Additional tow tev( Teiepnony Support Old CD-ROM drivers (not SCSI, not IDE) Kernel hacking SCSI support Character devices SCSI low-level drivers Mice Save and Exit Network device support Joysticks Quit Without Savf ARCnet devices Watchdog Cards Load Configurate» Ethernet [10 or 1OtJMhit) Video For Linux Store Configurate И здесь не обойтись без команды make. В первом случае начнется настоящий до- прос по поводу параметров нового ядра. Нажатие клавиши Enter означает принятие установки по умолчанию. Более удобный пользовательский интерфейс предоставляет команда # make menuconfig (случай второй). Команда # make xconfig предоставляет меню в графическом режиме (случай третий). Главное преимущество последних двух спосо- бов - возможность менять только те опции, которые необходимы. Для установления всех зависимостей используется команда # make dep. И, нако- нец, чтобы откомпилировать новое ядю достаточно набрать # make Image или # make bzlmage (сжатый образ ядра). - инструмент, который перекрывает сущест- вующий файл active для Usenet. makeactive Синтаксис makeactive [-ш][-о] makeactive вызывает find, чтобы получить список всех каталогов-накопителей де- рева хранения новостей <patharticles in inn.conf>. При этом отвергаются все катало- ги с именами lost+found, а также те, в составе имени которых содержится точка. Так же просматриваются все другие каталоги в поисках числовых имен файлов. Каждая статья хранится в файле, имя которого соответствует ее номеру. В процес- се поиска определяются наивысший и наинизший номера Если в файле inn.conf вклю- чена опция storageapi, то для установления наивысшего и наинизшего номеров makeactive считывает overview.index(nHflCKC БД обзоров статей). Вывод програм- мы - это набор строк файла active. Поскольку нс существует другого in гн угнать, является ли группа регулируемой (moderated) или нет, четвертое поле всех элементов
II Команды 439 устанавливается в значение у. Поэтому каталоги среднего уровня, которые не относят- ся к группам новостей, будут созданы как группы новостей без каких-либо элементов. Например, существует группа com. source.! in их, но не com.source. Опции -т Будет пытаться привести в порядок наивысший и наинизший номера ста- тей. где это возможно. Если статьи найдены в группе новостей, их но- мера отражают то, что найдено. Но если статьи найдены не в группе новостей, то будет удерживаться наивысший номер от старого файла, а низший номер будет устанавливаться в значение, превышающее выс- ший номер. Этот флаг применяется лишь вместе с флагом -о. -о Считывает существующий файл active для установления списка имен групп и затем перенумеровывает все группы. При этом сохраняет чет- вертое поле файла active, если оно присутствует. Действует аналогич- но команде renumber для ctlinnd, хотя innd при этом не запускается. Этот флаг нельзя применять, если вывод перенаправляется в стандарт- ный файл active. makeactive завершается с ненулевым кодом, если возникают какие-либо пробле- мы. makedepend - соз, ,ает зависимости в make-файлах. Синтаксис makedepend [-Dname=def ][-Dname][-lincludedir][-Yiucludedir][-a] [-imakefile] [-oobjsuffix] [-pobjprefix] [-sstring] [-width] [~v] -m] [— otheroptions—) sourcefile... Программа makedepend считывает каждый sourcefile и подвергает его содержи- мое синтаксическому анализу подобно тому, как это делает препроцессор языка С, отрабатывая все директивы #includc, ftdefine, #undef, ttifdef, #ifndef, #<ndif, #if, #elif, #else и определяя, какие директивы #include могут использоваться при компиляции. Любые директивы #include могут ссылаться на другие файлы, также, в свою очередь, имеющие #include. Эти файлы тоже подвергаются синтаксическому анализу. Каждый файл, прямо или косвенно включаемый в sourcefile, называется зависимо- стью (dependency). Эти зависимости записываются в makefile таким образом, что про- грамма make будет знать, какие объектные файлы следует перекомпилировать, когда зависимость меняется. По умолчанию makedepend помещает свой вывод в файл makefile, если таковой существует, в противном случае - в Makefile. Для каждого sourcefile, обнаруженною в командной строке, makedepend записывает в makefile строки следующего формата. Bourcef'Не. о: dfile Здесь dfile — это зависимость, разрешаемая с помощью директивы #inchidc. Пользователь может применять те же самые аргументы, что и дня gcc. и про» рам мн makedepend игнорирует любые опции, не поддерживающие этого факта.
440 II Команды Опции -Dname=def, -Dname Помещает определение пате в таблицу символов (идентификаторов) makedepend Без параметра =def определяемый символ устанавлива- ется в значение 1. -lincludedir Включает указанный каталог в список каталогов, просматриваемых makedepend при отработке директив #include. По умолчанию makedepend обследует только стандартный каталог /usr/include. inchidedir Заменяет все стандартные каталоги для просмотра одним указанным каталогом при отработке директив //include -а Добавляет зависимости в конец файла makefile вместо замещения. -fmakefile Определяет альтернативный makefile, в который makedepend помеща- ет свой вывод. Если в качестве имени файла стоит дефис, отправляет выходную информацию на стандартный вывод, не меняя содержимого существующего файла. -oobjsuffix Определяет суффикс имени объектного файла иной, чем привычный .о. -•pobjprefix Определяет префикс имени объектного файла. Обычно используется, чтобы определить каталог для объектного файла. По умолчанию - пус- тая строка. -v/width Задает ширину width выходной строки. Обычно makedepend создает выходные строки, размер которых не превышает 78 символог - v Подробно информирует о ходе отработки. - т Предупреждает о множественных включениях. Приказывает makedepend создавать предупреждения, если любой входной файл включает дру гой файл более одного раза. — otheroptions — Если makedepend в списке аргументов обнаруживает двойной дефис, то любой далее следующий нераспознанный аргумент молча игнориру- ется Второй двойной дефис отменяет эту договоренность. makohlStOry - инструмент, вносящий поправки в БД history для Usenet Синтаксис makehistory [-А oidtmp][-a active][-b][-D dir][-d dir][-f filename] [-h fiie][-I fiie][-i][-n][-0][-o][-R][ r][-S][-s sire][-T tmpdir) [-t[B|h|s|s] ] (-U] [-11 ] [-v] [-x] makehistory перестраивает текстовый файл history и связанную с ним БД dbz. По умолчанию имя текстового файла — <pathdb in inn.conf>/histol у Программа makehistory просматривает файл active, чтобы установить, с каталогами каких групп новостей внутри каталога <pathdb in inn conf>/ необходимо работать. Если группа была
II. Команды 441 удалена, но ее каталог все еще существует, makehistory игнорирует ею. Программа считывает каждый найденный файл (статью) и заводит для него строку в файле history Программа makehistory также восстанавливает статьи, сохраненные традиционным способом через хранилище api. В этом случае БД унифицированных обзоров и ее ин- декс могут быть созданы совместно. Перетрансляция статей, сохраняемых иным спо- собом, в традиционный - не поддерживается. После того, как текстовый файл записан, makehistory перестраивает БД dbz. Опции - A oldtmp Хранит копию history в файле, задаваемом параметром oldtmp. - a active Использует вместо заданного по умолчанию файла active (<pathdb in inn.conf>/active) его аналог, определяемый параметром active. - Ь Удаляет любые статьи, в которых отсутствуют заголовки Message-ID. - D dir Использует каталог dir в качестве традиционного каталога накапливае- мых статей. По умолчанию принят <patharticles in inn.conf--. Примене- ние этого флага обосновано лишь совместно с флагом -t. - d dir Использует dir в качестве каталога для хранения обзоров статей. По умолчанию принят <pathoverview in inn.conf>. Применение этого флага обосновано лишь совместно с флагом -t. - f filename Если используется этот флаг, то файлы БД именуются соответственно filename. Air, filename.index и filcname.hash. В противном случае вы- полняет временную ссылку на имя history.n, а файлы БД именует history.n.dir, history.n.index, history.n.hash. - h file Использует в качестве старого файла history файл, задаваемый пара- метром file. По умолчанию принят <pathdb in inn.conf>/history. Приме- нение этого флага имеет смысл лишь совместно с флагом -t. - I file Добавляет индекс обзора статьи в указанный файл file. Этот файл мо- жет быть создан, если применяется хранилище api вместе с флагом -О - i Игнорирует старую БД. Использование флага -о предполагает также на- личие -i. - О Создает БД обзоров. Если используется флаг -О, будет переписана су- ществующая БД. Во избежание такой возможности можно указать дру- гой каталог БД с помощью флага -d. - о Не создает никакую связь (ссылку) и просто перезаписывает существу- ющий файл history. В случае существования старой БД программа makehistory использует ее для определения размера новой БД. Если флаг -t задан совместно с дополнением Н. или h. применение флага -о разрушает старый файл history и операция "проваливается". * п Просто просматривает спул-каталог, не трогая файлы. Применение эго- го флага обосновано лишь совместно с флагом -t. "R Удаляет старые статьи после выполнения трансляции, преобразу ющей традиционно хранимые статьи в статьи, хранимые по-новому через хра-
442 II Команды -S -s size -T tmpdir -t -U -u -v -X нилище api. Применение этого флага обосновано, если используется флаг -t. Перестраивает файлы dbz по существующему текстовому файлу. Флаг -i или -s может быть полезен, если отсутствуют соответствующие фай- лы dbz. Игнорирует статьи, хранимые традиционным методом. При указании приблизительного количества элементов новой БД игно- рирует любую старую БД. Корректно задав размер size, можно создать более эффективную (оптимизированную) БД. В процессе функционирования makehistory создает временный файл, содержащий по строке на каждую найденную статью. По умолчанию этот файл создается в каталоге <pathtmp in inn.conf>. С помощью tmpdir можно указать любой временный каталог. Во время работы makehistory вызывается sort; в случае задания этого флага, ей будет передан флаг и параметр tmpdir. По умолчанию команда sort, вызываемая makehistory, использует временный каталог <pathtmp in inn.conf>. Транслирует хранимые статьи в статьи, хранимые по-новому через хра- нилище api. С помощью одного из дополнительных флагов задается способ переноса хранимых статей: Н переносятся в соответствии с файлом history h так же, как и для Н S переносятся в соответствии со спул-каталогом s так же, как и для S При трансляции от спул-каталога makehistory добавляет заголовок Xref с маршрутом, если статья не имела такого заголовка. Выполняя это, makehistory считает, что статья не будет перекрестно отсылаемой. Нельзя использовать совместно флаги -t и -и. Удаляет любые перекрестно отсылаемые (связанные) статьи после вы- полнения трансляции. Применение этого флага обосновано, если исполь- зуется флаг -t. Но в то же время, если флаг -И не используется и даже задан флаг -t, удаления статей не производит. Предполагает, что запущен innd. И для любой не найденной в БД dbz статьи посылает серверу команды addhist (см. ctlinnd). Команда makehistory -bu полезна после серьезного сбоя системы для удаления поврежденных статей и приведения БД в более "приличное" состояние. Если флаг -v используется совместно с флагом -и, программа makehistory выводит копии всех добавляемых строк на стандартный вывод. Никогда не производит запись в history. Этот флаг целесообразно при- менять, если используются флаг -t с h и флаг -О, но без флага -R
II. Команды 443 man - форматирует и выводит страницы руководства по К операционной системе Linux. Синтаксис man [-adfhkKtwW] [section] [-М patA][-P paffer][-S 2ist][-C system] [~p string] name... Обычно с командой man задается имя пате интересующей пользователя команды Можно указывать необязательный аргумент section, определяющий раздел руковод- ства, где содержится данная команда. Дело в том, что описания некоторых команд можно найти сразу в нескольких разделах руководства. Например, документация по mount содержится во 2 и 8 разделах руководства, и это далеко не исключение. Опции - а Отображает все страницы руководства для указанной пате, а не только первую. Это полезно для пате, команды, описания которой содержат- ся сразу в нескольких разделах руководства. - с Повторно форматирует страницы руководства, даже если существова- ла отформатированная страница. - d Печатает вместо страницы руководства отладочную информацию. - D Аналогична опции -d, но еще печатает страницы руководства. - f Действует подобно команде whatis. - h Распечатывает допустимые опции команды man - к Действует, как команда apropos. - t Использует troff, чтобы отформатировать страницы для печати. - w Отображает вместо актуальных страниц руководства их расположение. - W Подобна опции -w, но распечатывает по одному имени в каждой строке. - К Производит поиск команды на всех страницах руководства и на каждом найденном файле требует распоряжений о дальнейших действиях: у вывести страницу руководства п пропустить страницу руководства q завершить поиск - С file Использует в качестве файла конфигурации указанный file. - М path Устанавливает заданный параметром path маршрут поиска страниц ру- ководства. - Р pager Использует указанную программу pager для отображения страниц ру- ководства; по умолчанию - less -is. - S list Указывает разделенный запятыми список разделов для поиска. - т system Указывает альтернативное руководство man pages.
II Команды -р string Указывает препроцессоры, запускаемые перед nroff и troff; параметр string может принимать следующие значения: е eqn г refer g grap t tbl p pic v vgrind При мер Ниже приведено отображение одной маленькой страницы руководства. root@localhost.localdomain:/raot Файл Правка Settings Справка ZDIFFd) ZDIFFd) HfitE zemp, zdiff - compare compressed files SYNOPSIS zcup [ cmp_options ] filel [ file2 1 zdiff [ diff_options 1 filel [ file2 1 DESCRIPTION Zcmp and zdiff are used to invoke the cmp or the diff program on compressed files, fill options specified are passed directly to gior or diff. If only 1 file is specil fied, then the files compared are filel and an uncompressed fjlfil.gz» If two files are specified, then they are uncompressed if necessary and fed to cmR or diff- The exit status from ciqr or diff is preserved. SEE ALSO cmp(l), diffd), zmored), zgrep(l), znewd), zforced), gzipd), gzexed) BUGS Messages from the cmp or diff programs refer to temporary filenames instead of I those specified. । 1 На самом верху страницы отображено название команды; в круглых скобках указы- вается номер раздела руководства. На этой странице имеется несколько основных стан- дартных секций: NAME наименование (имя, имена) команды SYNOPSIS описание синтаксиса DESCRIPTION описание команды (команд) SEE ALSO родственные или близкие команды BUGS обнаруженные ошибки и неточности
II. Команды 445 me - запускает диспетчер файлов под названием Midnight Commander. Синтаксис шс | -abcCdfhPstuUVx] [-1 Tog][dirl [dir2]][-v file] me - это графическая оболочка для Unix-образных систем, очень напоминающая знаменитый просмотрщик каталогов (Norton Commander), без которого иные пользо- ватели ие представляли свою "жизнь" в DOS. me - это просмотрщик каталогов и диспетчер файлов для Unix-образных систем. Аргумент dir\, - каталог, отображенный в выбранной панели, dir2 - каталог, пока- занный в другой панели. Опции - а Отключает использование графических символов для рисования линий; для рисования линий применяет следующие символы: ±, =, |. - Ь Устанавливает монохромный (черный и белый) режим дисплея. - с Устанавливает цветной режим дисплея. - С arg Указывает в командной строке набор цветов arg. - d Отключает поддержку мыши. - f Отображает маршруты поиска файлов конфигурации тс, заданные при компиляции. - h Выводит список опций тс. - 1 log Сохраняет в файле fog диалог с сервером FTP. У тс множество различ- ных возможностей: он также позволяет копировать файлы с дистанци- онной системы. - Р При выходе из программы печатает последний рабочий каталог. - s Работает в " медленном" терминальном режиме, при котором не выво- дятся линии, разделяющие столбцы, и запрещается вывод многих со- общений. - t Для определения информации о терминале использует значение пере- менной окружения TERMCAP. - и Запрещает запускать параллельную оболочку, или командный процес- сор. - U Разрешает использовать параллельную оболочку. - v file Запускает внутренний просмотрщик для отображения указанного файла. - V Выводит информацию о версии программы. х Осуществляет запуск тс в окне xterm (пир|уалыюго терминала)
446 II Команды Пример Вот как выглядит тс, запущенный в xterm: mcookie - создает magic cookies (магические числа) для xauth. Синтаксис mcookie filename] mcookie генерирует 128-битное случайное шестнадцатеричное число для програм- мы xauth, позволяющей выводить и менять сведения об авторизации, которые исполь- зует Х-сервер. Опции - f filename magic cookies генерируются на основе различной случайной информа- ции: текущего времени, идентификатора процесса, идентификатора ро- дительского процесса, содержимого входного файла filename и т.д. - V Указывает источник получения случайного числа, например, /dev/random, /dev/urandom, файлы в /proc, /dev/audio. Пример $ mcookie -v Got 16 bytes from /dev/random 5cl3041233fe31c9ba353a2192d62464 $
II. команды 447 md5sum - вычисляет и проверяет контрольную сумму, используя алгоритм MD5. Синтаксис md5sum [option][file] md5sum [option] --check [file] Печатает и проверяет контрольную сумму файла file, если имя файла отсутствует или вместо имени стоит дефис, считывает стандартный ввод. Опции - b, —binary Считывает файлы как двоичные. - с [file], —check [file] Считывает имена файлов и контрольные суммы из файла file, выполняя сверку. - t, —text Считывает файлы как текстовые (по умолчанию). -status Выводит только код завершения, характеризирующий результат опера- ции. -w, —warn Предупреждает о неподходящим образом отформатированных строках контрольных сумм. —help Выводит список опций и завершает программу. —version Выводит информацию о версии и завершает программу. Контрольные суммы подсчитываются, как описано в RFC 1321. При проверке кон- трольных сумм в качестве ввода используется прежний вывод этой программы. По умолчанию распечатывается строка с контрольной суммой, символ, указывающий тип, и имя каждого файла. Символ, указывающий тип, принимает следующие значения: про- бел - для текстового файла и звездочка - для двоичного. Пример $ md5sum prim43 8d5961665d4af1286e0al63b85el6322 prim43 8 merge производит слияние изменений от двух файлов в К третий. Синтаксис merge [option] filel filel filel Предполагается, что file?. - это оригинал, а два других файла - file 1 и file} мо ui- фикации file?. Включает все изменения, отличающие file} от file?, в filel. Результат направляется в filel.
448 II Команды Конфликт обычно возникает, если filel и filel имеют изменения в общем сегменте строк. Если конфликт обнаружен, merge выводит предупреждение и заключает область конфликта в угловые скобки (< >): «««< filea строки файла filea строки файла filcb »»»> fileb Если такое случилось, пользователь может отредактировать результат и удалить одну из альтернатив. Опции -А Отображает конфликтные ситуации, используя стиль опции -А команды diff3, что сливает все изменения, отличающие filel от filel, в filel. Подробно информирует о происшедшем. - Е и -е Обе опции указывают стили конфликтов, менее подробно сообщаю- щие о происшедшем, чем опция -А. По умолчанию принята опция -Е. Если задана опция L команда merge не предупреждает о конфликтах. - L label Эта опция может задаваться до 3-х раз Указывает метки, используе- мые в именах соответствующих файлов при возникновении конфликт- ных ситуаций. Другими словами, команда merge -Lx -Ly -Lz a j с со- здает вывод по файлам х, у и z вместо а, Ь, с. - р Посылает результат слияния на стандартный вывод вместо перезаписи файла/i/el. - q Не предупреждает о конфликтах. - V Выводит информацию о версии программы mesg - управляет доступом по записи к вашему терми- К налу. Синтаксис mesg [у|п] Разрешает или запрещает принимать сообщения от других пользователей, отправ- ленные с помощью таких команд, как write или talk, на ваш терминал. Опции “У Разрешает доступ по записи к вашему терминалу (разрешает вывод со- общений). Запрещает доступ по записи к вашему терминалу (запрещает вывод со- общений). Если никакая опция не указана, выводит текущий статус доступа вашего терминала
II Команды 449 Пример $ mesg is у $ messages подсчитывает количество сообщений в почто- вом ящике или папке. Синтаксис messages messages folder-паше Подсчитывает, полагаясь на найденные поля From:, количество сообщений в теку- щем почтовом ящике входящих сообщений или в указанной папке folder-name. Пример £ messages /var/spool/mail/sofia There are 5 messages in folder /var/spool/mail/sofia. $ В папке /var/spool/mail/sofia обнаружено 5 сообщений. metamail - инфраструктура для поддержки мультимедий- ных сообщений электронной почты. Синтаксис metamail [—Ь1 [-В][-ccontenttype ][-d][-е][-ffrom-паше][-h] I-m mailer-паше](-p][-P][-r J[-ssubject][-q][-w][-R](-y)[-z) [file-name] Программа metamail считывает файл mailcap, чтобы определить, как отображать нетекстовый файл почтового сообщения на локальном сайте пользователя и какую для этого вызвать программу. Хотя в этом описании речь идет только об электронной почте, metamail также по- лезна для мультимедийной поддержки новостей и программ чтения электронных до- сок объявлении. Пользователи обычно не вызывают metamail непосредственно. На- оборот, metamail автоматически вызывается программами чтения почты, когда нм приходится отображать нетекстовые сообщения Это руководство рассчитано на тех пользователей, которые будут добавлять поддержку metamail к обычным програм- мам чтения почты, а также на тех, кто модифицирует файл mailcap, добавляя к нему строки. Программа metamail определяет тип сообщения, используя заголовок Content-type (вид содержимого), как это определено в RFC1049 и RFC-1341(M1ME). С помощью опций -Ь и -с программа metamail может работать даже с почтой нс в формате Internet, например, в формате Х.400. Она также автоматически декодирует почту, которая ранее содержала 7-битное кодирование для транспорт нровкл, если только
450 И Команды в сообщения включается заголовок Content-Transfer-Encoding, как определено в RFC-1341. Если информация была закодирована с помощью кодирования base64, программа будет преобразовывать последовательность CR и LF в символ newline (новой стро- ки) лишь для текстовых данных, если только не будет инструктирована по-другому в соответствии с полем textualnewlines в файле mailcap. Вызванная без опций и аргументов metamail ожидает получения на свой стандарт- ный ввод почтового сообщения в формате RFC 822 или считывает его из файла file-name. Ниже перечислены применяемые опции командной строки. Опции -ь Сообщает metamail, что следует сообщение не в формате RFC 822; принимает лишь тело сообщения без заголовков. Использование опции -Ь требует применения опции -с. -в Говорит о том, что сообщение следует отображать в фоновом режиме, при этом в файле mailcap не должен быть установлен атрибут needsterminal. Не может применяться с опциями -р и -Р. -ccontenttype Сообщает metamail о типе содержимого с помощью contenttype, а не через заголовки. -d Предлагает metamail "не задавать вопросов" до запуска интерпретато- ра для просмотра сообщения -е Предлагает metamail поглотить в теле сообщения идущие впереди сим- волы newline. -ffrom-name Указывает имя отправителя сообщения. В противном случае эта инфор- мация по возможности извлекается из заголовка. -h Указывает, что для печати сообщения применяется metamail. Автома- тически включает опцию -d. -mmailer-name Задает имя почтовой программы, вызвавшей metamail. Эта информа- ция помещается в переменную окружения, чтобы информировать лю- бую оболочку, вызванную metamail. -Р Производит за раз постраничный вывод. -Р Эта опция подобна -р, но при этом печатается сообщение Press Return to go on (для продолжения нажмите Return), приняв после которого сигнал нажатия Return, программа завершает вывод сообщения. -q По умолчанию metamail печатает несколько ключевых заголовков со- общения и также другую информацию. Эта опция запрещает вывод ин- формационных сообщений. -г По умолчанию metamail отказывается "работать" с идентификатором root. Благодаря этой опции "соглашается" быть запущенной как root. -R Указывает, что предварительно, до любых других операций I/O, должна быть выполнена /usr/iisb/rcset, переустанавливающая состояние тер- минала.
II. команды 451 -ssubject Указывает тему почтового сообщения. По умолчанию эта информация извлекается из заголовков. Полученная с помощью этой опции тексто- вая строка оудет помещена в переменную окружения, чтобы в дальней- шем быть доступной любому интерпретатору, вызываемому metamail. -w Вместо того чтобы обращаться к файлу mailcap в поисках решения по отображению информации сообщения, просто декодирует каждую часть и записывает в файл в ее низкоуровневом (возможно двоичном) фор- мате. У Пытается "оторвать" сообщение в MIME-формате от собственно его тела. Это полезно, если MIME-формат отвергается системой доставки почты как нераспознанный. -Z Приказывает metamail в конце работы уничтожить ее входной файл. По умолчанию определен следующий маршрут поиска файла mailcap: $HOME/.mailcap:/usr/locaI/etc/mailcap:/usr/etc/mailcap:/etc/mailcap:/etc/maiI/ mailcap:/usr/public/lib/mailcap. metasend - интерфейс для отправки нетекстосых данных в мультимедийных сообщениях электронной почты. Синтаксис metasend [-b]{-c cc][-F from][-e encoding][-f filename][~i content-id] [-1 content-id][-m MIME-type][-s subject][-S splitsize][-t to][-zj [-n][-D content-description][-o outputfile][-/multipart-subtype][-E] [-P preamble-file] Опции - b Устанавливает пакетный (неинтерактивный) режим. Программа завер- шается с ошибочным кодом, если не получит из командной строки всю необходимую ей информацию. - с сс Отправляет копии сообщения по указанному списку адресов сс. - D content-description Указывает строку, используемую в качестве Content-description: (опи- сание содержания). - е encoding Устанавливает тип кодирования. Ниже даны возможные значения пара- метра encoding'. base64 quoted-printable x-uue 7 bit Последний тип сообщения - 7 bit - означает отсутствие какого-либо кодирования.
452 II Команды -Е Сообщает о том. что включаемый файл является файлом MIME-типа и не нуждается в дополнительных полях заголовка Content-* или каких- либо других. -f filename Указывает файл, содержащий данные для отправки. -F from Задает строку, используемую в качестве заголовка From: (от кого). -i content-id Задает строку, используемую в качестве поля заголовка Content-Id: (идентификатор содержания) для сообщений MIME-типа. -1 content-id Задает строку, используемую в качестве поля заголовка Content-Id: для сообщений MIME-типа, состоящих из нескольких частей. Части со- здаются metasend. -m MIME-type Указывает тип MIME-сообщения. -n Указывает, что должен быть включен дополнительный файл. Перед каж- дым появлением опции -п в командной строке должны быть заданы, как минимум, опции -ш, -с и -f и, причем отдельно для каждого включаемо- го файла. -о outputfile Записывает созданное почтовое сообщение в указанный файл outputfile вместо отправки по почте. -P preamble file Указывает файл, содержащий альтернативный текст и используемый в качестве преамбулы MIME-сообщения, состоящего из нескольких ча- стей. -s subject Задает строку, используемую в качестве поля Subject: (тема). -S splitsize Указывает максимальный размер splitsize, при превышении которого сообщение будет разбито на части с помощью splitmail. -t to Указывает адрес получателя (поле То:- кому). -/ multipart-subtype Указывает использование подвида MIME-сообщения, состоящего из нескольких частей. -z Данная опция уведомляет, что в любом случае будут удалены времен- ные файлы, даже если доставка сообщений не выполнена. Вызванная без аргументов программа metasend предложит пользователю опреде- лить те же поля, что и задаваемые в командной строке с помощью вышеперечислен- ных опций. Сначала будет предложено заполнить поля То:, Subject:, СС:, а затем Content-type:. Содержимое последнего поля определяется MIME-стандартом и обычно содержит пару значений вид/нодвид, где вид описывает общий тип данных, в то время как подвид - их формат. Например, для рисунка в формате GIF в ноле Content-type: следует занести image/gif, в то время как для звукового клипа в базовом формате и- law в это поле записывается строка audio/basic. Полное описание используемых ти- пов даст стандарт RFC 1341.
II. Команды 453 Пример Ниже приведен фрагмент протокола выполнения metasend, запущенной без аргу- ментов. root© local host localdomain: /root_____________________________[ _ n x Файл Правка Settings Справка Subject: picture cc: Content-type: image/jpg Name of file containing image/jpg data: phcto82.jpg Do you want to encode this data For sending through the mail? 1 — No, it is already in 7 bit ASCII 2 — Yes, encode in base64 (most efficient) 3 — Yes, encode in quoted-printable (less efficient, more readable) 4 — Yes, encode it using uuencode (not standard, being phased out) 1 Do you want to include another file too (y/n> [n] ? n Delivering mail, please wait».»* Mail delivery apparently succeeded. [rootQlocalhost /root]# _ [rootQlocalhost /root]# | / mimencode - кодирует сообщения электронной почты в MIME-формат и декодирует их в ориги- нальный формат Синтаксис nrmencode [-u][-b][-q][-p][filename] (-0 outputfile] Программа mimencode просто преобразует поток байт в один из стандартных поч- товых форматов кодирования, определенных MIME - специальным стандартом, пред- назначенным для пересылки в Internet мультимедийных почтовых сообщений. Эта про- цедура называете) кодированием, и она необходима для передачи бинарных (двоич- ных) данных. Программа mimencode выполняет также и обратную процедуру - деко- дирование. Если в командной строке задан аргумент filename, считывает информацию поименованного файла вместо стандартного ввода (по умолчанию) и после обработки направляет ее на стандартный вывод. Опции - Ь Использует стандартный (по умолчанию) формат кодирования bnse64. - q Использует при кодировании формат quoted-printable - и Пытается декодировать стандартный ввод. - р Заменяет последовательность символов CR (возврат каретки) и LF (пе- ревод страницы) на newline (символ новой строки). Эта опция имеет смысл совместно с опцией -Ь. - о outputfile Эта опция направляет вывод в поименованный файл outputfile вместо стандартного вывода
454 II. Команды Программа niimcncode призвана заменить uuencode для электронной почты и служ- бы новостей. Самый главный недостаток заключается в том, что базовый формат uuencode — это не стандарт, существует несколько его разновидностей, к тому же пло- хо совместимых. - дружественная коммуникационная прог;>амма. minicom Синтаксис minicom ]-somlz8]]-c on|off][-S soript](-d entry][-a on|off][-t term] l-P Pty][-C capturefile] [ configuration] Имея minicom, легко подключиться к остальному миру. Но предварительно сле- дует подключить к одному из последовательных портов модем. Программа minicom - очень мощная, с ее помощью можно подключиться к элек- тронным доскам объявлений, поддерживать список телефонных номеров, загружать и пересылать файлы. Она поддерживает lock-файлы на последовательных устройствах, многопользовательский режим с индивидуальными файлами конфигураций, интерпре- татор языка сценариев и многое другое. Опции - s Запускает minicom в режиме конфигурирования (только для суперполь- зователя). При этом вы попадаете в меню конфигурирования, редакти- руя содержимое (параметры по умолчанию) файла /etc/minirc.dfl. - о Не инициализирует при запуске модем и lock-файлы. - ш Использует в качестве командной клавишу Meta или Alt. Если вы рабо- таете на терминалах, не имеющих клавиши Meta или Alt, ничего не ос- тается, как по умолчанию использовать в качестве командной клавиши Ctrl+A . Программа minicom полагает, что ваша клавиша Meta посы- лает ESC-префикс, а не другие варианты, устанавливающие наивысший бит символа. - М Действует аналогично -т, но полагает, что ваша клавиша Meta уста- навливает 8-й бит символа, посылая 128 плюс код символа. z Использует строку состояния терминала; только для терминалов, под- держивающих такую возможность и имеющих соответствующую ин- формацию в БД termcap или terminfo. - 1 Разрешает трансляцию 8-битных символов. Предполагает, что на экра- не используется набор символов IBM PC. - a on/off Включает/отключает использование экранных атрибутов reverse (обрат- ного видео) и highlight (выделения части текста). По умолчанию уста- навливается -a on, хотя существуют терминалы, для которых это недо- пустимо, т.с. необходимо^адать -a off. - t term Перекрывает значение переменной окружения TERM.
II Команды 455 - с on/'off Включает/отключаег поддержку цвета в стиле ANSI. Некоторые тер- миналы, например консоль Linux, поддерживают цвет со стандартными управляющими последовательностями ANSI. Поскольку явная под- держка цвета в termcap отсутствует, эти управляющие последователь- ности встроены в minicom. Хотя по умолчанию устанавливается -с off. - S script На старте запускает указанный сценарий. Правда, передача имени и па- роля пользователя в сценарии не поддерживается. Если вы также зада- ете опцию -d, сценарий должен быть запущен до звонка, определяя эле- менты для опции -d. - d entry Сразу после запуска выполняет звонок по указанному номеру из теле- фонной книги (из каталога дозвона). Можно указать числовой индекс или подстроку с именем элемента. Можно также указать несколько имен или индексов, разделенных запятыми. - р pty Использует псевдотерминал. Эта опция перекрывает терминальный порт, определенный в конфигурационном файле, что допускается лишь при задании псевдотерминала. Параметр pty должен быть задан в виде < /dev/>tty[p-z][O-f]. - С capturefile Открывает при запуске указанный файл захвата (файл с захваченным со- держимым экрана). - 8 Пропускает 8-битные символы без каких-либо модификаций. Этот ре- жим пригоден для символов японского языка Аргумент configuration задает используемый файл конфигурации. Все перечислен- ные опции могут быть определены в переменной окружения MINICOM, но в дальней- шем перекрыты значениями из командной строки. Переменная LIBDIR определяет мес- тонахождение конфигурационных файлов и файла minicom.users. Последний разреша- ет пользователям доступ к конфигурационному файлу программы minicom. По умол- чанию LIBDIR установлена в значение /etc. Ctrl+A - основная комбинация minicom. Если вы нажимаете Ctrl+A, а затем Z, на экране возникает перечень команд minicom. Для выполнения других команд поступаете аналогично: сначала нажимаете Ctrl+A, а затем соответствующую односимвольную команду. Пример Если первоначально программу minicom запускает обычный пользователь, то ре- зультат может быть следующий: $ minicom minicom: there is no global configuration file Zetc/minirc.df1 Ask your sysadm to create one (with minicom -s). $ Зарегистрируйтесь как суперпользователь и наберите: t minicom -s Программа minicom запущена и позволяет выполнить различные настройки. Меню Modem and dialing позволяет установить команды инициализации модема. Нажми- те клавишу А, чтобы поменять строку инициализации модема. Программа установит курсор на первой строке. Можно применить клавишу Backspace, чтобы отредактиро-
456 II Команд» вать строку, а затем набрать АТ-команду для инициализации вашего модема. Для воз- врата в главное меню нажмите Enter. Н, root@localhost.localdomain:/root - В х Шэйл Правка Settings Справка -----[configuration!------ Filenames and paths File transfer protocols Serial port setup Modern and dialing Screen and keyboard Save setup as df! Save setup as,. Exit Exit from Minicom Выберите пункт Serial port setup В возникшем меню нажмите В, чтобы поменять местоположение lock-файла на /var/lock/minicom, ибо /var/lock, заданный по умол- чанию, не работает, так как это не файл, а каталог. Чтобы одновременно не более одно- го пользователя имело доступ к последовательному порту, требуется устанавливать lock-файл. Если все изменения проведены, спуститесь к пункту Save setup as dfl (со- хранение конфигурации по умолчанию) и нажмите Enter. По умолчанию minicom со- храняет установки в файле /etc/minirc.dfl. Выбрав Exit from Minicom. можно выйти из программы. Чтобы minicom мог запустить обычный пользователь, необходимо проделать сле- дующее: □ добавить строку со словом ALL (все) в файл /etc/minicom.users □ набрать команду chmod o+w /dev/ttySO, дающую каждому доступ по записи к порту СОМ 1 (см. приложение II), если модем установили на этот порт □ связать /dev/modem и соответствующий последовательный порт с помощью команды In -s /dev/ttySO /dev/modem. mkbootdisk - создает отдельную загрузочную дискету для запуска системы. Синтаксис mkbootdisk [—version]!—noprompt](—verbose]!—mkinitrdargs args] (—device devicefile] kernel Загрузочная дискета включает начальный образ псевдодиска ramdisk, хранящегося в памяти, с него загружаются любые необходимые системе SCSI-модули. Программ- ное обеспечение загрузочной дискеты отыскивает корневую файловую систему, ори- ентируясь по содержимому /etc/fstab. Единственный необходимый аргумент, версия ядра kernel, запоминается на дискете
II. Команды 457 Опции —device devicejile Создает загрузочный образ на устройстве devicefile. Если опция —device отсутствует, использует /dev/fdO (НГМД). —mkinitrdargs args Передаст mkinitrd указанные аргументы args. Можно не указывать ни- каких аргументов. Программа mkinitrd используется для создания на- чального образа псевдодиска (ramdisk). —noprompt Обычно mkbootdisk предлагает пользователю вставить дискету и ждет его подтверждения для продолжения работы. Если указана опция —noprompt, не выводит никаких приглашений. —verbose Подробно информирует о происходящем. —version Выводит информацию о версии программы и завершает ее работу. Пример t mkbootdisk 2.2.14-6.1.1 Insert a disk in /dev/fdO. Any information on the disk will be lost. Press <Enter> to continue or ЛС to abort: I mkdir - создает каталоги с указанными именами. Синтаксис mkdir [option]..-ладе— Если одно из имен пате является именем существующего файла, а не каталога, направляет предупреждение в стандартный файл ошибок и после обработки оставших- ся имен завершается с кодом 1. Выполняет то же самое, если пате - имя существую- щего каталога, а опция -р не указана. Опции -m mode, —mode- mode Устанавливает режим созданных каталогов в значение mode (в символь- ной форме, как в chmod) минус текущие биты umask для точки возвра- та (в операционную систему при завершении прикладной задачи). -р, --parents Для каждого аргумента создает любые отсутствующие родительские каталоги (системный вызов umask, модифицирующая маска u+wxl Иг- норирует аргументы существующих каталогов. —verbose Комментирует создание каждого каталога, что полезно совместно с опцией-р. Пример $ mkdir dos $
458 II Команды mke2fs — создает вторую расширенную файловую систему Linux. См. команду mkfs.ext3 mkfifo - создает FIFO. Синтаксис mkfifo [option] пате... FIFO (First in - First out, первым вошел - первым вышел) - это файл специального типа, позволяющий взаимодействовать отдельным процессам. Один процесс открыва- ет файл FIFO для записи, а другой - для чтения, поток данных как бы течет по каналу от одного процесса к другому. Именно поэтому FIFO иногда называют именованный ка- нал (поток). Опции -tn mode, —mode=mode Устанавливает режим создаваемых файлов в значение mode', символь- ное значение, как в chmod; использует a=rw (чтение и запись для каж дого) минус биты, установленные в umask, как при возврате в операци- онную систему. Созданный FIFO получает имя name. mkfontdir - создает в указанном каталоге индекс файлов-шрифтов системы X. Синтаксис mkfontdir [-г ] {-р prefix] [-е endir]... [ — ][dir_name ] В каждом указанном каталоге dir name отыскивает все файлы шрифтов, поимено- ванные FONT. Конвертирует символы имен файлов в символы нижнего регистра и да- лее использует как имена шрифтов, информация о каждом записывается в файл fonts.dir указаного каталога. Х-сервер и сервер шрифтов используют файл fonts.dir для нахож- дения файлов шрифтов. Разновидности файлов шрифтов зависят от параметров конфигурации, но обычно включают форматы PCF (суффикс .pcf), SNF (.snf) и BDF (.bdf). Если шрифт су тс ствует в нескольких форматах, mkfontdir сначала будет выбирать PCF, затем SNF и. наконец, BDF. Первая строка fonts.dir содержит количество шрифтов в файле, в остальных стро- ках перечислены собственно шрифты: отдельная строка для каждого шрифта, в кого-
II. Команды ЧЭУ рой имеются два поля. Первое из полей является именем файла шрифтов, далее через пробел находится имя шрифта. Файлы масштабируемых шрифтов обычно не включают имя шрифта; файл fonts.scale содержит масштабируемые шрифты каталога. Шрифты, перечисленные в нем, копируются в fonts.dir в том же формате что файл fonts.dir В каталогах по маршруту шрифтов можно встретить файлы fonts.alias, используе- мые для отображения новых имен в существующие шрифты. Первое поле таких фай- лов содержит псевдонимы, а второе, отделяемое пробелом от первого, - шаблоны имен шрифтов. Строки, начинающиеся с восклицательного знака, рассматриваются как комментарии. Опции - е endir Указывает каталог, содержащий файлы кодировок. Опция может встре- чаться многократно, при этом будут считываться все заданные катало- ги. Порядок элементов существенен. - р prefix Указывает префикс, добавляемый к маршрутам имен файлов при запи- си их в файл encodings.dir. - г При записи в файл encodings.dir оставляет каталоги, содержат] е ко- дировки шрифтов, в их относительном формате По умолчанию отно- сительные каталоги преобразуются в абсолютные путем добавления те- кущего каталога. Отмечает конец опций. mkfs - создает нову о файловую систему Linux. К Синта :сис mkfs [~V][-t Tstype][-v]J-c][-1 filename][fs-option] device-or-mount-point [blocks] mkfs строит файловую систему на некотором устройстве, обычно в разделе жест- кого диска. В качестве аргумента device-or-mount-poinl указывается либо имя устрой- ства (/dev/hdal, /dev/sdb2 и аналогичные), либо точка монтирования (каталоги /. /user, /home). Количество блоков, выделяемых для использования файловой системой, ука- зывается аргументом blocks. А вообще mkfs - это просто конечный интерфейс к доступным под Linux построи- телям файловых систем, вторую часть сложных имен (mkfs./strpe) которых определя- ет вызываемый построитель. Опции -V Подробно комментирует происходящее, включая все специфические команды файловой системы. -t fstype Указывает тип новой файловой системы, по умолчанию принимается cxt2
460 II Команды fs-option Передает построй. елю файловой системы специфические опции (в виде списка) _с Перед построением файловой системы проверяет наличие сбойных бло- ков на устройстве. - 1 filename Считывает список сбойных блоков из указанного файла filename. Воз- можно, предварительно проводилась проверка с помощью badblocks или аналогичной утилиты и был составлен подобный список. - V Подробно комментирует происходящее. Пример t mkfs -t ext2 /dev/hda3 I Создает файловую систему типа cxt2 в разделе /dev/hda3 (первый жесткий диск типа IDE). mkfs.ext3 - создает ф-.-йловую систему ext2/3 Синтаксис mke2fs [-с|-1 filename][-Ь block-size](-f fragment-size] ]-i bytes-per-inode] [-j ] [-J journal-options] [-N number-of-inodes] [-n] [-n reserved-blocks-percentage] [-0 creator-os][-o feature],...]]]-q] ]-r fs-revision-level] ]-R raid-options] ]-v] [ -F] [-L volume-label] [-M last-mounted-directory] ]-S] [-T filesystem-type] [-V] device (blocks-count] mke2*s -0 journal_dev ]-b block-size][-L volume-label][-n]]-q]]-v] external-journal [blocks-count] mke2fs используется для создания файловой системы ext2 или ext3 на устройстве device - это обычно раздел жесткого диска, которому соответствует специальный файл устройства (/dev/hdXX). Аргумент blocks-count задает количество блоков устройства, на котором создается файловая система; если упомянутый аргумент отсутствует, mke2fs автоматически устанавливает размер файловой системы. Если вызывается как mkfs.ext3, создается журнал, как если бы была задана опция -j. Файловая система ext3 — обновление ext2, которая в течение ряда лет была одной из самых популярных файловых систем Linux. Вы можете выбрать ext3 во время пол- ной генерации системы или автоматически трансформировать вашу теперешнюю сис- тему в файловую систему ext3, когда будете обновлять при помощи текущей версии Linux. Все инструментальные средства для ext2 сегодня обновлены в Linux и работа ют также с ext3. Файловая система ext3, предлагаемая Red Hat Linux, полностью со- вместима с ext2. Однако ext3 обладает целым рядом уникальных свойств: • Потенциально возможно восстановить удаленный из cxt3 файл, что вообще не- возможно в файловой системе ReiserFS (изначально используемой в дистрибу- тивах SuSE и Mandrake).
II Команды 461 • Может работать с файлами в 2 Тбайт, каталогами в 2 Гбайт и с именами файлов длиной до 255 (и больше) символов. • Может очень эффективно распределять и использовать пустое пространство и вовсе не нуждается в дефрагментации. • Подобно другим файловым системам с журналированием традиционная проверка (fsck) не является обязательной на файловой системе ext3, что составляет не- малую экономию времени на терабайтных дисках. • Можно выбрать разные опции журналирования (три режима) в зависимости от потребностей: writeback Разрешает старым данным оставаться в системе, достигая максималь- ной скорости из возможных; не планирует никаких записей данных, но разрешает 30-секундный код в ядре для опорожнения буфера. Данные могут быть записаны в основную файловую систему после того, как их метаданные уже зафиксированы в журнале. И хотя это самый ско- ростной режим, в этом случае после сбоя и восстановления журнала у вас могут возникнуть старые данные. ordered Поддерживает согласованность данных, частично жертвуя скоростью; этот режим принят в Red Hat по умолчанию. Все данные записывают- ся в основную файловую систему до того, как их метаданные будут зафиксированы в журнале. journal Требует больше места на диске для занесения в журнал необходимой информации. Можно наблюдать снижение производительности, так как данные записываются дважды, хотя существуют некоторые возмож- ности, благодаря которым можно синхронизировать запись данных, как в операциях БД. Подобный способ подстраховки данных аналогичен методам, применяемым в современных СУБД. Это самый медленный, хотя и самый безопасный режим, потому что данные записываются в журнал до того, как они будут записаны в обычную файловую систе- му. Режим можно выбрать путем задания соответствующей опции монтирования (data=joumal/data=ordered/data=writeback) в файле /etc/fstab, хотя большинство из нас вполне устроит принятый по умолчанию вариант. Опции -b block-size Указывает размер блоков в байтах. Действующие размеры блоков со- ставляют 1024, 2048 и 4096. Если block-size не указан, mkc2fs опреде- ляет размер блока, исходя из размера и ожидаемого использования фай- ловой системы (см. опцию -Т), -с Перед созданием файловой системы проверяет устройство на наличие сбойных блоков в режиме "только для чтения". Если эта опция задана дважды, применяется более медленный, разрушающий тест в режиме "чтение-запись". -f fragment-size Указывает размер фрагментов в байтах.
462 II Команды -i byies-per-inode Указывает соотношение bytes/inode (байгы/дескриптор). mke2fs созда- ет индексный дескриптор для каждой последовательности байтов иа диске. Для больших значений этого коэффициента будет создаваться несколько дескрипторов, хотя, вообще говоря, его значение не может быть меньше, чем размер блока файловой системы. Невозможно уве- личить допустимое количество дескрипторов файловой системы после ее создания. -j Создает файловую систему с журналом (ext3) Если не задана опция-J для создания журнала, соовстствующего размеру файловой системы, внутри которой он сохраняется, используются принятые по умолчанию параметры. Чтобы использовать подобный журнал, необходимо иметь ядро с поддержкой файловой системы ext3. -J journal-options Создает журнал ext3, используя опции, задаваемые в командной строке и разделенные запятыми. Знаки равенства (=) позволяют определять зна- чения аргументов. Поддерживаются следующие журнальные опции (за- дается одна из этих двух): size=journal-size Создает внутренний журнал указанного размераjournal-size в мегабайтах; размер журнала должен, по меньшей мере, состав- лять 1024 блока файловой системы (1 Мбайт, если использу- ются блоки размером 1 Кбайт, 4 Мбайт, если используются блоки размером 4 Кбайт, и т.д.) и не может превышать 102400 блоков файловой системы. device=external-journal Подключает данную файловую систему к блокам устройства внешнего журнала, размещенного в external-journal. Внешний журнал должен быть предварительно создан с использовани- ем следующей команды: nke2fs -0 journal_dev external-journal Причем, external-journal необходимо создать с тем же раз- мером блока, как и у новой файловой системы. Вместо непос- редственного указания имени устройства журнала может быть задана метка тома в виде LABEL/ai<?/ или UUID=UU/£>, хра- нимый в суперблоке ext2 при запуске журнала. Чтобы отобра- зить метку тома устройства журнала или UUID, применяется команда dumpelfs (см. также опцию -L команды tune2fs) "D Не создает реальную файловую систему, а только выдает протокол ее создания. -N number-of-inodes Позволяет непосредственно задавать количество number-of-inodes дес крипторов, предназначенных для файловой системы, перекрывая вычне ленное по умолчанию количество.
II. Команды -О feature^,...} Создает файловую систему с набором перечисленных опций feature. поддерживаются следующие их значения: sparse super Создает файловую систему лишь с несколькими ко- стями суперблоков, что сохраняет пространство на больших файловых системах. filetype Указывает файловой системе хранить информацию о типе файла в элементах каталога. has_joumal Создает журнал ext3, как в случае задания опции -j. j oumal dev Создает внешний журнал ext3 на заданном устройстве external-journal, а не в обычной файловой системе Причем файловая система журнала должна создавать- ся с тем же размером блока, что и использующие ее файловые системы. -о creator-os Вручную перекрывает заданное по умолчанию выражение для поля "creator os" (создатель OS) файловой системы -1 filename Считывает список сбойных блоков из файла filename. -m reserved-blocks-percentage Указывает количество блоков, зарезервированное для суперпользователя, в процентах, по умолчанию принято 5%. -ч Выполняет создание без вывода сообщений. -V Выводит подробную информацию. -F Принуждает mke2fs выполняться, даже если указанное устройство не является блочно-специальным или возникает как смонтированное - L volume-label Устанавливает volume-label в качестве метки тома для файловой сис- темы. - М last-mounted-directory Устанавливает для файловой системы последний смонтированный ката- лог, что полезно утилитам, отключающим последний смонтированный каталог, для определения подключения файловой системы. - г fs-revision-level Устанавливает версию fs-revision-level для новой файловой системы. - R raid-options Устанавливает RAID-опции для файловой системы, они обычно разде- ляются запятыми и могут принимать необходимый параметр, используя знак равенства. В настоящее время поддерживается единственный па- раметр stride (количество блоков в пространстве RAID). - S Записывает только суперблок и групповые дескрипторы. Это полезно в случае возможных повреждений файловой системы, при >том mkc2fs повторно инициализирует суперблок и групповые дескрипторы, не тро- гая ничего более.
464 Н Команды -Т filesystem-type Указывает предполагаемое использование файловой системы, полому mke2fs может автоматически определить оптимальные параметры фай- ловой системы. Поддерживает такие типы файловых систем news один дескриптор на блок в 4 Кбайт largefile один дескриптор на 1 Мбайт largefile4 один дескриптор на 4 Мбайт -V Выводит версию утилиты mke2fs и завершает ее работу. Примеры Прежде всего, создадим файловую систему для тестирования: в данном случае файловую систему внутри файла. Поскольку большинство из нас не имеет запасного компьютера или жесткого диска для тестирования и опробования разных (подчас опас- ных) команд, мы можем создать файл с образом требуемой файловой системы и мон- тировать ее, используя файловую систему типа loopback (по типу контура обратной связи, или шлейфа, для кольцевой тестовой проверки) - специальную файловую систе- му, позволяющую реализовать этот "трюк". Сначала создадим файл объемом 5 Мбайт с блоками размером в 1024 байт, для этого понадобится 5000 блоков размером 1 Кбайт (1024 байт): # dd if=/dev/zero of=/tmp/lutest.img bs=1024 count=5000 5000+0 records in 5000+0 records out I А сейчас с помощью команды file проверим новый файл: # file /tmp/lutest.img /tmp/lutest.img: data # А сейчас с помощью команды losetup нужно сделать так, чтобы вместо ASCII- файла система рассматривала данный файл в качестве блочного устройства: # losetup /dev/loopO /tmp/lutest.img f И вот теперь можно форматировать данный файл как файловую систему: ♦ mkfs.ext3 /dev/loopO mke2fs 1.32 (09-Nov-2002) Filesystem label= OS type: Linux Block size=1024 (log-0) Fragment size=1024 (log=0) 1256 inodes, 5000 blocks 250 blocks (5.00%) reserved for the super user First data block=l 1 block group 8192 blocks per group, 8192 fragments per group 1256 inodes per group Writing inode tables: done
II. Команды Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 29 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override- Эту файловую систему можно смонтировать и посмотреть ее содержимое: I mount /dev/loopO Rabi * Is -1 Rabi total 12 drwx— ---- 2 root root 12288 Oct 13 21:22 lost+found i Как и положено, в файловой системе был создан каталог lost+found. mkinitrd - создает образ начального псевдодиска (ramdisk; для предварительно загружаемых модулей. Синтаксис mkinitrd [-fv][—ifneeded][—with^module][—preload=module] I —omit-scsi-modules][—omit-raid-modules][—version][—fstab=/stab] image kernel-version mkinitrd создает образы файловых систем, пригодных для использования под Linux в качестве начальных ramdisk (псевдодисков - дисков, размещенных в памяти). Подобные образы image необходимы для предварительной загрузки модулей блочных устройств, таких как SCSI или RAID, без которых невозможно осуществить доступ к корневой файловой системе, расположенной на подобных устройствах. По- этому mkinitrd автоматически загружает все элементы SCSI-адаптеров из файла /etc/conf.modules, необходимые для использования ядер, применяющих модули SCSI-устройств. Любые опции, имеющиеся в /etc/conf.modules, будут передаваться модулям, загруженным в начальный ramdisk. С помощью аргумента kernel-version за- дается версия ядра. Если корневая система расположена на loop-устройстве (например, /dev/loopO). mkinitrd пытается построить initrd (сценарий инициализации) и определить в нем loopback-file. Чтобы это осуществить, fstab должен содержать примерно следующий комментарий: # LOOPO: /dev/hdal vfat /linux/rootfs Здесь LOOPO - имя прописными буквами loop-устройства, которое должно быть скон- фигурировано. Далее следует устройство /dev/hdal. содержащее файловую систему с loopback-образом, тип файловой системы и полный маршрут к loopback-образу (/linux/rootfs). Если файловая система модульная, initrd автоматически добавит заг- ружаемые модули к образу initrd. Опции -f Позволяет mkinitrd перекрыть уже существующий образ. --fstab fstab Использует указанный файл fstab (обычно /ctc/fstab) для автомат чсского определения шиа файловой системы.
II Команды 466 —ifneeded Строит зш ружаемый образ лишь в том случае, если действительно су- ществуют модули, которые должны быть загружены во время началь- ной загрузки системы. —omit-scsi-modules Не загружает никакие SCSI-модули, в том числе scsi_mod и sd_mod, даже если они присутствуют. —omit-raid-modules Не загружает никакие RAID-модули, даже описанные в /etc/fstab и /etc/raidtab. —preloadmodo/e Загружает указанный модуль module в образ начального ramdisk. Этот модуль должен быть загружен до любого SCSI-модуля, указанного в /etc/conf.modules. Данная опция может при необходимости использо- ваться многократно. -v Подробно комментирует процесс создания образа. —version Выводит информацию о версии mkinitrd и завершает ее работу. --with-module Загружает указанный модуль module в образ начального ramdisk. Этот модуль будет загружен после всех SCSI-модулей, перечисленных в /etc/conf.modules. Данная опция может при необходимости использо- ваться многократно Созданный ramdisk загружается загрузчиком операционной системы, таким, как LILO, и становится доступным ядру сразу после загрузки образа. Этот образ отвечает за загрузку необходимого SCSI-адаптера и позволяет ядру смонтировать корневую фай- ловую систему. Пример Замещение текущего ядра 2.х.хх-х его новой версией выполняется с помощью сле- дующей команды: # mkinitrd /boot/initrd-2.x.xx-x.img 2.х.хх-х I Таким образом создается файл образа начального ramdisk. Нужно убедиться (мож- но с помощью 1s), что этот файл действительно создан в каталоге /boot. После этого необходимо модифицировать файл /etc/lilo.conf, чтобы перестроить LILO на новое ядро. Вы не должны перезагружать систему, пока не переконфигурируете LILO. С помо- щью произвольного текстового редактора добавьте новый сегмент к вашему файлу /etc/lilo.conf: image=/boot/vmlinuz-2.х.хх-х label=newlinux root=/dev/hdal (возможно /dev/sdal) initrd=/boot/initrd-2.х.хх-х.img read-only append= "mem=96M"
II. Команды 467 Последняя строка снимает ограничения памяти (64М, или 64 Мбайт) Linux, уста- навливая новое значение 96М. Затем необходимо сохранить файл /etc/lilo.conf и запустить /sbin/lilo Это заста- вит загрузчик LILO прочесть новое содержимое файла конфигурации и обновить за- грузочный сектор соответствующего корневого раздела. mkisofs - создает образ файловой системы для использования на CD-ROm Синтаксис mkisofs [options]!-о filename] pathspec [pathspec ...] Команда mkisofs создает гибридную файло=ую систему (ISO9660/JOLIET/HFS). Файловая система, обычно используемая на CD-ROM, известна как ISO9660. Каждая операционная система транслирует файловую систему ISO9660 в свою "родную" фай- ловую систему, хотя и с некоторыми ограничениями. Были создано несколько расши- рений, удовлетворяющих некоторым специальным нуждам. Расширение Rock Ridge предоставляет длинные имена файлов и Unix-подобные символические ссылки. Рас- ширение Joliet разрешает символы Unicode и длинные имена файлов, полезные, когда имеешь дело не с англоязычными языками. Компакт-диски El Torito содержат загру- жаемый образ с подходящей BIOS, что дает возможность загружать операционную систему прямо с компакт-диска. Команда mkisofs может сгенерировать подлинную (или разделяемую) гибридную систему HFS. Одни и те же файлы могут выглядеть как файлы HFS, когда получаешь доступ с компьютера Macintosh, и как файлы ISO9660. когда обращаешься с других машин. В Linux создание компакт-диска происходит в два этапа: сначала вы создаете образ диска в формате ISO9660, а затем "прожигаете", или записываете, этот образ на диск. Команда mkisofs выполняет мгновенный "снимок" заданного дерева каталогов и генерирует двоичный образ, соответствующий файловой системе ISO9660 или HFS, для записи на блочное устройство. Аргументpathspec определяет маршрут к дереь7 каталогов, которое будет копиро- ваться в файловую систему ISO9660. Может быть задано несколько маршрутов, и mkisofs будет сливать файлы, найденные по разным маршрутам, формируя CD-образ. Базовые опции -A applicatton id Указывает текстовую строку, которая будет записана в заголовок тома. Такая строка характеризует приложение, записываемое на диск. Упомя- нутый параметр также может быть установлен в конфигурационном фай- ле .mkisofsrc в виде APPI^applicationid. -allow lowercase Разрешает строчные символы в именах файлов, хотя это и противоре- чит стандарту ISO9fi6n
468 II Команды -allow-multidot Разрешает более одной точки в именах файлов Эта опция не имеет ни- какого отношения к идущей впереди точке, которая может быть разре- шена отдельно с помощью опции -L. -biblio filename Указывает имя файла с библиографией. Упомянутый параметр также может быть установлен в конфигурационном файле .mkisofsrc в виде BIBLIO=/i/enome. -gid gid Перекрывает идентификатор группы исходных файлов указанным зна- чением gid. .1 Разрешает полные имена файлов длиной в 31 символ. В ISO9660 имя файла должно быть в формате 8.3. - J Генерирует записи каталога Joliet в дополнение к обычным именам фай- лов формата ISO9660. так что все, отдающие предпочтение Windows, могут считывать компакт диск. - L Разрешает именам файлов в формате ISO9660 начинаться с точки. Обыч- но идущая впереди точка заменяется символом подчеркивания. -log-file logJile Пепеадресует все ошибки, предупреждения и информационные сооб- щения в файл регистрации - о filename Определяет имя файла, в который записывается образ файловой систе- мы 1SO9660. - R Генерирует записи SUSP и RR, используя протокол Rock Ridge, чтобы в дальнейшем описать файлы на данной файловой системе 1SO9660. Команда mkisofs может генерировать записи SUSP (System Use Sharing Protocol - протокола раздельного использования в системах), указы- ваемые протоколом обмена RR (Rock Ridge) Эта особенность приме- няется для того, чтобы позже описать файлы из файловой системы ISO9660 для хоста Unix, предоставляя информацию по длинным име- нам, UID/GID, полномочиям, символическим ссылкам, блочным и сим- вольным устройствам - г Подобна опции -R, но устанавливает право владения и режимы в более полезные значения, а именно: UID и G1D - в ноль; полномочия чтения на все файлы и каталоги; если для файла установлен хоть один бит вы- полнения, устанавливает все биты выполнения; очищает все биты запи- си и биты специальных режимов, если последние установлены - uid uid Перекрывает UID исходных файлов указанным значением uid - v В ходе выполнения отображает подробные сообщения - х path Исключает маршрут из состава записываемых на компакт-диск Этот флаг с разными параметрами может встречаться в командной с гроке неоднократно, исключая одновременно несколько маршрх гои.
II. Команды 469 Пример А вот применение команды mkisofs для создания ISO-образа: S mkisofs -г -v -J -1 -о /tmp/spec_cd.iso Rabi mkisofs 2.0 (i686-pc-linux-gnu) Scanning Rabi Scanning Rabl/recycled Scanning Rabl/recycled/dd63 Scanning Rabl/recycled/dd64 18 32% done, estimate finish Tue Sep 30 15:33:31 2003 18 65% done. estimate finish Tue Sep 30 15:33:32 2003 18 98% done, estimate finish Tue Sep 30 15:33:33 2003 31 08% done. estimate finish Tue Oct 30 15:33:43 2003 72 96% done. estimate finish Tue Oct 30 15:34:19 2003 - создает специальные файлы. mknod Синтаксис mknod [option]--name type [major minor] Создает FIFO (First In, First Out - первым вошел, первым вышел, определяет спо- соб обслуживания в порядке поступления запросов в очередь, подробнее см. mkfifo), символьно-специальные и блочно-специальные файлы с указанным именем пате за- данного типа type. Аргумент type может принимать такие значения: р FIFO Ъ блочно-специальный файл с символьно-специальный файл При создании блочно-специального или символьно-специального файла могут быть также указаны главный (major) и дополнительный (minor) номера устройств, идущие вслед за типом файла (см. файл /proc/partitions и приложение II). Опции -m mode, — mode=mode Устанавливает режим создаваемых файлов в значение mode: символь- ное значение, как в chmod; использует a=rw (чтение и запись для каж- дого) минус биты umask, как при возврате в операционную систему, т.е. значение маски, используемой для создания файлов). Примеры Вот как выглядит команда для создания нового терминального устройства: ♦ mknod -m 660 /dev/ttySO с 4 64 I /dev/ttySO указывает первый последовательный порт компьютера (COMI). символ с уведомляет, что терминал является символьным устройством (почти все терминалы
470 II Команды являются символьными устройствами). Главный номер устройства установлен в зна- чение 4, дополнительный — в 64. Для второго последовательного порта (COM2) ко- манда должна быть таковой: # mknod -m 660 /dev/ttySl с 4 65 # mkreiserfs - создает в Linux файловую систему ReistrFS. Синтаксис mkreiserfs I-dfVl (-b|-block-size n][-h| — hash hash] [-u |—uuid uuid] [-1 —label label]]—format formatJ (-j|— journal-device file] ]-s —journal-size n](-o|—journal-offset n] [~t —transaction-max-size n] device [filesystem-size] В файловой системе ReiserFS (тоже с журналированием) небольшие файлы под- держиваются более эффективно, чем в ext3. И хотя она пригодна для использования в качестве корневой файловой системы, официально Red Hat Linux такую возможность не поддерживает. И во время инсталляции системы Red Hat не предлагает вам отфор- матировать некорневые разделы под ReiserFS. Совсем другое дело дистрибутивы SuSE и Mandrake, поддерживающие загрузку с файловой системы RciserFS. Файловая система ReiserFS подверглась наиболее существенным изменениям с приходом Reiser4. Улучшения были достигнуты в самых разных областях: максималь- ное число каталогов, файлов, ссылок, размеры отдельных файлов и всей файловой си- стемы (18 Тбайт). Другие улучшения включают повышенную производительность и шифрование. Команда mkreiserfs создает файловую систему на устройстве device (обычно в разделе диска). Размер filesystem-size создаваемой файловой системы задается в бло- ках, если этот аргумент пропущен, mkreiserfs определяет его автоматически. Опции - Ь | --block-size п Задает размер блока в байтах, сейчас пока только 4096. - h | —hash hash Указывает имя хэш-функции, по которой будет производиться сорти- ровка имен файлов в каталогах. Выбирается одно из следующих имен: г5 (по умолчанию), rupasov, tea. —format format Указывает, какой должен быть формат новой файловой системы. Мо- жет быть выбран один из двух: 3.5 или 3.6. Если никакой формат нс ука- зан, mkreiserfs создает файловую систему в формате 3.6 для ядра 2.4 и в формате 3.5 для ядра 2.2; отказывается создавать файловую сис- тему под всеми другими ядрами. - и | —uuid uuid Устанавливает UUID данной файловой системы в указанное значение (см. команду uuidgen), состоящее из наборов шестнадцатеричных цифр, разделенных дефисами. Если эта опция пропущена, mkreiserfs генери- рует новое значение.
II. Команды 471 - 1 | —label label Устанавливает метку тома данной файловой системы; максимальная длина метки достигает 16 символов. Если задаваемая длина метки пре- восходит 16 символов, обрезает ее. - j | --journal-device file Определяет имя блочного устройства, где будет располагаться журнал файловой системы. - о | --journal-offset п Определяет смещение (по умолчанию - нулевое), откуда начинается журнал, расположенный на отдельном устройстве. Эта опция не оказы- вает никакого влияния, когда журнал расположен на основном устрой- стве. - s | —journal-size л Определяет размер журнала в блоках. Когда журнал расположен на от- дельном устройстве, по умолчанию его размер равен количеству бло- ков самого устройства. Когда журнал расположен иа основном устрой- стве, по умолчанию его размер составляет 8193 и может достигать 32749 для блоков размером 4 Кбайт. Минимальный размер в обоих слу- чаях равен 513. - t | --transaction-max-size п Задает параметр определяющий максимальное количество блоков жур- нала на транзакцию Максимально возможное значение достигает 1024 и должно быть меньше половины размера всего журнала. - f Вынуждает mkre.serfs продолжать работу даже в тех случаях, когда устройство является полным диском выглядит смонтированным или не относится к блочному устройству. - d В процессе работы выводит отладочную информацию - V Выводит информацию о версии программы и завершает ее выполнение. Пример # mkreiserfs /dev/loopO <-------------------------------mkreiserfs, 2002------------------------: reiserfsprogs 3.6.4 mkreiserfs: Guessing about desired format.. mkreiserfs: Kernel 2.4.20-8 is running. Format 3.6 with standard journal Команда mkreiserfs запушена под ядром 2 ,4 и поэтому для файловой системы был выбран формат 3.6.
472 11 Команды FYlkSWap - создает область своппинга в Linux. Синтаксис mkswap [-с][-vtf][-f1[-р psz} device I size] mkswap устанавливает область своппинга, или подкачки, на устройстве device или же в файле. Такая область необходима в многозадачной операционной системе, кото- рая периодически записывает во внешнюю память содержимое освобождаемой стра- ницы или сегмента виргуальной памяти, а иногда и образ задачи, чтобы затем, при необ- ходимости, вновь вернуть их. Обычно область своппинга — это раздел диска, использу- емый Linux как расширение оперативной памяти компьютера Так что вначале следует создать раздел своппинга с помощью команды fdisk или аналогичных средств, что, как правило, выполняется еще при инсталляции системы. Далее необходимо приме- нить mkswap, чтобы инициализировать раздел своппинга. После создания области под- качки ее необходимо задействовать с помощью команды swap on. Обычно аргумент device - это раздел диска (/dev/hda4, /dev/sdb3 и т.п.), но может также быть и файлом. Разрешается иметь до восьми разделов подкачки, причем раз- мер раздела может достигать 2 Гбайт. Опции - с Перед созданием области своппинга проверяет блочное устройство в поисках сбойных блоков. - р psz Указывает используемый размер страницы. 4096 и 8192 — типичные зна- чения psz. Впрочем, этот параметр вовсе не обязательно задавать. - v0 Создает область своппинга в старом стиле. - vl Создает область своппинга в новом стиле. Если никакая опция -v не за- (g) дана, создает область своппинга в старом стиле. Заголовок нового сти- ля даже и не соприкасается с первым блоком. Способ описания страниц в старом стиле расточителен и ограничивал размер области подкачки. Максимально используемый размер области своппинга в новом стиле зависит лишь от архитектуры компьютера. Позволяет создать область своппинга, превышающую размеры файла или раздела, предназначенного для этих целей. Аргумент size указывает размер области подкачки в блоках, размер каждого из ко- торых составляет 1024 байт. Оставлен этот аргумент лишь для совместимости. Если он опущен, mkswap полностью использует выделенный раздел диска или файл. Если принято решение для своппинга использовать файл, его необходимо создать до запуска mkswap. Примеры Файл /proc/swaps содержит информацию об используемых областях своппинга ва- шей системы:
II. Команды 473 $ cat /proc/swaps Filename* Type Size Used Priority /dev/hda6 partition 42296 10392 -1 $ Любой пользователь может поинтересоваться размером области подкачки, но ме- нять ее должен лишь суперпользователь. А следующие команды показывают, как в качестве области своппинга использо- вать файл my swap: i dd if=/dev/zero of=myswap bs=1024 count-65536 65536+0 входных запасен 65536+0 выходных запасен t Команда ср не пригодна для создания такого файла. I mkswap -с myswap Setting up swapspace version 0, size=67104766 bytes I И не забудьте о команде swapon I modinfo - выводит информацию о модуле ядра. Синтаксис modinfo [option] nodule_file Команда modinfo анализирует заданный объектный файл module_file, ассоциирую- щийся с модулем ядра, и сообщает всю известную о нем информацию, по умолчанию (без каких-либо опций) выводит имя файла (полный маршрут), описание, сведения об авторе и лицензии, поддерживаемые модулем параметры. Опции -a,—author Сообщает об авторе модуля. -d, --description Выводит описание модуля. -f, --format format string Позволяет задать необязательную строку формата, используемого для извлечения значении из секции ELF в niodule_file, содержащей инфор- мацию о модуле. Замещаемые элементы формата содержат символ про- цента и последующее имя тега в фигурных скобках. Вот некоторые при- меняемые теги. %{filename} всегда поддерживаемое имя файла, даже если рассматриваемый модуль не имеет никакой секции modinfo версия ядра ОС, для которой был скомпили- рован рассматриваемый модуль %{using_checksums} расширяется в I, если данный модуль содер жпт значение версии, в 0 в противном случае %{kcrnel version}
474 I) Команды %p, % {parin} %a, % {author} %d, % {description} %1. % {filename} %n, %{license} данная строка формата повторяется (на от- дельной строке) для каждого известного па- раметра модуля и затем замещается описани- ями параметров (по одному параметру на каж- дую повторяющуюся строку) автор модуля описание модуля имя файла сведения о лицензии - h, --help Выводит краткие сведения об опциях программы и завершает ее - 1, —license Сообщает сведения о лицензии модуля. - n, -filename Выводит имя модуля. - р, —parameters Сообщает поддерживаемые модулем параметры. - V, --version Сообщает версию modinfo. Примеры # modinfo jbd filename: /lib/modules/2.4.20-8/kernel/fs/jbd/jbd.o description: <none> author: <none> license: "GPL" # modinfo -p mousedev xres int, description "Horizontal screen resolution" yres int, description "Vertical screen resolution" i Модуль mousedev имеет два параметра: горизонтальная разрешающая способность экрана монитора (число точек по горизонтали) и вертикальная разрешающая способ- ность экрана монитора (число точек по вертикали). Список модулей ядра можно получить с помощью команды Ismod. - осуществляет высокоуровневое управление загружаемыми модулями. Синтаксис modprobe ]-adnqv][-C config} module [symbol=value ] modprobe [-adnqv][-C config][-t type] pattern modprobe -1 [-C config][-t type] pattern modprobe -с [-C config] modprobe -r (-dnv]]-C config][module__] modprobe -V Утилиты modprobe и depmod предназначены облегчи гь пользователям, админист- раторам и распространителям дистрибутивов процесс управления модульным ядром.
II. Команды 475 Утилита modprobe использует файл зависимостей типа makefile, созданный depmod, для автоматической загрузки соответствующих модулей из набора модулей, доступных в предопределенных деревьях каталогов. modprobe применяется чтобы загрузить набор модулей, единственный модуль, стек независимых модулей или все модули, помеченные указанным тегом. При автомата ческой загрузке всех базовых модулей руководствуется файлом зависимостей modules.dep. Если загрузка хотя бы одного из этих модулей завершается аварийно, весь стек модулей, загруженных во время текущего сеанса, будет автоматически вы- гружен. Существует два способа загрузки модулей. В первом из способов, называемом пробным режимом, modprobe пытается загрузить модуль из списка, определяемого шаблоном pattern. После успешной загрузки одного из модулей modprobe останав- ливается. Второй способ может быть использован для загрузки всех модулей списка. Опции -a, —all Загружает все модули, чьи имена совпадают с шаблоном, вместо того, чтобы останавливаться после первой успешной загрузки. -с, —showconfig Отображает текущую используемую конфигурацию. - d, —debug Дополнительно информирует о внутреннем представлении стека моду- лей. -k, —autoclean Устанавливает режим "autoclean" (автоматическая очистка) для загру- жаемых модулей (см. insmod). Эта опция совместно с опцией -q будет автоматически отправлена insmod. -1, —list Выводит список совпавших модулей. -n, —show Не выполняя никаких действий, сообщает о могущих быть действиях. -q, —quiet Не комментирует происходящие события. -r, - remove Удаляет модуль (стеки) или производит автоочистку в зависимости от того, какие модули заданы в командной строке. -s, - syslog Вместо стандартного файла ошибок помещает отчет в syslog. Эта оп- ция будет автоматически отправлена insmod. -t, --type modulestype Только рассматривает модули указанного типа modulestype - v, —version Выводит информацию о версии modprobe. - С, —config config Использует вместо /ctc/modules.conf указанный файл config.
476 II Команды mogrify трансформирует изображения или последователь- ность изображений. Синтаксис raogrify [option—] file [[option...[file...] Эти трансформации включают: масштабирование изображения, вращение, ограни- чение цветов и др. Полученное изображение перекрывает оригинальное. Базовые опции -affine matrix Предоставляет матрицу трансформации {sx,rx,ry,sy,tx,ty} для исполь- зования последующей опцией -draw или -transform -antialias Выполняет фильтрацию-сглаживание - автоматическое удаление ступен- чатости изображений, вызванной недостаточной разрешающей способ- ностью экрана, а также производит сглаживание цветов. -background color Указывает цвет фона. -blur radiusxsigma При помощи гауссова оператора с заданным радиусом radius и стан- дартным отклонением sigma "размывает" (делает нерезким) данное изображение. -border widthxheight Окружает изображение цветной рамкой, используя геометрическую спецификацию (см. X). -bordercolor color Указывает цвет рамки. -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное ви- деокэшу. Пока не будет задействовано 80 Мбайт памяти, пикселы изоб- ражения хранятся в памяти. Последующие операции с пикселами пере- носятся на диск. Если ваш компьютер не имеет достаточного количе- ства оперативной памяти, вы, возможно, захотите подстроить это зна- чение. -colorize value Раскрашивает изображение, указывая насыщенность раскраски в виде процента. Можно указать через наклонную черту отдельные значения для красного, зеленого и синего каналов изображения. -colors value Задает предполагаемое количество цветов для изображения (опция ограничения числа цветов). -colorspace type Устанавливает альтернативный тип цветового заполнения: GRAY ОПТА, RGB Transparent, XYZ, YCbCr, Y1Q, YPbPr, YUV или СМУ К. По умол- чанию ограничение цветное ги имеет место в цветовом шнолнении RGB. Transparent сохраняет прозрачный канал и юбраження, если таковой ст ществуст. Эта опция требует опцию -colors или опцию -monochrome
477 II. Команды -comment string Назначает для изображения указанную строку комментария. -compress Гуре Указывает тип сжатия изображения: None, BZip, Fax, Group4, JPEG Lossless, LZW, RunlengthEncoded или Zip. Эта опция обычно использу- ется вместе с опцией -write. Для сохранения двоичного изображения без сжатия вы должны указать опцию +compress. -contrast Усиливает или снижает (+contrast) контрастность изображения. -crop widthxheight{+-}х offset{+-}у offset{%} Устанавливает предпочтительный размер и расположение усеченного изображения (сохранение его части и удаление остатка), используя гео- метрическую спецификацию (см. X). Здесь width и height указывают размер оставшегося изображения, а смещения xoffset и y_offset по- ложение верхнего левого угла усеченного изображения относительно оригинального изображения. Вы можете указать ширину или высоту в процентах, добавив %. -delay value Выводит после паузы следующее изображение. Аргумент value - это число сотых долей (1/100) секунды. По умолчанию задержки между показом изображений в последовательности отсутствуют. Максималь- ная задержка достигает 65535. -density v.-idthxheight Задает горизонтальное и вертикальное разрешение в пикселах. Эта оп- ция указывает разрешение изображения, когда выполняется дешифри- рование страницы PostScript или переносимого документа. По умолча- нию принято значение, составляющее 72 пиксела на дюйм в горизон- тальном и вертикальном направлениях. Эта опция должна согласовать- ся с опцией -page. -depth value Задает количество битов (8 или 16) в цветном образце в пределах пик- села. Эта опция применяется для низкоуровневых изображений, глуби- на цветности которых неизвестна, а именно: для GRAY (изображения в градациях серого), RGB или CMYK. -despeckle Уменьшает зернистость изображения. -display host.displaj^.screen} Указывает Х-сервер для контакта (см. X). -dispose method Определяет метод диспозиции (расположения) для GIF-формата: 0 расположение не указано 1 не располагает между кадрами 2 перекрывает кадр фоновым цветом из заголовка 3 перекрывает предшествующим кадром -dither Использует диффузию (рассеивание) ошибки по Флойду/Штейнбергу (Floyd/Steinberg) ). улучшающую изображения, которые страдают от сжатия палитры. 'Эта опция зребуст опцию -colors или -monochrome Базовая стратегия рассеивания состоит в том, чтобы создать простран-
478 II К манги» ственное разрешение путем усреднения интенсивностей нескольких соседних пикселов. -draw string Аннотирует (снабжает комментариями) изображение с одним или бо- лее графическими примитивами (базовыми графическими элементами). point x,y точка требует единственную координату line хО,уО xl,yl линия требует координаты начальной и конечной точек rectangle хО,уО х 1 ,у 1 прямоугольник ожидает координаты ле- вого верхнего и правого нижнего углов roundRec tangle xO,yOxl,yl wc,hc закругленный прямоугольник име- ет координаты левого верхнего и правого нижнего углов, а также ширину и высоту углов arc хО,уО xl,yl а0,а1 дута требует координаты началь- ной и конечной точек, а также градус вращения (на- пример, 130,30 200,100) ellipse x0,y0 rx,ry а0,а1 (эллипс) часть эллипса с центром в заданной точке и радиусами по осям X и Y, а так- же с началом и концом дуги в градусах circle х0,у0 х 1 ,у 1 окружность имеет координату центра и внешнего края polyline х0,у0 ... хп,уп ломаная линия для определения ее границ требует три или более координат polygon х0,у0 ... хп,уп многоугольник для определения его границ требует три или более координат bezier х0,у0 ... хп,уп кривая Безье path спецификация маршрута image оператор x0,y0 w,h имя файла -edge radius Обнаруживает по заданному радиусу края внутри изображения. -encoding type Указывает шифрование (кодирование) шрифта. Выбор производится из AdobeCustom, AdobeExpert, AdobeStandard, AppleRoman. B1G5, GB2312, Latin 2, None, SJIScode, Symbol, Unicode, Wansung. -enhance Применяет цифровой фильтр при увеличении зашумленного изображе- ния (для улучшения качества). -equalize Выполняет гистограммное выравнивание изображения, компенсирую- щее амплитудное, частотное и фазовое искажения. -fill color Устанавливает цвет, используемый для заполнения графического при- митива. -filter type Указывает тип фильтра для изменения размера изображения Point. Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos (no умолчанию), Bessel, Sine flip По щелчку создаст >сркал1.нос изображение в вертикальном направле- нии.
II Команды 479 -flop Создает зеркальное изображение в горизонтальном направлении -format type Устанавливает графический формат изображения. Вы можете указать формат изображения, добавив перед именем файла название формата и двоеточие или название формата как суффикс к имени файла через точ- ку. Список доступных форматов можно получить через команду convert. -font пате Использует указанный шрифт X11 для аннотации изображения. -frame widthxheight+outerbevelwidth+innerbevel width Окружает изображение декоративной границей. Вы можете выполнить скошенное соединение (на скос), рисуя прямую линию между концами двух линий. Цвет границы указывается с помощью опции -mattecoior. -fuzz distance{%} Предполагает цвета в пределах интенсивности distance равными. Здесь параметр distance может представлять как абсолютную интенсивность, так и процент от максимально возможной интенсивности (255 или 65535), если задан со знаком %. -gamma value Устанавливает уровень гамма-коррекции (от 0.8 до 2.3), позволяющей подстроить изображения на мониторах разных рабочих станций. Вы можете указать отдельные значения для красного, зеленого и синего каналов изображения, разделив их наклонными. -geometry widthxheight {+-}х offset{+-}у offset{%} {@} {'} {<} {>} Устанавливает предпочтительный размер или расположение изображе- ния при кодировании. По умолчанию во время изменения размера пыта- ется сохранять формат изображения (соотношение ширины и высоты). Чтобы вынудить изображение принять некий определенный размер, до- бавьте в конце восклицательный знак. Вы можете указать процент ши- рины (или высоты), добавив %, и изменить размеры с помощью о. Символ > меняет размер изображения только в том случае, если его ширина или высота превышает геометрическую спецификацию. Сим- вол < меняет размер изображения только в том случае если его шири- на и высота меньше, чем геометрическая спецификация. Символ @ ука- зывает максимальную область изображения в пикселах. -gravity type Выполняет вертикальное и горизонтальное размещение текста, когда аннотирует изображение. Можно задавать следующие направления: Northwest северо-запад East восток North север Southwest юго-запад NorthEast северо-восток South юг West запад SouthEast юго-восток Center центр -interlace type Указывает тип чередования (поочередного сканирования линий) для низкоуровневых форматов изображений (RGB или YUV): None (RGBRGBRGBRGBRGBRGB...) по умолчанию Line (RRR...GGG.. BBB...RRR...GGG.. ВВВ .)
480 II Команды Plane (RRRRRR. .GGGGGG.. ВВВВВВ. ) Partition как Plane, no разные битовые плоскости (матрицы, обра- зованные совокупностью одноименных битов всех пик- селов) сохраняются в разных файлах: image.R, image.G, image.B -label пате Назначает изображению указанную метку. -level value Подстраивает уровень контрастности изображения. Задаются три зна- чения с десятичной точкой, разделенные запятыми: черный, средний и белый. Черному и белому соответствует диапазон от 0 до MaxRGB, а среднему - от 0 до 10. -linewidth value Устанавливаеттолщину линии для операций рисования -loop iterations Повторяет изображение iterations раз. -map filename Выбирает специфический набор цветов из этого файла с изображением. Хотя по умолчанию согласно методу ограничения цветов будет выбран оптимальный набор цветов, наилучшим образом представляющий ори- гинальное изображение. Опция +шар вынуждает использовать единый оптимальный набор цветов для всех изображений последовательности. -matte Сохраняет матовый (светонепроницаемый) канал, если изображение его имеет, в противном случае создает непрозрачный канал. -mattecolor Указывает цвет матового канала -median radius Прилагает к изображению медианную фильтрацию по заданному радиу- су. -modulate value Указывает в процентах изменение яркости, светового насыщения и от- тенка, разделенных запятыми. -monochrome Трансформирует данное изображение в монохромное (черный и белый цвета). -negate Заменяет каждый пиксел его дополнительным цветом: белый становится черным, желтый - голубым и т.д. Для серой палитры используется оп- ция +negate. -noise radius\type Уменьшает или добавляет шум в изображение. Главная идея алгорит- ма — замещение некоторого пиксела значением его соседнего пиксела внутри пиксельного окна, если исходный пиксел рассматривается как шум. Максимальный или минимальный пиксел внутри пиксельного окна рассматривается как шум. Чтобы указать ширину "соседства", исполь- зуется параметр radius. Чтобы добавить шум в изображение, исполь- зуйте +noise с указанием непосрсдс! венно за опцией типа шума. Ст ше- ствуют следующие типы: Uniform Impulse Gaussian I aplacian Multiplicative 1’oisson
II. Команды 1 -normalize Преобразует изображение, чтобы охватить полный диапазон значений цветов (технология усиления контрастности). -opaque color Внутри изображения меняет этот цвет color на цвет пера -page widthxheight{+-}x offset{+-}у offset{%\ {!}{<} {>} Устанавливает предпочтительный размер и расположение канвы изоб- ражения. Опция -page похожа на -geometry. Вы можете использовать эту опцию, чтобы указать размеры страницы в точках на дюйм или стра- ницу TEXT в пикселах. Предоставляется следующий выбор для Postscript-страницы 11x17 792 1224 A8 148 210 Ledger 1224 792 A9 105 148 Legal 612 1008 A10 74 105 Letter 612 792 ВО 2836 4008 Letters mall 612 792 (По умолч. для TEXT) Bl 2004 2836 ArchE 2592 3456 B2 1418 2004 ArchD 1728 2592 B3 1002 1418 ArchC 1296 1728 B4 709 1002 ArchB 864 1296 B5 501 709 ArchA 648 864 CO 2600 3677 AO 2380 3368 Cl 1837 2600 Al 1684 2380 C2 1298 1837 A2 1190 1684 C3 918 1298 A3 842 1190 C4 649 918 A4 595 842 C5 459 649 A4Small 595 842 C6 323 459 A5 421 595 Fisa 612 936 A6 297 421 Flse 612 936 A7 210 297 HalfLetter 396 612 -paint radius Создает подобие живописи маслом. Каждый пиксел замещается наи- более часто встречающимся цветом в окружении, ширина которого за- дается как radius. -pen color Указывает цвет пера для операций рисования. -pointsize value Указывает размер шрифта Postscript (в пунктах, вернее, в десятых до- лях типографского пункта: значение 80 обозначает, что размер шрифта равен 8 пунктам). -quality value Устанавливает уровень сжатия для изображений формата JPEG MIFF' PNG. Для изображения в формате JPEG аргумент value меняется от 0 до 100. По умолчанию принято 75. -raise widthxheight Создает трехмерный (3-D) эффект. Освещает или затемняет грани изоб- ражения по задаиой геометрии.
482 II Команды -region widthxheight {+-}хoffset{+-]y_offset Прикладывает опции лишь к указанной части изображения. Но умолча- нию опции командной строки применяются к полному изображению -roll {+-}x_offset{+-}y_offset Прокручивает изображение вертикально и горизонтально. Отрицатель- ное значение x_pffset прокручивает изображение слева направо, отри- цательное значение y_ojfset прокручивает изображение сверху вниз. -rotate degrees {<} {>} Выполняет над изображением вращение Паеса (Paeth) на указанный угол. Знак > вращает изображение только в том случае, если его ширина пре- вышает высоту; знак < вращает изображение только в том случае, если его ширина меньше высоты. -sample geometry Масштабирует изображение путем дискретизации пикселов (преобра- зования пикселов в последовательность чисел). Формат спецификации geometry - стандартный. Данная опция игнорирует любые выбранные с помощью опции -filter фильтры, а также смещения в строке geometry. -scene value Определяет номер сцены изображения (номер изображения в последо- вательности в случае единственного имени файла). Каждое изображе- ние в последовательности определяется этим именем файла и идущим за ним через точку номером сцены. -shade azimuthxelevation Затеняет данное изображение, используя отдаленный источник света, где azimuth - это азимут, a elevation - высота над горизонтом. -shear x_degreesxydegrees Разрезает изображение вдоль осей X (xdegrees) или Y (y_degrees) под положительным или отрицательным углом. -size widthxheight{+offset} Указывает ширину и высоту низкоуровневых изображений (GRAY, RGB или CMYK) и позволяет пропустить любую информацию из заголовка изображения или сообщить количество цветов в таблице отображения. -stroke color Задает цвет для штриховки графического примитива. См. в X описание форматов используемых цветов. -strokewidth value Задает ширину штриховки. -swirl degrees Скручивает пикселы изображения возле центра. Градусы degrees опре- деляют напряжение кручения. -texture filename Указывает имя файла текстуры, используемой для покрытия фона. -transform Трансформирует данное изображение, прикладывая матрицу предше- ствующей опции -affine. -transparent color Внутри изображения делает этот цвет прозрачным.
II Команды 483 -treedepth value Указывает глубину цвета (целое значение, обычно 0 или 1) для сохраня- емого дерева. Позволяет задать алгоритм ограничения цветов. Опти- мальная глубина обычно позволяет наилучшим образом и как можно быстрее представить изображение, расходуя при этом минимум памяти. -trim Выполняет подгонку краев изображения, удаляя любые края, имеющие тот же самый цвет, что и угловые пикселы. Используйте опцию -fuzz, чтобы сделать возможным удаление краев почти такого же цвета, как и цвет угловых пикселов -units type Устанавливает тип разрешения (единицы измерения разрешения), применяемого при выводе изображения: Undefined (неопределенный, принят по умолчанию), PixelsPerlnch (пикселы на дюйм) или PixelsPerCentimeter (пикселы на сантиметр). -verbose Печатает подробную информацию об изображении: номер сцены, имя изображения, размер, класс изображения, общее число уникальных цве- тов, количество секунд, необходимое для чтения и трансформации изоб- ражения, и т.п. -wave ainplitudexwavelength Меняет изображение по синусоиде, заставляя выполнять волнообраз- ное движение: где amplitude — это амплитуда колебания, a wavelength — длина волны. Пример S mogrify -interlace partition cdpl.gif $ В результате возникли два файла: cdpl.mgk и cdpl.mgk~. Для этого типа чередо- вания битовые плоскости сохраняются в разных файлах. montage выполняет монтаж изображения из других изображений. Синтаксис montage [options —J file [[options ...] file_____] output file Составное изображение в outputJile создается из перечисленных перед ним в ко- мандной строке изображений file следующим образом: прежде всего каждое исход- ное изображение масштабируется до максимального размера фрагмента, составляю- щего по умолчанию 120x120. Затем составное изображение окрашивается в цвет, ука- зываемый в командной строке опцией -background или ресурсом X Window. Ширина и высота сложного изображения зависят от максимального размера фрагменга, количе- ства фрагментов в строке, ширины окаймления фрагмента и изображения, от высоты метки. Количество фрагментов в строке указывает, сколько изображений может по- явиться в каждой строке составного изображения, и по умолчанию равно 5 фрагмен-
484 11 к°ма>'лы там в строке и 4 фрагментам в каждом столбце сложного изображения. Если количе- ство фрагментов превышает принятое по умолчанию число 20, будет создано более одного сложного изображения. По умолчанию сложное изображение записывается в формате MIFF и может быть просмотрено или распечатано с помощью команды display Ширина и высота рамки (окаймления) фрагмента, а также ширина и высота рамки изображения по умолчанию равняются ресурсу X под названием-borderwidth, но могут быть изменены с помощью одноименной опции командной строки или опции -geometry В свою очередь высота метки зависит от шрифта, указанного с помощью опции -font, или Х-ресурса. Первоначально фрагмент сложного изображения помещается сверху (см. опцию -tile), а каждое составляющее изображение устанавливается в сложное, окруженное рамкой своего цвета, со своим наименованием, центрируемым ниже. Все индивидуаль- ные изображения фрагментарной области выравниваются слева, порядок их следова- ния сохраняется таким же, как и в командной строке, если только каждое изображение не имеет ключевого номера (scene), согласно которому и расставляются отдельные изображения. Опции -adjoin Соединяет изображения и помещает их в одном файле. По умолчанию все изображения любой последовательности изображений хранятся в одном файле. Однако некоторые форматы (скажем, JPEG) не поддер- живают более одного образа и хранят их в различных файлах. Чтобы задействовать указанную возможность, используйте опцию -adjoin. -background color Указывает цвет фона. -blur radiusxsigma При помощи гауссова оператора с заданным радиусом radius и стан- дартным отклонением sigma "размывает" (делает нерезким) данное изображение. -bordercolor color Указывает цвет рамки. См. в X описание форматов используемых цве- тов. -borderwidth geometry Задает ширину рамки. -cache threshold Подстраивает пороговое значение памяти (мегабайты), доступное ви- деокэшу. Пока не будет задействовано 80 Мбайт памяти, пикселы изоб- ражения хранятся в памяти. Последующие операции с пикселами пере- носятся на диск. II хотя операции в памяти выполняются существенно быстрее, но если ваш компьютер не имеет достаточного количества оперативной памяти, вы, возможно, захотите подстроить это значение. -chop widthxheight{+-}xoffset {t-} у offset\%} Удаляет пикселы из указанной внутренней части изображения Здесь width и height задают число соответственно столбцов и строк для уда-
II. Команды 485 ления, а х offset ну offset - смещения, указывающие положение само- го левого столица и самой верхней строки удаляемой части. Удалив указанную часть изображения, опция -chop старается заполнить обра- зовавшийся промежуток, перенося оставшиеся угловые блоки налево и вверх. -colors value Задает предполагаемое количество цветов для изображения (опция ог- раничения числа цветов). Опции -dither, -colorspace и -treedepth за- трагивают алгоритм ограничения числа цветов. -colorspace type Устанавливает альтернативный тип цветового заполнения. На выбор пре- доставляются следующиетипы: GRAY, ОНТА RGB, Transparv.it, XYZ, YCbCr, YIQ, YPbPr, YUV или CMYK. По умолчанию ограничение цвет- ности имеет место в цветовом заполнении RGB. Эта опция требует оп- цию -colors или опцию -monochrome. -comment string Назначает для изображения указанную строку комментария. По умол- чанию каждое изображение комментируется именем его файла. -compose operator Указывает оператор, определяющий альтернативную операцию, где ре- зультат будет: Over Difference In Multiply Out Bumpmap Atop Copy Xor C opyRed Plus CopyGreen Minus CopyBlue ftdd CopyOpaci.y Subtract -compress type Указывает тип сжатия изображения: None, BZip, Fax, Group4, JPEG, Lossless, LZW, RunlengthEncoded или Zip. Эта опция обычно использу ется вместе с опцией -write. Для сохранения двоичного изображения без сжатия вы должны указать опцию +compress. -crop widthxheight{+-}x_pffset{+-]y offset{%} Устанавливает предпочтительный размер и расположение усеченного изображения (сохранение его час- ти и удаление остатка), используя геометрическую спецификацию (см. X). Здесь width и height указывают размер оставшегося изображения, а смещения x_offset и y_offset — положение верхнего левого утла усе- ченного изображения относительно оригинального изображения. Вы можете указать ширину или высоту в процентах, добавив %. -debug Разрешает вывод отладочной информации.
486 И Команды -density widthxheight Задает горизонтальное и вертикальное разрешение в пикселах. Зта оп- ция указывает разрешение изображения, когда выполняется дешифри- рование страницы PostScript или переносимого документа. По умолча- нию принято значение, составляющее 72 точки на дюйм в горизонталь- ном и вертикальном направлениях. Эта опция должна согласоваться с опцией -page. -depth value Задает количество битов (8 или 16) в цветном образце в пределах пик- села. Эта опция применяется для низкоуровневых изображений, глуби- на цветности которых неизвестна, а именно: для GRAY (изображения в градациях серого), RGB или CMYK. -display host:display[.screen] Указывает Х-сервер для контакта (см. X). -dispose method Определяет метод диспозиции (расположения) для GIF-формата: О расположение не указано 1 не располагает между кадрами 2 перекрывает кадр фоновым цветом из заголовка 3 перекрывает предшествующим кадром -dither Использует диффузию (рассеивание) ошибки по Флойду/Штейнбергу (Floyd/Steinberg), улучшающую изображения, которые страдают от сжатия палитры. Эта опция требует опцию -colors или -monochrome. Базовая стратегия рассеивания состоит в том, чтобы создать простран- ственное разрешение путем усреднения интенсивностей нескольких со- седних пикселов. -draw string Аннотирует (снабжает комментариями) изображение с одним или бо- лее графическими примитивами (базовыми графическими элементами): point х,у точка требует единственную координату line хО,уО xl,yl линия требует координаты начальной и конечной точек rectangle хО,уО х 1 ,у 1 прямоугольник ожидает координаты ле- вого верхнего и правого нижнего углов roundRectangle хО,уО х 1 ,у 1 wc,hc закругленный прямоугольник име- ет координаты левого верхнего и правого нижнего углов, а также ширину и высоту углов агс хО.уО х 1 ,у 1 а0,а1 дуга требует координаты началь- ной и конечной точек, а также градус вращения (на- пример, 130,30 200,100) ellipse x0,y0 rx,ry а0,а! (эллипс) часть эллипса с центром в заданной точке и радиусами по осям X и Y, а также с началом и концом дуги в градусах circle хО,уО xl,yl окружность имеет координату центра и внешнего края
II. Команды polyline xO,yO .. xn,yn ломаная линия, для определения ее границ требует три или более координат polygon хО,у()... хп,уп многоугольник, для определения его границ требует три или более координат bezier х(),уО ... хп,уп кривая Безье path спецификация маршрута image оператор хО,уО w,h имя файла -encoding type Указывает шифрование (кодирование) шрифта. Выбор производится из AdobeCustom, AdobeExpert, AdobeStandard, AppleRoman, BIG5, GB2312, Latin 2, None, SJIScode. Symbol, Unicode, Wansung. -endian type Задает окончания (MSB или LSB, см. приложение VI) в выводимом изоб- ражении. -fill color Устанавливает цвет (см формат в X), используемый для заполнения графического примитива. -filter type Указывает тип фильтра для изменения размера изображения: Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos (no умолчанию), Bessel, Sine. -font name Для отображения текста использует указанный шрифт XI1. -frame widthxheight+outer bevel width+inner bevel widt Окружает изображение декоративной рамкой. Вы можете выполнить скошенное соединение (скос, или фаску), рисуя прямую линию между' концами двух линий. -fuzz distance{%} Предполагает цвета в пределах интенсивности distance равными. Здесь параметр distance может представлять как абсолютную интенсивность, так и процент от максимально возможной интенсивности (255 или 65535), если задан со знаком %. -gamma value Устанавливает уровень гамма-коррекции (от 0.8 до 2.3), позволяющей подстроить изображения на мониторах разных рабочих станций. Если требуется приложить гамма-значения к красному, зеленому или синему каналам изображения, значения следует отделить друг от друга наклон- ной чертой. -geometry widthxheight{+-}x_offset{+-}y offset{%} {@) {•}{<} {>} Устанавливает предпочтительный размер и расположение окна изобра- жения. По умолчанию во время изменения размера пытается сохранять формат изображения (соотношение ширины и высоты). Чтобы выну- дить изображение принять некий определенный размер, добавьте в кон- це восклицательный знак. Вы можете указать процент ширины (или вы- соты), добавив %, и изменить размеры с помощью о. Символ > меня- ет размер изображения только в том случае если его ширина или высо- та превышают геометрическую спецификацию. Символ < меняет раз- мер изображения только в том случае, если его ширина и высота мень-
488 II Команд 4 ше, чем геомс фическая спецификация. Символ (л, указывает макси- мальную область изображения в пикселах. -gravity type Указывает географическое размещение текста, когда аннотирует изоб- ражение. Можно задавать следующие направления: Northwest северо-запад North север NorthEast северо-восток West запад Center центр East восток Southwest юго-запад South юг SouthEast юго-восток -interlace type Указывает тип чередования (поочередного сканирования линий) для низ- коуровневых форматов изображений (RGB или YUV): None (RGBRGBRGBRGBRGBRGB...) по умолчанию Line (RRR...GGG...BBB...RRR...GGG. ВВВ...) Plane (RRRRRR.. .GGGGGG.. .ВВВВВВ...) Partition как Plane, но разные битовые плоскости сохраняются в разных файлах: image.R, image G, image.B -label name Назначает изображению указанную метку. -matte Сохраняет матовый (цветонепроницаемый) канал, если изображение его имеет. -mattecolor color Указывает цвет матового канала. -mode value Задает режим операции: Frame, Unframe или Concatenate - с рамкой, без рамки, сцепление. -monochrome Трансформирует данное изображение в монохромное (черный и белый цвета) -noop NOOP (no option — без опций). -page widthxheight{+-}xoffset {+-}у_offset{%} {!} {<} {>} Устанавливает предпочтительный размер и расположение канвы изоб- ражения. Опция -page похожа на -geometry. -pen colot Заказывает цвет пера для рисования. См. в X описание форматов ис- пользуемых цветов. -pointsize value Указывает кегль шрифта Postscript, OPTION 1 или TrueType. -quality value Устанавливает уровень сжатия для изображений формата JPFG MIFF PNG. Для форматов JPEG и MPEG значение value меняется от 0 (лай высшее сжазие) до 100 (наименее эффективное сжатие) прн принятом по умолчанию 75. Используйте опцию -sampling^factor, чтобы ука-
II. Команды 4*9 зать коэффициенты цветности (цветоразностных сигналов) загружаемых сэмплов (образцов). Для изображений формата MIFF значение value меняется от 0 (наихудшее, но самое быстрое сжатие) до 9 (наилучшее, но самое медленное сжатие), что не воздействует на само появление изображения, так как данное сжатие всегда осуществляется без потерь информации. -resize widthxheight {%} {©}{!}{<} {>} Меняет размер изображения. Действует подобно опции -geometry и аналогичным образом. Если опции -resize предшествуй' < ппия -filter, применяется указанный фильтр. Имеются некоторые различия: -resize выражает предпочтительный размер данного монтируемого изображе- ния, в то время как -geometry - информацию по фрагментам. -rotate degrees {<} {>} Вращает изображением по методу Паеса (Paethk Символ -> вращает изображение только в том случае если его ширина превышает высоту; символ < вращает изображение только в том случае, если его ширина меньше высоты. Если вы используете символы < и >, рекомендуется заключать их в двойные кавычки, например, так: -rotate "-45>". -sampling factor horizontalJactorxvertical factor Указывает горизонтальный и вертикальный коэффициенты сэмплирова- ния, эти коэффициенты используются кодировщиками JPEG, MPEG-2 и YUV для определения цветности (цветоразностного сигнала) при заг- рузке образцов. -scenes value-value Задает для последующего чтения диапазон (значения через дефис) но- меров изображений сценария. Каждое изображение указанного диапа- зона считывается с задаваемого файла, за именем которого через точ- ку следует десятичный номер сцены. -shadow radiusxsigma Добавляет снизу изображения тень, создающую глубину заданного ра- диуса и стандартного отклонения. -sharpen radiusxsigma Усиливает резкость данного изображения, используя гауссов оператор с заданным радиусом и стандартным отклонением. -size widthxheight{+offset} Указывает ширину и высоту низкоуровневых изображений (GRAY. RGB или CMYK) и позволяет пропустить любую информацию из заголовка изображения или сообщить количество цветов в таблице отображения. Выбирайте следующие размеры для изображений Photo CD: 192x128 1536x1024 384x256 3072x2048 768x512 Также используйте эту опцию для выбора индивидуального разреше- ния изображения формата JBIG или JPFG.
490 11 ^"г'аиг -stroke color Задает цвет для штриховки графического примитива. См. в X описание форматов использус пых цветов. -strokewidth value Задает ширину штриховки. -texture filename Указывает имя файла текстуры, используемой для покрытия фона. -tile geometry Указывает размещение изображений при монтаже, задавая число фраг- ментов в строке и столбце. -title string Назначает указанный заголовок выводимому изображению. -transparent color Внутри изображения делает задаваемый цвет прозрачным. См. в X опи- сание форматов используемых цветов. -treedepth value Указывает глубину дерева цветов (целое значение, обычно 0 или 1). Позволяет задать алгоритм ограничения цветов. Оптимальная глубина обычно дает возможность наилучшим образом и как можно быстрее представить изображение, расходуя при этом минимум памяти. -trim Выполняет подгонку краев изображения, удаляя любые края, имеющие тот же самый цвет, что и угловые пикселы. Используйте опцию -fuzz, чтобы сделать возможным удаление краев почти такого же цвета, как и цвет угловых пикселов. -type type Задает тип изображения. Выбирать можно из следующих типов: Bilevel, Grayscale, Palette, PaletteMatte, TrueColor, TrueColorMatte, ColorSe- paraiion, CoIorScparationMatte или Optimize. Обычно любой формат под- держивает еще и дополнительные форматы, входящие в основной фор- мат, из которых кодировщик и пытается выбрать наиболее эффектив- ный. Данная опция запрещает эту особенность, задавая жесткий фор- мат. -verbose Печатает детальную информацию о данном изобргжении: номер сцены в сценарии, имя и размер изображения, общее количество уникальных цветов, класс или псевдокласс изображения, количество секунд, необ- ходимое, чтобы прочесть и трансформировать данное изображение. Пример Изображение из файла root.jpeg выглядит следующим образом:
II. Команды 491 f montage -tile 3x3 root.jpeg root.jpeg root.jpeg root.jpeg root.jpeg root.jpeg rootвurn.jpeg i Вот как выглядит rootsum.jpeg: more - фильтр длч вывода текста. Спитаком more [-dlfpcsu] (-ям) [+/pattern] plinenumj (file... ] Команда more выполняет поиск текста только в прямом направлении, так что это достаточно примитивный фильтр. Аналогичный фильтр less значительно превосходит more по возможностям. Опции more могут извлекаться из переменной окружения MORE, но опции команд- ной строки перекрывают их. Опции -пит Устанавливает размер экрана в строках. - d Выводит для пользователя приглашение Press space to continue, 'q' to quit (Для продолжения нажмите пробел, для выхода - q) и сообщение Press 'h' for instructions (для подсказки нажмите h) вместо звукового сигнала, если нажимается несоответствующая клавиша. - I more обычно рассматривает AL (form feed - перевод страницы) как специальный символ и останавливается после каждой строки, где обна- ружен такой символ. Опция -1 запрещает это. - f Вместо строк экрана подсчитывает логические строки, не усекая длин- ные строки. - Р Не выполняет скроллинг (прокрутку). Полностью очищает экран, а за- тем отображает текст.
402 II Команды с Не выполняет скроллинг. Вместо этого перерисовывает экран, начиная сверху, и очищает остаток каждой отображаемой строки -s Заменяет несколько подряд идущих пустых строк одной пустой. -u (апрещает подчеркивания. +/pattern До отображения каждого файла выполняет поиск строк по заданному образцу pattern. +linenum Начинает отображение со строки с указанным номером linenum. Интерактивные команды more базируются на vi. Некоторым командам может пред- шествовать десятичное число, далее в описании называемое к. Команды h, ? Отображает список команд. Пробел Отображает следующие к строк текста, по умолчанию выводится эк- ран текущего размера. Z Отображает следующие к строк текста, по умолчанию выводится эк- ран текущего размера. Аргумент устанавливает новый размер экрана, который будет приниматься по умолчанию. RETURN Отображает следующие к строк текста, по умолчанию - 1. Аргумент устанавливает новое значение по умолчанию. q.Q Завершает работу more. s Передвигается вперед на к строк текста, по умолчанию на 1. f Передвигается вперед на к полных экранов текста, по умолчанию - на 1. b, Лв Возвращается обра но на к полных экранов текста, по умолчанию - на 1. ' (одинарная прямая кавычка) Следует в то место, где начинался предшествующий поиск. = Отображает текущий номер строки. /pattern Ищет к-ос появление регулярного выражения pattern, по умолчанию - первое. п Ищет к-ое появление последнего регулярного выражения, по умолча- нию - первое. Icmd, "Acmd Выполняет в подоболочке указанную команду emd. V Запускает vi с текущей строки текста. AL Перерисовывает экран. :n Переходит к fr-му последующему файлу, по умолчанию - к следующе- му. :Р Переходит к fc-му предшествующему файлу, по умолчанию - к преды- дущему. :f Отображает имя текущего файла и номер строки текста. Повторяет предшествующую команду.
II. Команды 493 Пример Один из экранов, выводимых про- граммой more. root@localhosLlocaldomain:/root (Райл Правка Sellings Справка SYNENT 0x10 PLTGOT 0x481с PLTRELSZ 0х1с8 PLTREL 0x11 JMPREL 0x129с REL 0x1064 RELSZ 0x238 RELENT 0x8 VERDEF Oxffc VERDEFNUM 0x2 VERNEED 0x1034 VERNEEDNUM 0x1 VERSYM OxflE Version definitions: 1 0x01 0x0a62cf82 libss.so.2 2 0x00 0x073dl0bc GCC.INTERNAL Version References: required from libc.so.6: 0x0d696911 0x00 04 GLIDC.2.1 0x0d696910 0x00 03 GLIBC.2.0 Sections: Idx Name Size VMA LMA File off Algn 0 .hash 00000354 00000094 00000094 00000034 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA —More—(9Z>| mount - монтирует файловую систему. К Синтаксис mount [~hVj mount -a [-fFnrsvw][-t vfstype] mount [-fnrnvw][ —о option]J] device|dir mount I-fnrsvwJ[-t vfstypej[-o option] device dir Все файлы, доступные в Unix, расположены на одном большом дереве, корень ко- торого обозначается /. Файлы располагаются на различных устройствах. Команда mount служит для подключения файловых систем разных устройств к этому большому дере- ву. Также существует противоположная команда под названием unwunt. производя- щая демонтирование, или отключение, файловых систем. Наиболее часто встречающаяся форма команды mount выглядит следующим об- разом: mount -t vfstype device dir Такая команда предлагает ядру смонтировать файловую систему ука шинок» типа vfstype, расположенную на устройстве device, к заданному каталогу dir, который иное-
494 II Команды да называют точкой монтирования. Старые содержимое, владелец и режим каталога dir исчезают, а вновь возникшие продолжают действовать пока смонтирована /под- ключена) файловая система. Большинство устройств определяются именем файла, например, /dev/sda3, хотя су- ществуют и другие возможности (см. опции -L и -С). 1 ак что подключаться будет файловая система /dcv/sda3 или любая аналогичная. Ключевую роль в процессе монтирования играет файл /etc/tstab строки которого описывают обычно подключаемые устройства. Стандартная команда mount -a (-t vfstype\, обычно встречающаяся в сценариях загрузки, пытается монтировать все файловые сис- темы типа vfstype, встречающиеся в файле /etc/tstab, за исключением тех, чьи строки описаний содержат ключевое слово noauto. Обычно только суперпользователь может монтировать файловые системы, но если в строке описания файла /etc/fstab содержится опция user, соответствующую файло- вую систему может монтировать любой пользователь. Лишь тот пользователь, кото- рый монтировал файловую систему, может демонтировать ее. Программы mount и umount поддерживают список текущих смонтированных фай- ловых систем в файле /ctc/mtab. Запущенная без аргументов, mount печатает этот список. Опции - V Выводит информацию о версии программы. - Ь Распечатывает подсказку. - v Подробно сообщает о выполняемых действиях. - а Монтирует все файловые системы указанного типа, описания которых содержатся в fstab. - F Позволяет подключать файловые системы на различных устройствах или на серверах NFS параллельно. Используется совместно с опцией -а. Хотя опцию -F нельзя применять, чтобы одновременно смонтиро- вать /usr и /usr/spool. - f Пытается делать вес возможное для выполнения системного вызова. Эта опция полезна совместно с -V, чтобы отследить попытки, предпри- нимаемые командой mount. С помощью -f можно также добавить эле- менты описаний тех устройств, которые ранее монтировались с опци- ей -п. - п Монтирует без записи в /ctc/mtab. - s Избегая аварийного завершения, допускает даже неподходящие опции монтирования. При этом опции, не поддерживаемые файловой систе- мой, будут просто игнорироваться. - г Монтирует файловую систему только для чтения. В качестве синонима используется -о го. 'w Монтирует файловую систему в режиме чтенпя/запись. В качестве си- нонима используется -о rw. - L label Монтирует раздел (специальное устройство), указываемый меткой label. Требует наличия файла /proc/pnrtitions (начиная с ядра 2.1 1 Ю)
II. Команды 495 - U uuid Монтирует раздел, указываемый uuid - идентификатором системы UUCP (Unix-Unix СоРу - система взаимодействия между Unix-маши нами, включающая пересылку файлов, дистанционный запуск заданий, эмуляцию терминала). Некоторые блочно-специальные устройства мон- тируются подобным образом. Требует наличия файла /proc/partitions (начиная с ядра 2.1.116). - t vfstype Указывает тип файловой системы. Все текущие поддерживаемые типы перечислены в linux/fs/filesystems.c (это общепринятое имя файла, а в Red Hat с ядром 2.2.14 этот файл носит название /usr/src/linux-2.2.14/fs/filesystems.c). По умолчанию принят тип iso9660 - файловая система устройств CD-ROM. В общем случае яв- ляется списком типов файловых систем, разделенных запятыми. Если в начале списка обнаруживается префикс по, перечисленные файловые системы исключаются из рассмотрения. - о option Указывает список опций, разделенных запятыми. Некоторые из этих оп- ций полезны, когда появляются в файле /etc/fstab. Ниже приведены оп- ции, пригодные для любой подключаемой файловой системы: async все операции ввода/вывода файловой системы будет вы- полнять асинхронно atime для каждого обращения обновляет время доступа в деск- рипторе файла (по умолчанию) auto может монтироваться с опцией -а defaults использует опции, принятые по умолчанию: rw, suid, dev, exec, auto, nouser и async dev различает файловые системы символьно-специальных и блочно-специальных устройств ехес разрешает исполнение двоичных файлов noatime для этой файловой системы не обновляет поле дескрип- тора, содержащее время доступа noauto разрешает монтирование лишь по прямому указанию: оп- ция -а не действует nodev не различает файловые системы символьно-специальных и блочно-специальных устройств поехес запрещает исполнение любых двоичных файлов смонти- рованной файловой системы; эта опция полезна для сер- веров, в состав которых входят файловые системы с дво- ичными файлами, предназначенными для другой архитек- туры nosuid запрещает использовать биты полномочий SUID (set-user- identifier - установка идентификатора владельца файла вместо идентификатора того, кто запустил файл на испол- нение) и SGID (set-group-identifier- установка идентифи- катора группы собственно файла, аналогичен suid)
496 II Команды nouser запрещает обычному пользователю монтировать файло- вую систему, что принято по умолчанию remount пробует перемонтировать уже смонтированную файловую систему, что необходимо, если требуется поменять флаги (файловая система с режимом только для чтения может быть преобразована и после перемонтирования допускает режим записи) го монтирует файловую систему только для чтения rw монтирует файловую систему в режиме чтение/запись suid разрешает действовать битам полномочий SUID и SGID (см. опцию nosuid) sync все операции ввода/вывода будет выполнять синхронно user разрешает обычному пользователю монтировать файло- вую систему, эта опция подразумевает noexec, nosuid, nodev, если только они не перекрываются последователь- ностью опций user, exec, dev, suid Далее приведены опции, пригодные для определенных файловых сис- тем; все они следуют за флагом -о. Опции для devpts (псевдотерминалы) uid=vo/ue и gid=vc/ue Устанавливает владельца и группу для вновь созданных псевдо- терминалов. Если эти опции нс заданы, будут приниматься UID и GID запустившего команду процесса. modc=va/ue Устанавливает режим доступа для вновь созданного псевдотер- минала в указанное значение value, по умолчанию - 0600. Значе- ния mode=620 и gid=5 вводит по умолчанию команда mesg у (терминал принимает сообщения). Опции для ext2 (стандартная файловая система Linux) bsddf / minixdf С помощью системного вызова staffs предоставляет статистику по файловой системе. При этом minixdf возвращает общее ко- личество блоков, используемых файловой системой, a bsddf - отбрасывает часть блоков, которые необходимы файловой сис- теме ext2, но не применяются для хранения файлов. По умолча- нию принята опция bsddf. check I check=normal / check=strict Устанавливает уровень проверки при монтировании По умолча- нию принята опция check-normal, при этом проверяются бито- вые массивы дескрипторов и блоков, что требует дополни гельно- го времени. В случае задания chcck=strict также проверяется, чтобы перераспределялись блоки в зоне данных, доступные для хранения файлов.
II. Команды 497 chccknonc, noncheck He выполняет никаких проверок. debug Печатает отладочную информацию при каждом монтировании. errors=continue / errors=remount-ro / errors=panic Устанавливает одну из этих возможностей, определяющих дей- ствия в случае обнаружения ошибок в файловой системе: errors=continue игнорирует ошибки, хотя и помечает файло- вую систему как некорректную, а затем про- должает монтирование errors=remount-ro перемонтирует файловую систему только для чтения errors=panic аварийно завершает процесс Вариант по умолчанию устанавливается в суперблоке файловой системы и может быть изменен с помощью tune2fs. grpid, bsdgroups / nogrpid, sysvgroups Определяет, какой идентификатор группы получит вновь создан- ный файл. Если указана опция grpid, принимает GID каталога, в котором он создан. В противном случае (по умолчанию, второй вариант) принимает GID текущего процесса, если только для ка- талога не установлен SGID, ибо в этом случае берет GID роди- тельского каталога и также может приобрести SGID. resgid=n Определяет, кто может использовать зарезервированные блоки. Файловая система ext2 резервирует определенный процент (по умолчанию 5%) доступного дискового пространства для соб- ственных нужд. Зарезервированные блоки может использовать любой, принадлежащий к указанной группе. resuid=H Определяет, кто может использовать зарезервированные блоки (см. resgid=n). Упомянутые блоки может использовать любой, чей UID равен и. sb=n Вместо блока 1 использует в качестве суперблока и-й блок. Что полезно, если файловая система повреждена и ранее были вы- полнены копии суперблоков для каждых 8192 блоков: блок!. 8193, 16385 и т.д. Сотни, а возможно даже тысячи копий для большой системы... Опции для fat (сюда входят msdos, unisdos н vfat) blocksize=512 I blocksize-1024 / blocksizc=2048 Устанавливает размер блока, по умолчанию 512. uid=vc/ue и gid=vn/ue Устанавливает владельца и группу всех файлов. По умолчанию берется UID и GID текущего процесса.
498 II Команды umask=v«/ue Устанавливает биты полномочий. Ио умолчанию берутся бип полномочий текущего процесса в восьмеричном формате. check-va/1/е Определяет три уровня обработки символов в именах файлов relaxed] одинаково трактует символы верхнего и нижнего регистров; усекает длинные части имен (вместо mary.foobar становится mary.foo), принимает началь- ные и вставленные пробелы в каждой части имени (соб- ственно в имени и в его расширении) n[ormal] подобно relaxed, но отвергает многие специальные символы: *, ?, <, пробелы и т.д.; этот уровень принят по умолчанию s[trict] подобно normal, но имена не могут содержать длин- ных частей, специальных символов, которые иногда ис- пользуются в Linux, но не принимаются в MS DOS и также отвергаются; к таковым относятся знак плюс, знак равенства, пробелы и т.д. codcpage=vaZi<e Устанавливает кодовую страницу для преобразования имен в ко- роткие имена в файловых системах FAT и VFAT. По умолчанию используется codepage 437. conv=b[inary] I conv=t[ext] / conv=a[uto] Файловая система fat может выполнять преобразования симво- лов CRLF (возврата каретки и перевода строки) в символ NL (новой строки) и обратно, что превращает текст MS DOS в текст формата Unix. Доступны следующие режимы преобразований: binary никакие трансляции не выполняются; этот режим принят по умолчанию text для всех файлов выполняется трансляция CRLF в NL и обратно auto для всех файлов, чьи имена не содержат широко извест- ных расширений имен, выполняется трансляция CRLF в NL и обратно; список широко известных имен можно об- наружить в начале файла fs/fat/misc.c (это общепринятое имя в Red Hat с ядром 2.2.14 конкретизировалось в файл /usr/src/linux-2.2.14/fs/fnt/misc.c). debug Включает отладочный режим, распечатывая информацию о вер- сии и список параметров файловой системы. fat-12 / fat-16 I fat=32 Указывает 12, 16 или 32-битную файловую систему fat. что пе- рекрывает автоматическое определение типа fat.
II. Команды 499 iocharset=va/we Определяет набор символов, используемый для преобразования 8-битных символов в 16-битные символы Unicode. По умолча- нию - iso8859-I. Длинные имена файлов хранятся на диске в формате Unicode. Опции для iso9660 (файлы устройств CD-ROM) Rock Ridge - это расширение iso9660 для реализации всех дополни- тельных возможностей Unix: поле владельца файла, количество ссылок (связей), соглашение о блочно-специальных и символьно-специальных устройствах и т.д. Файловая система Rock Ridge не отличается от обыч- ной файловой системы Unix, но используется только для чтения, norock Отменяет использование расширений Rock Ridge. check=r[elaxcd] / check=s[trict] С опцией check=relaxed будет вначале конвертировать символы имен файлов (всегда на верхнем регистре для iso9660) в симво- лы нижнего регистра, а уж затем выводить для обозрения, что существенно вместе с опциями norock и niap=normal. По умол- чанию действует check=strict. uid=va/ue и gid=vaZwe Присваивает всем файлам файловой системы указанные иденти- фикаторы пользователя и группы, перекрывая информацию, най- денную в расширениях Rock Ridge. По умолчанию приняты uid=O. gid=O. map=n[ormal] / map=o[ff] Для томов иного формата, чем Rock Ridge, транслирует ASCII- символы верхнего регистра в обычных именах файлов в симво- лы нижнего регистра, опуская завершающую комбинацию ;1, но конвертируя точку с запятой в точку. С опцией map=off никакая трансляция имен не выполняется. По умолчанию принята map=normal. mode=va/ue Для томов иного формата, чем Rock Ridge, присваивает всем файлам указанный режим доступа в восьмеричном формате (чис- ло начинается с 0). unhide Отображает также скрытые и связанные файлы. block=[512| 1024(2048] Устанавливает размер блока в указанное значение; по умолчанию - 1024. Некоторые полезные опции для NFS rsizc=8192 и wsize=8192 Устанавливает размер буферов соответственно для операций чте- ния и записи вместо принятого по умолчанию размера 1024. что существенно ускоряет NFS-подключения.
500 II Команды hard 11озволяст программе, осуществляющей доступ к файлу систе- мы NFS, "зависнуть", если что-либо происходит с сервером. Про- цесс не может быть прерван нли завершен, если только не указа- на опция intr После восстановления работоспособности серве- ра NFS, программа продолжит обработку с того места, где ее застал сбой. soft Разрешает ядру установить тайм-аут, если сервер NFS не отвеча- ет в течение некоторого времени. Период тайм-аута задается с помощью опции timco=/ime. nolock Не использует блокирования и даже не запускает lockd. Для подключений файловых систем Novell Netware и Samba существуют соответ- ственно команды nepmount и smbmount, организующие системный вызов mount и передающие ему необходимые аргументы. Так что текущая версия mount даже и не знает, кто ее вызывал (н ничего не знает о пер или smb). Пример ♦ mount /mnt/edrom i Но если суперпользователь добавит опцию user к строке /dev/edrom файла /etc/fstab, то любой пользователь сможет монтировать CD-ROM вышеприведенной командой. Точка монтирования /mnt/edrom скорее всего уже существует в вашей си- стеме. 1 mount -t vfat /dev/hdcl /root/dos t Файловая система (fat32) на устройстве /dev/hdcl (первый раздел второго устрой- ства IDE) подключена к каталогу /root/dos. Содержимое каталога можно отобразить обычной командой Is /root/dos. С помощью ср можно копировать разные файлы в этот каталог и из него и т.д. mountd - см. rpc.mountd. IIIolJIIIll. - создает двоичные МО-файлы. Синтаксис msgfmt [option] filепаше.po... Из файла PO (Portable Object переносимый объект) создает новый файл МО (Machine Object - машинно-зависимый объект). Опции -а, —alignment=nwnZ>er Выравнивает строки в соответствии с заданным параметром number числом байт; по умолчанию I.
II. Команды 501 -h, —help —no-hash Выводит список опций и завершает выполнение программы Не включает хеш-таблицу в состав двоичных файлов. -о, — output-file=/i/e Указывает имя выходного файла. Если вместо имени указан дефис, про- изводит запись на стандартный вывод. —strict Добавляет суффикс .то к имени файла, если имя его еще не содержит. Если эта опция не задана, имя выходного файла соответствует имени домена. -V, —verbose -V, —version Обнаруживает и диагностирует аномалии входного файла. Выводит информацию о версии и завершает выполнение программы. Если вместо входного файла указан дефис, производит считывание стандартного ввода. msgmerge - выполняет слияние двух мобильных файлов в стиле Uniforum. Синтаксис msgmerge [option] def.ро ref.ро Файл def.po - существующий файл РО (Portable Object - переносимый объект), ранее оттранслированный, который был взят для обновления в соответствии с новым образцом РО. Файл ref ро -последний созданный обычно с помощью xgettext файл РО Опции -D, —directory=dnectory Добавляет указанный каталог в список маршрутов поиска входных фай- ЛОВ. -е, -no-escape Не использует в выводе управляющие символы языка С. Принято по -Е, —escape —force-po -h, —help -i, —indent умолчанию. Использует в выводе управляющие символы языка С. Записывает РО-файл, даже если он пустой. Выводит список опций и завершает выполнение программы. Записывает файлы с расширением .ро. используя отступы. -о, —output=/i/e Записывает результат обработки в указанный файл. -no-location Подавляет строки в формате #:имя файяа.строка. --add-location Генерирует строки в формате #:имяфайла:строка. Принято по умол чанию. —strict Записывает файлы .ро в соответствии с соглашением Uniforum (индек- сирует по их английским переводам). -V, —version Выводит информацию о версии программы и завершасг ее.
502 II Команды -w, — width=numf>er Устанавливаем ширину выходной страницы. Основная задача программы msgmerge "осветить" уже существующий файл LANG.po (см. диаграмму в описании команды xgcttext), сравнивая его с более новым временным файлом PACKAGE.pot, извлеченным с помощью xgettext из последнего варианта исходного текста на языке С. |T|t — управляет операциями на магнитной ленте, установ- ленной на соответствующем устройстве. Синтаксис mt [-h][-f device] operation [countHarguments... ] Опции - h Выводит список команд. - v Выводит информацию о версии Программы. - f device Задает маршрут к накопителю на магнитной ленте, или НМЛ. mt выполняет заданную операцию operation, которая может быть одной из ниже- перечисленных. Некоторые операции принимают необязательные аргументы arguments или счетчики повторений count, идущие в командной строке после названия операции и по умолчанию равные 1. Для определения НМЛ служит опция -f, если она не задана, используется перемен- ная окружения ТАРЕ, а если и переменная не установлена, берется устройство, описан- ное в файле /usr/include/sys/mtio.h. Не все из перечисленных операций работают во всех системах и для всех типов НМЛ. Многие операции принимают необязательный параметр, или счетчик повторений, который обычно задается после названия операции и по умолчанию равен 1. Операции fsf Перематывает МЛ вперед на count файлов и позиционирует ее на пер- вом блоке следующего файла. fsfm Перематывает МЛ вперед на count файлов и позиционирует ее на по- следнем блоке предшествующего файла. bsfm Перематывает МЛ назад на count файлов и позиционирует се на послед- нем блоке предшествующего файла. bsf Перематывает МЛ назад на count файлов и позиционирует ее на первом блоке следующего файла. asf Устанавливает МЛ в начало файла заданного по номеру count Вначале выполняется реверс МЛ, а за гем уже перемещение вперед к указанно- му файлу. fsr Перематывает МЛ вперед па count записей.
II Команды 503 bsr fss Перематывает МЛ назад на count записей. Перематывает МЛ вперед на count ленточных марок. Применяется для SCSI-устройств. bss Перематывает МЛ назад на count ленточных марок. Применяется для SCSI-устройств. eod, seed Перематывает действительно к концу информации, обычно чтобы до- писать данные. rewind Выполняет реверс, или перематывает МЛ к началу. offline, rewoffl Перематывает МЛ и, если возможно, разгружает носитель. retension weof, eof wset Перематывает МЛ к началу, затем к концу, а затем вновь к началу. Записывает в текущей позиции сони! ленточных маркеров. Записывает в текущей позиции count ленточных маркеров. Только для SCSI-устройств. erase status seek Очищает МЛ. Распечатывает информацию состояния данной МЛ. Только для SCSI-устройств. Ищет указанный блок count. Эта операция доступна лишь для некоторых стримеров и ленточных устройств SCSI-2. Адрес блока должен быть предварительно получен с помощью tell. tell Уведомляет о текущем блоке МЛ. Эта операция доступна лишь для некоторых стримеров и ленточных устройств SCSI-2. setpartition Только для SCSI-устройств. Переключает на указанный раздел count. По умолчанию count равен 0. Такое переключение должно поддержи- ваться устройством. Существуют ленточные устройства, поддержива- ющие несколько разделов, и в этом случае МЛ должна быть отформа- тирована соответствующим образом. partseek Только для SCSI-устройств. Позиционирует МЛ на блоке count раздела countb. По умолчанию countb равен 0. Аргумент countb должен сле- довать за count. mkpartition Только для SCSI-устройств. Форматирует МЛ с одним, в этом случае count равен 0, или с двумя разделами, при этом count отражает размер второго раздела в мегабайтах. Подобная разбивка на разделы должна поддерживаться устройством. load lock Только для SCSI-устройств. Загружает МЛ в устройство. Только для SCSI-устройств. Блокирует устройство таким образом, что невозможно извлечь носитель. unlock setblk Только для SCSI-устройств. Снимает блокировку (см. lock). Только для SCSI-устройств. Устанавливает размер блока устройст ва в значение count (байты). setdensity Только для SCSI-устройств. Устанавливает плотность записи на МЛ в значение count. Такую установку приходится назначать, сообразз ясь е возможностями самого устройства.
504 II Команды densities Только для SCSI-устройств. Записывает на стандартный вывод некото- рые наиболее употребительные значения плотностей записи. drvbuffer Только для SCSI-устройств. Устанавливает код буфера ленточного уст- ройства в значение count. Для небуферизованной операции значение count равен 0. Значение следует выбирать, сообразуясь с документаци- ей конкретного ленточного устройства. compression Только для SCSI-устройств. Включает компрессию (сжатие) информа- ции, если такая функция поддерживается устройством, что не всегда имеет место. Для 8-миллиметровых устройств Exabyte компрессию определяют коды плотности. stoptions Только для SCSI-усгройств. Устанавливает биты опций драйвера устрой- ства в указанные значения. Такая операция разрешена только для супер- пользователя. Биты устанавливаются путем использования следующих ключевых слов: buffer-writes разрешает буферизацию при записи async-writes разрешает асинхронную запись read-ahead предварительно настраивает на чтение блоков фикси- рованного размера debug устанавливает режим отладки, если драйвер компили- ровался с такой возможностью two-fms при закрытии файла записывает два ленточных мар- кера (два маркера конца файла) fast-eod производит позиционирование к концу информации на МЛ auto-lock автоматически блокирует/разблокирует устройство def-writes определяет размер блока и плотность записи can-bsr разрешает обратную перемотку no-blklimits не поддерживает ограничения размера блока при чте- нии can-partitions поддерживает разбивку на разделы scsi21ogical позволяет использовать логическую адресацию бло- ков для операций seek и tell вместо зависящей от уст- ройства адресации sysv разрешает семантику System V stsetoptions Только для SCSI-устройств. Устанавливает выбранные биты опций драй- вера устройства. Методы указания бит приведены в описании операции stoptions. Доступна только суперпользователю. stclearoptions Только для SCSI-устройств. Очищает выбранные биты опций драйвера. Методы указания бит приведены в описании операции stoptions. Дос- тупна только суперпользователю. stwrthrcshold Только для SCSI-устройств. Устанавливает предельное значение count при записи па ленточное устройство Это значение в килобайт ах не долж-
II Команды 505 но превышать размер буфера драйвера. Доступна юлько суперпользо- вателю. defblksize Только для SCSI-устройств. Устанавливает размер блока по умолчанию в значение count (байты). Значение -1 отменяет принятый по умолча- нию размер. Причем размер блока, установленный с помощью setblk. перекрывает принятый по умолчанию до тех пор, пока не будет уста- новлена новая МЛ. Доступна только суперпользователю defdensity Только для SCSI-устройств. Устанавливает код плотности по умолча- нию в значение count. Значение -1 отменяет принятую по умолчанию чт плотность записи. Плотность Записи, установленная с помощью setdensity, перекрывает принятую по умолчанию до тех пор, пока не будет установлена новая МЛ. Доступна только суперпользователю. defdrvbuffer Только для SCSI-устройств. Устанавливает код буфера по умолчанию в значение count. Значение 1 отменяет принятый по умолчанию код бу- фера. Код буфера устройства, установленный с помощью drvbuffer, пе- рекрывает принятый по умолчанию до тех пор, пока нс будет установ- лена новая МЛ. Доступна только суперпользователю. defcompression Только для SCSI-устройств. Устанавливает значение компрессии поумол- чанию. Значение -1 отменяет принятое по умолчанию Значение комп- рессии, установленное с помощью compression, перекрывает задан- ное по умолчанию до тех пор, пока не будет установлена новая МЛ. Доступна только суперпользователю. sttimeout Устанавливает период обычного тайм-аута устройства в секундах. Дос- тупна только суперпользователю. stlongtimeout Устанавливает период удлиненного тайм-аута устройства в секундах. Доступна только суперпользователю. datcompression Для некоторых устройств интерфейса SCSI-2. Осведомляется о состо- янии сжатия (on/off включено/отключено) и устанавливает его, ис- пользуя SCSI-команды, посылаемые mt. Если count отсутствует, печа- тает только информацию о сжатии. Если count равен 0, или off, отменя- ет компрессию, в противном случае устанавливает ее. Сжатием инфор- мации на МЛ можно управлять с помощью одной из команд mt под названием compression лишь для ядер выше 1.3.84. Доступна только суперпользователю. mv - перемещает или переименовывает файлы или каталоги. К Синтаксис av [option]...воигсе deet ov [option]...source...directory
II Команды Если последний аргумент командной строки является существующим каталогом directory, переносит каждый указанный файл source в файл с тем же именем в задан- ный каталог. Если только указаны два файла, переименовывает первый файл source во второй dest. Если последний аргумент командной строки не является каталогом и задано более двух файлов, mv завершается с ошибкой. Начиная с версии 4.0, команда mv может переносить любые типы файлов между файловыми системами. Она даже может перемещать полную иерархию каталогов, вклю- чая специальные файлы устройств, из одного раздела диска в другой. Опции -b method, —backup[=meTftoJ] Производит резервное копирование каждого файла, который будет пе- резаписан или удален. Значения, которые может принимать параметр method, смотрите в описании команды In (опция -V). -f, —force Удаляет существующие выходные файлы без подтверждения пользо- вателя. -i, —interactive Требует подтверждения при перезаписи существующего выходного файла. Если ответ пользователя не начинается с буквы у или Y, пропус- кает файл. -и,—update Не перемещает исходный файл, если существующий выходной файл имеет такое же или более новое время модификации. -V,—verbose Перед перемещением печатает имя каждого файла. —strip-trailing-slashes Отбрасывает из аргумента source любые завершающие слэши. -S suffix, —suKn.=suffix Добавляет указанный суффикс к каждому резервному файлу, создавае- мому с помощью опции -Ь. —target-directory=d<recZory Указывает выходной каталог directory. -V method, —version-control=mez/iod Меняет тип резервного файла, создаваемого с помощью опции -Ь. Зна- чения аргумента method см. в описании команды In. Пример $ mv prim» /ивг/RAB $ Перемещает файлы prim* (используется символ подстановки *) в каталог /usr/RAB. Одна команда mv может переместить весь каталог вместе с содержащимися в нем файлами и подкаталогами: $ mv /home/misha/xab/регвоп. $
II. Команды 507 - запускает сервер службы доменных имен Internet К named Синтаксис named [-d Jeve-ljl-P port [localport] ] [~b startfile] [-q] [-r] named - это программа, обеспечивающая работу службы DNS на большинстве Unix- машин; обеспечивает услуги по разрешению имен для обычных клиентов и для других серверов имен. Обычно named запускается в момент начальной загрузки системы и работает до вы- ключения компьютера. При запуске named читает содержимое файла /etc/named.boot и все указанные в нем файлы зон, содержащие данные о соответствии доменных имен сетевым адресам и загружаемые при необходимости с первичных серверов. Далее named начинает ожидать поступления запросов DNS на порт 53 (по умолчанию). Опции - d level Устанавливает режим отладки; числовое значение level определяет уро- вень выводимых сообщений. - р port [localport] Задает нестандартные номера портов. Первый порт будет задействован для соединений с дистанционными серверами, а второй порт localport назначает себе для отладки локальная копия named. - b startfile Использует в качестве стартового указанный файл. - q Анализирует и отслеживает все входящие запросы. - г Отключает режим рекурсии: предполагается, что ответы приходят лишь от локальных зон. Эта опция имеет смысл только для начальных серве- ров. Файл /etc/named.boot содержит в основном указатели на мастер-файлы, включаю- щие в себя информацию о зоне и указатели на другие серверы имен. Вся информация мастер-файлов состоит из множества записей о ресурсах (RR - Resource Records). Каждая такая запись относится к определенному типу. Поля записи разделяются пробелами или символами табуляции. Ниже приведен список основных типов записей о ресурсах: SOA (Start of Authority) описывает зону авторизации: записи, следующие после этой, содержат ин- формацию об именах конкретного домена А (Address-адрес) связывает IP-адрес с именем узла; для каждого узла указывается только одна запись типа А, содержащая официальное, или каноническое имя NS (Name Server) указывает на первичный и вторичные серверы имен некоторой зоны CNAME связывает псевдоним узла с его каноническим именем
508 _______________________ " '/°Маи- PTR предусматривает определение имени сетевого узла на основе его IP-адреса MX (mail exchanger почтовый обмен) указывает сервер, через который происходит обмен почтой для домена HINFO содержит информацию о программном и аппаратном обеспечении системы - помогает конфигурировать различные сетевые интерфейсы вашей системы на протоколе TCP/IP. netcfg Синтаксис netcfg Можно запустить netcfg, чтобы добавить сетевой интерфейс или альтернативную информацию о серверах имен и именах сетевых узлов. Войдите в систему как суперпользователь и выберите Main Menu (Системные меню) => AnotherLevel menus (AnotherLevel меню) Administration => Network Configuration или просто наберите в командной строке netcfg. На экране отобразится диалоговая панель. С помощью 4-х кнопок в верхней части панели пользо- ватель может сконфигурировать разные аспекты сети: □ Кнопка Names. Позволяет ввести для своей системы имя сетевого узла, кото- рое хранится в переменной HOSTNAME в файле /etc/sysconfig/network и адре- са серверов имен, которые хранятся в файле /etc/resolv.conf. □ Кнопка Hosts. Отображает текущее содержимое файла /etc/hosts, позволяет добавлять, удалять и редактировать его элементы. □ Кнопка Interfaces. Позволяет добавить новый сетевой интерфейс, определить его IP-адрес, активизировать интерфейс. Информация по интерфейсам хранится в различных файлах каталога /etc/sysconfig. □ Кнопка Routing. Позволяет добавить статические маршруты в сетях передачи данных. Каждый маршрут отображает шлюз к указанной сети. Пример На рисунке представлен образец конфигурирования с помощью netcfg. Можно определить до 3-х серверов имен доменов.
II. Команды 509 netstat - проверяет состояние вашей сети Синтаксис netstat [ -venaocs ] [ — tcp | -t ] [ —udp | -u Ц —raw | -w J (—groups | -g ] (—unix | -x ] [—inet|—ip][—ax25] [—ipx] [—netron] netstat l-venc] [—inet] [—ipx] [—netron] (—ddp] [—ax25]{—route|r} netstat [-venpac]{—interfaces|-i} [iface] netstat [-e.ic]{—masquerade|-M} netsaat |-cn](—netlink|-L} netstat {-V|—version}{-h|—help} Отображает информацию о сетевых подсистемах Linux: сетевых подключениях, таблицах маршрутизации, статистике интерфейсов, IP-маскировании и т.д., и т.п. Без всяких опций уведомляет о состоян..и активных сетевых подключений, пере- числяя открытые сокеты. Опции -a, —all Печатает информацию о всех сокетах, включая сокеты сервера, уста- новленные на прослушивание. -1, —listening Печатает информацию только о серверных сокетах, установленных на прослушивание. -t, —extend Сообщает некоторую дополнительную информацию: идентификатор пользователя и дескриптор этого подключения -p, —programs Сообщает дополнительную информацию о программе, использующей сокет: идентификатор процесса и имя программы. -v, —verbose Подробно сообщает о подключениях, а также об известных подключе- ниях, которые не поддерживаются данным ядром. -r, —route Отображает таблицы маршрутизации ядра, как команда route -е. Команда netstat -er использует формат вывода команды route. -g, -groups Отображает многоадресные пакеты для протоколов IPv4 и IPv6. -i, —interfaces [iface] Печатает таблицу всех сетевых интерфейсов или только указываемых параметром iface Вывод выполняется в формате комзнды ifconfig -< Команда netstat -ei печатает всю таблицу или информацию об един- ственном интерфейсе, как это делает ifconfig. Указав переключатель -а, вы можете получить информацию о тех интерфейсах, которые даже не сконфигурированы. -М, —masquerade Отображает список всех замаскированных сеансов 11оддсржка маски- рования позволяет скрыть узлы с неофициальными сетевыми адрвсадш от внешнего мира.
510" -L, —netlink Вызывает информацию о современной коммуникационной поддержке типа ядро/пользователь, называемой netlink. Современные ядра под- держивают такое взаимодействие между ядром и пользователем. -n, —numeric Выводит числовые адреса в точечной нотации, не пытаясь установить имя порта или имена пользователей. -А, —af familv Использует различные методы, чтобы установить адресуемые семей- ства, для которых поддерживается маршрутизация. Под семейством по- нимается список ключевых слов, разделенных запятыми, например, inet, ipx, ах25 и т.д. Такой же эффект дает использование длинных опций’ —inet, —ipx, —ах25 и т.д. -с, —continous Отображает ежесекундно текущее состояние сети до тех пор, пока пользователь не прервет этот процесс. - t, —tep Отображает активные соединения через сокеты TCP. - и, — udp Отображает активные соединения через сокеты UDP. - w, —raw Отображает активные соединения через низкоуровневые сокеты RAW - х, —Unix Отображает информацию о доменных сокетах UNIX - о, —timers Добавляет информацию о состоянии таймера: включен/выключен, вре- мя, оставшееся до тайм-аута, количество попыток. Ниже приведены описания полей вывода, возникающих при использовании разных опций netstat. Активные Internet-подключения (TCP, UDP, RAW) Proto Протокол (tep, udp или raw) соединения. Recv-Q Количество байт, еще не скопированных пользовательской программой, подключенной к этому сокету. Send-Q Количество байт, отосланных, но не распознанных дистанционным уз- лом. Local Address Локальный адрес, или адрес локального узла, и порт сокета. Если толь- ко не указана опция -п, адрес сокета транслируется в каноническое имя, а номер порта — в имя соответствующей службы. Foreign Address Это поле аналогично предшествующему, но вся информация относится к дистанционному узлу. State Описывает текущее состояние сокета, принимая следующие значения: ESTABLISHED соединение установлено SYNSENT сокет активно пытается установить соединение с дистанционным узлом SYNRECV FIN WAIT 1 FINWAIT2 соединение устанавливается сокет закрылся и ждет разрыва соечинсння соединение закрылось; сокет ожидает закрытия со стороны дистанционного узла
511 II Команды CLOSED сокет не используется CLOSEDWAIT дистанционный сокет закрыл соединение, локаль- ный сокет тоже ожидает' закрытия LAST ASK дистанционный сокет завершил соединение, ло- кальный сокет ожидает подтверждения LISTEN CLOSING сокет прослушивает входящие подключения оба сокета закрыли соединение, но не все отправ- ленные данные получены UNKNOWN состояние сокета неизвестно User Имя или UID владельца сокета. PID/Program name P1D (идентификатор процесса) и имя программы, поддерживающей этот сокет. Появлению этого поля способствует опция -р. Timer Поле пока не заполняется. Поля активных доменных сокетов Unix Такие сокеты используются во взаимодействии между процессами в файловой си- стеме Unix. Процесс создает специальные файлы, которые затем открываются и ис- пользуются другими процессами. Таков механизм взаимодействия между процессами в Unix. Proto Протокол, используемый сокетом, обычно unix. RefCnt Счетчик процессов, подключенных к этому сокету. Flags К наиболее интересным относится флаг SOACCEPTION (АСС), пока- зывающий, что сокет никем не используется, а процесс, создавший этот сокет, ожидает подключения. Туре Определяет режим доступа к сокету и принимает одно из следующих значений: SOCKDGRAM SOCKSTREAM SOCK RAW SOCK RDM State сокет используется в режиме дейтаграммы сокет используется в режиме потока (с со- единением) используется низкоуровневый режим сокета этот режим обеспечивает надежную достав- ку сообщений SOCK SEQPACKET сокет обеспечивает режим последователь- ных посылок UNKNOWN неизвестный режим; в этом поле стоит дефис Определяет текущее состояние сокета и содержит одно из следующих значений: FREE LISTENING сокет не распределен сокет прослушивает запросы на подключе- ние; отображается в листинге, если только заданы опции -а, -I
512 II Команды CONNECTING CONNECTED DISCONNECTING пустое поле UNKNOWN пытается установить соединение сокет установил соединение сокет пробует разорвать соединение сокет ни к кому не подключен такое состояние не должно возникать в обыч- ных условиях PID/Program name PID (идентификатор процесса) и имя программы, поддерживающей этот сокет. Path Отображает маршрут, по которому процессы подключаются к сокету. Пример $ netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Fig ethO 1500 0 3156 0 0 0 1839 0 0 0 BRU lo $ 3924 0 18 0 0 0 18 0 0 0 LRU В этом случае листинг отображает текущее состояние интерфейсов обратной петли (1о) и Ethernet. Ниже описано содержимое столбцов листинга: Iface имя интерфейса MTU Maximum Transfer Unit - максимальное количество байт, кото- рое может содержать пакет RX-ОК и ТХ-ОК количество безошибочно принятых (RX) и отправленных (ТХ) пакетов RX-ERR и TX-ERR RX-DRP и TX-DRP RX-OVR и TX-OVR количество принятых и отправленных ошибочных пакетов количество пакетов, отброшенных при приеме и отправке количество пакетов, потерянных из-за переполнения (чрезмер- ной загрузки сети) на приеме и отправке Fig флаги, принимающие следующие значения: В разрешена широковещательная передача данных L loopback-интерфейс (интерфейс обратной петли) R интерфейс запущен U интерфейс активен newmail - уведомлиет о п • ступ л. нии козой изчты. Синтаксис newmail interval][-w] file-spec {file-spec ) wnewmail [-d][-i interval][-w] file-spec {file-spec } Осуществляет проверку списка указанных почтовых ящиков и отображает список почты, поступившей в любой из ящиков, указывая имя отправителя и тему сообщения
II. Команды 513 Опции _j Включает режим отладки -I interval Устанавливает интервал проверки почтовых поступлений в секундах. По умолчанию принято значение 10 секунд. _w Запускает программу в окне. Такого же эффекта можно достигнуть, про- сто вызывая wnewmail. Аргумент file-spec определяет имя проверяемой почтовой папки или ящика. В об- щем аргумент состоит из двух компонентов: префиксной строки и собственно имени папки. В качестве префиксной строки можно задать имя пользователя, чья папка под- лежит проверке, или указать стандартные метасимволы elm. По умолчанию в качестве проверяемой папки используется ваш почтовый ящик входящих сообщений. Пример Здесь представлен протокол ра- боты newmail В строке с префиксом » сооб- щается, от кого получено почтовое сообщение и через дефис - его тема. s. misha@Iocalhost.localdomeirr /home/misha ' CnishaGlocalhost mishal! neurnail InishaBlocalhost mishdlt ps ! PIB TTY TIME CMD I 1079 pts/o 00:00:00 bash I 1090 pts/0 00:00:00 neumail I 1091 pts/o 00:00:00 Ps , ImishaGlocalhost mishal! | » Hail Prom sklovskaja - book . [nishaElocalhost nishaJl I news.daily - осуществляет регулярное системное адми- нистрирование в Usenet. Синтаксис news.daily [keyword] news.daily выполняет ряд важных административных функций: отчет о состоянии, удаление старых статей новостей Usenet, обработка журналов (log-файлов), ротация жур- нальных архивов, перенумерация файла active, удаление любых старых файлов сокетов, найденных в каталоге брандмауэра, накопление выходного диагностического файла. Эта про(рамма запускается под ID администратора новостей, а вовсе не суперпользо- вателя. Указывая в командной строке ключевые слова keyword, можно модифициро- вать выполняемые функции и менять аргументы, передаваемые expire, expireover или expireindex. Программу news.daily желательно запускать раз в день обычно с помощью сгоп; чтобы препятствовать ее нескольким одновременным исполнениям, применяется про- грамма shlock. Ключевые слова delayrm Использует флаг -ж при вызове expire, expireover или expireindex. Имена удаляемых статей будут записаны во временный файл, а затем переименованы в результате вызова expirerm. Если определено кчю-
514 I* Команды чевое слово delayrm, предполагается, что неявно задано и ключевое слово expireover. expctl=par/i С помощью маршрута path указывает файл, используемый expire в ка- честве файла expire.ctl (см. expire). expdir=patA По умолчанию expire создает новый файл history и БД в том же са- мом каталоге, где находятся текущие файлы. С помощью path выбира- ет новый каталог для упомянутого размещения. С помощью флага -d этот параметр передается expire. nostat Без этого ключевого слова в первую очередь создается отчет состоя- ния. Это ключевое слово отменяет отчет, создаваемый innsral notdaily По умолчанию запуск news.daily осуществляется только раз в день, при этом она выполняет различные действия (ротация журналов), кото- рые не стоит делать более чем раз в день. Используя это ключевое слово, можно запускать news.daily в любое время, и обычные процес- сы регистрации в журналах и ротация не будут выполняться. noexpire По умолчанию expire вызывается для удаления старых статей ново- стей. Данное ключевое слово отменяет эту функцию. noexplog Обычно expire добавляет информацию в журнал <pathlog in inn.conf>expire Jog. Это ключевое слово "заставляет" поддерживать вы- вод expire как часть вывода news.daily. Но данное ключевое слово неэффективно, если используется noexpire. flags-expire args1 Меняет аргументы, передаваемые expire, на 'expire args'. По умолча- нию expire вызывается с аргументом '-vl'. Если необходимо передать несколько аргументов, используются кавычки. Это ключевое слово не- эффективно, если используется noexpire. nologs Отменяет процесс регистрации в журналах. norotate По умолчанию процесс регистрации включает ротацию и очистку жур- налов. Данное ключевое слово это отменяет: информация журналов только считывается. Данное ключевое слово неэффективно, если ис- пользуется nologs. Ключевое слово norotate будет передано scanlogs, если она вызывается. norenumber Обычно для всех групп новостей переустанавливаются метки low-water. Это ключевое слово отменяет для ctlinnd все операции перенумерации. norm По умолчанию любой сокет ctlinnd, который не модифицировался в течение двух дней, подлежит удалению. Использование этого ключе- вого слова отменяет стандартную функцию. nomail Посылает почтовое сообщение с результатами работы news.daily' на стандартный вывод и в стандартный файл ошибок вместо того, чтобы отправить его администратору. Обычно все вызываемые утилиты пере направляют свои файлы стандартного вывода и ошибок в какой-нибудь файл. Если этот файл пустой, никакое сообщение не отправляется.
II Команды 515 expireover Программа expireover вызывается по истечении срока хранения для очистки БД просмотренных сообщений или индексов Если в inn.conf включена опция storageapi, вместо expireover вызывается программа expireindex. хотя если отсутствуют данные для просмотра, нет ника- кой необходимости задавать ключевое слово expireover. В этом слу- чае сервер новостей работает только для подпитки. expireoverflags-expireover args' Если используется ключевое слово expireover, оно может также при- меняться для определения флагов, передаваемых expireover или expireindex через строку 'expireover args'. Если используется ключе- вое слово delayrm, по умолчанию передается флаг -z и список удален- ных файлов. В противном случае по умолчанию передается флаг -s. I full!path! Полный маршрут I full!path! указывает программу, которая будет испол- няться до проведения каких-либо действий, связанных с истечением срока хранения. Типичное применение - задать ключевое слово noexpire и определить с помощью данной опции альтернативную программу. lowmark Для перенумерации файла active применяет метку lowmark демона ctlinnd. Обычно операция перенумерации занимает довольно много вре- мени, с ключевым словом lowmark его понадобится куда меньше. Если задано ключевое слово lowmark, нет необходимости определять клю- чевое слово norenumber, так как news.daily указывает его неявно. newsrequeue - инструмент для перезаписи пакетных файлов службы новостей. Синтаксис newsrequeue [-a actlveH-h Aistory][-d days] [-1] [-n news feeds]] input] Используется, чтобы перезаписать пакетные файлы после серьезного сбоя системы. Программа newsrequeue работает в двух режимах. В первом режиме сначала счи тыва- ет файлы active и newsfeeds, чтобы установить, куда распределяются разные группы новостей. Затем открывает БД history. Раз файлы открыты, newsrequeue считывает указанный файл input или стандартный ввод, если файл не задан. В каждой строке име- ется уникальный идентификатор сообщения Message-ID, заключенный в угловые скоб- ки. Любой другой текст в строке игнорируется. Программа, работающая в этом режи- ме, принимает в качестве входного файл history илн его завершающее подмножество. newsrequeue использует первые два поля каждого элемента файла newsfeeds - имя сайта и подполе exclude, шаблоны и подполе distrib (куда распределять) за ис- ключением шаблонов, которые начинаются с символа Программа игнорирует все флаги в третьем поле за исключением предназначенных для поля N, определяющего регулируемость групп новостей; четвертое поле игнорируется полностью Вывод содержит по одной строке для каждой статьи, которая может быть перепо- ручена; в дальнейшем передается от собственного имени узла, которому была поруче- на. Каждая такая строка содержит Message-ID. имя файла и список сайтов, намечен- ных для получения статьи. Вывод пригоден для передачи по конвейеру filcchan.
516 II. Команды Если задан флаг -I, применяется второй режим, в котором newsrequeue считывает содержимое файла input или стандартного ввода, если файл не задан. Каждая строка напоминает элемент файла регистрации (журнала) innd. Программа проверяет эти эле- менты для пришедших статей, по Message-ID находит в БД history имя файла, а затем просматривает список сайтов. Если в файле inn.conf включена опция storageapi. про- грамма newsrequeue всегда запустит этот режим, независимо от флага -I. Опции - a active Указывает альтернативное расположение файла active. - n newsfeeds Указывает альтернативное расположение файла newsfeeds. - h history’ Указывает альтернативное расположение БД history. - d days Будет обрабатывать только статьи, полученные в указанном парамет- ром days диапазоне дней. - 1 Считывает элементы файла регистрации демона innd вместо элемен- тов файла history. nfsd - см. rpc.nfsd. К - распечатывает статистику NFS. nfsstat Синтаксис nfsstat |-anrcszj[-o facility]... Опции - s Печатает только статистику со стороны сервера. По умолчанию печа- тается статистика серверная и клиентская. - с Печатает только статистику со стороны клиента. Печатает только статистику NFS без информации о RPC. - v, —version Печатает информацию о текущей версии программы и завершает ее. По умолчанию печатается информация по NFS и RPC (см. rpc.nfsd) - г Печатает только статистику RPC - z Обнуляет счетчики статистики ядра. - о facility Отражает статистику по указанной возможности facility, принимающей одно из следующих значений: nfs информация по протоколу NFS без RPC-вызовов грс общая информация по RPC net статистика сетевого уровня: количество полученных пакетов, число TCP-подключений и т.д.
II.Команды 1 ' fh дополнительная информация по поддержке кэша на файл-сер- вере гс дополнительная информация по кэшу запросов/ответов сервера nice - печатает или модифицирует планируемый прио- К ритет заданий. Синтаксис nice [option]--[command [arg]..«] Если никакие аргументы не заданы, печатает текущий планируемый приоритет. В противном случае nice запускает команду command (arg - ее аргументы) с приращени- ем (с поправкой) планируемого приоритета. Значение приращения приоритета может быть назначено командой nice в диапазоне от -20 (наивысший приоритет) до 19 (низ- ший приоритет). Многие оболочки имеют встроенную команду под именем nice. Но здесь речь пой- дет о GNU nice. Опции -n adjustment, -adjustment, — adjustment=a4[uszmenz Добавляет указанное приращение (поправку) к приоритету команды. По умолчанию добавляет 10. Только суперпользователь может указать отрицательное приращение приоритета. Пример $ nice -5 wc prim* > sumdop а 12147 S Команда, приведенная выше, использует приращение приоритета, равное 5, что при- водит к понижению приоритета, присвоенного процессу wc. f nice —10 mainjob Б t Такую команду может запустить только суперпользователь, что приведет к повы- шению приоритета задания mainjob. П1 - нумерует строки файлов. финтаксис nl [option],..[file]... Записывает на стандартный вывод каждый из перечисленных файлов file с добав- ленными номерами строк. Если никакой файл не задан или вместо имени файла указан дефис, считывает стандартный ввод
518 II Команды Опции -b. —body-numbenng=styte Использует указанный стиль нумерации строк, по умолчанию предпо- лагает -bt. -d, —section-delimiter=cc Задает разделитель (два символа) логических страниц. Второй отсут- ствующий символ указывается точкой. -f, —footer- numbering=5Z}'/e Использует указанный стиль для нумерации строк колонтитулов, по умол- чанию считает-fn. -h, —header- numbering=sry/e Использует указанный стиль для нумерации строк заголовка, по умол- чанию полагает -hn. -i, — page-increment=numZ>er Указывает для каждой строки приращение номера строки. По умолча- нию принимает -il - 1, —join-blank-lines= number Указывает количество number подряд идущих пустых строк, рассмат- риваемых как одна строка. По умолчанию принимает - п, — number-format=/brmat Вставляет номера строк в соответствии с заданным форматом, по умол- чанию принимает -пгп. - р, —no-renumber Не переустанавливает номер строки после логической страницы. - s, — nwnber-separator=stnng Добавляет указанную строку string после номера строки. По умолча- нию принимает символ табуляции. - v, — starting-line-number= number Указывает номер первой строки на каждой логической странице, по умолчанию считает - w, —number-width=number Использует указанное количество символов для нумерации строк, по умолчанию - 6. —help Выводит опции программы и завершает ее. —version Выводит информацию о версии программы и завершает ее. Можно указать такие разновидности стиля: а нумерует все строки t нумерует лишь непустые строки п по умолчанию не нумерует строки заголовка и колонтитула preg нумерует только строки, содержащие выражение reg Параметр format может принимать одно из следующих значении: 1 п выравнивает по левой границе (без начальных пулей)
II. Команды 519 rn выравнивает по правой границе (беначальных нулей) rz выравнивает по правой границе (с начальными нулями) Приме nlmconv й: г.usha@lGcall ost localdomain: /home/misha ГХ cat [ го ishaQ local host mishalS cat nnnr Как много девушек хороших. Как много ласковых имен. Но лишь одно из них тревожит. Унося ПОКОЙ И СОН, КОГДА ВЛЮБЛен. [mishaQlocalhost mishaIS nl ~u5 -vlO ~s "песня ” nnnr Юпесня Как много девушек хороших, Нпесня Как много ласковых имен, 12песня Но лишь одно из них тревожит, 13песня Унося покой и сон, когда влюьлен [mishaQlocalhost mishaJS | A / - преобразует объектный код в формат NLM. Синтаксис nlmconv [-1 bfdname[—input -target=6fdnamej (-О bfdname | —output-target=bfdname] [ -T headerfile| —header-file=headerfHe] [-V]—version]!—help] infile outfile Программа nlmconv преобразует настраиваемый объектный файл infile в NLM (Netware Loadable Module - загружаемый модуль Netware) по имени outfile. в ряде случаев для заполнения header (заголовка) NLM читает файл headerfile. Работающим с этой командой следует ознакомиться с руководством "The NetWare Tool Maker Specification Manual" от фирмы Novell, Inc. В настоящее время программа работает с объектными файлами i386 в форматах COFF, ELF или a.out, а также с объектными файлами SPARC в форматах ELF или a.out. Для чтения файла infile программа nlmconv использует GNU Binary File Descriptor library (GNU BFD library - библиотеку дескрипторов двоичных файлов). Опции - I bfdname, — input-target=b/dnrime Предполагает, что формат исходного объектного файла определяется именно значением bfdname. - О bfdname, -output-target =bfdname Записывает выходной файл в объектном формате bfdname. Хотя обычно предполагается, что выходной формат основывается на входном фор- мате. а именно: для входного файла 1386 устанавливается выходной фор- мат nlm32-i386. - Т headerfile, - header-file=/ieoder/i/e Считывает headerfili для создания header (заголовка) NLM - V, —version Выводит информацию о версии npoi раммы и завершает ее работу. - -help Выводит информацию об опциях программы и завершает ее работа
520 II Команды nm - распечатывает символы (идентификаторы) из объектных файлов. Синтаксис пт [ -а | -debug-syms ](-д ] -extern-only ](-В ][ -С | - -demangle ][ -D [ - -dynamic J [ -S I —print-armap ] [ -A | -o | —print-file-name ] [ -n | -v —numeric-sort ] {—p |—no-sort]]-r| —reverse-sort] [ —size-sort][-u| —undefined-only] [-1|—line-numbers][—help][—version]]-t radix) radix-radix] ]-p| — portability] ]-f format] —format=format] [—target=bfdname] [objfile... ] Распечатывает идентификаторы из объектного файла objfile, если этот аргумент не задан, ищет файл a.out. Опции -А, -о, —print-file-name Идентифицирует каждый символ (идентификатор) по имени входного файла, где он был обнаружен, вместо того, чтобы однажды идентифи- цировать входной файл перед всеми его символами. -а, — debug-syms Выводит только идентификаторы отладчика, обычно в стандартном ре- жиме это не выполняется. - В Используется для совместимости с пт на процессорах MIPS. - С, -demangle Преобразует низкоуровневые имена идентификаторов в высокоуровне- вые, ранее определенные пользователем. Чтобы сделать имена функ- ций C++ удобными для чтения, удаляет некоторые символы подчерки- вания, специально предусмотренные системой. —no-demangle Эта опция используется по умолчанию: не выполняет преобразований низкоуровневых имен идентификаторов. — D, —dynamic Выводит только динамические символы (идентификаторы); эта опция существенна для динамических объектов, таких, как совместно исполь- зуемые (разделяемые) библиотеки. -f format, —format-format Использует выходной формат formal, который может принимать такие значения: bsd, sysv или posix. А вообще, существенна только первая буква формата, она может быть строчной или прописной. -g, -extern-only Распечатывает только внешние идентификаторы. -1, —line-numbers Пытается отыскать для каждого символа (идентификатора) имя его фай- ла и номер строки, используя отладочную информацию Для опреде- ленных символов осуществляется поиск номера строки по адресу сим- вола. Для неопределенных символов пытается определить номер стро- ки элемента, ссылающегося иа этот символ.
II. Команды 521 - n, -v, —numeric-sort Осуществляет числовую сортировку символов (идентификаторов) по их адресам вместо того, чтобы выполнять алфави гну ю сортировку по именам. - р, —no-son Вообще не выполняет сортировку идентификаторов: распечатывает их в произвольном порядке. - Р, —portability Вместо формата по умолчанию использует для вывода стандарт POSIX.2. Эта опция эквивалентна -f posix. -s, —print-armap Когда распечатывает идентификаторы компонентов архива, созданного с помощью аг или ranlib, включает индекс для разрешения имен. -г, —reverse-sort Производит числовую или алфавитную сортировку в обратном поряд- ке: последний идентификатор становится первым. —size-sort Сортирует идентификаторы по размеру. Распечатывается размер иден- тификатора вместо его значения. -t radix, —nAw.=radix Использует формат, задаваемый параметром radix, для распечатки зна- чений символов (идентификаторов). Допускаются следующие значения: d - десятичный формат о - восьмеричный формат х - шестнадцатеричный формат —target=bfdname Указывает формат объектного кода, отличающийся от принятого в сис- теме по умолчанию. - u, —undefined-only Выводит только неопределенные символы. — defined-only Выводит только определенные (объявленные) символы. - V, —version Выводит информацию о версии программы и завершает ее работу. — help Выводит краткие сведения об опциях программы и завершает ее работу. Пример Ниже показан вывод динамических символов системной разделяемой библиотеки libss.so.2.0: I пш -О libss.so.2.0 00000000 A GCC.INTERNAL 00004934 A DYNAMIC 0000481с A _GLOBAL_OFFSET_TABLE_ U _IO_putc U __brk_addr 000049ес A bss start U __curbrk v __deregister_Eranie_info U __environ U __errno__location
522 II КоМогЩЫ w ___gmon_start__ w register_frame_infо U sigsetjmp 000049ec A _edata 00004adc A _end U __et_list 00003060 A etext 00003060 ? Jfini 00001464 ? _init 00004804 D _ss_pager_name 00004800 D _ss_table U atexit U calloc U close U closedir 0 com_err_va U dup2 U execlp U exit U fclose U fdopen U fflush U fgets U fork U fprintf U fputs U free U getenv 00001900 T initialize_ss_error_table 0 longjmp U malloc U memcpy U open 0 opendir 0 pipe U printf U read U realloc U sigaddset U sigdelset 0 sigemptyset U signal U sigprocmask U sprintf 00002540 T ss_abort_subsystem 00001e50 T ss_add_info dir 000029d0 T ss_add_request_table 00001950 T ss_create_invocation OOOOlfBO T ss_delete info dir OOOOlacO T ss_delete_invocation 00002aa0 T ss_delete requesttable 00002900 T sserror 00002120 T ss_execute command 000021b0 T ss_execute_line 000029a0 T ss_get_prompt 00001b40 T ss_help 00002b00 T ss_list_requests 000022b0 T ss_listen 00002790 T ss_name
II. Команды 523 00002е30 Т 88_page__stdin 00002db0 Т ss_pager_create 000025b0 Т ss_parse 00002940 Т ss_perror 00002580 Т 88_quit 00002fl0 T ss_self_identify 00002970 T ss_set_prompt 000047f0 D ss_std_requests 00002f50 T s8_subsystem_name 00002f90 T 88_subsystem_version 00002fd0 T 8s_unimplemented U stdin U stdout U strcat U strchr U strcmp U strcpy U strncat U system U wait О write # - сервер NNTP для узлов учебных зав жий. nnrpd Синтаксис nnrpd [~b address] [-D] [-g shadowgroup] [-o] [-p port][-r reason] [-R] [-s title padding Ц-t ] nnrpd - это сервер NNTP для читателей новостей. Он принимает команды на свой стандартный ввод и отвечает через стандартный вывод. Обычно innd вызывается че- рез дескрипторы, связанные с дистанционными подключениями клиента, хотя nnrpd может выполняться и как отдельный демон. В отличие от innd. демон nnrpd поддерживает все ориентированные на пользова- теля NNTP-команды чтения и отправки почты. Использует файл nnrp.access, чтобы контролировать право (авторизацию) доступа к БД Usenet. Когда параметр NNRPLOADLIMIT, определяющий загрузку и задаваемый в <config data>, отличен от 0, будут отвергаться все подключения, если средняя загруз- ка превышает это значение (обычно 16). По завершении сервер nnrpd с помощью syslog предоставляет отчетную статистику. nnrpd может принимать мультимедийные почтовые отправления, соответствующие стандарту MIME, в виде сообщений SMTP. Опции -г reason Отвергает входящие подключения по указанной параметром reason причине. -R Заставляет nnrpd перейти в режим "только для чтения" и перекрывает любые опции Р в файле nnrp.access. Начальный заголовок содержит индикатор no posting (нет почты).
524 11 - s Получив команду, nnrpd пинается заменить ее массив аргументов та- ким образом, чтобы ps смогла бы распечатать предстоящую команду - t Выполняет трассировку всех клиентских команд и первоначальных от- ветов (см. команду trace для ctlinnd). Этот флаг устанавливается innd - о Накапливает все статьи в спуле вместо того, чтобы посылать их innd. А затем регулярно с помощью cron вызывается rnews -U, которая "бе- рет на себя" заботу об этих статьях. - D Заставляет nnrpd действовать как демон, а именно: запуститься как фоновый процесс, разветвляясь для каждого подключения. По умолча- нию nnrpd прослушивает порт 119; в рассмотренном случае или innd привязывается к другому порту, или nnrpd вызывается с параметром -р. - р port Инструктируй nnrpd прослушивать указанный порт nort. Обычно за- дается вместе с -D. - g shadowgroup Инструктирует nnrpd, чтобы попытаться добавить поименованную груп- пу как дополнительную группу в систему теневых паролей. Для этого nnrpd должен выполняться только в однопользовательским режиме: данный вызов работает, если nnrpd стартует как root (суперпользова- тель). -b address Инструктирует nnrpd привязаться к указанному IP-адресу address, когда стартует в однопользовательском режиме, используя флаг -D Это дол- жен быть проверяемый адрес в точечной нотации принадлежащий ин- терфейсу локального узла. nnrpd использует команды, определенные в RFC 977, хотя существуют некоторые отличия, среди которых особо следует отметить, что не реализована команда ihave. Вместо того чтобы пересылать на дистанционный узел со„ержимое всех статей, пере- сылаются только их идентификаторы. Такое сооОщение называется ihave (я имею). Для пересылки статей пользователи могут применять команду post. Также не реализо- вана команда slave. В системах, имеющих теневой файл паролей, nnrpd пытается добавить дополни- тельную группу shadow при работе в однопользовательском режиме. Во многих сис- темах члены этой группы имеют лишь полномочия чтения на файл теневых паролей. Опция -g также применяется, чтобы поменять группу 11 леном которой пытается стать nnrpd. III HfJocllU посылает статьи Usenet на дистанционный сайт. Синтаксис nntpsend [-a][-c][-d][-Dn-p][-rH-S][-n][-B size]]-t timeout] [-T timelimit] (-P portnuin] ]sitename fqdn],,. nntpsend программный интерфейс, вызывающий innxmit для отправки статей Usenet на дистанционный NNTP-сай i.
II. Команды 525 Подпитываемые сайты указываются путем задания в командной строке двух аргу- ментов - sitename и fqdn. Первый из аргументов задает имя сайта, как определено в файле newsfeeds. Второй аргумент (fqdn - Fully Qualified Domain Name полное правомочное имя домена) - может задаваться как имя или IP-адрес дистанционного сайта. Если рассмотренная пара аргументов не определена, nntpsend по умолчанию использует информацию, заданную в конфигурационном файле nntpsend.ctl. Но если упомян} гая пара аргументов определена в командной строке, то любой из флагов ко- мандной строки передается либо innxmit, либо shrinkfile. Любой флаг, заданный в командной строке, перекрывает аналогичный флаг, определенный по умолчанию для конкретного сайта. Опции - d Заставляет nntpsend направлять вывод вместо журнала (<pathlog in inn.confWnntpsend.log) в стандартный выходной файл. - D Аналогичен фла, у -d, но вдобавок передает флаг -d для innxmit, что, в свою очередь, направляет отладочную информацию от innxmit в стан- дартный файл ошибок. - s Этот файл будет передан shrinkfile для выполнения усечения заголов- ка пакетного файла. - а, -р, -г, -S, -t,-T, -с, -Р Передает все эти флаги дочерней программе innxmit. - п Если применяется этот флаг, nntpsend не использует shlock, хотя обыч- но делает это, а поэтому не блокирует пакетные файлы. Пример Ниже приведено содержимое управляющего файла comsite:unity.coesite::-S -t8 0 orbita: orbita. org:: hana:elana.hana.gov:2m-2m:-T3 6 0 0 -110 0 По команде nntpsend получится следующий результат: Имя сайта Усечение Флаги nntpsend comsite нет -a -S -t80 orbita нет -a-t180 hana Если статья более 2Мбайт, то оставит 2Мбайт -a-T3600-t100
526 II Команды nohup - запускает указанную пользователем команду, которая будет выполняться даже и после выхода пользователя из системы. Синтаксис nohup command [ arg]... nohup так запускает команду command с ее аргументами arg, что игнорируются сигналы HANGUP (см. приложение I), поэтому команда может продолжать выполняться в качестве фонового процесса даже после выхода из системы пользователя, ее запус- тившего. nohup использует приращение, равное 5, для планируемого процесса команды, что несколько снижает приоритет. Если стандартным выводом для указанной команды яв- ляется терминал, то стандартный вывод и стандартный файл ошибок будут перенаправ- лены и добавлены к файлу nohup.out, если это невозможно, то будут добавлены к фай- лу $HOME/nohup.out. В противном случае команда не выполняется. При создании nohup.out или SHOME/nohup.out программа nohup не создает пол- номочий групп или других полномочий доступа, а также не меняет полномочий, если выходной файл уже существует. nohup автоматически не переводит задаваемую команду в фон, это должен сделать пользователь, завершив командную строку символом &. Опции —help Кратко информирует о команде nohup. —version Выводит информацию о версии nohup. nroff - вызывает команду groff, которая эмулирует стан- дартную команду Umix под названием nroff См. команду groff. - опрашивает серверы имен доменов в Internet. nslookup Синтаксис nslookup l-option... ][host-to-f ind\-[ server]] Программа nslookup удобное средство для проверки правильности настроит сервера имен. Программа может быть запущена в двух режимах: интерактивном или режиме командной строки. Программа nslookup запускается в интерактивном режиме в следующих случаях: □ когда не указаны никакие аргументы и исполь зуетсч заданный по \ молча нию сервер имен
II Команды 527 □ когда вместо первого аргумента (искомый узел) стоит дефис, а в каче- стве второго аргумента указано имя или адрес сервера имен В режиме командной строки в качестве первого аргумента указано имя или IP-ад- рес искомого узла, в качестве второго необязательного аргумента - имя или адрес сервера имен. В интерактивном режиме nslookup обладает более широкими возможностями. Если программу запустить без аргументов, то она уведомит об имени сервера, который бу- дет использовать, и перейдет в интерактивный режим. Существуют интерактивные ко- манды, которые можно ввести в ответ на приглашение, нажав Ctrl+C. Интерактивные команды host [server] Позволяет просмотреть информацию для данного узла host, используя указанный сервер server или заданный по умолчанию. Если host пред- ставляет из себя IP-адрес и запрашивается тип записей о ресурсах А и PTR, то возвращается имя узла. Если в качестве host указано имя без завершающей точки, к имени добавляется взятое по умолчанию имя домена. Чтобы просмотреть узел не из текущего домена, к указывае- мому имени следует добавить точку. help, ? Печатает справку по командам. exit Завершает работу программы. server domain, Iserver domain Меняет заданный по умолчанию сервер на domain; чтобы просмотреть информацию об указанном домеие domain, команда Iserver использу- ет начальный сервер, в то время как команда server применяет текущий заданный по умолчанию сервер. finger [name][>filename], finger [name][»filename] Подключается к серверу, указывающему на текущий узел пате. Теку- щий узел устанавливается по результатам предшествующего просмот- ра, поэтому параметр пате не обязателен. Возвращаемая информация направляется в файл filename согласно принятой манере: > записывается в начало файла » добавляется в конец файла Is \optiori]domain\>filename\, Is [option}domain[»filename] Отображает информацию, доступную для домена domain, и направляет ее в файл filename. По умолчанию вывод содержит имена узлов и их адреса. Опции option могут принимать следующие значения; -t querytype отображает все записи указанного типа (см. дальше querytype) -а выводит псевдонимы узлов домена - синоним для -t CNAME -d отображает все записи для домена - синоним для -tANY -h отображает информацию о центральном процессоре и об операционной системе - синоним для -t 1I1NFO
528 II 1’0 ы _s отображает широкоизвестные службы узлов ломеиа синоним для -t WKS view filename Сортирует и отображает с помощью more вывод предшествующей ко- манды Is. set Aevvvorrf[=va/ue] Меняет тип записей. Проверяемые значения keyword показаны ниже. all class=va/ue Internet (по умолчанию) класс CHAOS MTT Athena Hesiod любой из перечисленных классов [no]uebug domain=name port=vaZue печатает все текущие значения меняет запрашиваемый класс в одно из следующих значений: IN CHAOS HESIOD ANY включает режим отладки, по умолчанию принят nodebug (без отладки) меняет заданное по умолчанию имя домена на пате меняет заданный по умолчанию порт TCP/UDP сер- вера имен на значение value', по умолчанию — 53 querytype=va/ne, type=vo/ue меняет тип запрашиваемой информации на одно из следующих значений: A, CNAME, HINFO, MX, NS, PTR, SOA, ANY (любой из перечисленных); здесь указаны лишь основные типы, описания которых при- ведены в named [no]recurse предлагает серверу имен запрашивать другие серве- ры в случае отсутствия информации; по умолчанию принято значение rceurse retry=number устанавливает допускаемое количество попыток под- ключений в значение number, по умолчанию - четы- ре попытки timeout=numfcer устанавливает начальное значение тайм-аута при ожи- дании ответа в number секунд; во время каждой по- пытки дублируется время тайм-аута, по умолчанию - 5 секунд [no]ignoretc игнорирует ошибки, связанные с усечением пакетов. Все опции, перечисленные с командой set, могут быть указаны в файле .nslo ткгчгс исходного каталога пользователя или в командной строке. Пример Чтобы поменять время тайм-аута на 15 секунд, следует набрать команду: $ nelookup -timeout=15 Default Server: un.ilmenau.de
II. Команды 529 Address: 130.82.52.60 ntsysv - конфигурирует уровни функционирования системных служб. Синтаксис ntsysv [—back][—level levels] ntsysv - несложный интерфейс для установки уровней функционирования (или за- пуска, или исполнения, в литературе встречается разная терминология) системных служб. По умолчанию устанавливается текущий уровень. Опции —level levels Указывает уровень (уровни) функционирования. —back Заменяет стандартную кнопку Cancel (завершение, или отмена) в окне программы ntsysv на кнопку Back (возврат, или назад). Указывая одновременно несколько уровней функционирования, следует помнить, что они должны следовать за опцией —level без каких-либо пробелов. Программа ntsysv возвращает 0 в случае успешного завершения, 2 - в случае ошиб- ки и 1 — если пользователь щелкнул на кнопке Cancel. Пример t ntsysv —level35 Для заданных уровней 3 и 5 производится определение служб, которые будут запус- каться автоматически. Как можно видеть на рисунке, та- кие системные службы поме- чаются звездочкой. С помо- щью клавиш ф Ф осуществля- ется выбор. Нажав TAB, попа даем на экранную кнопку ОК. Нажав Enter, завершаем про грамму, сохранив новые уста- новки.
53d II Команд! objcopy копирует и транслирует объектные файлы. Синтаксис objcopy [-F bfdname|—target=bfdname] [-1 bfdname|—input-target=bfdname] [-0 bfdn<aine| —output-target=bfdname] [-j sectionпаше|—only-section=sectionname] [-R sectionnamej —removesection-sectionname] [ -S | —strip-all} [-91 —strip-debug][—strip-unneeded] [-K symbolname [-N symbol name [-L symbolname [-W symbolname —weaken-symbol-symbolname][-x|—discard-all] [-x|—discard-locals][-b byte|—byte-byte] [-i interleave!—interleave-interleave][-p|—preserve-dates] [—debugging][—gap-fill=val][—pad-to=address][—set-start= val] —keep-symbol-symbolname] —strip-symbol-symbolname] —local ize-symbol=synibolname] [—change-start=incr][—change-addresses=incr] [—change-section-address=section{=,+,-}val] [—change-section-lma=section{=,+,-}val] [—change-section-vma=section{=,+,-}val][—change-warnings] I—no-change-warnings][—set-section-flags=section=flags] [ —add-section=sectionname=fНепале] [ —change-leading-char ] [—remove-leading-char][—weaken][-v|—verbose][-V|—version] [—help] infile [outfile] Еще одна из утилит GNU binutils, копирующая содержимое одного объектного файла в другой. Использует для чтения и записи объектных файлов библиотеку GNU BFD. Она также может переписать объектный файл в формат, отличный от исходного. Для своих операций утилита objcopy создает временные файлы, которые сама потом удаляет. Опции - F bfdname, —target=bfdname Рассматривает формат исходного объектного файла согласно значению bfdname. - I bfdname, — input-xargev=bfdname Записывает выходной файл в формате bfdname. - О bfdname, —output-\3xgel=bfdname Использует bfdname как формат объектного кода одновременно для входного и выходного файлов, т.е. просто переносит информацию от источника к месту назначения без трансляции. - j sectionname, —only-section=sectionname Копирует из входного файла в выходной только секцию sectionname. Эту опцию можно использовать многократно. - R sectionname, ~-remove~section=sectionname Удаляет из файла секцию sectionname. Эту опцию можно использовать многократно. - S -strip-all Не копирует настраиваемую информацию и информацию о символах (идентификаторах) из исходного файла.
II. Команды 531 -g. —strip-debug He копирует отладочные символы (идентификаторы) из исходно!с фай- ла --strip-unneeded Убирает все символы, которые не понадобятся в процессе наС1ройки. -К symbolname, —keep-symbol=.vymfeo/name Копирует из исходного файла только символ (идентификатор) symbolname. Эту опцию можно использовать многократно. - N symbolname, —strip-symboHsymfco/лотпе Не копирует из исходного файла символ (идентификатор) symbolname. Эту опцию можно использовать многократно. - L symbolname, -localize- symbo\=symbolname Помечает символ (идентификатор) symbolname как local — локальный для данного файла. Эту опцию можно использовать многократно. - W symbolname, — weaken-symboWymfco/name Помечает символ (идентификатор) symbolname как weak - слабый, т.е. его существование зависит от наличия других объектов. -х, -discard-all Удаляет все неглобальные идентификаторы. -X, -discard-locals Удаляет все локальные идентификаторы, сгенерированные компилято- ром. Их имена обычно начинаются с L или с точки. -b byte, byte-byte Сохраняет только каждый байт, местоположение которого указывает byte (порядок следования). Эта опция не влияет на информацию headers (заголовков). Обычно используется с выходным форматом srec Эта опция находит применение при создании файлов для программирования ROM (read only memory — постоянное запоминающее устройство или ПЗУ). -i interleave, — interleave—InZer'/ecrve Копирует только один байт из каждой группы байтов в количестве interleave. Какой собственно байт следует копировать, указывает оп- ция -Ь, ее наличие вместе с рассматриваемой опцией обязательно. По умолчанию значение interleave равно 4. -р, -preserve-dates Устанавливает режим доступа и дату модификации выходного файла та- кими же, как для входного. —debugging Конвертирует отладочную информацию, если только это возможно —gap-fill=va/ Заполняет промежутки между секциями содержимым val. Эм опера- ция проводится вместе с установкой LMA (load memory address ад- рес загрузки) секций. Увеличение размера секции производи гея со сто- роны ее наименьшего адреса, при э том возникает дополни тельное про- странство.
532 II Команды - - pad- io=address Дополняет выходной файл до размера, указываемого address. Данная операция производится именно за счет увеличения размера последней секции. Дополнительное пространство заполняется val с помощью за- дания опции —gap-fill. По умолчанию производится заполнение допол- нительного пространства нулями. —set-start=va/ Устанавливает стартовый адрес нового файла в значение val. Не для всех форматов объектных файлов поддерживается установка старто- вого адреса. —change-start=/ncr, —adj ust-start=T лег Меняет стартовый адрес путем добавления смещения тег. —changc-addresses=incr, - adjust-vmsincr Меняет адреса всех секций так же, как и стартовый адрес путем добав- ления incr. Для некоторых форматов объектных файлов запрещается произвольное изменение адресов секций. —change-section address=secz/oH {=,+,—} val, - adjust-section-vma—, г, -} val Устанавливает или меняет на величину val адреса VMA (virtual memory address - виртуальный адрес) и LMA указанной секции section. Если задается знак равенства, адрес секции имен устанавливается в значение val; значение val также может добавляться или вычитаться из адреса секции. — change-sec tion-lma=secr/o« {=,+,-} val Устанавливает или меняет LMA-адрес указанной секции section. — change-section-vma—дес7/отг{—,+, }val Устанавливает или меняет VMA-адрес указанной секции section. — change-warnings, -adjust-warnings Если используется опция — change-section-Л’Л'А'. а указанная секция не существует, выдает предупреждающее сообщение. — no-change-wamings, -no-adjust-warnings Не выдает предупреждающее сообщение, если используется опция —change-section-XXY, а указанная секция не существует. — set-section-flags=.secnon=/7ag.v Устанавливает флаги flags для секции имен section. Аргумент flags — это строка имен флагов, разделенных запятыми. Распознаются следу- ющие имена: alloc code contents data load г о in noload share readonly debug Правда, некоторые форматы используют не все перечисленные флаги
II. Команды 533 —add-section =sectionname=filename В процессе копирования файла добавляв! новую секцию .,eclioriname Содержимое новой секции навлекается из файла filename. При лом размер секции равен размеру этого файла. Э1а опция работает только для тех форматов, для которых поддерживаются секции с произволь- ными именами. —change-leading-char Для некоторых форматов объектных файлов используются специаль- ные символы, отмечающие начало идент ификаторов. Чаще всего при- меняется символ подчеркивания который компиляторы обычно добав- ляют перед идентификаторами. В процессе преобразования форматов эта опция предлагает сменить начальный символ. Если для форматов входного и выходного файлов применяется один и тот же начальный символ, данная опция не дает никакого результата. —remove-leading-char Удаляет начальный символ подчеркивания из состава всех глобальных символов (идентификаторов). Эта опция особенно полезна, если пред- стоит скомпоновать объекты различных форматов с отличающимися договоренностями относительно имен идентификаторов. —weaken Помечает все глобальные идентификаторы файла как weak — слабый, т.к. их существование зависит от наличия других объектов -v, —verbose Создает подробный вывод: распечатывает все измененные объектные файлы. В случае архивов с помощью objcopy -v распечатывает все чле- ны. -V, —version Выводит информацию о версии программы и завершает ее работу —help Выводит информацию об опциях программы и завершает ее работу. Аргумент infile - это входной файл для утилиты objcopy, аргумент outfile - выход ной файл. Пример Распечатаем с помощью objdump листинг объектного файла libss.so.2.0: $ objdump —all-headers -Т libss.so.2.0 libss.so.2.0: file format elf32-i386 libss.so.2.0 architecture: 1386, flags 0x00000150: BASSYMS, DYNAMIC, DPAGED start address 0x00001840 Program Beader: LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00003688 memsz 0x00003688 flags r-x LOAD off 0x00003688 vaddr 0x00004688 paddr 0x00004688 align 2**12 filesz 0x00000364 memsz 0x00000454 flags rw- DYNAMIC off 0x00003934 vaddr 0x00004934 paddr 0x00004934 align 2**2 filesz OxOOOOOObB memsz OxOOOOOObe flags rw- $
534 II Команды Следует обратить внимание на start address 0x0000184(1 (стартовый адрес) А т< „ерь с помощью objcopy поменяем его, а новый объектный код поместим в файл myobj: $ objcopy —change-start=OxOOOOOOFF libss.so.2.0 myobj $ objdump —all-headers -T myobj myobj: file format elf32-i386 myobj architecture: i386, flags 0x00000150: HASSYMS, DYNAMIC, DPAGED start address 0x0000193f Program Header: LOAD off 0x00000000 filesz 0x00003688 LOAD off 0x00003688 filesz 0x00000364 DYNAMIC off 0x00003934 vaddr 0x00000000 paddr memsz 0x00003688 flags vaddr 0x00004688 paddr memsz 0x00000454 flags vaddr 0x00004934 paddr 0x00000000 align 2**12 r-x 0x00004688 align 2**12 rw- 0x00004934 align 2**2 $ Стартовый адрес увеличился на величину смещения и теперь составляет 0x0000193f. Напоминаю, что для всех утилит GNU binutils адреса задаются в шест- надцатеричном формате. objdump - выво ит информацию из объектных файлов. Синтаксис objdump [-а|—archive-headers]]-b bfdname|—target-bfdname] [ —С j —demangle] [—debugging] ]-d| —disassemble] [~D| —disassemble- all] [—disassemble-zeroes][-EB|-EL|—endian-{big|little}] ]-f | —file-headers]]-h|—section-headers | —headers]]-i | —info] ]-j section| —section“section][-1| —line-numbers] ]-m machine| —architecture=machine] [-p | —private-headers] [—prefix-addresses] ]-r | —reloc] [-R| —dynamic-reloc] (-s | -full-contents ] (-SI —source ] [ — (no- ] show-raw-insn ] [—stabs ] [ -t j —syms ] [ -T | —dynamic-syms ] [ -x | —all-headers ] (—start-address=address] [ —stop-address=address] [—adjust-vma=offset] ]—help! ]-V| —version] objfile... objdump выводит информацию по одному или более объектным файлам. Вывод информации управляется многочисленными опциями. Эта утилита особенно полезна программистам, производящим отладку программ, objdump входит в состав GNI binutils. Аргументы objfile... задают список объектных файлов. Опции a, --archive-headers Если какой-либо из объектных файлов упакован (см. ar и ranlib). выво- дит информацию о header (заголовке), а формат листинга подобен со- здаваемому командой Is -I. I Iomiimo этой информации с помощью ar tx
II. Команды 535 или objdump -а можно вывести формат объектно! о файла каждог о члена архива. - - adjust- vma-offiet Когда создается дамп объектного модуля, прежде всего добавляет смещение ко всем адресам секций. Это полезно, когда адресация сек- ций не соответствует адресации таблицы идеи гификагоров (для a.out старого формата исполняемых файлов). -b bfdname, —target=bfdname С помощью bfdname задается формат объектного кода объектных фай- лов. Эта опция вовсе не обязательна: objdump может автоматически распознавать многие форматы. Ниже приведен их перечень: symbolsrec tekhex binary ihex trad-core elf32-i386 a.out-i386-linux elf32-little elf32-big srec Уточнить форматы вашей системы можно по команде objdump -i. -С, —demangle Преобразует низкоуровневые имена идентификаторов в высокоуровне- вые, ранее определенные пользователем. Чтобы сделать имена функ- ций C++ удобными для чтения, удаляет некоторые символы подчерки- вания, специально предусмотренные системой. —debugging Эта опция подвергает синтаксическому контролю отладочную инфор- мацию, хранящуюся в файле, и распечатывает ее, используя С-подоб- ный синтаксис. -d, —disassemble Дизассемблирует секции, содержащие команды, в соответствии со структурой objfile. -D, — disassemble-all Подобна опции -d, но дизассемблирует абсолютно все секции, а не толь- ко содержащие собственно команды ассемблера. —prefix-addresses В процессе дизассемблирования печатает полный адрес на каждой стро- ке, что соответствует более старому формату. —disassemble-zeroes Обычно в процессе дизассемблирования пропускает блоки нулей. Эта опция указывает программе дизассемблировать такие блоки, подобно другим данным. -ЕВ, -EL, —endian={big|little} Определяет разрядность объектных файлов (определяется типом про- цессора компьютера), это полезно, когда дизассемблируется объем- ный файл с неописанным форматом (например, S-заштси).
53b II Команды -f, -file-headers Распечатывает итоговую информацию по всем headers (заюловкам) каж- дого файла в objflle. -h, —section-headers, --headers Распечатывает итоговую информацию, извлекаемую из headers (заго- ловков) объектного файла. - --help Выводит краткое описание программы и завершает ее работу - ц —info Распечатывает поддерживаемые форматы и архитектуры, доступные с помощью опций -Ь и -П1. - j name, --section—пате Выводит информацию только для секции пате. - 1, -line-numbers Выводит, используя отладочную информацию, имена файлов и номера строк, соот ветст вующие объект ному коду. Имеет смысл применять с опциями -d, -D или -г. -m machine, —architecture=m«cA/we Указывает архитек гуру, используемую при дизассемблировании объект- ного файла, что может быть полезно для S-записей. -р, -private-headers Распечатывает информацию, специфичную именно для данного фор- мата объектного файла. -г, — reloc Распечатывает настраиваемые элементы файла. Если используется со- вместно с опцией -d или -D, настраиваемые элементы распечатываются в процессе дизассемблирования. -R, —dynamic-reloc Распечатывает динамически настраиваемые элементы файла, что харак- терно лишь для динамических объектов соответствующих библиотек. -s, --full-contents Полностью распечатывает содержание любой затребованной секции. -S, —source Распечатывает исходный код, смешанный с результатом дизассембли- рования, если это возможно; имеет смысл совместно с опцией -d. —show-raw-insn В процессе дизассемблирования распечатывает команды в шестнадца- теричном формате так же, как и в символической форме. Эта опция всег- да устанавливается по умолчанию. —no-show-raw-insn В процессе дизассемблирования не производит распечатку команд. Эта опция устанавливается по умолчанию, когда используется —prefix-addresses. --stabs Выводит из файла в формате ELF содержимое секций .stab, .stab.index, .stab.excl, что, пожалуй, полезно лишь в системе Solaris2.0. где те- мен ш отладочной юблицы идентификаторов .stab перенесены в сек-
537 II. Команды цию ELF. Для болыиинс i ва дру1 их форма i ов элемен 1 ы отладочной таб- лицы смешаны с идентификаторами компоновки и просматриваются с помощью опции —synis. —start-addiess=atW»'C5s Запускает вывод информации на указанном адресе address, что затра- гивает опции -d, -г, -s. —stop-address=«r/</res5 Останавливает вывод информации с указанного адреса address, что за- трагивает опции -d, -г, -s. -t, — syms Распечатывает элементы таблицы символов (идентификаторов) файла, что напоминает вывод программы пш. -Т, — dynamic-syms Распечатывает элементы таблицы динамических символов, что суще- ственно лишь для динамических объектов и напоминает вывод, произ- водимый программой пш с опцией -D. —version Выводит информацию о версии программы и завершает ее работу. -х, —all-headers Выводит всю информацию заголовков, включая таблицу символов (идентификаторов) и настройки элементов. Использование этой опции эквивалентно одновременному применению всех перечисленных опций: -a, -f, -h, -г. -t. Пример t objdump —all-headers -T /lib/libss.so.2.0 /lib/libss.so.2.0: file format elf32-i386 /lib/libss.so.2.0 architecture: i386, flags 0x00000150: HASSYMS, DYNAMIC, DPAGED start address 0x00001640 Program Beader: LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00003688 memsz 0x00003688 flags r-x LOAD off 0x00003688 vaddr 0x00004686 paddr 0x00004686 align 2**12 filesz 0x00000364 memsz 0x00000454 flags rw- DYNAMIC off 0x00003934 vaddr 0x00004934 paddr 0x00004934 align 2**2 filesz 0x000000b8 memsz ОхООООООЬб flags rw- Dynamic Section: NEEDED libc.so.6 NEEDED libcomerr.so.2 SONAME libss.so.2 INIT 0x1464 FINI 0x3060 BASB 0x94 STRTAB 0xb08 SYMTAB ОхЗеб STRSZ 0x3ed SYHENT 0x10
538 И Команды PLTGOT 0x481c PLTRELSZ 0xlc8 PLTREL 0x11 JMPREL 0x129c REL 0x1064 RELSZ 0x238 RELENT 0x8 VERDEF Oxffc VERDEFNUM 0x2 VERNEED 0x1034 VERNEEDNUM 0x1 VERSYM 0xfl6 Version definitions: 1 0x01 0x0a62cf82 libss.so.2 2 0x00 0x073dl0bc GCC.INTERNAL Version References: required from libc.so.6: 0x0d696911 0x00 04 GLIBC2.1 0x0d696910 0x00 03 GLIBC_2.0 Sections: Idx Name Size VMA LMA File off Algn 0 .hash 00000354 CONTENTS, 00000094 00000094 00000094 ALLOC, LOAD, READONLY, DATA 2**2 1 .dynsym 00000720 CONTENTS, 000003e8 000003e8 000003e8 ALLOC, LOAD, READONLY, DATA 2**2 2 .dynstr 0000040e CONTENTS, 00000b08 OOOOObOB 00000b08 ALLOC, LOAD, READONLY, DATA 2**0 3 .gnu.version 000000e4 ooooofie ooooofi6 ooooofie 2**1 CONTENTS, ALLOC, LOAD, READONLY, DATA 18 .got 19 .dynamic 20 .bss 21 .comment 22 .note SYMBOL TABLE: 00000118 0000481c 0000481c CONTENTS, ALLOC, LOAD, DATA 000000b8 00004934 00004934 CONTENTS, ALLOC, LOAD, DATA OOOOOOdc 00004a00 00004a00 ALLOC 0000044a 00000000 00000000 CONTENTS, READONLY 00000168 00004adc 00004adc CONTENTS, READONLY 0000381c 2**2 00003934 2**2 ООООЗаОО 2**5 ООООЗаОО 2**0 00003e4a 2**0 00001840 1 .text 00000000 gcc2_compiled. 00001840 00004688 1 1 0 .text 00000000 .data 00000000 gcc2 compiled. p.2 00004814 1 0 .dtors 00000000 DTOR LIST 0000468c 1 0 .data 00000000 completed.3 00001840 1 F .text 00000000 do global dtors aux 00004808 1 0 .ehframe 00000000 EH FRAME-BEGIN 0000189c 1 F .text 00000000 fini dummy 00004a00 1 0 .bss 00000018 object.8 00002ffc 1 .text 00000000 00003640 1 О .rodata 00000048 gcc2_compiled. copyright
II. Команды 539 Disassembly of section .hash: 00000094 <.hash>: 94: 61 95: 00 00 popa add Sal,(Seax) 97: 00 72 00 add Sdh,0x0(Sedx) 9a: 00 00 add Sal,(Seax) 9c: 67 00 00 addrl6 add Sal,(%bx,Ssi) 9f: 00 00 add Sal,(Seax) al: 00 00 add Sal,(Seax) a3: 00 58 00 add Sbl,0x0(Seax) аб: 00 00 add Sal,(Seax) a8: 40 inc Seax bl: 00 00 add Sal,(Seax) b3: 00 6a 00 add Sch,0x0 (%edx) b6: 00 00 add Sal,(Seax) b8: 19 00 sbb Seax,(Seax) c2: 00 00 add Sal,(Seax) c4: 4a dec Sedx c5: 00 00 add Sal,(Seax) c7: 00 2a add Sch,(%edx) 00000094 1 d .hash 00000000 000003e8 1 d .dynsym 00000000 OOOOObOB 1 d .dynstr 00000000 00000116 1 d .gnu.version00000000 0000011c 1 d .gnu.versiond 00000000 00001034 1 d .gnu.version_r 00000000 00001064 1 d .rel.data 00000000 0000124c 1 d .rel.got 00000000 0000129c 1 d .rel.plt 00000000 00001464 1 d -init 00000000 af5: 00 00 add Sal,(Seax) af7: 00 34 01 add Sdh,(Secx,Seax,l) ala: 00 00 add Sal,(Seax) ale: 00 00 add Sal,(Seax) afe: 00 00 add Sal,(Seax) bOO: 22 00 and (Seax),Sal b02: 00 00 add Sal,(Seax) b04: 12 00 adc (Seax),Sal Disassembly of section .dynstr: 00000b08 dynstr>: b08: 00 5f 44 add Sbl,0x44(Sedi) bOb: 59 POP Secx bOc: 4e dec Sesi bOd: 41 inc Secx bOe: 4d dec Sebp bOf: 49 dec Secx Ы0: 43 inc Sebx bll: 00 5f 47 add Sbl,0x47(Sedi) bl4: 4c dec Seep
540 II Команды с94: 5f POP Sedi с95: 70 65 jo etc <GCC.INTERNAL+Oxcfc> с97: 72 72 jb dOb <GCC.INTERNALT0xd0b> с99: 6f outsl ids:(*esi),(Sdx) с9а: 72 00 jb cSc <GCC.INTERNAL+0xc9c> с9с: 66 6f outsw ids: (*esi), (*dx) с9е: 72 6Ь jb dOb <GCC.INTERNAL+0xdOb> саО: 00 5£ 5f add %bl,0x5f(%edi) саЗ: 65 gs са4: 72 72 jb d!8 <GCC.IHTERNAL+0xdlB> саб: бе outsb »ds:(%esi),(tdx) са7: 6f outsl ids:(tesi),(»dx) са8: 5f pop %edi са9: 6с insb (%dx),%es:(*edi) Здесь приведены лишь отдельные фрагменты этого большого листинга. od Синтаксис od [option]...[file]... od —traditional [file] [ [+]offset [[ + ]lai>elj] Выводит каждый байт файла file, в том числе неизображаемые (неграфические) символы, в одном из нескольких возможных представлений: восьмеричном, шестнад- цатеричном или символьном формате. Причем, offset означает -j offset, a label -псев- доадрес первого распечатанного байта. Записывает указанное представление файла (по умолчанию восьмеричный формат) на стандартный вывод. Если в командной строке не указан никакой файл или вместо имени файла стоит дефис, считывает стандартный ввод. Опции - А, —address-radix=rar/cr Задает систему счисления для смещений адресов внутри файлов. Пара- метр radix может принимать одно из следующих значений: d десятичная о восьмеричная х шестнадцатеричная - j, - skip-bytes—iyto Пропускает указанное количество начальных байт файла. - N, -read-bytes^ Считывает в каждом файле лишь укатанное число бай г. - s, —strings[=Z>yto] Выводит строки длиной не менее bytes видимых (графических) симво- лов. - выводит дамп файлов в восьмеричном или других К форматах.
II. Команды 541 -t, — forma l~type Вывод в заданном формате (форма!ах), где size - обычно ра«мер (бай- ты): а поименованный символ с символ ASCH или управляющая последовашльность (че- рез обратный слэш) d [з/ze] десятичное со знаком f [size] число с плавающей запятой о [.size] восьмеричное и [л/ze] десятичное без знака х [size] шестнадцатеричное -w, —width [=6y>tes] Определяет размер выходной строки (бай гы), по умолчанию — 32 —traditional Поддерживает формат аргументов, возникший до принятия стандарта POS1X (показан старый, а рядом новый формат): - a -t а поименованные символы - b -t оС восьмеричные байты - с -t с символы ASCII или управляющие последовательности (с обратным слэшем) - d -t u2 десятичные короткие числа без знака - f -t fF числа с плавающей запятой - h -t х2 шестнадцатеричные короткие числа - i -t d2 десятичные короткие - 1 -t d4 десятичные длинные - о -t о2 восьмеричные короткие - х -t х2 шестнадцатеричные короткие Пример Ниже представлено содержимое файла vvv в разных форматах.
542 II Команды overchan обновляет базу обзоров новостей. Синтаксис overchan [-D dir) [-с] [fi-Ze] Считывает информацию из указанного файла file или стандартного ввода, если име- на файлов не заданы. Единственный дефис означает стандартный ввод. Использует ин- формацию для обновления базы обзоров новостей. overchan предназначена для использования InterNetNcws. База данных для каждой группы новостей хранится в файле <overviewname in inn.conf^ в каталоге группы ново- стей в дереве базы обзоров. overchan блокирует файл БД (путем блокирования вспомогательного файла) пе- ред добавлением новой информации. Чтобы удалить данные по истечении срока дей- ствия статей, применяется expireover. По умолчанию overchan обрабатывает входной файл как поток обзоров INN, запи- санных в виде элемента WO в файле newsfeeds. Эта информация состоит из строки текста, разделенного на две части символом TAB (табуляции). Первая часть - это спи- сок всех относительных маршрутов, где была записана статья, с символом пробела между элементами. Вторая часть - информация, записанная в обзорный файл, без на- чального номера статьи. В случае истечения срока хранения данные в файлах обзоров могут быть "почищены" с помощью expireover. Но обычно это делается с помощью news.daily с флагом expireover. Опции - с Обрабатывает вывод программы mkov из С News. Этот формат описы- вается в дистрибутивном комплекте nov - D dir Флаг -D указывает каталог dir, в котором хранятся базы данных. По умолчанию принят каталог <pathoverview in inn.conf>. К Синтаксис passwd [option,..] passwd [option...] name Вторая форма команды используется только суперпользователем, который может установить пароль кому угодно, задав имя пользователя (пате). Опции - d, delete Отменяет пароль для данного пользователя. Опция используется лишь су период ьзова гелем. - f, -force Форсирует изменение пароля, только суперпользователь может чо выполни гь. passwd устанавливает пароль пользователя для входа в систему.
II Команды 543 - 1, —lock Блокирует поименованный счет. Опция используется лишь суперполь- зователем. - u, -unlock Разблокирует поименованный счет. Опция используется лишь супер- пол ьзовател е м. - S, —status Информирует о состоянии пароля указанного счета. Используется толь- ко суперпользователем. - к Меняет только пароли с истекшим сроком действия. Пример Суперпользователь изменил пароль пользователя andry. Новый пароль пришлось вводить дважды (он не отражается на экране). # passwd andry Changing passwd for user andry New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully I paste - выполняет слияние j айлов. Синтаксис paste [option]...[file]... Последовательно объединяет соответствующие строки каждого файла, вставляя между строками символ табуляции, а затем направляет их на стандартный вывод. Если в командной строке никакой файл не указан или вместо имени файла стоит дефис, счи- тывает стандартный ввод. Опции -d, —delimiters=/isf Вместо символа табуляции в качестве разделителей использует симво- лы из списка list. -s, —serial "Склеивает" все строки каждого файла. —help Выводит список опций программы и завершает ее. —version Выводит информацию о версии программы и завершает ее. Пример $ cat priml28 banan apple plum orange $ paste —s priml28 banan apple plum orange $ Вот что произойдет co строками одною из файлов после обработки команчоп paste.
544 II Команды накладывает "заплату", воплощающую отличия, на оригинальный файл, тем самым корректируя его patch Синтаксис patch [option] [ originalfile [patchfile]] patch -pnum <patchfile Программа patch берет файл patchfile, содержащий отличия в виде задания на кор- ректировку, созданного программой diff, и прикладывает их к одному или более ориги- нальным файлам originalfile, создавая очередные версии. Обычно эти запла1анные версии замещают оригинальные файлы. Даже имена файлов, которые необходимо от- ремонтировать, обычно извлекаются из файлов-заплаток. В процессе старта patch пытается установить тип листинга программы diff и в зави- симости от результата либо самостоятельно (—context или —normal) воплощает эти различия, либо перепоручает редактору ed (-ed). Основные опции -b, —backup Накладывая "заплату", переименовывает или копирует оригинальный файл вместо того, чтобы удалить его. Если в процессе копирования программа patch обнаружит, что исходного файла не существует, будет создан пу- стой файл в виде копии несуществующего оригинала. —backup-if-mismatch Копирует файл в любом случае, даже если этого не требовалось. Опция принята по умолчанию, если не установлена переменная окружения POS1XLY_CORRECT. —no-backup-if-mismatch Не выполняет копирования оригинального файла. - В pref, —prefixpref Создает префикс pref к имени копии оригинального файла. -binary Выполняет чтение и запись всех файлов в бинарном (двоичном) режи- ме за исключением стандартного вывода и /dev/tty (терминала). - с, -context Интерпретирует содержимое patchfile как обычное контекстное зада- ние для diff. - d dir, — directory-<7ir В первую очередь меняет текущий каталог на dir. - D define, —ifdef=define Для отметки изменений использует конструкцию #ifdef.. .flendtf с па- раметром define в качестве отличительного символа. —dry-run Печагае г результат ы, которые moi ли бы возникнут ь при наложении "зап- лат", не меняя сами файлы. - е, -cd Ин Iернретируетpatchfile как сценариII рсдак юра ed.
II. Команды 545 - Е, - remove-empty-files Удаляет все пустые выходные файлы, которые возникают после нало- жения "заплат”. - f - force Предполагает, что пользователь знает, что он делает, поэтому не зада- ет никаких вопросов. - g num, —ga=mtm Управляет действиями patch, если файл находи гея под управлением RCS или SCCS (тоже система управления версиями). Если значение пит по- ложительное, то patch получает или проверяет файл из системы управ- ления версиями, если значение пит равно нулю, игнорирует системы управления версиями. В случае отрицательного пит запрашивает пользователя о местонахождении файла. —help Распечатывает краткие сведения об опциях программы и завершает ее. - i patchfile, —mput=patchfile Считывает информацию по корректировке нзpatchfile. Если вместо име- ни файла стоит дефис, считывает стандартный ввод, что и принято по умолчанию. - I, —ignore-whitespace "Не очень" придирчиво сопоставляет неизображаемые символы файла patehjile и оригинального файла, любая последовательность таких сим- волов в конце строки даже игнорируется. - n, - normal Интерпретирует содержимое patchfile как обычное задание diff - N, —forward Игнорирует "заплаты", которые возвращают назад к предшествующим версиям или уже прикладывались ранее. - о outfile, —o\ApvA=outfile Посылает результат в outfile, не трогая оригинальный файл. - рпит, — strip=nnm Отбрасывает пит впереди идущих слэшей в префиксе имени каждого файла, найденного в файле patchfile. - г rejectfile, —reject-file=rejectfile Направляет отвергнутые различия в rejectfile вместо создания по умол- чанию файла с расширением .rej. -R, —reverse Реконструирует обратную операцию, что не работает со сценариями редактора ed, в которых содержи гея чересчур мало информации для обратных преобразований. -s, —silent, —quiet Работает, не выдавая никаких сообщений, даже если встречаются ошиб- ки. -t, —batch Работает не задавая вопросов, подобно опции f, хотя некоторые вещи делает по-другому: пропускает "заплаты", чьи заголовки не содержат имен файлов или в проке вида Prereq: хранят неправильную версию
546 II Команды файла, а также выполняет обратную операцию, если это укатано в за- щите, -Т, —set-time Устанавливает время модификации и доступа из временных мет ок, хра- нящихся в контексте заголовков diff. При этом используется локаль- ное время, что может затруднить применение такого patchfile в других часовых поясах. -и, —unified Интерпретирует patchfile как унифицированное контекстное задание diff. -v, —version Распечатывает заголовок и уровень версии программы patch, а затем завершает ее. —verbose Сообщает дополнительную информацию о выполняемых действиях. -У pref, —basename-prefix=pre/' При создании копий добавляет указанный префикс к базовому имени файла. -z suffix, — suffix=S'iT/7iA При копировании файлов использует данный суффикс для создания имен файлов. -Z, —set-utc Действует подобно опции -Т, но предполагает, что используется UTC, часто также задаваемое аббревиатурой GMT. На Web-сайтах internet хранится множество patches (заплат), с помощью которых можно легко обновить необходимый компонент программного обеспечения Linux, вплоть до ядра системы. pathchk проверяет .корректность казанных имен файлов. Синтаксис pathchk [option]...[паше]... Выводит конструкцию имен файлов и проверяет, доступны ли каталоги указанных маршрутов, пригодны ли длины имен для конкретной системы, переносимы ли файлы. Опции -р, -portability Проверяет пригодность имен файлов для всех POSIX-систем, а не только для текущей. —help Выводит список опций программы и завершает ее. —version Выводит информацию о версии программы и завершает ее. Для каждого из указанных в командной с гроке имен пате команда pathchk выво- дит специальное сообщение, если справедливо одно из следующих условий: О один из каталогов, содержащийся в пате, не имеет полномочий на исполнение □ длина имени файла оказалась больше, чем допускаемая максимальная дойна име- ни для этой файловой системы
II. Команды 547 определяет идентификатор процесса работающей программы. □ длина одною из компонентов имени, еоо1ветсзвующего существующему име- ни каталога, больше, чем максимальная длина компонента имени в эюй файло- вой системе Протрамма pathchk завершается с кодом 0, если все указанные имена файлов про- шли все тесты, в противном случае завершается с кодом 1. pidof Синтаксис pidof [-s](- х)[-о omitpid][-o omitpid...] program [program...] Программа pidof устанавливает PID (идентификатор процесса) запущенной програм- мы program Опции - s Возвращает только один PID. - х Пригодна для сценариев. Сообщает PID оболочек, в которых запуще- ны указанные сценарии. - о omitpid Предлагает pidof исключить процессы с указанными идентификатора- ми. Специальный идентификатор процесса %PP1D именует pidof. pidof - это не что иное, как символическая ссылка на программу killallS. Пример f pidof find 1317 1316 I Суперпользователь установил, что в системе запущены две команды find (возмож- но, другими пользователями) с идентификаторами процессов 1317 и 1316. pine Синтаксис pine [option]!address, address] pinef [option][address, address] Программа pine эго экранно-ориентированный инструмент поддержки сообще- ний. По умолчанию в своей конфигурации pine предлагает пользователю-новичку от ра- ничеиный набор функций, который может быт ь расширен ну гем добавления целою ряда необязательных возможностей, что сделает программу pine полезной и опытном) нолыоватслю - программа поддержки электронной почты и новос- тей Internet.
548 II Команды piner J10 варианг pine, который вместо односимвольных команд применяет функци опальные клавиши. Среди основных особенности pine необходимо отметить следу- ющие- □ Отображает, сохраняет, экспортирует, уничтожает, печатает и перепоручает со- общения, а также отвечает на них. □ Предоставляет возможности по составлению сообщений в несложном редак- торе Pico с ав.омагическим переходом на новую строку и с проверкой ошибок (корректор). □ Предоставляет полноэкранный выбор и управление папками сообщений. □ Хранит адресную книгу, содержимое которой может пополняться адресами вхо- дящей почты. □ Может определять персональные списки рассылки. □ Проверяет новые поступления электронной почты каждые 2.5 минуты. □ Оказывает помощь в режиме on-line. □ Поддерживает MIME-типы, сохраняет MIME-объекты в файлах и в ряде случа- ев может вызвать соответствующую программу, пригодную для просмотра объектов. □ И хотя составитель сообщений программы pine не обладает способностью со- здавать мультимедийный объект, но файл любого типа, в том числе и мультиме- дийный, может быть присоединен к текстовому сообщению и отправлен с по- мощью правил MIME кодирования. Это позволяет любой группе пользовате- лей, обладающих MIME-совместимым программным обеспечением электрон- ной почты (pine, pc-pine, другие подобные программы), обмениваться форма- тированными документами, электронными таблицами изображениями и т.д. че- рез электронную почту Internet. □ Использует для доступа к локальным и дистанционным почтовым папкам так называемый механизм c-client messaging API-библиотеки, предоставляющей низкоуровневый набор функций поддержки сообщений. В эту библиотеку вклю- чены драйверы для почтовых файлов различных форматов и утилиты доступа к дистанционной почте и серверам новостей, использующие протоколы IMAP и NNTP. Исходящая почта обычно вручную направляется sendmail. но может быть отправлена напрямую через SMTP. Опции address Посылает почту на указанный адрес address, чго непосредственно вы- водит на составитель сообщений. -а Устанавливает специальный анонимный режим доступа к I WIN (University of Washington Information Navigator - навигатор информ» ции Вашингтонского университета). -attach file Отправляет почту с подключенным к ней файлом fde. -attachand delete fde Отправляет noniy с подключенным к ней файлом file, a днем учаляег этот файл.
II Команды 549 -attachlist file-list Отравляет почту с подключенным к ней списком файлов. -c context-number Параметр context-number определяет номер набора почтовых папок (см опцию -f). По умолчанию опция -f соответствует первому заданному набору. -d debug-level Определяет уровень <0-9> выводимой диагностической информации -d key [= vol] по текущему состоянию файла .pine-debug. Если параметр debug-level установлен в 0, это отключает отладку и использование файла .pine- debug. Соответствующим образом оформляет выводимую диагностику, когда flush инициирует запись отладочного файла без буферирования. При этом возможно появление следующих ключевых слов key со значени- ями vol или без таковых: timestamp добавляет к каждому сообщению временную метку imap-n определяет уровень телеметрического отсчета по про- токолу IMAP; п может меняться от 0 до 4 numfiles=n задает количество поддерживаемых отладочных фай- лов; п может меняться от 0 до 31 verbose=« указывает обратное предельное значение для вывода сообщений; п может меняться от 0 до 9 -f folder Указывает папку для открытия в первом заданном наборе вместо 1NBOX почтового ящика входящих сообщений. Чтобы указать вместо первого произвольный набор почтовых папок, применяется -с context-number. -F file Открывает поименованный текстовый файл и позволяет просмотреть его содержимое с помощью браузера программы pine. -h Выводит список опций командной строки. -i Стартует в экране FOLDER INDEX. -1 keystrokes Задает разделенный запятыми список нажатий клавиш, определяющий начальные действия pine на старте. -k Использует функциональные клавиши в качестве команд - это то же самое, что запустить команду pinef. -n number Начинает обработку сообщения с текущим номером number. -nr Устанавливает специальный режим для UWIN*. -o Открывает первую папку только для чтения. -p config-file Использует в качестве конфигурационного файла указанный config-file вместо принятого по умолчанию персонального файла pine.conf. -P config-file Использует в качестве конфигурационного файла укаданный config-file вместо принятого по умолчанию системного файла pine.conf.
550 _______________________________________Н Команды -Г Использует ограниченный демоне грационный режим. Программа рЗие только отправляет сама себе почгу, ограничивая такие функции, как со- хранение и экспорт. -url url Открывает заданный локатор нН. Не может применяться с опциями -f. -F, -attach. -z Допускает использование AZ и сигнала SIGTSTP (см. приложение 1), что переводит pine в состояние ожидания. -bail Завершает работу, если не существует файл pinerc. -conf Создает образец копии последнего содержимого конфигурационного файла pine.conf и направляет его на стандартный вывод. -createlu addrbook sort-order Создает внешний индексный файл для указанной адресной книги addrbook, при этом сортирует ее содержимое в заданном параметром sort-order порядке. Опция полезна при создании глобальных или со- вместно используемых адресных книг. Ниже приведены допустимые значения sort-order: nickname уменьшительные имена fullname полные имена nickname-with-lists-last уменьшительные имена последнего списка fullname-with-lists-last полные имена последнего списка dont-sort не выполнять сортировку -pinerc file Выводит "свежее" содержимое конфигурационного файла pinerc в за- данный файл. -sort order Указывает порядок сортировки содержимого экрана FOLDER INDEX в соответствии со значением параметра order. Ниже приведены допусти- мые значения параметра order: arrival в порядке поступления (по умолчанию) subject по теме сообщений from от кого прибыло date по дате size по размеру orderedsubj по указателям тем reverse любая сортировка может быть выполнена в обратном порядке путем добавления выражения /reverse к лю- бому из ранее перечисленных значений, например: size/reverse -option—value Присваивает значение value указанной конфигурационной опции option. Существует несколько уровней конфигурирования pine, причем значения заданно- го уровня перекрывают соответствующие значения более низких уровнен, что огра кс- но в порядке возрастания в приведенном ниже списке.
II Команды 551 □ встроенные значения ио умолчанию □ информация сисшмного файла pine.conf □ информация персонального файла .pinerc. которая может быть задана во вс тро- енном меню Setup/Config □ опции командной сiроки О информация системного файла pine.conf.fixed Unix-версия программы pine использует следующие переменные окружения: TERM DISPLAY определяет, может ли pine отображать подключенные изображения SHELL по умолчанию /bin/sh MAILCAPS разделенный символами двоеточия список маршрутов к файлам mailcap LIpoi рамма pine использует большое количество файлов /var/spooi/mail/xxxr ~/mail ~/.addressbook -/.addressbook.lu ~/.pine-debug[ 1 -4] ~/.pinerc ~/.newsrc '/.signature '/.mailcap ~/.mime.types /etc/mailcap /etc/mime. types /etc/pine.conf.fixed /tmp/.\var\spool\mail\xxxx ~/.pine-interrupted-mail ~/mail/postponed-msgs ~/mail/sent-mail ~/mail/saved-messages папка, принятая по умолчанию для входящей почты каталог, принятый по умолчанию для хранения почтовых папок файл, принятый по умолчанию в качестве адресной книги принятый по умолчанию индексный файл для адресной кни- ги диагностический журнал, используемый при отладке персональный конфигурационный файл программы pine файл, описывающий статус новостей принятый по умолчанию текстовый файл электронной под- писи персональный файл, отражающий возможности програм- много обеспечения элекгронной почты персональный файл расширений для отображения MIME- типов системный файл, отражающий возможности программно- го обеспечения электронной почты системный конфигурационный файл, содержащий MIME- типы неперекрываемый конфш урационный файл ("истина в по- следней инстанции") Lock-файлы по одному на каждую почтовую панк) прерванное сообщение для хранения отложенных сообщений архив исходящих сообщений для накопления (но умолчанию) сохраняемых сообщений
552 li Команд >i Ping отправляет пакеты ICMP на сетевое узлы. К Синтаксис ping [-dfnqrvR] [-с count] [-i wait] [-1 preload]]-p pattern] (-8 packetsize] [-T [ping oniy] ] [-1 devicename] host Команда ping посылает пакеты ICMP ECHO REQUEST на сетевые узлы host, определяя работоспособность сети и ее пропускную способность. В ответ на дейта- грамму ECHO_REQUEST приходит ответ ICMP ECHO RESPONSE от узла или шлю- за. Дейтаграммы ECHO REQUEST имеют IP и ICMP заголовки, за которыми следуют структура временного типа и произвольное количество байт, заполняющих остаток се- тевого пакета. Опции -с count Останавливается после отправки и получения указанного числа пакетов ECHORESPONSE. -d Устанавливает на используемый сокет опцию отладки. f Отправляет пакеты потоком так же быстро, как они возвращаются, т.е. сотни раз в секунду или более. Эта опция доступна только суперполь- зователю и создает значительную загрузку сети. -i wait Ждет между отправками пакетов указанное количество секунд, по умол- чанию— 1секунду. Эта опция несовместима с опцией -f. -1 preload Отправляет указанное количество пакетов с максимально возможной скоростью, а затем переходит в обычный режим отправки. Эта опция доступна только суперпользователю. -n Выполняет лишь числовой вывод, даже не пытаясь переводить адреса узлов в их имена. -p pattern Указывает образец для заполнения пакетов, можно указать до 16 байт- заполнигелей. Опция -р ff полностью заполняет отправляемый пакет. -q Запрещает вывод диагностики: печатаются лишь строки, информирую- щие о старте и завершении. -R Регистрирует маршруты, пройденные пакетами; размера 1Р-загочовка хватает лишь для девяти маршрутов. Многие узлы игнорируют эту оп- цию. -r Игнорирует обычные таблицы маршрутизации. Посылает пакеты на у зе.ч непосредственно подключенной сети. Если на непосредственно подклю- ченной сети узел не обнаружен, возвращает ошибку. -s packetsize Указывает количество байт посылаемых данных, но умолчанию 50, которые транслируются в 64 байт JUMP (8 байт составляет размер за- головка).
II. Команды 553 -v Выполняет подробный вывод: отображает получаемые 1СМР- пакеты, отличающиеся от ECHO RESPONSE. -Т Посылает временную метку протокола IP, где параметр ping only при- нимает такие значения: - Т tsonly только временные метки - Т Isandaddr временные метки и адреса - Т tsprespec host\ [host? [Iiost3 [Aos/4]]] временная метка на ука- занные узлы -I device name Устанавливает интерфейс вывода Если ping вообще нс получает возвращаемые пакеты, она завершается с кодом 1; в случае ошибки завершается с кодом 2; в противном случае - с кодом 0. Пример $ ping 192.168.20.3 PING 192.168.20.3 (192.168.20.3): 56(84) bytes of data. 64 bytes from 192.168.20.3: icmp_seq=0 ttl=255 time-0.8 ms 64 bytes from 192.168.20.3: icmp_seq=l ttl=255 time=0.8 ms 64 bytes from 192.168.20.3: icmp_seq=2 ttl~255 time-0.9 ms Ctrl+C -- 192.168.20.3 ping statistics --- 3 packets transmitted, 3 packets received, 0* packet loss round-trip min/avg/max=0.8/0.8/0.9 ms ? При нажатии Ctrl+C прекращает тестирование узла. Pnews - публикует статьи новостей. Синтаксис Pnews newsgroup title Pnews -h headerfile [oldarticle] Pnews Pnews - дружественный интерфейс, позволяющий отправить новые стать» в груп- пу newsgroup новостей Usenet с заголовком title. Pnews - интерактивная программа, позволяющая вам ввести свою статью, а затем отправить ее в Usenet с помощью npoi раммы inews. Если в вашем исходном каталоге существует файл .signature (с электронной под- писью), программа inews добавит его к сообщению после проведения редактирова- ния. А если вы предпочитаете видеть свою подпись уже в процессе редактирования сообщения, переименуйте файл .signature в .news sig, и он будет добавлен еще до начала редактирования. Подпись из файла .news sig включи г npoiрамма Pnews. О цна- ко следует учесть, что если в вашем исходном каталоге существуют оба ми файла, ста тья может оказаться подписанной дважды.
554 И Кэманды Опции -h headerfile Второй формат команды Pnews с этой опцией применяется то!да, когда производится вызов из upoipaMMBi trn. В этом случае может возник- нуть необходимость, используя параметр headetfile, поменять файл с заголовком, который trn передает Pnews. В текущую статью может быть включена предшествующая статья oldarticle на ту же тему. Переменные окружения AUTHORCOPY Содержит имя файла, к которому будет добавлена законченная статья. По умолчанию статья не сохраняется. DOTDIR Определяет местоположение файлов, имена которых начинаются с точки (скрытые файлы), в том случае, если они расположены за пределами ва- шего исходного каталога. Предназначена для учетных счетов, совместно используемых более чем одной особой. По умолчанию - SHOME. EDITOR Редактор для подготовки статей, если переменная VISUAL не опреде- лена. По умолчанию используется редактор, инсталлированный адми- нистратором службы новостей. Обычно это vi. НОМЕ Ваш исходный каталог; по умолчанию - SLOGD1R. LOGNAME Ваше регистрационное имя, если переменная USER не определена. По умолчанию - это значение, полученное с помощью команды whoami. NAME Ваше полное имя. По умолчанию берется имя из файла /etc/passwd или -/.fullname. NEWSORG Или название вашей организации, или имя файла, содержащего это название. Если установлены обе переменные - NEWSORG и ORGANIZATION, то первая перекрывает вторую. ORGANIZATION Или название вашей организации, или имя файла, содержащего это на- звание. По умолчанию - любое выбранное вашим администратором службы новостей. REPLYTO Содержимое строки заголовка Reply-То: для включения в сообщение. По умолчанию строка заголовка не включает ся. USER Ваше регистрационное имя. По умолчанию - SLOGNAME. VISUAL Редактор для подготовки статей. По умолчанию SFD1TOR. Пример Ниже приведен фрагмент протокола работы программы Pnews.
fl. Команды 555 ^misha^lDcalhostlocaldomain:/home/misha_________________________, [mishaBlocalhost misha]$ Pnews I see you've never used this version of Pnews before, I will give you extra help this first time through, but then you must remember what you learned. If you don't understand any question, type h and a CR (carriage return) for help. If you've never posted an article to the net before, it is HIGHLY recommended that you read the netiquette document found in news.announce.newusers so that you'll know to avoid the commonest blunders. To do that, interrupt Pnews, get to the top-level prompt of [tlrn, and use the command "g news.announce.newusers" to go to that group. Newsgroup(s): os.linux Your local distribution prefixes are: Everywhere: <null> (not “world’1) Distribution (): comp Title/Subject: Linux for you cat: Zetc/organization: No such file or directory This program may post news to many machines. fire you absolutely sure that you want to do this? [nyl у Prepared file to include [none!: vvvl Check spelling. Send, fibort. Edit, or List? 1 portmap Синтаксис portmap [-d][—v] portmap должна быть запушена для выполнения вызовов RPC. Когда запускаетея какой-нибудь сервер RPC (Remote Protocol Call - дистанционный вызов процедур), он должен сообщить portmap, какой номер сетевого порта следует прослушивать и какие RPC-программы придется обслуживать. И, когда клиент желает сделатт RPC-вызов к указанной программе, он прежде всего обращается к portmap на машине-сервере, чтобы установить номер порта, через который будут посылаться RPC-пакеты. Программа portmap должна быть запущена до вызова любых других серверов RPC. Опции -d Устанавливает отладочный режим, запрещает portmap работать в ка- честве демона. Все ошибки и отладочная информация направляются в стандартный файл ошибок. - программа-сервер, конвертирующая номера про- грамм RPC в номера портов протокола DARPA. -V Подробно информирует о происходящем
556 И Команд-. Чтобы разрешить подключение клиентам конкретного домена, следует добавить в файл /etc/hosts.allovv специальную С1року. Пример Вот так будет выглядеть типичная строка /etc/hosts.allovv: portmap: .sport.com Разрешает подключение клиентов домена .sport.com. poweroff - отключает питание. Синтаксис poweroff [-nJ[-w][~dj[~f][—i] Делает соответствующую запись в /var/log/wtmp и предлагает ядру отключить пи- тание. Опции - п Не выполняет перед отключением sync. - w Не выполняет отключения питания, а лишь делает запись об этом в /var/log/wtmp. - d Ничего не записывает в файл /var/log/wtmp. - f Не вызывает shutdown. - i Перед отключением завершает работу всех сетевых интерфейсов. Данная команда является привилегией суперпользователя. рг - подготавливает текстовые файлы для печати, К форматируя их. Синтаксис pr [option]... [file]... Разбивает указанные файлы file, предназначенные для печати, на страницы или но столбцам. Опции +first_page[:last_page], —pages=first page[:lastpage] Начинает печатать co страницы first page и завершает процесс после распечатки last page. -column, -ctAurcms-column Выполняет вывод в указанное число столбцов column, если только не задана опция -а. Старается на каждой с границе сбалансировать количе- ство строк в столбцах.
II. Команды 557 -a, —across Вместо обычной печати сверху вниз печатает столбцы поперек, исполь- зуется совместно с -column. -с, —show-control-chars Для вывода управляющих символов использует символ Л (например, As) и восьмеричный формат с обратным слэшем (например, W10). -d, —double-space Устанавливает между строками двойной интервал. - е [с/юг[ит<7гЛ]], -cxpand-tabs[=cAar[ivi<//A]] Преобразовывает входные символы char(по умолчанию TAB - символ табуляции) в указанное параметром width число пробелов (8). - F, -f, —form-feed Использует символ form-feed (перевод, или протяжка, или прогон стра- ницы) для разделения страниц вместо символа new line (новой строки). - h header, —header=/ieor/er Вместо имени файла (по умолчанию) использует центрированный заго- ловок страницы. Необычная опция -11 выводит пустую строку. - i [сАофпЛА]], —output-tabs[=cAar[w/cW;]] Замещает идущие подряд пробелы в количестве width символом char (по умолчанию TAB). По умолчанию замещаются восемь подряд иду- щих пробелов. - J, —join-lines Объединяет полные строки, отключает усечение (опция -W), не вырав- нивает столбцы, использует разделители, установленные с помощью -Spring]. - 1 pagelength, —length=pogelength Устанавливает размер страницы в строках в значение page length По умолчанию принято 66 строк. - m, —merge Печатает все файлы параллельно: по одному в каждом столбце. - n [sep[Jrg<7s]], —number-lines[=sep[t/igi7s]J Нумерует строки, при этом каждый номер состоит из digits цифр (по умолчанию - 5). Номер строки отделяется от самой строки разделите- лем sep. По умолчанию в этом качестве выступает TAB. Нумерация входного файла по умолчанию начинается с первой строки. - N number, —first-line-number=»w«ier Начинает нумеровать страницы с номера number (на первой строке пер- вой страницы). - о margin, —indent=»;argur Устанавливает левый отступ в значение number, которое добавляется к ширине страницы. - г, — no-file-wamings Не выводит предупреждения, если не может’ открыть файл. - s [с/итг], —separator [=<7ir/r] Устанавливает разделитель столбцов, ио умолчанию ГАВ.
558 И Команды - S (.siring], —sep-string[-s7ring] Разделяет столбцы необязательной строкой string. По умол занию с опцией-j применяется TAB, в противном случае пробел (-S ). - t, —omit-header Запрещает вывод верхнего и нижнего колонтитулов. - Т, —omit-pagination Запрещает вывод верхнего и нижнего колонтитулов, запрещает любое разделение на страницы с помощью установки form feed во входных файлах. - V, — show-noprinting Выводит вместо нензображаемых символов их восьмеричный код, на- чинающийся с обратного слэша. - w page_width, —width=poge width Устанавливает ширину страницы в символах, по умолчанию — 72 сим- вола. - W page_width, — page-width=pogewidth Всегда устанавливает указанную ширину страницы в символах (по умол- чанию 72 символа), выполняет усечение строк, если только не уста- новлена опция -j; не действует с опцией -S или -s. —help Выводит список опций программы и завершает ее. —version Выводит информацию о версии программы и завершает ее. Пример $ pr -h "Му book" -160 prim40(lpr $ Выводит на печатающее устройство содержимое файла prim40. Размер страницы установлен в 60 строк, на каждой странице печатается заголовок (верхний колонтитул) Му book. Команда рг лишь форматирует файл для печати, вывод обычно осуществля- ет другая команда: в нашем примере - |рг. печатает все или часть окружения. printenv Синтаксис printenv [option]_[ VARIABLE] ... Если никакая переменная окружения VARIABLE не указана печатаем значения всех переменных. Имеется лишь две тривиальные опции: —help и —version Прит-ер 5 printenv HAIL /var/Bpool/mail/mieha $
II Команды 559 primmaii фо । матирует почту .^ля послед ующей печати. Синтаксис printmail [—Pl[filename] Копирует все сообщения из указанного файла filename или почтового ящика пользо- вателя, определенного по умолчанию, разделяя сообщения друг от друга строками тире. Опции -р Сообщения отделяются друг от друга символами form feed (перевода страницы). Пример Ниже показано типичное использование этой команды: $ printmail|1рг ? procmail автономный почтовый процессор. Синтаксис лЯИ-У procmail [-ptoY](-f fronwhom] [parameter^ value] rcfile]... procmail [-toY][-f fronwhom] [-a argument] -d recipient... procmail [-ptY] -m [parameter=value].. .rcfile [argument]... procmail -v Программа procmail может быть вызвана автоматически с помощью механизма перенаправления почты через файл .forward тут же по прибытии почты. Она сразу мо- жет переустановить некоторые переменные окружения в значения по умолчанию, за- тем считывает со стандартного ввода почтовое сообщение до EOF (до конца файла), отделяя тело сообщения от его заголовка, и после этого, если отсутствуют аргументы командной строки, просматривает файл по имени SHOME/.procmailrc. В соответствии с правилами, содержащимися в этом файле, распределяет сообщение в папку справа (правило правой руки). Если инициализационный файл rcfile не найден или его обработ- ка завершилась аварийно, procmail сохраняет почту во взятом по умолчанию систем- ном почтовом ящике. Если в командной строке не указано никаких файлов rcfile. а также отсутствует оп- ция -f, прежде чем считывать содержимое SHOME/.procmailrc, прогрвмма procmail интерпретирует команды файла Zetc/procmailrc, если таковые имеются. При создании файла /etc/procmailrc необходимо помнить, что он, в отличие от SHOME/.procmailrc, будет исполняться с привилегиями суперпользователя; их требуется предварительно установить. Любые аргументы, содержащие знак равенства, присваиваю!- значения пе- ременным окружения.
560 II Комаци । Ниже приведен список сигналов, принимаемых procmail TERMINATE HANGUP INTERRUPT QUIT ALARM USR1 USR2 преждевременно jaBepiuaei выполнение и вновь'чави! почту в очередь преждевременно завершает выполнение н прекращает обработку почты аналогичен HANGUP преждевременно завершает выполнение и "молча теряет почту вызывает тайм-аут эквивалентно отключению режима подробной диагностики эквивалентно включению режима подробной диагностики Опции -v Выводит информацию о версии procmail, конфигурацию, заданную во время компиляции, и завершает работу. -р Сохраняет старое окружение. Обычно procmail вначале очищает все переменные окружения кроме TZ. Не "обращая внимания" на ранее ус- тановленные переменные, перекрывает их собственными, взятыми по умолчанию значениями Если одновременно указаны опции -р и -т. спи- сок переустановленных переменных сведется к следующим: LOGNAME, HOME SHELL. ORGMAIL и MAILDIR -t В случае неудачного завершения "смягчает" его: если почта не может быть доставлена на дистанционные узлы, не отбрасывает ее. а возвра- щает в очередь. В дальнейшем будут вновь предпрингты попытки до- ставки сообщения. -f fromwhom Устанавливает значение параметра fromwhom, рассматривая его в каче- стве отправителя сообщения, в базовую строку From. Если этот пара- метр содержит единственный дефис, обновляет временную метку в стро- ке From. о Не допуская ничего такою, что генерирует строки From, просто заме- щает подделку. - У Принимает традиционный формат почтовою ящика Berkeley, игнори- руя любые поля Content-length: (длина содержимо! о). - a argument Устанавливает S1 в значение argument. Используется для передачи ме- таинформации через procmail. - d recipient Выполняет доставку локальному абонен ту recipient Это возможно, если procmail имеет привилегии суперпользователя пни уже запушена с SUID и SGID данного абонента. Эта опция несовместима с опцией -р. “т Превращает procmail в почтовый фильтр общего назначения. В этом режиме в командной строке может быть задан только файл rcfile. пос- ле которого procmail может воспринимать неограниченное число ар- гументов!
II. Команды 561 ps выдает полный отчет о состоянии про весов. К Синтаксис ps [option] Описанная версия ps принимает несколько видов опций: Unix98 этим опциям предшествует дефис, и они могут быть сгруппированы BSD опции тоже могут быть сгруппированы, но дефис не используется GNU этим длинным опциям предшествуют два дефиса Опции разных видов могут быть перемешаны в произвольном порядке. Опции выбирающие процессы -А -N Выбирает все процессы. Отрицает выбор. -а Выбирает все процессы, связанные с конкретным терминалом, кроме главных системных процессов сеанса. -d Выбирает все процессы кроме главных системных процессов сеанса. -е Т Выбирает все процессы. Выбирает все процессы на конкретном терминале. а Выбирает все процессы, связанные с этим терминалом, в том числе и других пользователей. г Выводит информацию лишь о работающих процессах. X Выбирает процессы, отсоединенные от терминала. Опции, осуществляющие ыбор процесса по списку -С -G -и Выбирает по имени команды. Выбирает по RGID; под держивает имена. Выбирает по RU1D; поддерживает имена. -g -Р -S Выбирает из списка номера процессов группы или по имени группы. Выбирает по идентификаторам процессов. Выбирает процессы заданных сеансов. -t Выбирает процессы, связанные с конкретным терминалом. -U Выбирает по дейс гвуюшему идентификатору пользователя; поддержи- вает имена. и Выбирает процессы указанных пользователей Р t -Group Выбирает по идентификаторам процессов. Выбирает процессы, связанные с конкропым гермппа'юм Выбирав! по RGID или по имени i руины.
5b2 It Команд । —User Выбираегпо RUID или no имени пользовагеля -group -pid —sid Выбирает по действующему иденгификаюру или ио имени iруппы Выбирает по идентификаторам процессов. Выбирает процессы заданных сеансов. -tty —user -123 123 Выбирает процессы, связанные с конкретным терминалом Выбирает по действующему идентификатору или по имени пользователя Подразумевает- —sid. Подразумевает —pid. Опция управляющие форматок, вывода -с -f -j Подготавливает информацию для опции -1. Создает полный листинг. Выводит информацию по управлению заданиями (столбцы PGID и SID дополнительно к обычному выводу команды ps). -1 Создает листинг длинного формата. -о Выводит в формате, определенном пользователем. -у -О X j 1 Не отображает флагов, но отображает RSS вместо адреса Предваряет опцию -о (предварительно загружает). Выводит информацию в старом формате Linux i386 Выводит информацию по управлению заданиями (столбцы PPID, TPG1D, STAT, UID дополнительно к выводу опции -j). Создает листинг длинного формата.. О Выводит в формате, определенном пользователем. S Выводит информацию о сигналах. V —format Выводит информацию о виртуальной памяти. Выводит в формате, определенном пользователем. Опции, модифицирующие вывод -Н Отображает иерархию процессов. -W Выполняет широкомасштабный вывод, не усекая информацию до раз- мера строки. С Использует низкоуровневый формат для вывода времени ЦП. е h О S Показывает переменные окружения команды. Не выводит заголовки. Сортирует вывод. Выводит дополнительную информацию о завершившихся дочерних про- цессах. W Выполняет широкомасштабный ввод, нс усекая информацию до разме- ра строки. —cols Устанавливает ширину жрана.
II. Команды 563 —columns —width —cumulative Устанавливает ширину экрана Ус i анавливаег ширину экрана Включает дополнительную информацию о завершившихся дочерних процессах. —headers Повторяет строки заголовков. --rows Устанавливает высоту экрана. —sort —lines Указывает порядок сортировки. Устанавливает высоту экрана. Информационные ОПЦИИ -V L —help —info —version V Выводит информацию о версии программы. Выводит список форматов. Печатает подсказку. Печатает отладочную информацию. Bi [водит информацию о версии программы. Выводит информацию о версии программы. Пример $ ps -af UID PID PPID C STIME TTY TIME CMD root 584 583 0 15:43 ttyl 00:00:00 [bash] root 609 584 0 15:43 ttyl 00:00:00 [startx] root 616 609 0 15:43 ttyl 00:00:00 [xinit] root 620 616 0 15:43 ttyl 00:00:01 /usr/bin/gnome-session root 634 1 0 15:43 ttyl 00:00:00 gnome-smproxy —sm-config-prefix root 638 1 0 15:43 ttyl 00:00:02 [enlightenment] root 655 1 0 15:43 ttyl 00:00:02 panel —sm-config-prefix /panel. root 659 1 0 15:43 ttyl 00:00:01 gnome-help-browser —sm-config-p root 667 1 0 15:43 ttyl 00:00:04 gmc —sm-config-prefix /gmc-yZeN root 772 1 0 15:44 ttyl 00:00:00 gnome-terminal root 773 772 0 15:44 ttyl 00:00:00 gnome-pty-helper misha 784 577 0 15:45 tty3 00:00:00 -bash misha 812 578 0 15:48 tty4 00:00:00 -bash sofia 848 579 0 15:56 tty5 00:00:00 -bash sofia 873 848 0 15:57 tty5 00:00:00 tail -f prim74 misha $ 874 812 0 15:57 tty4 00:00:00 ps -af Ниже раскрыт смысл столбцов листинга: UID идентификатор пользователя РID идеи 1 ификатор процесса PPID идентификатор родительского процесса С приоритет процесса, используемый планировщиком задач STIME время старта процесса У терминал, с которым связан данный процесс TIME общее время работы процесса CMD команда, запустившая даины* процесс
564 II Кгмаидк psfaddtable добавляет таблицу символов в формате Unicode к шрифтам консоли. Синтаксис psfaddtable fontfile tablefile [outfile] Берет шрифты консоли в фермате PSF, задаваемые аргументом fontfile (с расши- рением .psf), и сливает этот файл с таблицей символов в формате Unicode, определяе- мой аргументом tablefile, создавая файл outfile, если таковой указан. В случае отсут- ствия аргумента outfile направляет результат слияния на стандартный вывод. Один из аргументов fontfile или tablefile, но не оба сразу, может быть замещен дефисом, в этом случае производится чтение стандартного ввод.' Если fontfile уже содержим встро- енную таблицу символов Unicode данная операция игнорируется. Каждая строка в tablefile либо пустая, содержит комментарий, начинающийся с сим- вола #, либо содержит последовательность чисел в следующих форматах: decimal десятичная по умолчанию octal вос„меричная, начинающаяся с О hexadecimal шестнадцатеричная, начинающаяся с Ох Первое число в каждой строчке указывает слот (местоположение) образца в шриф- те; это число находится в диапазоне от 0 до Oxff для 256 символьного шрифта и от 0 до Oxlff для 512-символьного. psfgettable - выделяет в файле шрифтов консоли ранее включенную таблицу символов Unicode Синтаксис psfgettable fontfile | outfile] Выделяет в файле шрифтов консоли в формате .psf таблицу символов Unicode и преобразует ее в ASCII файл (который может бьпь прочитан человеком), используе- мый psfaddtable. Если вместо api умента fontfile стоит дефис, производит считывание стандартного ввода, результат обработки направляется в outfile psfstriptable удаляет ранее включенную таблицу символов Unicode из файла шрифтов консоли. Синтаксис psfstriptable fontfile [outfile]
II. Команды 565 "вытягивает" новости с одного компьютера и передает их другому. Счигывае! файл/оЩ/У/е, содержащий шрщЯы консоли в формат e.psf, или стандарт- ный ввод, если вместо аргумента /дн(//7еуказан дефис, и записывает в укатанный файл outfile или на стандартный вывод в случае отсутствия последнего файл шрифтов без ранее включенной (см. psfaddtable) таблицы символов Unicode. pullnews Синтаксис pullnews [-с config][-s downstream-server][-q][reacte-server ] pullnews - сценарий на языке Perl, выполняется как обычный пользовательский процесс. Он считывает конфигурационный файл, обычно называемый .pullnews, в ис- ходном пользовательском каталоге и подключается к входящим серверам, где опре- делен в качестве читателя-клиента. В командной строке можно указывать имена сете- вых узлов, чтобы ограничить аргументом remote-server набор входящих узлов для подключения, но каждый узел должен быть упомянут в файле .pullnews. Извлеченные статьи передаются исходящему (локальному) серверу downstream-server через ко- манду подпитки NNTP, называемую IHAVE. Эго означает, что компьютер, запустивший pullnews, должен обладать доступом для подпитки исходящего узла новостей. Опции -с config Обычно параметры конфигурации хранятся в файле SHOME/.puIlnews пользователя, запустившего программу pullnews, что можно изменить с помощью параметра config. -s downstream-server Обычно подпитывает статьями сервер новостей, запущенный на локаль- ном узле, но с помощью параметра downstream-server это можно из- менить и определить другой сервер новостей. -q Ограничивает выдаваемую диагностику. Конфигурационный файл для pullnews содержит набор строк, описывающих вхо- дящие узлы подключений, а также группы новостей, от которых будут получены ста- тьи. Строка, описывающая узел для подключения, содержит имя сетевого узла без каких-либо предшествующих неизображаемых символов. Строки, описывающие группы новостей, следуют за строками, описывающими узлы, и обязательно в самом начале содержат пробел, за которым собственно располагается имя группы. Программа pullnews обновляет конфигурационный файл, включая в него время, когда осуществлялась последняя проверка группы новостей, и наивысший номер ста- тьи, благополучно извлеченной и направленной исходящему серверу. pullnews - несложная программа, которая не держит и не регистрирует ряд деталей пересылки статей. В ней также отсутствуют многие особенности, присущие програм- мам такого класса, а именно: удаление ста чей. базирующееся на условиях, выдвину тых пользователем.
566 II Команды Пример Образец конфигурационного файла pullnews может вьл лядеть следующим образом- sql.1inux.гedhat.com comp.progr.threads 908065512 506 news.lucky.joy dnepr.orbita.ua water.ecolog.est pwck - проверяет соответствие файлов /etc/passwd и /etc/shadow. Синтаксис pwck [-rq](passwd[shadow] ] Программа pwck просматривает каждую запись вышеупомянутых файлов, прове- ряя в них корректность: □ количества полей □ пользовательских имен (их уникальность) □ идентификаторов пользователей и групп □ исходной группы □ рабочего каталога □ используемой оболочки, или командного процессора. Вместо /etc/passwd и /etc/shadow можно указать альтернативные файлы passwd и shadow. Опции -г Выполняет команду в режиме только для чтения, при этом на все воп- росы об изменениях не требует подтверждения (ответ по, если без из- менений) пользователя. -q Выполняет изменения в указанном файле (/etc/passwd). не требуя под- тверждения пользователя. Программой pwck рекомендуется пользоваться в обязательном порядке ежене- дельно, особенно после установки системы теневых паролей. С опцией -г команду pwck можно запускать с помощью cron, получая отчеты о ее работе по электронной почте. Припер : root@localhost.localdomain: /root - О X Протокол работы может выглядеть, например гак: Файл Правка Settings Справка puctrootGlocalhost /root]* puck user adn; directory /var/adm does not exist user gopher: directory /usr/lib/gopher-data does not user gdm: directory /home/gdm does not exist puck: no changes CrootGlocalhost /root]* | exi st A /
II. Команды 567 pwconv оперирует обычными и теневыми файлами паро- лей пользователей. Синтаксис pwconv Программа pwconv работает с файлами /etc/shadow и /etc, passwd. Она создает файл теневых паролей из обычного файла паролей и существующего (необязательно- го) файла shadow. При этом pwconv прежде всего удаляет из файла теневых паролей те элементы, которые отсутствуют в главном файле (passwd). Затем обновляет те эле- менты файла теневых паролей (shadow), которые не помечены символом х в главном файле (passwd). В файл теневых паролей будут добавлены отсутствующие элементы. И, наконец, пароли главного файла в целях надежности и безопасности будут замещены символом х. Если главный файл паролей редактировался вручную, целесообразно использовать pwconv для обновления файла теневых паролей. При добавлении новых элементов в файл /etczshadow программа pwconv исполь- зует значения переменных PASS MIN DAY (минимальное количество дней, разрешен- ное между изменениями пароля), PASS MAX DAY (максимальное количество дней существования пароля), PASS WARN AGE (срок существования пароля, начиная с которого выдается предупреждение о скором завершении его действия) из файла /etc/login.defs. В файле паролей могут встретиться ошибки: некорректные или дублирующиеся эле- менты. Поэтому имеет смысл вначале запустить pwck для корректировки этих оши- бок, а уж затем pwconv. pwd печатает полное имя текущего каталога. К Синтаксис pwd [option] Все компоненты распечатываемого имени также являются именами каталогов и не могут быть символическими ссылками. Имеет только две тривиальные опции: —help и —version. Поскольку большинство оболочек имеют встроенную команду с таким же име- нем, не следует удивляться, если ее использование в сценариях даст другой эффект. pwunconv Синтаксис оперирует обычными и теневыми файлами паролей пользователей. pwunconv
568 II Команд» Создает файч паролей из существующего главною файла паролей passwd и из те- невого. файла shadow, а затем удаляет последний. При лом информация по срокам существования паролей может быть утрачена, pwunconv конвергирует, что может quota отображает используемое дисковое пространство и лимиты. Синтаксис quota [-guv|q] quota [—v|q] -u user quota [-v|q] -g group По умолчанию команда quota печатает только квоты пользователя. Опции - g group Распечатывает квоты группы, членом которой является данный пользо- ватель. - u user Действует по умолчанию: распечатывает квоты пользователя. - v Отображает квоты на файловые системы, где указанный пользователь или ipynna ничего не хранят. - q Информирует только о файловых системах, где превышена квота. Только суперпользователь может видеть лимиты других пользователей, обычный пользователь лишь лимиты группы, к которой он принадлежит. С uotacheck - проверяет файловую систему на предмет использован'-я диска Синтаксис quotacheck [-g][—u][-R][-vd] -a quotacheck f-g][-u|[-vd] filesys... Проверяет файловую систему filesys в час ги использования дискового простран ства пользованиями и группами. На выходе получается файл квот дня соответсплю- щей файловой системы; по умолчанию применяются следующие имена: quota.user файл пользовательских квот quota.group фай ч групповых квот Структура резулыирующего файла определяется <linux/quota.h>. Программу quotacheck следует запускать при за|ручке системы (поместить комац [у ее запуска в /etc/rc.d/rc.local). Опции "v Выводит дополни тельную информацию комментируя деи< 1 ния про- граммы.
II. Команды 569 - d Устанавливает режим отладки. - и Проверяет дисковое пространство: файлы и катался и ноль юна телеи - g Проверяет дисковое пространство: файлы и каталот и трупп. - а Проверяет квоты для всех файловых систем, описанных в /etc/fstab - R При использовании совместно с опцией -а проверяет квоты для всех файловых систем, кроме корневой. Эта команда может быть запущена только суперпользователем. quotaoff отключает использование квот для файловых систем. Синтаксис quotaoff [-vug] filesystem... quotaff [-avug] Сообщает операционной системе, что должны быть отключены дисковые квоты для указанной файловой системы filesystem. Опции - а Отключает использование квот для всех подходящих файловых систем из /etc/fstab. - v В ыдает сообщение об отключении квот для каждой файловой системы. - и Манипулирует пользовательскими квотами. Действует по умолчанию. - g Манипулирует квотами групп. quotaon - включает использование квот для файловых систем. Синтаксис quotaon [-vug] filesystem... quotaon [-avug] Сообщает операционной системе, что должны быть задействованы квоты для ука- занной файловой системы filesystem. Файлы квотирования должны обязательно при- сутствовать в корневом каталоге указанной файловой системы; их имена quota, user (параметр userquota в соответствующей строке файла/etc/fstab) и quota.group (пара- метр groupquota в соответствующей строке файла /etc/fstab). Опции -а Включает использование квот для всех подходящих файловых систем нз /etc/fstab.
^)7Q •• Команды _v Выдает сообщение о том, что задействованы квоты для каждой фай ло- вой сис гемы. - и Манипулирует пользовательскими квотами. Действует по умолчанию - g Манипулирует квотами трупп. Соответствующая строка с командой quotaon может быть включена в фаил /etc/rc.d/rc.local. Пример Если в файловой системе /home установлены дисковые квоты для пользователей, соответствующая строка в /etc/fstab может выглядеть примерно так /dev/hda5 /home ext2 defaults.usrquota 1 2 ranlib - формирует индекс для архива. Синтаксис ranlib ]-v|-V][—help] archive ranlib создает индекс для содержимого архива archive и хранит его прямо в архи- ве. Индексируется каждый член архива, представляющий из себя настраиваемый объектный файл. Можно распечатать содержание индекса с помощью команды nm с опцией -s или —print-armap. Если несколько программ применяют одинаковые библиотечные функ- ции, то последние могут быть собраны в единый библиотечный архив. С индексирован- ным библиотечным архивом работать несравненно удобнее: быстрее выполняется под- ключение нужных членов в процессе компоновки, да и утилиты самой библиотеки мо- гут вызывать друг друга, не прилагая больших усилий для поиска. Программа GNU ranlib—это другая форма GNU аг. Выполнение программы ranlib эквивалентно запуску ar -s. Опции - V, -V Выводит информацию о версии программы и завершает ее работу. — help Выводит список поддерживаемых форматов. В настоящее время поддерживаются такие форматы elf32-i386 symbolsrec a.out-i386-linux tekhex elf32-little binary elf32-big ihex srec trad-core
II. Команды 571 rarp манипули, ует системной таблицей RARP. Синтаксис rarp [-Vll-h] rarp -а rarp I-v] -d hostname rarp |-v][-t type] -s hostname hw addr rarp -f filename Иногда возникает необходимость определить IP-адрес по известному адресу Ethernet. Для этого существует RARP Reverse Address Resolution Protocol - прото- кол обратного разрешения адреса. RARP - полная противоположность ARP (см. опи- сание этого протокола в агр). Опции V Выводит используемую версию программы. - V Выдает подробные сообщения. - п Показывает числовые адреса вместо того, чтобы пытаться определить символические имена узлов, порт или имена пользователей. - t type При установке или чтении таблицы RARP необязательный параметр type сообщает гагр, какой класс элементов следует проверять. По умолча- нию этот параметр принимает значение ether (код оборудования 0x01 для IEEE 802.3 10Mbps Ethernet). Другие значения могут определять сетевые технологии, а именно. tr (16/4 Mbps.TR) ах25 (AMPR Ах.25) netrom (AMPRNET/ROM) arcnet (ARCnet) dlci (Frame Relay DLCI) -а Выводит все элементы таблицы RARP. - d hostname Удаляет все элементы таблицы RARP для указанного сетевого узла. - s hostname hw addr Создает RARP-разрешение адреса для сетевого узла hostname, hw addr - это адрес оборудования. Для класса Ethernet используется 6 байт в шестнадцатеричном виде, разделенных двоеточием. - f filename Действует подобно опции -s, но только в этом случае элемент берегся из файла filename. Очень часто таковым файлом является /etc/ethers.
572 II Команды копирует файл в дистанционную систему и из нет. rep Синтаксис rep [-р] filel file2 rep [-pr] file__directory Команда rep копирует отдельные файлы и каталоги, явно указываемые в команд ной строке. В качестве аргументов команды может выступать стандартный локальный или дистанционный файл. Один из аргументов может быть локальным каталогом или файлом. Дистанционный файл должен указываться в следующем формате: И ,<я хоста .маршрут имя пользователя@ имяхоста имя файла г команды, и в том числе гер, позволяют регистрироваться или выполнять процес- сы на дистанционной машине без пароля и даже с привилегиями суперпользователя. Доступом к дистанционному серверу фактически управляют два следующих файла конфигурации: /etc/hosts.equiv и .rhosts Правила доступа, указанные в файле /etc/hosts.equiv, распространяются на всех пользователей данной машины, а файл .rhosts, находящийся в исходном (домашнем) каталоге пользователя, управляет лишь доступом к конкретной учетной записи. Для дополнительной безопасности файл/etc/hosts.equiv должен принадлежать суперполь- зователю, а файл .rhosts - пользователю, пытающемуся получить доступ. Такой меха- низм аутентификации нередко называется "rhosts" (дистанционные хосты). Опции -г Если любой из исходных файлов является каталогом, гер копирует его рекурсивно. -Р Сохраняет время модификации, права владения и полномочия на все ко- пируемые файлы такими, как у оригинальных файлов Примеры Копирование пользователем anna полного каталога с server4 в /usr/сору на scr\ е/5 выглядит следующим образом: servertt rep -г /usr/local/bin anna8server5:/usr/сору res меняет атрибуты RCS-файла. Синтаксис res [option] file... Создаст новые RCS-файлы или меняет aipn6yibi существую тих. RCS-файл (фор- ма< приведен в приложении V) содержит многочисленные версии гекс та (може! и
II. Команды 573 объектного кода, и бинарною), список доступа, журцал р< i истратит и вменении текст описания и некоторые управляющие атрибуты. Для работы команды res необходимо, чтобы имя пользователя, ее вызывающего, находилось в списке доступа, помимо сл; чаев, когда этот список пустой, вызывающий является владельцем файла или супер- пользователем или ирисузствует опция -i. Маршруты, сопоставленные с суффиксом RCS соответствуют RCS-фаитам все остальные рабочим файлам. Имена назначаются по парам (см. ci). Синтаксис, приме- няемый для определения версий, также представлен в описании ci. Опции -i Создает и инициализирует новый RCS-файл, но не сохраняет никакую версию. Если RCS-файл не имеет маршрутного префикса, пытается раз- местить его сначала в подкаталоге ./RCS, а затем в текущем каталоге. Если RCS-фаил уже существует, печатает сообщение об ошибке. -alogins Дополняет список доступа RCS-файла регистрационными именами из списка logins, разделенными запят ыми -tvoldfile Дополняет список доступа RCS-файла содержимым списка доступа к файлу oldfile. -e[/ogins] Удаляет разделенные занят ыми рет истрационные имена, содержащиеся в списке logins, из списка доступа RCS-файла; если параметр logins от- сутствует полностью удаляет содержимое списка доступа RCS-файла. -b[rev] В качестве ветви по умолчанию назначает ветвь, определяемую rev. Если параметр rev отсутствует, динамически переназначает наивысшую ветвь ствола (trunk) в ветвь по умолчанию. -cstring Устанавливает заголовок комментария в соответствии с содержимым строки string. При создании файла с помощью ci или через res -i (без опции -с) включает суффикс имени рабочего файла в заголовок ком- ментария. -ksubst Устанавливает подст ановку (замещение) ключевого слова, принятую по умолчанию, в значение snbst (см. со). Чтобы восстановить обычную, действующую по умолчанию подстановку ключевого слова, применя- ется команда res -kkv. -l[rev] Блокирует версию с номером rev. Если задана ветвь блокирует самую последнюю версию этой ветви. Если параметр rev отсутствует. блоки- рует самую последнюю версию ветви, принятой по умолчанию. Блоки роваиие препятствует накладкам при внесении изменений. Если кто-ни- будь еше уже держит блокировку, она будет "сломана", как по команде res -и. -u[rev] Разблокирует версию re? Если задана ветвь, ра {блокирует саму то пос- леднюю версию ветви. Если параметр rev отсутствует. снимает самую последнюю блокировку которую держит вызвавший команду ютыо- ватель. Как правило, только тот кто блокирует версию может ее раз- блокировать. Если кто-то сломал "замок" версии, тотчас же будет по- слано почтовое сообщение установившему ног замок. Сооощеттие со-
S 74 Н Команды держит комментарий с ходатайством ш взломщика. Комментарий за вершается по EOF (конец файла) или строкой, содержащей только точ- ку в первой позиции. -L Устанавливает режим неукоснительного блокирования, обязательный при выборке даже для владельца RCS-файла. Эта опция применяется для совместно используемых файлов. -U Устанавливает режим более либерального блокирования, при котором владельцу файла нет необходимости блокировать файл для проверки. Эту опцию не следует применять для совместно используемых файлов. -mrev.msg Замещает сообщение регистрации версии rev сообщением msg. -шюте[:[гет]] Ассоциирует символическое имя пате с ветвью или версией rev. Уда- ляет символическое имя, если отсутствуют двоеточие и параметр rev; в противном случае печатает сообщение об ошибке, если пате уже свя- зано. -Nnowe[:[rev]] Действует подобно опции -п, но только перекрывает любое из ранее существующих назначений имени пате. -orange Удаляет версии, попадающие в диапазон range. В диапазоне может со- держаться и единственный номер. Если range-эю номер ветви, удаля- ется самая последняя версия ветви. Задание диапазона в форме revl:rev2 подразумевает версии от revl до rev2 на одной ветви, :rev предполагает версии от начальной до rev на одной ветви, а если пара- метр определен в форме revt, то рассматриваются версии, начиная с rev и далее до самой последней на этой ветви. -q Не выводит диагностику. -I Осуществляет переход в интерактивный режим работы, даже если тер- минал не предназначен для стандартного ввода. -sstate[:rev] Устанавливает индикатор состояния версии rev в значение state. Если параметр rev - номер ветви, воздействует на самую последнюю вер- сию ветви. Если rev отсутствует, выбирается самая последняя версия ветви, взятой по умолчанию. Любой идентификатор пригоден для пара- метра state. По умолчанию команда ci устанавливает индикатор состо- яния в значение Ехр. Ниже приведены наиболее часто используемые индикаторы: Ехр экспериментальная Stab стабильная Rel выпущенная (реализованная, или законченная) Записывает содержимое файла file в RCS-файл в качестве текста опи- сания, удаляя при этом ранее существовавший текст. Маршрут к фа irix ие может начинаться с дефиса. Если параметр file отсутс гвует, полу ча- ет текст описания со стандартного ввода, завершая процесс по EOF (кон- цу файла) или встретив единственную точку в первой позиции строки -l-slring Записывает содержимое строки string в RCS-файл в качестве текста описания, удаляя при этом ранее существовавший текст.
II. Команды 575 -Т Сохраняет время модификации RCS-файла, чю полезно для последую- щей работ ы с программой make. -V -Vn -xsuffixes Печатает версию RCS. Эмулирует для RCS номер версии п (см. со). Чтобы охарактеризовать RCS-файлы, использует суффиксы suffixes (см. ci). -zzone Использует параметр zone в качестве часового пояса, принимаемого по умолчанию. Эта опция неэффскт ивна, она применяется лишь для со- вместимости с другими RCS-командами rcsclean - удаляет рабочие файлы RCS. Синтаксис rcsclean [option][file...] Команда rcsclean удаляет рабочие файлы с которыми еще не работали, а с опцией -и разблокирует и удаляет те рабочие файлы, которые были в работе, но оставались неизменными. Для каждого заданного файла file команда rcsclean сравнивает рабочий файл и вер- сию соответствующего RCS-файла. Если обнаруживается разница, команда не произ- водит никаких действий. В противном случае сначала производится разблокирование версии, если задана опция -и, а затем удаляется рабочий файл, если только существуют полномочия на запись рабочего файла и версия заблокирована. Действия, выполняе- мые с помощью соответствующих команд res -и и rm -f, протоколируются и выводят- ся на стандартный вывод. Файлы группируются по парам (см. ci). Если не указаны конкретные файлы, будут удалены все рабочие файлы текущего каталога. Маршруты, сопоставленные с суффиксом RCS, соответствуют RCS-файлам, все остальные - рабочим файлам. Опции -ksubst Использует для ключевых слов подстановку типа subst, отрабатывая сравнение версии (см. со). -n[rev] Лишь сообщает о том, что могла бы сделать rcsclean. в действитель- ности никакие действия не выполняются. - q[rev] Не печатает диагностику. - r[rev] Лишь указывает версию rev для сравнения. - Т Сохраняет время модификации RCS-файла, даже если оно меняется но причине снятия индикатора блокирования. - u[rev] Разблокирует версию rev, если она была заблокирована и нс было обна- ружено различий. - V Печатает версию RCS.
576 II Команды Эмулирует для RCS номер версии п (см. со). -xsuffixes Чтобы охарактеризовать RCS-файлы, использует суффиксы suffixes (см. ci). -zzone Использует zone в качестве часового пояса для замещения ключевого слова (см. со). Работа rcsclcan завершается с нулевым кодом, если были успешно проведены все операции. Пропущенные рабочие и RCS-файлы молча игнорируются. Пример Чтобы "выяснить планы" rcsclean, была задана следующая команда: $ rcsclean -п rm -f prim51 rm -f prim41 $ В планы команды rcsclean входит удаление двух файлов: prim51 и prim41. Осто- рожность не помешает! rcsdiff - сравнивает вереи? 3CS. Синтаксис rcsdiff [-ksuhst][-q][-rrevl[-rrev2]][-Т][-V[n]][-xsuffixes][-zzone] [-diff options] file... Команда rcsdiff запускает diff для сравнения двух версий rev] и rev2 каждого за- данного RCS-файла file. Маршруты, сопоставленные с суффиксом RCS, соответствуют RCS-файлам, все остальные - рабочим файлам. Имена специфицируют пары - RCS-файлов и рабочих файлов. Опции -ksubst Выполняет замещение (подстановку) ключевых слов при извлечении версий (см. со) в стиле subst. Если опция -к не задана, по умолчанию подстановку ключевых слов определяет опция -kkv. а режим обработки рабочего файла устанавли- вается командой со -I. -q Подавляет вывод диагностики. -rrev Может указывать ноль, одну или две версии. Если параметры revl и rev2 отсутствуют, rcsdiff сравнивает самую последнюю на ветви, взя- той по умолчанию (trunk - ствол), с содержимым соответствующего рабочего файла. Если задан параметр revl, a rev2 - отсутствует, то rcsdiff сравнива- ет RCS-файл версии rev] с содержимым соответствующею рабочего файла.
II Команды 577 Если заданы одновременно revl и rev2, команда resdiff сравнивает ин две версии RC S-фаила. Оба парамо pa revl и rev2 могут быть зада ны в числовом или символьном формат. -diff options Передае г опции options команде diff. Воспринимаются любые опции, прикладываемые к обычным файлам. Остальные опции аналогичны своим двойникам в других командах RCS (см res). Команда resdiff устанавливает код тавершения, равный 0, если при сравнении не была обнаружена разница; если при сравнении были найдены некоторые различия, код завершения устанавливаемся в 1. В случае возникновения проблем устанавливается код завершения, равный 2. rcsintro введение в команды системы RCS. RCS (Revision Control System - система управления версиями) поддерживает мно- гочисленные версии файлов. Система RCS автоматизирует хранение, выборку, регист- рацию, идентификацию и слияние версий. RCS полезна для поддержки часто меняю- щихся исходных текстов программ, документов, i рафики, форм, писем. Основной пользовательский интерфейс чрезвычайно прост. Новичку достаточно знать две команды: ci и со. Первая из команд принимает на хранение содержимое в архивный RCS-файл (формат приведен в приложении V). Команда со предоставляет запрашиваемую версию из RCS-файла. Ниже перечислены основные функции RCS: □ Берет на хранение и предоставляет многочисленные версии текста. RCS сохра- няет все старые версии очень эффективным способом. Корректировки больше не портят орш инальный файл, так как остаются доступными предшествующие версии. Осуществляет выборку содержимого по целому ряду показателен: но- мер версии, символические имена, даты, авторы, состояние. □ Поддерживает полную историю изменений. RCS регистрирует все изменения автоматически. Кроме собственно текста RCS хранит сведения об авторе, даты и время, сообщения регистрации, позволяющие определить, что случилось с файлом. и Призвана разрешать конфликты доступа, когда два или более программистов берутся корректировать одну и ту же версию. □ Поддерживает дерево версий. Сохраняет древовидную структуру, отрожающую родственные отношения между версиями. □ Связывает версии и разрешает возникающие конфликты, если приходится oipa- багывагь перекрывающиеся изменения. □ Управляет реализациями версий Версиям MOiyT быть назначены символичес- кие имена, а именно: released (реализованная, или выну щепная), stable (ста- бильная), experimental (зкеперимеп.альпая) и гл. Благодаря ной возможнос- ти очень просто описывается конфигурация npoi раммпого модуля □ Автоматчсски иде1Г1ш|шцирусз каждую версию по имени, номеру версии, лате создания,автору
578 II Команды □ Минимизирует дисковое пространство, гребуемое для хранения версии, благо- даря тому, что сохраняе т не сами версии, а изменения, преобразующие предше- ствующую версию в текущую. Предположим, что пользователь имеет исходный файл программы на языке С по имени main.c и собирается поставить ew под контроль RCS. Если он еще не создал, то самое время создать каталог RCS: mkdir RCS С помощью следующей команды создается RCS-файл в каталоге RCS: ci main.c Далее необходимо извлечь самую последнюю версию RCS-файла и записать ее в файл main.c: со main.c Если требуется отредактировать самую последнюю версию, необходимо набрать такую команду: со -1 main.c Файл будет заблокирован и вы спокойно сможете его отредактировать, не опаса- ясь, что кому-то одновременно понадобится сделать то же самое. Предположим, что после некоторой корректировки пользователь захочет узнать о проделанных изменениях. Следующая команда расскажет о разнице между самой по- следней проверенной версией и рабочим файлом: rcsdiff main.c А вот так можно вновь сохранить измененный файл: ci main.c Следующая команда заблокирует именно для вас самую последнюю версию фай- ла, если только другой пользователь не опередил вас: res -1 main.c Предполагается, что именно персона, блокирующая версию, может осуществлять ее модификацию. Но даже заблокированная версия может быть доступна другим для чтения и компиляции. Если RCS-файл - приватный, а вы - единственная особа, которая к нему обращает- ся, нет необходимости столь строго осуществлять блокирование. Отключение и вклю- чение блокирования можно осуществлять следующим образом: res -U main.c res —L main.c Если вы не хотите загромождать свой рабочий каталог RCS-файлами, создайте под- каталог RCS в вашем рабочем каталоге. Команды RCS сначала обратятся к этому ката- логу. С помощью команды ci можно назначить номер версии: ci -r3 main.c ci -r3.1 main.c
II Команды 579 А с помощью команды со можно вызвать требуемую версию: со - r3 main.с со г3.1 main.с Команда со без указания версии выбирает самую последнюю trunk (на основной ветви). Обычно ее номер состоит из двух полей; более двух полей требуется для branches (ветвей). ci -Г2.3.1 Эта команда начинает ветвь 1 и версию 2.3. Новая версия получит номер 2.3.1.1. RCS может вставлять специальные строки в исходный или объектный код. Для это- го необходимо поместить в текст (в комментарий) маркер $id$. Этот маркер будет замещен строкой следующего формата: $Id: имя_файла версия дата время автор состояние $ Если поместить маркер на первой странице каждого модуля, можно видеть, с какой версией работаешь. Чтобы записать маркер в объектный код, его следует поместить в строку литералов. Для языка С это делается следующим образом: static char rcsid[]="$Id$"; Команда ident извлекает маркеры из любого файла, даже объектного или дампа. Таким образом с помощью ident легко определить, какая версия используется в про- грамме. Маркер $ьод$ аккумулирует все сообщения регистрации, с его помощью можно поддерживать полную историю изменений файла внутри него. rcsmerge выполняет слияние версий RCS. Синтаксис rcsmerge [option] file... Команда rcsmerge включает различия между двумя версиями RCS-файла в соот- ветствующий рабочий файл. Маршруты, сопоставленные с суффиксом RCS, соответствуют RCS-файлам, все остальные - рабочим файлам. Имена специфицируют пары RCS-файлов и рабочих файлов. Как минимум одна и как максимум две версии могут быть указаны с одной из оп- ций, приведенных ниже, как правило, с опцией -г. Если определена только одна версия, обычно в качестве второй берегся самая последняя версия на вегви по умолчанию (очень часто наивысшая всгвь на столе). Ветви moi у г задавался в числовом или сим- вольном формате. Опции A Сообщаем о возникших конфликтах в стиле опции -А команды di(T3 Включаем все различия между file! и /?/еЗ в filc\ (см. ditt?) и сощлет подробную лиатное т нку.
580 II. Команды -Е,-е Эти опции указывают типы возникших конфликтов, но создают мень- ший объем диагностики, чем опция -А (см. diff3). По умолчанию при- нята опция -Е. Если указана опция -е, команда rcsmerge не предупреж- дав г о конфликтах. -ksttbsi Использует замещение (подстановку) ключевых слов в стиле subst. -p[rev] Вместо перезаписи рабочего файла направляет результат слияния на стандартный вывод. -q[rev] Не печатает диагностику для указанной версии. -фег] Выполняет слияние в соответствии с версией rev. -V Печатаег версию RCS. -Vn Эмулирует для RCS номер версии п (см. со). -xs affixes Чтобы охарактеризовать RCS-файлы, использует суффиксы suffixes (см. ci). -zzone Использует zone в качестве часового пояса для замещения ключевого слова (см. со). Если при отработке различий между версиями не возникает перекрытий, устанавли- вается код завершения, равный 0: если обнаружено несколько перекрытий, коду завер- шения присваивается значение 1; в случае серьезных проблем устанавливается код за- вершения. равный 2. Пример Выполним слияние версий 1.1 и 1.3 файла prim39: = misha@localhost localdomain: /home/misha X 1 [mishaQlocalhost mishaИ rcsmerge -p -rl.l -rl.3 prim39>prim39p RCS file: RCS/prim39zv I retrieving revision 1.1 retrieving revision 1.3 Merging differences between 1.1 and 1.3 into prim39; result to stdout , rcsmerge: warning: conflicts during merge । ImishaGlocalhost mishal* 1 A - клиентская программа распределения дистанционных файлов. rdist Синтаксис rdist ]-DFn][-A лил) [-a uum][-d var= value] [-1 local-logopts] (-L remote-logopts][-i distfile)[-H num][-m *ost][-t timeout] [-p rdistd-path] -P transport-path] (паше — ) Команда rdist осуществляет поддержку идентичных копий файлов по многочис- ленным хостам, сохраняя владельца, группу, режим, время модификации файлов, если эго возможно, и также может обновлять выполняющиеся программы.
II. Команды 581 Команды гер и sep копируют отдельные файлы и казал оги, явно указываемые & командной строке, тогда как rdist больше всего подходит для распространения боль- ших совокупностей файлов, в юм числе хранилищ npoi раммпого обеспечения или файлов конфигурации системы. Для распространения файлов из центрально! о хранилища на нескольких дистанци- онных хостах с соблюдением специальных правил, содержащихся в файле конфигура- ции, служит команда rdist. Практически все дистрибутивы Unix содержат команду rdist, хогя более старая ее версия базируется на орш инальной команде rdist из BSD 4.2. А более новые версии этой команды обладают дополнительными функциональными возможностями. Файл конфигурации команды rdist называется distfile. Он содержит все определе- ния и правила, которые требуются команде rdist для правильного распространения ва- ших файлов. Применение файла distfile указывается с помощью флага -f, а иначе ко- манда rdist осуществляет поиск файла Distfile в текущем каталоге. Основные опции -А пит Устанавливает минимальное число свободных дескрипторов файлов в файловой системе, существующих для rdist и позволяющих обновлять или инсталлировать какой-нибудь файл. -а пит Устанавливает минимальное количество свободного пространства (в байтах) в файловой системе, существующего для rdist и позволяюще- го обновлять или инсталлировать какой-нибудь файл. -D Разрешает обширные отладочные сообщения. -d var=value Определяет значение переменной var, перекрывая значение в distfile. -F Не разветвляет никакие дочерние процессы rdist, все клиенты обнов- ляются последовательно. -f distfile Указывает альтернативный distfile. Если вместо имени файла стоит де- фис, считывает со стандартного ввода. -1 logopts Сообщает rdist, какие опции регистрации использовать локально, rdist использует коллекцию средств предопределенных сообщений, каждое из которых содержит список типов, указывающий, какие типы сообще- ний направлять этому средству. Как локальный KnneHT(rdist), так и дис- танционный сервер (rdistd) имеют свои собственные типы сообщений. -L logopts Сообщает rdist, какие опции регистрации передавать на дистанционный сервер rdistd. -M num Устанавливает максимальное число параллельно выполняющихся до- черних процессов программы rdist. По умолчанию - 4. -m host Только запускает правила для заданного хоста host. -n Печатает команды, нс выполняя их, что полезно для отладки distfile. -р rdistd-path Устанавливает для сервера rdistd маршрут поиска целевых хостов. -Р transport-path Устанавливает маршрут к используем о й транспортной команде (rsli- подобной, скажем, ssh).
582 II Команды -t timeout Задает период тайм-аута в секундах в ожидании ответа от дистанцион- ного сервера rdist. По умолчанию 900 секунд. Параметр logopts, употребляемый с флагами -1 и -L, выглядит следующим обра- зом: средство—тин ы.средство—типы... Известны следующие средства: stdout направляет сообщения на стандартный вывод file регистрирует сообщения в файле ("Ше-имя-файла^гипы") syslog использует средство syslogd notify использует внутреннюю особенность rdist в сочетании с адресом, по которому отправляет уведомительное сообщение Типы сообщений, разделенные запятыми, задаются в виде списка. Известны такие типы: change инсталлируемые или обновляемые файлы info общая информация notice общая информация об измененных компонентах пеггог обычные (не фатальные) ошибки ferror фатальные ошибки warning предупреждения debug отладочная информация all все сообщения кроме отладочных Синтаксис для установки значения переменной в файле distfile имеет следующий вид: name = value names = ( valuel value2 ... ) Скобки требуются в том случае, если переменной присваивается список значений. Правила distfile имеют следующий формат: label: sourcelist -> destinationlist command_list Здесь source list содержит список исходных (распространяемых) файлов, destinationlist - имена хостов, на которых эти .файлы должны быть распространены, a command list - необязательные команды для выполнения на дистанционном хосте до или после копирования файлов. Если одним из источников распространения являет- ся каталог, он рекурсивно копируется в указанные места назначения. А вот label пред- ставляет собой дополнительную метку, которая может быть использована в команд- ной строке для выборочного выполнения отдельных частей файла distfile. В списке исходных файлов могут быть использованы такие символы подстановки (замещения) как * и ?. Кроме того, правила могут содержать примитивы, являющиеся действиями, кото- рые команда rdist должна предпринять при обновлении дистанционных файлов. При митивы перечисляются под каждым правилом и отделяются дру| от друга ючкой с запятой. Ниже приведены некоторые из наиболее употребительных примитивов.
II Команды 583 except ишнфайш. ., Не распространяет указанные файлы. except pal шаблон...; Не распространяет файлы, имена которых совпадают с шаблоном. install [опции] меспю-пазначения; Инсталлирует файл с отличным от исходною именем, что удобно для передачи файлов в обличающийся от исходного каталог. notify адрес... ', Отправляет по указанному адресу электронную почту, в которой пере- числяются все обновленные файлы и любые возникшие ошибки. special [имя файла]... командная-строка\ Запускает команду оболочки после обновления каждого перечислен- ного файла. Если файлы не указаны, выполняет команду для каждого файла, обновляемого согласно данному правилу. cmdspecial командная-строка\ Запускает команду оболочки после обновления всех файлов. Пример А виг такое содержимое distfile позволяет автоматически осуществлять рестарт Web-сервера Apache на каждом из перечисленных серверов после того, как все его конфигурационные файлы будут обновлены: WEBSERVERS=(apple pear plum) FILES=(/usr/local/apache/conf) web: ${FILES} -> ${WEBSERVERS} cmdspecial "/usr/local/apache/bin/apachectl restart"; Каталог, указанный в переменной FILES, будет распространен на хосты, перечис- ленные в WEBSERVERS. readelf выводит информацию о файлах формата ELF. —notes ] [ -г I —relocs ] [ -d | —dynamic ] [ -V | —version-info ] ... . . -1 =pubnames, =ranges]] Синтаксис readelf [ -a | —all ] [ -h | —file-header ] [ -11 —program-headers | —segments ] (_S --section-headers | —sections ] [ -e j —headers ] [ -s | —syms | —symbols ] [ —n —notes][-r|—relocs] [-d|—dynamic][-v|— [-D —use-dynamic][-X numberj—hex-dump-number] [-w[liapr]|—debug-dump[=info, =linef =abbrevf : (—histogram][-v|—version][-H|—help] elffile. Программа readelf выводит информацию об одном или более файлов elffile. По меньшей мере должна быть указана хотя бы одна опция кроме -V или -Н. Опции -a, —all Указывает одновременно несколько опций: --file-header --program-headers
584 II Команды -е, —headers —sections —symbols -relocs —dynamic --notes --version-info -h, --file-header Выводит информацию, содержащуюся в заголовке файла ELF - 1, --program-headers, —segments Выводит информацию, содержащуюся в заголовке файлового сегмен- та, если таковой имеется. - S, -section-headers, —sections Выводиг информацию, содержащуюся в заголовке файловой секции, если таковая имеется. - s, — syms, —symbols Выводит элементы секции, содержащей таблицу символов (идентифи- каторов) файла, если таковая имеется. Выводит все headers (заголовки) файла, что эквивалентно опциям -h, -1, -S. Выводит содержимое сегмента Note, если таковой имеется. Выводи г содержимое секции настройки файла, если таковая имеется. Выводит содержимое динамической секции файла, если таковая имеется. —histogram -n, --notes -г, —relocs -d, --dynamic - V, -version-info Выводит содержимое секций версий, если таковые имеются. - D, --use-dynamic Предлагает программе readelf использовать именно таблицу символов (идентификаторов) в динамической секции файла. - х number, —hex-dump=m/znZ>er Выводит содержимое указанной секции number как шестнадцатерич- ный дамп. -wfliapr], — debug-dump[=info, =line, =abbrev, =pubnames, ^ ranges] Выводит содержимое отладочных секций файла, если таковые имеют- ся. Одна из необязательных букв или слов, следующих за переключате- лем, указывает тип информации отладочных секций. Выводит гистограмму блока, содержащего размеры (длины) символов, когда распечатываются таблицы символов (идентификаторов). Выводиг информацию о версии программ^. Выводит список опций программы read elf. -v, — version -Н, - help
II. Команды 585 readmsg извлекает сообщения из почтовой папки Синтаксис readmsg [-anhp][-f folder][-w weedlist [selection...]] Программа readmsg выбирае! почтовые сообщения из почтовой папки. Одно из полезнейших применений этой программы заключается в том, что если вы составляете в редакторе ответ на почтовое сообщение, read msg может вытащить копию ориги- нального сообщения в буфер редактирования. Когда read msg запускается из elm, она действует несколько по-другому, нежели напрямую запущенная из командной строки. Чтобы указать извлекаемые сообщения, применяется аргумент selection. Если в качестве значения аргумента определен символ *, из почтового ящика будут выби- раться все сообщения. Можно указать список номеров сообщений, разделенных про- белами. При этом символы 0 и $ указывают на последнее сообщение почтового ящи- ка. В качестве аргумента selection может быть определен некоторый текст для сопос- тавления. В этом случае извлекается почтовое сообщение, содержащее заданный текст. Опции - f folder Использует указанную папку folder вместо взятого по умолчанию поч- тового ящика входящих сообщений. - w weedlist Выводит на экран список требующихся почтовых заголовков. - h Игнорирует -w yveedlist и при выводе текста сообщения на экран вклю- чает в него полный заголовок сопоставленного сообщения или сооб- щений. - п Игнорирует -w weedlist и при выводе исключает все заголовки. - р Использует Ctrl+L (прогон, или протяжка страницы) между заголовка- ми сообщений. - а Выводит все сообщения, содержащие сопоставленный по шаблону текст, а не только первое. Чтобы этот флаг возымел действие, в команд- ной строке обязательно должен быть указан шаблон. Если пользователь запускает readmsg из elm, следует учесть ряд отличий. В роли взятой по умолчанию почтовой папки в этом случае выступает текущая, обрабатывае- мая в elm папка, а вовсе не обязательно папка входящих сообщений пользователя. В командной строке можно не указывать аргумент selection. В этом случае read msg извлекает сообщения, которые пользователь уже выбрал в elm. Если пользователь уже работает с некоторыми сообщениями, помеченными тегами, эго должны бьпь все помеченные сообщения; в противном случае будет выбрано текущее обрабатываемое сообщение. Обычно readmsg использует номера сообщений в соответс твии с их порядком рас положения в почтовом ящике. Но, если readmsg вызвана ib elm и при этом не ыдана опция -f, номера сообщений будут отсортированы гак, как эго вынолняс! elm при вы- воде их на экран.
II Команды Обычно readnisg выбирает и выводит несколько заголовков почтовою сообще- ния. По умолчанию в список включаются такие заголовки: Subject: From: То: Сс: Date: Любой заголовок, начинающийся с Apparently (очевидио). Выбор заголовков осуществляется с помощью опции -w. Аргументом к этой опции служит список имен заголовков, разделенных пробелами или запятыми. В данном списке могут содержаться сокращенные имена заголовков: элемент From будет сопоставлен с From_ (подчеркивание может использоваться для представления пробела) или с From:. Список может начинаться с восклицательного знака, что подавляет приведен- ный за ним заголовок. Если в упомянутом списке не содержится никаких заголовков, по умолчанию принято следующее: readmsg -w "Subject: From: To: Cc: Apparently Date:" reboot - перезагружает систему. Синтаксис reboot [-n][-w][-d][-f][-i] Делает соответствующую запись в /var/Iog/wtmp и предлагает ядру выполнить пе- резагрузку системы. Если команда reboot вызвана, когда система не находится на уровне выполнения 0 или 6. вместо нее будет вызвана shutdown с флагом -11 или -г. Опции - п Не выполняет sync перед перезагрузкой. - w Фактически не выполняет перезагрузку, а лишь делает запись об этом в /var/Iog/wtmp. - d Ничего не записывает в файл /var/Iog/wtmp. - f Заставляет выполнить перезагрузку, а не shutdowи. - i До перезагрузки завершает работу всех сетевых интерфейсов. Данная команда является привилегией суперпользователя. reconfig - преобразует старый файл Xconfig в новый XF86Config. Синтаксис reconfig Xconfig XF86config
il. Команды 587 1 Ipoiрамма reconfig преобразует Xcon tig-конфш урационныи файл X Window вер- сии ниже 3.1. в конфигурационный файл XF86Config. В насюящее время использу- ется конфш урационныи файл нового образца но имени XF86Config, куда более ин- формативный, чем Xconfig. Поэтому после преобразования требуется ручная коррек- з ировка. устанавливает системные дату и время. redhat-config-date Синтаксис redhat-config-date Вы можете применять графическое инструментальное средство X Window под на- званием redhat-config-date. В окне терминала (xterm) сеанса X наберите следующую команду: $ redhat-config-date & Но можно также запустить redhat-config-date, выбрав из основного меню (Red Hat Linux 9) System Settings (Системные параметры) ->Date and Time (Дата и вре- мя). Вам сразу же будет предложено ввести пароль суперпользователя, если только вы уже не запустили сеанс регистрации в качестве суперпользователя. Эта клиентская про- грамма позволяет установить дату и время, используя календарь и временные поля. Вы также можете добиться обновления информации даты и времени через сеть, на- брав имя хоста дистанционного NTP-сервера. Щелкните на клавише Time Zone (Часо- вой пояс), чтобы изменить или проверить часовой пояс вашей системы. Текущий ча- совой пояс системы назначается с помощью файла /etc/localtime, который является копией файла БД часовых поясов. Эта БД расположена под каталогом /usr/share/ zoneinfo. Упомянутый файл изменится, если вы с помощью redhat-config-date поме- няете часовой пояс. Пример Как выглядит главное меню программы redhat-config-date (русская версия Red Hat Linux 9) вы можете увидеть на следующей странице. redhat-config-keyboard конфигурирует клавиатуру. Синтаксис redhat-config-keyboard Вы можете применять графическое инструментальное средство под названием redhat-config-keyboard, чтобы сконфигурировать клавиазуру, используя текстовую консоль. Если вы не используете X, команда redhat-config-keyboard может быть за- пущена, ч юбы поменять шп клавиатуры и язык. Конфш урацил клавиатуры хранится в файле /etc/sysconfig/keyboard. Если вы используете X, в окне терминала (xtenn) се- анса X наберите следующую команду;
588 II. Команды Пример к команде redhat-config-date (см. предыдущую страницу). Главное меню программы redhal-config-date (русская версия Red Hat Linux 9) redhat-config-keyboard продолжение: $ redhat-config-keyboard & Вам сразу же будет предложено ввести пароль суперпользователя, если только вы уже не запусти- ли сеанс регистрации в ка- честве суперпользователя. Выполните прокрутку, вы- бирая из списка требуемый язык, затем щелкните ОК, чтобы сохранить произве- денные изменения. Пример Так выглядит клиент red hat-con fig-keyboard (русская версия Red Hat Linux 9), используемый в сеансе X:
II. Команды 589 redhat-config-network конфигурирует ваш клиентский сетевой хост. Синтаксис redhat-config-network Вы можете запустить данную команду в окне терминала (xterm) сеанса X. Но мож- но также запустить redhat-config-network, выбрав из основного меню (Red Hat Linux 9) System Settings (Системные параметры) -> Network (Сеть). Вам сразу же будет предложено ввести пароль суперпользователя, если только вы уже не запустили сеанс регистрации в качестве суперпользователя. Если вы проинсталлировали Red Hat Linux на компьютере с сетевой платой, то пос- ле старта redhat-config-network возникнет экран, подобный представленному далее в примере. Щелкните на клавише DNS, чтобы сконфигурировать установки этой систе- мы, имя хоста, маршрут поиска DNS. Щелкните на клавише Hosts (Узлы), а затем на кнопке ADD (Добавить) или Edit (Отредактировать), чтобы создать или отредакти- ровать элемент в вашем системном файле /etc/hosts, например, добавляя IP-адреса, имена хостов и их псевдонимы в своей сети. Вы также можете автоматически или вруч- ную установить устройство Ethernet, щелкнув на клавише Devices (Устройства). Пример Используйте redhat-config-network, чтобы начать конфигурировать ваш клиентс- кий сетевой хост. - В X Файл Профиль Справка Создать Изменить Скопировать Удалить ^Устройства ' Оборудование jgNS j Узлы |__________________________________________ Здесь вы можете настроить оборудование, физически подключенное к компьютеру. Описание Тип ' Устройство RealTek RTL 813Э. SMC EZ Са Elhamat etho redhat-config-securitylevel создает сетевой заслон. redhat-config-securitylevel
590 II Команды До rex пор пока любой имееч доступ к вашей системе, физический или через сеть, до тех пор информация, хранящаяся в сети, подвергайся опасности. Чем больше дос- тупа - тем выше угроза. Если ваша сеть подключена к Internet, опасения насчет того, что кто-то проникнет в ваш компьютер, весьма реальны. Первое и самое главное на компьютере, подключенном к Internet, всегда использо- вать аппаратную или программную защитную систему, или брандмауэр. Наряду с кли- ентом lokkit на основе текстовой консоли в состав Red Hat Linux включено графичес- кое клиентское программное обеспечение под названием redhat-config-securityleveL позволяющее поддерживать конфигурацию брандмауэра. Используя redhat-config-security level, проще всего создать простой набор пра- вил фильтрации сетевых пакетов, позволяющий принимать или отвергать поток паке- тов TCP или UDP, проходящий через Ethernet-плату хоста или уполномоченное уст- ройство, такое как ethO или рррО. Правила создаются на ходу и тут же включаются в работу. Вы можете запустить данную команду в окне терминала (xterm) сеанса X. Но мож- но также запустить redhat-con fig-security level, выбрав из основного меню (Red Hat Linux 9) System Settings (Системные параметры) -^Security Level (Уровень без- опасности). Вам сразу же будет предложено ввести пароль суперпользователя, если только вы уже не запустили сеанс регистрации в качестве суперпользователя, и затем возникнет окно графического клиента (см. далее пример). Вам предстоит определить уровень безопасности (см. Security Level:) из трех имеющихся: High (высокий), Medium (средний), No firewall (без брандмауэра). Далее придется указать, будете ли вы использовать принятые по умолчанию правила для брандма- уэра (Use default firewall rules) или предпочитаете свои собст- венные (Customize), в последнем случае необходимо пометить до- верительные устройства (Trusted devices:) и разрешенные входя- щие пакеты (Allow incoming:), например, запросы DHCP и/или входящие через SSH пакеты. Пример Используйте redhat-config- sec uritylevel, чтобы быстро сге- нерировать прямо в памяти прави- ла брандмауэра для Linux. Так выглядит основное окно:
II Команды 591 redhat-config-services управляет запуском системных служб и устанавливает уровень их функционирования. Синтаксис redhat-config-services Вы можете применять графическую версию команды chkconfig под названием redhat-config-services. В окне терминала (xterm) сеанса X наберите следующую ко- манду: # redhat-config-services & Но можно также запустить redhat-config-services, выбрав из основного меню (Red Hat Linux 9) System Settings (Системные параметры) ->Server Settings (Настрой- ка серверов) -> Services (Сервисы). Вам сразу же будет предложено ввести пароль суперпользователя, если только вы уже не запустили сеанс регистрации в качестве су- перпользователя. Эта клиентская программа является графическим редактором уров- ней функционирования, или выполнения. Используя клиента службы конфигурации, вы можете выбрать в меню Edit Runlevel текущий уровень, требуемую службу и затем щелкнуть на кнопках Start, Stop или Restart панели инструментов. Пример Вот как выглядит главное меню "Настройка служб" (русская версия Red Hat Linux 9): Для редактирования выбрана системная служба kudzu.
592 II. Команды reiserfsck привернет ь Linux файловую систему ReiserFS Синтаксис reiserfsck [-afV][—check|—fix-fixable |—rebuild-sb|—rebuild-tree| —clean-attributes][-j|—journal-device device] [—no-journal-available][-z|—adjust-file-size] [—S|—scan-whole-partition][-1|—logfile filename][-n|—nolog] j_q —quiet] device Команда reiserfsck осуществляет поиск на устройстве (обычно в разделе диска) файловой системы ReiserFS, вновь повторяет необходимые транзакции, азатем прове- ряет и иногда восстанавливает файловую систему. Опции —check Осуществляет проверку согласованности (непротиворечивости) файло- вой системы и сообщает (но не восстанавливает) о всех обнаруженных несоответствиях. Данная опция может применяться лишь на файловых системах, монтируемых в режиме "только для чтения". Работа reiserfsck с опцией —check может завершиться с кодом 0, что указывает на от- сутствие повреждений, с кодом 1 - повреждение может быть "закреп- лено" с помощью -fix-fixable, с кодом 2 - требует — rebuild-tree. — fix-fixable Восстанавливает некоторые виды повреждений, не требующие пере- стройки полного дерева файловой системы, включая обнуление указа- телей поврежденных блоков данных, корректировку st size и st_blocks для каталогов, удаление сбойных элементов каталога. —rebuild-sb Восстанавливает суперблок в разделе с файловой системой ReiserFS. —rebuild-tree Перестраивает полное дерево файловой системы с помощью узлов-ли- стьев, найденных на данном устройстве. —clean-attributes Очищает зарезервированные поля пунктов Stat-Data. - j device, —journal-device device Снабжает именем устройства с текущим журналом файловой системы. Эта опция требуется, если журнал расположен на отдельном устрой- стве. - z, —adjust-file-size Предполагает удаление "дыр" в конце файла, корректируя размеры фай- лов, больших, чем смещение последнего обнаруженного байта. - 1 filename, —logfile filename Заставляет помещать отчет о любых найденных повреждениях в ука- занный файл журнала вместо стандартного файла ошибок. - n, —nolog Запрещает сообщать о любых видах повреждений.
II. Команды 593 Q» 4uiet Запрещает сообщать о ходе самою процесса. -a Ilenaiaer информацию о файловой системе и завершает про!рамму —no-journal-available Не открывает журнал. -S | —scan-whole-partition Строит дерево всех блоков ущройства. -V, -f Выводит информацию о версии программы и завершает ее выполнение. Программа rciserfsck имеет еще несколько довольно-таки опасных опций, невер- ные действия с которыми могут привести к потере данных. Здесь эти опции не приве- дены. Пример Смонтируем файловую систему в режиме "только для чтения": # mount -о го /dev/loopO Rab2 t reiserfsck /dev/loopO <------------------------------reiserfsck, 2002--------------------------> reiserfsprogs 3.6.4 ********** *********************************************************g********** ** If you are using the latest reiserfsprogs and it fails please email bug ** ** ** ***************************************************************************** Will read-only check consistency of the filesystem on /dev/loopO Will put log info to 'stdout' Do you want to run this program? [N/Yes](note need to type Yes if you do): Yes 11ИРШН reiserfsck —check started at Sat Oct 18 14:23:19 2003 Filesystem seems mounted read-only. Skipping journal replay. Checking internal tree..finished Comparing bitmaps..finished Checking Semantic tree: finished No corruptions found There are on the filesystem: Leaves 1 Internal nodes 1 Directories 3 Other files 5 На сообщение программы Do you want to run this program? [N/Yes|(note need to type Yes if you do): следует ответить Yes. В протоколе произведенной проверки наибо- лее существенной является фраза No corruptions found, свидетельствующая об от- сутствии повреждений.
594 II Команды reiserrsiune выполняет настройку журнала файловой системы ReiserFS. Синтаксис reiserfstune [-f ][-j|—journal-device file][—no-journal-available] [—journal-new-device file][-s|—journal-new-size л] [—о|—journal-new-offset n][-t|—transaction-max-size n] [~u|—uuid uuid][-1|—label label] device Команда reiserfstune позволяет изменить два параметра: размер журнала и макси- мальный размер транзакций (точнее сказать, максимальное количество блоков журна- ла на транзакцию), а также может перенести журнал в другое место на указанное уст- ройство (обычно раздел диска). Старый журнал в зависимости от применяемых опций мог оставаться неиспользуемым или подлежал отключению. Что же касается перено- са журнала на новое место, то вновь модифицированная после такой операции файло- вая система могла даже и не монтироваться без установки ядра 2.5 (или требовалась специальная заплата). Опции - j | -journal-device Jile Определяет имя блочного устройства, где располагается текущий жур- нал файловой системы. Эта опция гребуегся, если журнал уже суще- ствует на отдельном от основной системы устройстве. Если же не ука- зать эту опцию, reiserfstune предполагает, что журнал находится на основном устройстве. —no-journal-available Разрешает программе reiserfstune продолжать работу, даже когда те- кущий блок устройства с журналом становится недоступным, скажем, из-за сбоя диска. — joumal-new-device Jile Определяет имя блочного устройства, где будет располагаться новый журнал файловой системы. Если же не указать эту опцию, reiserfstune предполагает, что журнал остается тот же, что и раньше. - S | -journal-new-size п Определяет размер журнала в блоках. Когда журнал расположен на от- дельном устройстве, по умолчанию его размер равен количеству бло- ков самого устройства. Когда журнал расположен на основном устрой- стве, по умолчанию его размер равен тому количеству блоков, что еще при создании файловой системы выделила команда mkreiserfs. Мини- мальный размер в обоих случаях равен 513. - о [ — joumal-new-offset п Определяет смещение (по умолчанию - нулевое), откуда начинается журнал, расположенный на отдельном устройстве. Эта опция не оказы- вает никакого влияния, когда журнал расположен на основном устрой- стве.
II. Команды 595 - t j — Iransaclion-inax-size n Задает параметр, определяющий максимальное количество блоков жур- нала на транзакцию. Максимально возможное значение но умолчанию достигает 1024 и должно быть меньше половины размера всего журна- ла. - f | —force Вынуждает reiserfstune менять журнал файловой системы, что был создан ранее. Обычно reiserfstune отказывается менять ранее создан- ный журнал. Если задать эту опцию более одного раза, то будет отме- нен запрос по поводу согласия выполнять операцию. -make-journal-standard Резервирует на основном устройстве область под стандартный журнал размером 8193 блока. Как было сказано ранее, если ваша файловая си- стема имела нестандартный журнал, то она не могла бы быть смонтиро- вана ядром. Эту ситуацию можно было бы разрешить при условии нали- чия резервной области, если вы конвертируете стандартный журнал в нестандартный. Эту опцию следует указать, когда вы возвращаете жур- нал обратно, и даже без перемещения, если журнал уже размещен на основном устройстве. -и | —uuid uuid Устанавливает UUID данной файловой системы в указанное значение (см. команду uuidgen), состоящее из наборов шестнадцатеричных цифр, разделенных дефисами. -1 | —label label Устанавливает метку тома данной файловой системы; максимальная длина метки достигает 16 символов. Если задаваемая длина метки пре- восходит 16 символов, обрезает ее. Пример # reiserfstune /dev/loopO -journal-new-device ghgh -f <-----------------------------reiserfstune, 2002------------------------- > reiserfsprogs 3.6.4 reiserfstune: Current journal parameters: Device [0x0] Magic [0x692dll59] Size 8193 blocks (including 1 for journal header)(first block 18) Max transaction length 1024 blocks Max batch size 900 blocks Max commit age 30 reiserfstune: ATTENTIONI Filesystem with standard journal found. Continue (y/n): у В этом примере ghgh является файлом блочного устройства и предназначается под журнал.
596 II Команды renice меняет приоритеты запущенных процессов. К Синтаксис renice priority [ [-р] pid_][[-g] РЯГР—][[-«] user—] Меняет планируемый приоритет одного или более запущенных процессов, устанав- ливая значение priority. Опции - g PSrP Выбирает процессы с указанным идентификатором группы. - u user Выбирает процессы определенных пользователей. - р pid Выбирает процесс с определенным идентификатором. Действует по умолчанию. Аргумент priority указывает приращение планируемого процесса. Обычно пользователи могут менять приоритеты лишь своих “собственных" про- цессов в отличие от суперпользователя, который может менять приоритеты любых процессов. Кроме того, обычные пользователи могут лишь постепенно увеличивать значение приращения в диапазоне от 0 до 20, что способствует снижению планируемо- го приоритета. В то время как суперпользователь может устанавливать любое значе- ние приоритета. Пример # renice -5 -u misha 501: dd priority 1, new priority -5 f Старый приоритет (1) задания пользователя misha заменен на -5. repquota - суммирует квоты по файловой системе. Синтаксис repquota [-vug] filesystem... repquota [-avug] Распечатывает итоговые данные по дисковым услугам и квотам для указанной фай- ловой системы filesystem. Для каждого пользователя печатается текущее количество его файлов и объем занимаемого дискового пространства (килобайты). Опции - а Информирует о всех квотируемых файловых системах из файла /ctc/fstab. -v Сообщает обо всех квогах, даже если они не были задействованы.
II. Команды 597 - g Сообщает о квотах групп. - и Сообщает о квотах пользователей (по умолчанию). Только суперпользователь может затребовать отображение любых квот помимо своих собственных. Пример # repquota -u / Block limits File limits User used soft hard grace used soft hard grace root 960664 0 0 67017 0 0 daemon — 8 0 0 3 0 0 news 5712 0 0 232 0 0 uucp 1048 0 0 16 0 0 games — 0 0 0 39 0 0 gdm —• 4 0 0 1 0 0 xfs 8 0 0 3 0 0 nobody 4 0 0 1 0 0 sofia 288 1024 4096 56 128 256 misha 1 5716 0 0 610 0 0 устанавливает TERMCAP и терминальные установки, указывающие текущий размер окна xterm. resize Синтаксис resize [-u|-c][-s [row col]] Программа resize печатает команду оболочки для установки переменных окруже- ния TERM и TERM САР, указывающих текущий размер окна xterm, из которого запу- щена команда. Вывод команды resize удобно перенаправить в файл для последующе- го считывания. Опции - и Будет генерировать команды оболочки Bourne, даже если текущая обо- лочка пользователя не является /bin/sh. - с Будет генерировать команды оболочки С, даже если текущая оболочка пользователя не является /bin/csh. - s [row col] Будет использовать управляющие последовательности консоли Sun вме- сто управляющих символов в стиле VTI00. Параметр row обозначает ряды, или строки, экрана, a col -столбцы. Пример $ resize>/tmp/foo $ . /tmp/foo $
598 II Команды восстанавливает файлы или файловые системы, ранее зарезервированные с помощью dump restore Синтаксис restore -С [-ckHvy][ b blocksize][-D filesystem][-f fiie][-s fileno] [-T directory] restore -i [-chkmMNuvy][-b blocksize][-f fiie][-s fileno][-T directory] restore -R [-ckMNuvy][-b blocksize][-f file][-s fiieno][-T directory] restore -r [-ckMNuvy][-b blocksize][-f /iie][-s fiieno][-T directory] restore -t [-chkMNuvy][-b blocksize][-f fiie][-s fileno][-T directory] [file...] restore -x [-chkmMNuvy][~b blocksize][-f fiie][-s fiieno][-T directory] [file...] Команда restore выполняет функции, обратные функциям команды dump: может быть произведено полное восстановление файловой системы с учетом также инкремен- тальных (частичных) копий. Единичные файлы и деревья каталогов могут быть восста- новлены с полных или инкрементальных копий; восстановление может быть также про- изведено через сеть. Аргументы file и directory указывают восстанавливаемые файлы и каталоги. Опции -С Выполняет сравнение восстанавливаемого содержимого с файлами на диске. -i Предусматривает интерактивный режим восстановления файлов. Пос- ле чтения с копии информации о восстанавливаемом каталоге програм- ма restore предоставляет интерфейс в виде оболочки, позволяющей выбирать определенные файлы. Ниже перечислен набор команд, необ- ходимых для этого: add [a/g] текущий каталог или указываемый аргумент arg добав- ляется к списку извлекаемых файлов cd arg меняет текущий рабочий каталог на указываемый arg delete [rzrgj текущий каталог или указанный аргумент eng убирается из списка восстанавливаемых файлов extract извлекаются все файлы списка; restore запросит том. который пользователь желаетсмон гировать; самый про- стой и быстрый способ восстановления файлов начат ь с последнего тома и последовательно идти к первом' help печатает информацию о доступных коман чах Is [arg] печатает содержимое Текущего нлн \ ка шнного клткчо- га arg', элементы, помеченные для воесганоннсння. вы- водятся с предшествующим символом *; если vciauoB-
II. Команды 599 pwd quit setmodes verbose -1 -X -b blocksize -с D filesystem -f file лен флаг-v, буде1 также распечатан дескриптор каждо го элемента печатает полный маршрут к текущему рабочему ката- логу немедленно завершает рабочу restore, даже если спи- сок для восстановления не пустой все каталоги, добавленные к списку, сохраняют своих собственных владельцев, режимы и временные метки, эта информация не извлекается с текущей копии приказывает команде Is распечатать дескрипторы всех элементов, а также информацию об извлекаемых фай- лах Требует определенную магнитную ленту многотомного набора для по- вторного запуска полного восстановления, что обычно полезно в слу- чае прерывания восстановления. Восстанавливает (перестраивает) файловую систему; выходная файло- вая система должна быть отработана с помощью mke2fs, смонтирова- на, перед восстановлением должен быть осуществлен переход в ката- лог пользователя; предполагается восстановление с нулевого уровня резервирования. Если копия нулевого уровня успешно восстановлена, с помощью флага -г можно восстановить любую необходимую инкре- ментальную копию. В каталоге root программа restore оставляет файл restoresymtable, передающий необходимую информацию между ста- диями инкрементального восстановления. Этот файл будет уничтожен после проведения последнего инкрементального восстановления. Будут распечатаны имена аргументов file, если они обнаружены в ко- пии. Если отсутствуют аргументы file, будет распечатан каталог, чье содержимое хранится в копии. С носителя информации будут считываться поименованные файлы. Если поименованный файл является каталогом, чье содержимое хранится в копии, и флаг -h не указан, будет осуществляться рекурсивное восста- новление каталога. Владелец, время модификации и режимы будут по возможности восстановлены. Если отсутствуют аргументы, определя- ющие каталоги и файлы, будет восстановлен каталог root. Задает размер блока (килобайты). Если опция -Ь не задана, restore пы- тается определить размер блока динамически. Обычно restore пытается динамически определить формат файловой системы: новый или старый (до версии 4.4). Данный флаг отменяет эту попытку и разрешает чтение копии в старом формате. Разрешает пользователю указывать имя файловой системы filesystem, когда программа restore используется с опцией -с. Параме1р//7е определяет имя файла, содержащего воссшнлв'шваемую ко1шю;//7е может быть специальным файлом устройства /<1ст/stO (лен-
600 II Команды точный накопитель) или /dev/sdal (накопитель на жестком диске), - а также обычным файлом. Дефис, стоящий в качестве параметра file, ука- зывает на стандартный ввод. Если имя файла задано в формате host file или user@hostfile, где host задает имя сетевого узла, a user - имя пользователя, то программа restore производит считывание поимено- ванною файла на дистанционном узле с помощью rmt. - к Использует аутентификацию Kerberos для контакта с дистанционным ленточным сервером. - h Извлекает актуальный каталог вместо перечисленных файлов. - in Извлекает по значению дескриптора вместо имени файла. - М Задействует многотомные возможности, при этом имя файла, задава- емого вместе с флагом -f, рассматривается в виде префикса prefix. Про- изводится восстановление с последовательности томов: prefixOOl, prefixffll и т.д. N Приказывает restore вместо восстановления просто распечатать име- на файлов. - s fileno В случае многотомной копии выполняет чтение файла по указанному номеру fileno. Файлы нумеруются, начиная с 1. - Т directory Разрешает пользователю использовать каталог directory для хранения вре'менных файлов. По умолчанию используется каталог /tmp. Эта оп- ция полезна, если приходится восстанавливать файлы после загрузки с дискеты, где явно недостаточно места для проведения восстановления. - и Программа restore может генерировать предупреждающие сообще- ния, если восстанавливаемые файлы уже существуют в выходном ката- логе. Флаг -и приказывает restore удалять старые компоненты до со- здания новых. - v Обычно restore выполняет свои функции "молча"; флаг -v предполага- ет документирование выполняемых действий. - у Не спрашивает пользователя, продолжать ли восстановление в случае ошибки ввода/вывода. Пытается пропустить сбойный блок (блоки) и продолжить восстановление. Программа restore может использовать следующие переменные окружения: ТАРЕ если опция -f не задана, использует для восстановления устройство, ука- занное этой переменной; переменная ТАРЕ может быть определена в следующих форматах: tapename, host:tapename или user@host:name TMPDIR определяет каталог, используемый вместо /tmp для временных файлов RMT определяет маршрут к программе rmt RS Н определяет команду вызова дистанционной оболочки (rsh, ssh), исполь- зуемую при восстановлении посети; если эта переменная не установле- на, используется команда remd
II. Команды 601 Пример Программ^! restore вместе с mke2fs и dump может использоваться для модифика- ции параметров — собственно размера и величины блока — файловой системы: # mke2fs /dev/sda2 i mount /dev/sda2 /mnt/filesystem * cd /mnt/filesystem # restore -rf /dev/stO t rev выводит строки файла в обратном порядке. Синтаксис rev [file] Копирует указанный файл file на стандартный вывод, располагая содержимое каж- дой его строки в обратном порядке. Если никакой файл не указан, считывает стандарт- ный ввод. позволяет просматривать почтовое сообщение в формате richtext. richtext Си .ч г аксис richtext [-с][-f][-m][-п][-о][-р][-s charset][-t][file] Программа richtext позволяет просматривать файлы richtext ("обогащенного", отформатированного текста) — обычно это сообщения электронной почты - на ASCII- терминалах (текстовых терминалах). В стандарте MIME такие сообщения определя- ются парой text/richtext. Используя возможности termcap (БД возможностей терми- нала), удается просматривать текст, содержащий фрагменты полужирного шрифта, кур- сива и подчеркиваний. При просмотре отрабатываются команды, выполняющие отступ, центрирование, а также осуществляющие выдержки (цитаз ы) и включающие электрон- ную подпись. Словом, речь идет о несложном языке ссылок, который не следует пу- тать с Microsoft’s RTF. Рассматриваемый язык - часть стандарта MIME для мультиме- дийной почты в Internet. Программа richtext берет низкоуровневый rich text-вывод на свой стандартный ввод (а может считывать из файла file}., создает форматированный текст и направляет его на стандартный вывод, в качестве которого использует терминал. Изначально использу- ется программой metamail. Опции -С Корректирует низкоуровневый файл формата richtext и записывает его скорректированную версию на стандартный вывод, но не выполняет ни- какого форматирования.
602 fl Команды -f -m -n -o -p -s charset Указывает программе richtext на необходимость использовать коды управляющих последовагельностей termcap для вывода полужирного текста и курсива, даже если программа вызывается в конвейере. Интерпретирует в японском и корейском языках символ < в качестве действительного символа "меньше чем", а не в качестве начала коман- ды richtext. Просит программу richtext не вносить никаких корректировок в полу- чаемый файл формата richtext. Использует двойную печать для отображения подчеркивания на таких терминалах, где это более пригодно. Использует в качестве пейджера программу, определяемую перемен- ной окружения MMUSEPAGER и выдающую сообщение Press RETURN to go on (для продолжения нажмите RETURN) после каждо- го очередного заполнения экрана. Использует указанный набор символов, где параметр charset может при- нимать следующие значения: us-ascii iso-2022-jp iso-2022-kr Запрещает использовать коды управляющих последовательностей termcap для вывода полужирного текста и курсива, даже если файл формата richtext выводится на терминал. А вместо этого использует для вывода такого текста символы * и _ (подчеркивание). - печатает информацию о RCS-файле. Нод Синтаксис rlog [option] file... Печатает сообщения регистрации и другую информацию о RCS-файле file. Маршруты, сопоставляемые с суффиксом RCS, соответствуют RCS-файлам, все остальные - рабочим файлам. Имена назначаются по парам (см. ci). Команда rlog печатает следующую информацию о RCS-файлах: маршруты к RCS- файлу и рабочему файлу, head (заголовок последовательности), ветвь, используемая по умолчанию, список доступа, блокировки, символические имена, суффикс, общее количество версий, количество версий, выбранных для печати, текст описания. Для выбранных версий все перечисленное располагается поэлементно, в обратном хроно- логическом порядке для каждой ветви. Формат RCS-файла приведен в приложении V. Для каждой версии rlog печатает номер версии, автора, дату/время, состояние, ко- личество добавленных/удаленных строк по отношению к предшествующей версии, ин- дикатор блокирования, если оно выполнено, сообщение регистрации. По умолчанию время выводится в формате UTC, который может бы и» перекрыт с помощью опции -г.
II Команды 603 Без опций команда rlog печатает полную информацию. Опции ограничивают вывод команды rlog. Опции L Hi норирует неблокированные RCS-файлы, что удобно в комбинации с опциями -h, -I, -R. - R Печатает только имя RCS-файла. - h Печатает только маршруты к RCS-файлу и рабочему файлу, head, ветвь, взятую по умолчанию, список доступа, индикатор блокирования, сим- волические имена, суффикс. - t Печатает то же5 что и для опции -h, а также текст описания. - N Не печатает символические имена. -Ь Печатает информацию о версиях на ветви, взятой по умолчанию; обыч- но это наивысшая ветвь на стволе (trunk). -ddates Печатает информацию о версиях, проверяемых в определенном пара- метром dates диапазоне дата/время. Для диапазонов в форме dl<d2 или d2>dl выбираются только версии, лежащие между dl и d2. Для диапазона в форме d выбирается единственная самая последняя вер- сия, датированная d или ранее. Строки дата/время в форме d, dl и d2 указываются в свободном формате (см. со). Строки, содержащие сим- волы "больше", "меньше", должны быть заключены в кавычки. -l[/odters] Печатает информацию только о блокированных версиях. Параметр lockers - это список имен зарегистрированных пользователей, разде- ленных запятой. Допускаются блокировки файлов только для пользо- вателей, занесенных в список lockers. -r[revf$/o,w] Печатает информацию лишь о версиях из списка revisions. Версии в этом списке разделяются запятыми. Диапазон в форме revl :rev2 под- разумевает версии от revl до rev2 на той же самой ветви; '.revl опреде- ляет версии от начала ветви до revl, включая revl; revl: - от версии revl и до конца ветви, содержащей revl. -ss tales Печатает информацию о версиях, чьи индикаторы состояния соответ- ствуют перечисленным в строке states. Индикаторы состояния разде- ляются запятыми. -w[/og/ws] Печатает информацию о версиях, проверяемых пользователями, чьи имена, разделенные запятыми, хранятся в списке logins. Если параметр logins отсутствует, предполагается имя зарегистрировавшегося пользо- вателя. -V Печатает версию RCS. -V/7 Эмулирует для RCS помер версии w, создавая сообщения регистрации (см. со). ^suffixes Чтобы охарактеризовать RCS-файлы, применяет суффиксы suffixes.
604 II Команды -zzone Указывает формат вывода даты, а также задает часовой пояс голе, при- нимаемый [Ю умолчанию для параметра date в опции -<Xdale. Параметр zone может быть пустым (по умолчанию), числовым смешением в фор- мате UTC или же специальной строкой LT, определяющей локальное время. Если параметр zone пустой (по умолчанию), используется тра- диционный для сист емы RCS формат UTC без указания часового пояса и со слэшами, разделяющими части даты; в противном случае вывод даты производится в формате ISO 8601 с указанием часового пояса. Код завершения rlog равен нулю, если все операции были успешны. Примеры Если пользователь хочет получить список файлов, выбранных и заблокированных на данный момент времени, следует задействовать такую команду: $ rlog -L -R RCS/* RCS/prim39rv RCS/prim41,v RCS/prim42,v § Чтобы напечатать полную информацию о файлах, нужно запустить команду: $ rlog RCS/* RCS file: RCS/prim32,v Working file: prim32 head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: development revision 1.1 date: 2000/06/04 17:18:08; author: misha; state: Exp; Initial revision RCS file: RCS/prim39,v Working file: prim39 head: 1.3 branch: locks: strict misha: 1.3 access list: symbolic names: keyword substitution: kv total revisions; 3; selected revisions: 3 description: my file revision 1.3 locked by: misha; date: 2000/06/05 20:49:38; author: misha; state: Exp; lines: +2 -1 my new file after editing
II. Команды 605 revision 1.2 date: 2000/06/05 20:47:01; author: misha; state: Exp; lines: +2 -1 my new file revision 1.1 date: 2000/06/05 20:42:33; author: misha; state: Exp; Initial revision $ rlogin разрешает пользователю зайти в дистанционную систему. К Синтаксис rlogin [-8EKI,dx ] [-е сЛаг](-к геа!л][-1 username] host Запускает терминальный сеанс на дистанционном узле host, пытаясь использовать механизм авторизации Kerberos. Если узел не поддерживает Kerberos, используется стандартный (Berkeley) механизм авторизации. Опции - 8 Использует 8-битный ввод информации. Если столовый и стартовый сим- волы дистанционной системы иные, чем AS и Z Q отбрасывает биты четности. - Е Не пытается распознавать управляющие символы. - К Отключает аутентификацию по Kerberos. - L Запускает дистанционный сеанс в режиме litout. - d Включает режим отладки сокетов TCP, используемых для подключе- ния к дистанционному узлу. - е char Разрешает применять пользовательскую спецификацию управляюще- го символа, которая по умолчанию выглядит как ~. Спецификация управляющего символа может быть литералом или задаваться в форме \ппи, где ппп - восьмеричное значение. - k realm Позволяет получи гь tickets (билеты) для диет акционного узла в области realm вместо области дистанционной системы, как это определено па- раметром krbrealmofliost. - 1 username Позволяет зайти на дистанционную систему в качестве пользователя username. - х Устанавливает DES-шифрование для данных, передаваемых в сеансе rlogin, что несомненно усиливает безопасное 1Ь передачи. При использовании rlogin вес отдаваемые вамп команды ныио.чнякнея на incian- ционной системе. Строка в виде управляющего символа (ио умолчанию шльда), за
606 II Команды которым следует точка, разрывает связь с дистанционным узлом; ио умолчанию Ctrl+Y (Л¥) приостанавливает отправку порции информации, но разрешает принимав вывод дистанционного узла. у. ,аляет файлы. rm Синтаксис rm [option]...[file]... Удаляет каждый заданный файл file. При удалении файлов требует подтверждения пользователя в следующих случаях: □ если в качестве стандартного ввода определен терм иная □ если файл нечитаемый (сбойная ситуация) □ не задана опция -f □ задана опция -i Если ответ не начинается с буквы у, или Y, файл пропускается. Опции - d, —directory Помечает для удаления каталоги с помощью системного вызова unlink вместо rmdir, не требуя, чтобы каталоги были пустыми. Другими сло- вами, удаляет ссылку на каталог. Эта операция доступна только супер- пользователю, после нее файлы в каталогах становятся "неприкаянны- ми". Было бы разумным запустить fsck. - f, —force Не требует подтверждения пользователя, игнорирует несуществующие файлы. Игнорирует любую предшествующую опцию -i. - i, —interactive Требует подтверждения перед удалением каждого файла.Если ответ не начинается с буквы у, или Y, файл пропускается. - г, -R, —recursive Рекурсивно удаляет содержимое каталогов. - V, --verbose Печатает перед удалением имя каждого файла. — help Печатает список опций и завершает программу. Команда rm опасна: можно удалить больше, чем необходимо, причем, безвозврат- но. При удалении файла его индексный дескриптор добавляется к списку свободных дескрипторов, а его блоки данных - к списку свободных блоков. Существуют утилиты DOS, которые в такой ситуации восстанавливают случайно удаленные файлы. Но Linux многозадачная система, программы-демоны постоянно записывают информацию в жур- налы, обрабатывают сетевые соединения, принимают и фиксируют электронную поч гу и делают ряд других вещей, которые как бы проходят незамет но для пользователя. Поэтому освободившиеся блоки могут быть тут же задействованы, даже если в cucie- ме работает всего лишь один пользователь. Следует быть особо осторожным при использовании метасимволов, любая опе- чатка может привести к тяжелым последствиям. К
II Команды Пример $ rm -f *.gif $ Данная команда удалит все изображения текущего каталога в формате gif. Но если вы случайно добавите лишний пробел, то все файлы текущего каталога будут безвоз- вратно потеряны. $ гш -f * .gif $ rmdir удаляет пустые каталоги. К Синтаксис rmdir [ option]... directory... Удаляет каталоги directory, если они пустые. Опции --ignore-fail-on-non-empty Игнорирует каждое аварийное завершение из-за того, что каталог не- пустой. -р, —parents После удаления указанного каталога directory пытается удалять каж- дый каталоговый компонент из полного маршрута. Т.е., удалив каталог /х/y/z, затем пытается удалить /х/у и /х. -verbose Комментирует каждый обрабатываемый каталог. —help Выводит список опций и завершает программу. —version Выводит информацию о версии программы и завершает ее. Пример $ rmdir dos S rmmod - выгружает загружаемые модули. Синтаксис rmmod [-ars] module... Удаляет из ядра, если эго возможно, загружаемые модули module в том порядке, в котором они перечислены в командной с 1 роке. Выгрузка производится, если модули не используются в настоящий момент и к ним не обращаются другие модули. Поддер- живается выгрузка стека модулей: если удаляется главный модуль (вершина) стека, го 1акая же судьба ожидает и всех остальных подчиненных ему модулей.
608 ii. Команды Опции - а Удаляет все неиспользуемые модули с флагом autoclean (см. insmod). - г Пытается выполнить рекурсивное удаление модулей стека. - s Вместо терминала направляет весь вывод в syslog (системный журнал;. rmt программа, поддерживающая общение с дистанци- онным накопителем на магнитной ленте. Синтаксис rmt Программа rmt используется программами дистанционного копирования и восста- новления через коммуникационные каналы. Программа rmt обычно запускается через вызов гехес или rcmd. Программа rmt получает указания на различные манипуляции с магнитными лента- ми, выполняет команды и в ответ создает индикаторы состояния. Все ответы обычно создаются в одном из двух ASCII-форматов; для успешно завершившихся команд от- вет выглядит следующим образом: knumber\n Параметр number — это десятичное число. Для аварийно закончившихся команд ответ формируется по такому формату: Е error-nишЬег\nerror-messaде\п Здесь error-number — один из возможных номеров ошибок, описанных в intro, а error-message — соответствующая строка с информацией об ошибке, распечатывае- мая по вызову реггог. Ниже перечислены команды, включенные в дистанционное со- глашение: O\device\nmode\n открывает указанное устройство device* используя заданный режим mode, представляющий десятичное число для открытия через вызов open; если устройство уже открыто, оно будет закрыто, а затем повтор- но открыто Cdevice\n закрывает в настоящий момент открытое устройство, собственно го- воря, параметр device игнорируется Lwhence\noffset\n производит операцию через вызов Iscek, передавая ему указанные па- раметры; ответ возвращает системный вызов Iseek WcounAn записывает информацию на носитель открытого устройства, считывая через сеть заданное счетчиком count количество бант и завершая ава- рийно выполнение, если преждевременно встречает EOF (конец фай- ла); ответ возвращает системный вызов write
II. Команды 609 Rcoww/\n считывает заданное счетчиком count количество байт с открытого файла устройства; если count превышает размер буфера данных (10 Кбайт), его размер усекается до размера буфера; rmt вызывает системный вы- зов read и получает ответ в формате Асоют/Хп, если read завершился благополучно, или, в противном случае, в стандартном формате оши- бочного сообщения; если операция чтения завершилась успешно, счи- танные данные пересылаются по сети. Синтаксис команд не допускает пробелов как между командами и их аргументами, так и между самими аргументами. rnews принимает новости через UUCP-подключение. Синтаксис rnews [-h hostИ-г remote][-Р port][-v][-U][-N][input] Считывает очередь сообщений, обычно обеспечиваемых через UUCP-подпитку, и пересылает их на локальный сервер InterNetNews (или на локальный узел или в место, определяемое переменной nnrpdposthost в файле inn.conf). Сообщение считывается с указанного файла input или со стандартного ввода, если имя файла не задано. Статьи Usenet, пересылаемые через UUCP, обычно соединяются в единый пакет- ный файл. Пакеты могут быть сжаты, что сокращает время пересылки. Если сообще- ние не начинается с символа # или восклицательного знака, то весь входной файл рас- сматривается как единая статья новостей. В противном случае первая считанная статья интерпретируется как пакетная команда. Если команда имеет вид #! rnews ппп, где ппп - число, тогда следующие ппп байт, начиная со следующей строки, собственно рассматриваются как статья новостей. Если команда выглядит как #! cunbatch, тогда остаток ввода подается с флагом -d программе compress для распаковки. Вывод этого конвейера считывается как входной файл программой rnews. Сжатый пакетный файл, начинающийся со строки й! cunbatch, содержит набор статей, разделенных строками типа #! rnews ппп. Если <RNEWSPROGS in config.data> установлена в значение DO и команда не содержит других слов, тогда rnews пытается выполнить следующую программу: <pathbin in inn.conf> bin/mews.libexec. Если <RNEWS SAVE BAD in config.data> установлена в значение DO и у rnews возникли какие-либо проблемы со статьей (пропущенный заголовок и т.п.), копия ста- тьи будет сохранена в каталоге <palhincoming in inn.conf>/bad. Опции -U Если сервер недоступен, накапливает сообщения во вновь созданном файле в каталоге <patharticles in inn.conf>. С помощью флага -U все накопленные сообщения могут быть одновременно пересланы на сер- вер. как только он вновь станет доступным и сможет регулярно вызы- ваться через cron.
610 II Команды - N Обычно, если распаковка входного файла завершилась аварийно, он пе- ресохраняйся для последующих попыток в <patharticles in inn.conf* Флаг -N отменяет пересохранение, и г news завершается с кодом 9 - г remote Пересылает стшьи не на сетевой узел, заданный по умолчанию, а на поименованный дистанционный узел remote. - Р port Пересылает стат ьи на указанный порт port дистанционного узла. - v Выводит сообщения в стандартный файл ошибок, указывая имя вход- ного файла, если оно известно, а также распечатывает несколько на- чальных символов входного файла. Ошибки всегда регистрируются через rnevvs. - h host Если установлена переменная окружения < ENV UUCPHOST in config.data>, rnevvs зарегистрирует идентификатор сообщения Message- ID и узел host для каждой предназначенной серверу статьи. Команда rnevvs не может обрабатывать статьи со встроенными в них символами \0. отвечает по электронной почте на статьи в группах новостей Usenet. Rnmail Синтаксис Rnmail destination_list Rnmail -h headerfile [oldarticle] Rnmail Rnmail - дружественный интерфейс для отправки ответов на статьи новостей. Вна- чале программа задает пользователю необходимые вопросы, затем предоставляет ему возможность ввести свое письмо, которое тут же будет отправлено по почте. Если в вашем исходном каталоге существует файл .signature (с электронной под- писью), программе Rnmail добавит его к вашему сообщению после проведения ре- дактирования. А если вы предпочитаете видеть свою подпись уже в процессе редактирования со- общения, переименуйте файл .signature в .mail sig, и он будет добавлен еще до нача- ла редактирования. Однако следует учесть, что если в вашем исходном каталоге су- ществуют оба файла, статья может оказаться подписанной дважды. Аргумен г destination list определяет список рассылки. Опции - h headerfile Второй формат команды Rnmail с этой опцией применяется тогда, ког- да производится вызов из npoi раммы trn. В этом случае возникает не- обходимость, используя параметр headerfile, поменять файл с загсшов- ком, который trn передаст Rnmail. В сообщение может быть включе- на предшествующая статья oldarticle на эту же тему.
II Команды 611 Переменные окружения DOTDIR Определяем местоположение файлов, имена которых начинаются с точки (скрытые файлы), в том случае, если они расположены за пределами вашего исходного каталога. Предназначается для учетных счетов, со- вместно используемых более, чем одной особой. По умолчанию SHOME. EDITOR Редактор для подготовки статей, если переменная VISUAL не опреде- лена. По умолчанию используется редактор, инсталлированный адми- нистратором службы новостей. Обычно это vi. НОМЕ Ваш исходный каталог; по умолчанию - SLOGD1R. LOGDIR Ваш исходный каталог, если переменная НОМЕ не определена. LOGNAME Ваше регистрационное имя, если переменная USER не определена. По умолчанию - это значение, полученное с помощью команды whoa mi MAILRECORD NEWSORG Если определена, содержит имя файла, к которому будет добавлено за- конченное сообщение. По умолчанию сообщение не сохраняется. Пли название вашей организации, или имя файла, содержащего это на- звание. Если установлены обе переменные — NEWSORG и ORGANIZATION, - то первая перекрывает вторую. По умолчанию принимается название или имя, выбранное вашим ад- министратором службы новостей. ORGANIZATION Или название вашей организации, или имя файла, содержащего это на- звание. По умолчанию - любое выбранное вашим администратором службы новостей. REPLYTO Содержимое строки заголовка Reply-То: для включения в сообщение. По умолчанию строка заголовка не включается. USER Ваше регистрационное имя. По умолчанию - SLOGNAME. VISUAL Редактор для подготовки сообщения. По умолчанию - SEDITOR. Пример Набрав команду Rnniail с определенным значением destination list (список адре- сов), можно увидеть следую- щее: S misha@localhost.loceldomain: /home/mishe X ’ Title/Subject: Linux A , Prepared file to include [noneIt wvl Check spelling. Send, Abort, Edit, or List7 Send [nishaGlocalhost mishaJ$ | /]
612 II. Команды отображает и манипулирует таблицей маршрутиза- ции протокола IP. route Синтаксис route [-CFvnee] route [-v][-A fazniJy] add [-net|-host] target [netmask Mn][gw Gw] [metric W][mss Я][window H][irtt T] [reject][mod][dyn][reinstate] [[dev]If] route [-V][-A family] del [-net|-host] target [gw Gw][netmask №n]] [metric H][[deV]Jf] route [—V][—version][-h][—help] Манипулирует таблицами ядра. Команда route изначально предназначалась для установки статических маршрутов к указанным узлам или сетям через интерфейсы, которые были до того сконфигурированы с помощью программы ifconfig. Совместно с опцией add или del команда route модифицирует таблицы маршрути- зации, без этих опций - отображает текущее содержимое этих таблиц. Опции - A family Использует указанное семейство адресов. Список семейств адресов можно получить с помощью route —help. По умолчанию принима- ется inet. - F Работаете таблицей маршрутизации ядра под названием FIB (Forwarding Information Base базовая информация по переназначениям). Опция ус- тановлена ио умолчанию. Поддержка IP-переназначений должна быть встроена в ядро. Мож- но использовать команду cat /proc/sys/net/ipv4/ip_for\vard, чтобы оп- ределить, установлена ли такая поддержка. Если будет выведено значе- ние, равное 1, поддержка установлена, значение 0 указывает, что под- держка IP-переназначений отключена. - С Работает с кэшем маршрутизации ядра. - v Комментирует выбранную операцию. - п Показывает адреса, не пытаясь определять символические имена узлов. - е Для отображения таблицы маршрутизации исподьзует формат команды netstat. - ее Создает длинную строку, включающую все параметры из таблицы марш- рушзации. del Удаляет маршрут. add Добавляет новый маршрут. target Указывает дистанционную сеть или узел, куда прокладывается марш- рут, это собственно и есть требуемая мишень. Можно определить IP-адреса в десятично-точечной нотации или в виде имени узла или сети.
II. Команды 613 net Прокладывает маршрут к се i и. -host Прокладываег маршрут к узлу. netmask Nm При добавлении сетевого маршрута использует указанную сетевую мас- ку gw Gw Направляет паке гы через заданный шлюз. Предварительно следует про- ложить статический маршрут к указанному шлюзу. metric М Устанавливает поле метрики таблицы маршрутизации в значение М. Это поле используется демонами маршрутизации. mss М Устанавливает MSS (Maximum Segment Size - максимальный размер сегмента) TCP, используемого для подключения через этот маршрут, в значение М (байты). По умолчанию берется MTU (размер пакета) устройства за вычетом размеров заголовков. Эта установка использу- ется для того, чтобы направлять на ту сторону TCP-пакеты меньшего размера. window W Для подключения через маршрут устанавливает размер окна TCP в W байт, что обычно используется для сетей АХ.25. irtt I Устанавливает начальное значение irtt в I миллисекунд (1-12000). Обычно эта опция только используется для сетей АХ.25. По умолча- нию используется 300 мс. Ядро использует эту опцию, чтобы подо- брать, не дожидаясь ответа, наилучшие параметры протокола TCP. rej ect Инсталлирует блокирование маршрута, это, к примеру, используется пе- ред установкой маршрута, заданного по умолчанию. Данная опция не пригодна для брандмауэров. mod, dyn, reinstate Устанавливает динамический, или модифицируемый, маршрут. Эти оп- ции служат лишь для диагностических целей (для демонов маршрути- зации). dev If Принудительно связывает маршрут с указанным устройством, ибо в про- тивном случае попытается определить это устройство самостоятель- но. В большинстве случаев этой опцией пользоваться не приходится. Если dev //’последняя опция в командной строке, слово dev может быть опущено. Вывод таблицы маршрутизации организован в виде следующих столбцов: Destination мишень, к которой прокладывается маршрут: сеть или узел Gateway адрес шлюза или *, если шлюз не установлен Genmask сетевая маска: 255.255.255.255 для дистанционного узла и 0.0.0.0 для маршрута, взятого по умолчанию Flags допускаются следующие флаги: (J маршрут активен Н маршрут проложен к узлу G используется шлюз
614 IL Команды R маршру г для динамической маршрутизации D динамически инсталлирован демоном или переназначен (дина- мическая маршрутизация) М модифицирован демоном маршрутизации или переназначен (мар- шрут изменен) Metric обычно не используется текущими ядрами, но может понадобиться де- монам маршрутизации Ref не используется в ядрах Linux Use количество требований на заданный маршрут: сколько раз использовался данный элемент таблицы маршрутизации Иасе определяет интерфейс, через который проходит маршрут Пример Всегда можно включить или отключить поддержку IP-переназначений с помощью простых команд: * echo l>/proc/sys/net/ipv4/ip_forward f ♦ echo 0>/proc/sys/net/ipv4/ip_forward I Отобразить ваш сетевой маршрут и взятый по умолчанию шлюз из таблицы марш- рутизации ядра можно с помощью следующей команды: # route —п Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 205 .168.60.48 0.0.0.0 255.255.255.240 U 0 08 ethO 127.0 .0.0 0.0.0.0 255.0.0.0 U 0 0 4 lo 0.0.0.0 205.168.60.49 0.0.0.0 UG 0 0 12 ethO f При этом маршрут по умолчанию к сети 205.168.60.48 с маской 255.255.255.240 через интерфейс ethO может быть проложен с помощью следующей команды: route add -net 205.168.60.48 Предполагается, что интерфейс ethO уже определен с помощью ifconfig. Программа route сама просматривает список всех активных интерфейсов и путем сравнения IP- адресов находит подходящий. Чтобы установить шлюз, используемый по умолчанию, с адресом 205.168.60.49, следует выполнить такую команду: route add default gw 205.168.60.49 ethO 0.0.0.0 — одна из двух специальных сетей класса А, эта сеть резервируется и ис- пользуйся для указания маршрута по умолчанию. 127.0.0.0 - сеть обратной петли, при этом 127.0.0.1 адрес IP-интерфейса обратной петли. Этот адрес обычно использует- ся для тестирования ceieuoro программного обеспечения без физической сети.
II. Команды 615 rpc.mountd демон монтирование NFS. Синтаксис rpc.mountd [option] Программа rpc.mountd воплощает протокол монтирования NFS. Без нее был бы невозможен экспорт файловых систем; под этим термином подразумевается воз- можность сделать файловые системы доступными для клиентов NFS. Когда от клиен- та NFS поступает запрос на монтирование конкретной файловой системы, программа проверяет список в настоящее время экспортируемых файловых систем. И если кли- ент уполномочен монтировать конкретную файловую систему, ему будет предостав- лена такая услуга. Обычно в файлах /etc/exports перечислены файловые системы и те клиенты, кото- рым они могут быть доступны. Команда exportfs делает информацию об экспорте фай- ловых систем доступной модулю ядра сервера NFS и демону rpc.mountd. Обычно при загрузке системы автоматически выполняется команда exportfs -а. Для каждого за- проса на монтирование, поступившего от клиента NFS, демон rpc.mountd создает вре- менный элемент в файле /var/state/nfs/rmtab, который будет удален при поступлении запроса на демонтирование. Опции -N, -no-nfs-version Указывает, что rpc.mountd не настаивает на определенных версиях NFS. Текущая версия NFS (ядро 2.2 и выше) поддерживает NFS версий 2 и 3. Но если модуль ядра NFS компилировался без поддержки NFSv3, то демон rpc.mountd должен быть вызван с опцией --no-nfs-version 3. -v, — version Печатает информацию о текущей версии программы и завершает ее. rpc.nfsd - демон системы NFS. Синтаксис rpc.nfsd [-р port] пргос Чтобы сделать каталоги некоторого сетевого узла доступными через NFS (Network File System — Сетевую Файловую Систему) для других сетевых компьютеров, необхо- димо запустить на таком узле два основных демона NFS — nfsd и mountd. Подобно другим программам, основанным на RPC (Remote Procedure Call - дистанционный вы- зов процедур), эти демоны не управляются inetd, а запускаются при начальной з»ир\ з- ке системы и регистрируют себя с помощью специального демона poitmappci. кото- рый выполняет роль диспетчера сетевых портов для всех серверов RPC. раСчпяющих на данном компьютере. В операционной системе Linux демон portmapper называется rpc.portmap. он рас пола1ается в каталоге /usr/sbin и запускается из сценария rc.inct2.
616 П Команды rpc.nfsd предо миляет час th пользовательского уровня службы NFS Ее главные функции обеспечиваются модулем ядра nfsd.O. Если кто-то обращается к файлу через NFS, ядро операционной системы на маши- не-сервере обращается к демону NFS - rpc.nfsd. При этом используется интерфейс RPC. В качестве параметров серверу передаются имя и дескриптор файла, к которому идет обращение, а также идентификаторы пользователя и группы. Чтобы предотвра- тить несанкционированный доступ к файлам, идентификаторы пользователя и группы должны быть одинаковыми на машине-сервере и машине-клиенте. Часто для повыше- ния быстродействия на стороне сервера работает одновременно несколько демонов nfsd. Опции -р port Указывает порт для прослушивания запросов к NFS; по умолчанию про- слушивается порт 2049. пргос Указывает количество запускаемых копий сервера NFS; по умолчанию стартует один сервер. Хотя для повышения производительности может быть запущено несколько серверов. Оптимальный выбор помогает осу- ществить программа nfsstat. Пример # rpc.nfsd 4 ♦ Запустили четыре копии сервера NFS. rpm - инсталлирует и управляет пакетами программного обеспечения Синтаксис rpm [option...] раскадепате RPM (Red Hat Package Manager- менеджер накетои Red Hat Linux) является одной из наиболее известных систем управления программными пакетами в мире Linux. Ко- манда rpm использует систему RPM, чтобы инсталлировать, удалять, обновлять, про- верять и строить архивы программного обеспечения, известные как файлы .rpm. Эти архивы, или пакеты, содержат идентификацию, контрольные суммы и архив программ- ного обеспечения в исходном или двоичном виде. Пакет .rpm также содержит некото- рую дополнительную информацию, а именно: наименование, версию, базовое описа- ние; может включать прединсталляционные и постинст алляционные сценарии, приме- няемые для инсталляции, удаления и обновления. В базе данных RPM. инсталлирован- ной на вашем компьютере, отслеживается, какая версия какого пакета установлена. RPM использует системный каталог /var/lib/rpm для хранения файлов (текущие БД), содержащих информацию о программном обеспечении, инсталлированном на вашей системе.
II. Команды 617 Первичная БД инсталлированного про1раммного обеспечения содержи юя в файле Packages. Вы можете использовать команду rpm или графические клиенты Red Hal для выполнения одной из пяти базовых задач: • инсталляция нового программного обеспечения • вычеркивание или удаление устаревших или ненужных паке гов • обновление установленного пакета программного обеспечения • получение по запросу информации о пакете • проверка инсталляции или целостности программного пакета Команда rpm имеет десятки различных опций командной строки, но ее администра- тивные функции группируются в соответствии с упомянутыми задачами. Далее пере- числены пять основных опций вместе с дополнительными опциями, сочетающимися с этими основными. Основные опции -i Инсталлирует выбранный(е) пакет(ы) packagename. А вот некоторые полезные опции к этой основной: —excludedocs не инсталлирует документацию, экономя простран- ство —replacepkgs --force —noscripts —nodeps —Toot path заменяет данный пакет его новой копией игнорирует все предупреждения и инсталлирует в любом случае не выполняет пред- или постинсталляционных сце- нарии игнорирует любые зависимости устанавливает альтернативный корневой каталог как path -е -и Вычеркивает (удаляет) выбранный(е) пакет(ы). А это распространенная полезная опция к этой основной: —nodeps игнорирует любые зависимости Удаляет текущий пакет, а затем инсталлирует программное обеспече- ние с содержимым выбранного пакета(ов), оставляя существующие файлы конфигурации. К опции -U в случае необходимости добавляются те же опции, что и к -i, и еше одна: —oldpackage разрешает возврат к более старой версии пакета -ч Запрашивает информацию о пакетах. А вот некоторые полезные опции к этой основной: - р file сообщает всю информацию о пакете file - f file сообщает, какой пакет владеет данным файлом — whatprovides х определяет, какими пакетими снабжает .v _ j суммирует информацию о данном паке те
618 IL Команды -1 перечисляет файлы данного пакета --scripts отображает содержимое любого из инсталлируе- мых, деинсталлируемых или проверяемых сцена- риев —provides отображает предоставляемые пакетом возможно- ст --requires отображает требуемые пакетом возможности -V Проверяет инсталлированные или выбранные пакеты по БД RPM. А вот полезная опция к -V: а проверяет все инс таллированные пакеты Пример Наиболее часто встречающийся вариант применения команды rpm - инсталляция программного обеспечения: # rpm -ivh pine-4.44-7.i386.rpm Preparing [100%] 1 spine ШИШШШИШИН [100%] Опции -v и -h обеспечивают более подробным выводом и отображают ход процес- са инсталляции. Кра ткое содержимое инсталлированного пакета можно затем получить с помощью опций -q и -L rsh - запускает на дистанционной системе оболочку К для выполнения указанной команды. Синтаксис rsh [-Kdnx][-k realm][-1 username] host [command] rsh копирует и передает свой стандартный ввод дистанционной команде command для выполнения на узле host, затем копирует стандартный вывод дистанционной ко- манды на свой стандартный вывод. Стандарт ный файл ошибок дистанционной команды передается в стандартный файл ошибок rsh. Опции - К О гключает аутентификацию по Kerberos. - d Включает режим отладки сокетов TCP, используемых для подключе- ния к дистанционному узлу. - k realm Позволяет получить tickets (билеты) для дистанционного узла в обла- сти realm вместо области дистанционной системы, как это определено параметром krb_realmofliost. - 1 username Позволяет зайти на дистанционную систему в качестве пользователя username. Используется аутентификация по Kerberos и авторизация, как для rlogin.
II. Команды 619 "п Перенаправляет стандартный ввод (с 1ерминала) на устроит во /dev/null (псевдоустройство, полезное при поиске ошибок). Устанавливает DES-шифрование для всех пересылаемых данных, чго замедляет получение ответа от дистанционного узла. Если никакая команда command не указана в командной строке, вы просто заре- гистрируетесь на дистанционном узле. rstan простейшая реализация клиента Remote Start (дистанционный старт). Синтаксис rstart [-с context][-g][-1 usernarre] [-v] hostname command arg... Использует rsh для выполнения команды command с аргументом arg на дистанци- онной системе hostname. Опции - с context Параметр context описывает общее окружение, в котором программа будет запущена. По умолчанию устанавливается значение X (предпола- гается запуск Х-программ из обычно инсталлированной системы сете- вого узла). - g Интегрирует command как общую команду протокола rsh. Это позво- ляет вызвать общие приложения, не будучи подробно осведомленным, как они собственно вызываются на дистанционной системе. - 1 username Запустит команду command под указанным именем пользователя username. - v Подробно комментирует все операции. rsync - синхронизирует файлы. Синтаксис rsync [option]... src [src]... [user$]hostzdest rsync [option]... [user®[host:src dest rsync [option]... src [src]-.. dest rsync [option]... [userQ]hostz:src [dest] rsync [option]... src [src]... [user^]hostzzdest rsync [option]... rsync:7/[ user®]host[zport]/src [dest] Если команда scp строится на основе гер, дополняя ее средствами шифрования аутентификации с открытым ключом и сжатия данных, го команда rsync расширяет возможности команды гер благодаря пошаговому копированию файлов. Так, ееш ко- пируемый файл уже существует в месте назначения, команда rsy нс сравнивает ио час
620 II Команды тям обе копии файла и передаст лишь измененные его части. Если учешь, что в круп- ных файлах изменяются лишь сравнительно небольшие участки, го команда rsync мо- жет сэкономить до 99% времени, затрачиваемого на копирование всею файла, что не- маловажно для сетей с медленными линиями связи. Команды гср и scp копируют отдельные файлы и каталоги, явно указываемые в командной строке, тогда как rsync больше всего подходит для распространения боль- ших совокупностей файлов, в том числе хранилищ программного обеспечения или файлов конфигурации системы. Базовые опции - h, —help Печатает краткую страницу помощи, описывающую доступные опции. —version Печатает версию rsync и завершает ее. - V, -vv, -vw Определяет уровень информации, получаемой во время трансфера фай- лов. Один флажок сообщает информацию о переносимых файлах и пре- доставляет итоги в конце. Двойной флаг знакомит с информацией о про- пущенных файлах. Тройной флаг используется при отладке rsync. - q, —quiet Сокращает количество информации, распечатываемой при рассылке файлов. Этот флаг полезен, если rsync вызывается из cron. - с, —checksum Заставляет отправителя перед отправкой вычислять контрольные сум- мы всех файлов по 128-битному алгоритму MD4. Контрольные суммы файлов затем сверяются у получателя. - a, —archive Переходит в архивный режим; действует подобно tar и рекурсивно ко- пирует каталоги, сохраняя права владельца и символические ссылки. - г, —recursive Рекурсивно копирует каталоги. Если эта опция не задана, вообще не копирует каталоги. - b, —backup Ранее существующие дистанционные файлы переименовываются при пересылке файлов, приобретая расширение ~. Вы можете управлять этим расширением с помощью опции —suffix. —backup-dir=cf/r В комбинации с опцией —backup сохраняет все резервные копии в ука- занном каталоге, что полезно при инкрементальном копировании. — suffix=si(//7x Меняет принятый по умолчанию суффикс (~), используемый с опци- ей -Ь. - u, —update Пропускает любые файлы, если для них существует дистанционный ана- лог с более "свежей” датой, чем исходный файл. - 1, —links Копирует символические ссылки именно как таковые. - L, --copy-links Вместо символической ссылки копирует сам файл, на который она ука- зывает. - Н, -hard-links Создает такие же жесткие ссылки на дистанционной системе, как и на локальной. Без этой опции жесткие ссылки рассматриваются как обыч- ные файлы.
II. Команды 621 W, -whole-file He использует обычный инкрементальный алгоритм (копирование лишь измененных частей файла), а отсылает полный файл. - р» perms Устанавливает дистанционные полномочия на файл такими же, как и локальные. - о, —owner Устанавливает для дистанционного файла такого же владельца, как и у локального. Только суперпользователь может устанавливать права вла- дения файлом. - D, --devices Передает информацию о символьных и блочных устройствах на дис- танционную систему, чтобы там пересоздать эти устройства. Опция до- ступна только суперпользователю. - п, --dry-run Устанавливает режим "сухого прогона", фактически не пересылая фай- лы, а лишь сообщает о действиях, которые могли бы имет ь место. -х, - one-file-system Никогда не пересекает границ файловых систем. -existing Не создает при пересылке новых файлов, а лишь обновляетте, что уже существуют. —ignore-existing Не выполняет обновлений файлов, что уже существуют по месту на- значения. —max-delete=HT/m Ограничивает количество удаляемых файлов и каталогов числом пит. - -delete Удаляет любые файлы на принимающей стороне, которые отсутствуют на отправляющей стороне. -В, — block-size=WocAs7ze Управляет размером блока, используемого в алгоритме rsync. -е, — rsh^command Выбирает альтернативную дистанционную оболочку при соединении локального и дисганционного хостов. По умолчанию используется rsh. хотя с точки зрения безопасности системы стоит предпочесть ssh. -rsync-path=pa(/; Указывает команде геупсдля копирования полный маршрут на дистан- ционной машине. Т, —temp-dir=<flr Использует dir в качестве в дальнейшем удаляемого каталога при со- здании временных копий передаваемых файлов. -Z, —compress Сжимает информацию файлов, передаваемых на дистанционные маши ны, используя тот же метод компрессии, что и gzip. daemon Запускает rsync в режиме демона. А демон может получай, loeivn, используя синтаксис hosl::module или rsync://h<M7/mo</i//e'. Если стан- дартный ввод является сокетом, rsync предполагает, что может быть
622 II Команды запущена через inetd. в противном случае она отсоединяется от теку- щего терминала и превращается в фонового демона. Демон на каждом подключении клиента считывает файл конфигурации но имени /etc/ rsyncd.conf и отвечает на запросы. Примеры $ rsync -avz -е ssh /home/sofia/doc/ server-my:/home/sofia/doc building file list done ./ doc-1.3.tar ./ wrote 45907 bytes read 32 bytes 8445.23 bytes/sec Был переслан только один файл doc-1.3.tar, другие файлы уже существовали на server-my и соответствовали файлам клиента, поэтому и не были переданы. rup - отображает итоговое состояние системы, состоящей из одного или более узлов локальной сети. Синтаксис rup [-dhlt][host...] В листинг программы rup включается текущее время, время функционирования сис- темы, загрузка, которая определяется количеством заданий в очереди заданий, загру- жаемых через 1.5 и 15 минут. Опции - d Сообщает локальное время для каждого узла host, что полезно для син- хронизации времени в сети. - h Сортирует содержимое листинга в алфавитном порядке по именам уз- лов. - 1 Сортирует по загрузке. - I Сортирует по времени функционирования. Чтобы эта команда работала, на дистанционном узле должен быть запущен демон rpc.rstatd, который возвращает статистику по производительности, извлекаемую из ядра. Именно эту статистику и применяет команда rup. Команда rup использует прото- кол RPC, определенный в /urs/include/rpcsvc/rstat.x. ruptime - отображает состояние машин локальной сети. К Синтаксис ruptime [-alrtu]
II. Команды 623 Программа ruptime выдает строку состояния, подобную той, что создает иршрамма uptime, для каждой машины локальной сети. Состояние узлов локальной сети опреде- ляется с помощью широковещательных пакетов, рассылаемых ежеминутно на каж- дую машину. Те машины, от которых не было получено информации об их состоянии в течение 11 минут, считаются неработающими. Опции - а Учитывает даже пользователей, бездействующих час и более - 1 Сортирует но загрузке. - г Выполняет сортировку в обратном порядке. - t Сортирует по времени функционирования. - и Сортирует по количеству пользователей. По умолчанию листинг программы сортируется по именам узлов. rusers - выводит список пользователей, зарегистрированных на машинах локальной сети. Синтаксис rusers [-al]{host...] Команда rusers создает вывод, подобный тому, что создает who, но только для отдельных узлов host или всех машин локальной сети. Опции - а Выводит список всех машин сети, даже если на некоторых из них не зарегистрированы пользователи. - 1 Выводит листинг длинного формата: имя пользователя и имя узла, тер- минал, за которым зарегистрировался пользователь, дата и время ре- гистрации, время работы в системе и дистанционный узел, с которого зарегистрировался пользователь. Для диагностики на дистанционных узлах должна быть обязательно запушена про- грамма portmap (см. rpc.nfsd). rwho - показывает, кто зарегистрировался на машинах локальной сети. Синтаксис rwho [ -а ] Создает вывод подобный тому, что генерирует команда who. Если какая-ниГл 1ь машина не отвечает свыше II минут, предполагает, что она недоступна. Если время бездействия пользователей достигает 1 минуты и более, начинает фикепрова.ь eiv
624 II Команды Если время не активности пользователей достигает 1 часа или более, исключает их из своего вывода. Опции -а Сохраняет в своем списке даже тех пользователей, чье время неактив- ности достигает 1 часа или более. sal - накапливает и хранит двоичные данные в файле учетных записей ежедневной жизнедеятельности системы. Синтаксис /usr/lib/sa/sal [interval count] Команда sal — это вариант команды sadc в виде сценария оболочки, и поэтому она поддерживает все флаги и параметры sadc. Команда sal записывает учетную запись указанное параметром count число раз в заданном интервале interval^ измеряемом в секундах, в файл /var/log/sa/saJrf, где dd указывает текущий день месяца. Обычно ав- томатически запускается командой стоп (см. пример в описании команды стоп). - записывает ежедневный отчет о жизнедеятельности системы. sa 2 Синтаксис /usr/lib/sa/sa2 Команда sa2 - это вариант команды sar в виде сценария оболочки и поэтому под- держивает все флаги и параметры sar. Данная команда записывает ежедневный отчет в файл /var/Iog/sa/sar<W, где dd указывает текущий день. Обычно автоматически запус- кается командой cron (см. пример в описании команды cron). sadc - конечный интер фейс к команде sar. Синтаксис /usr/lib/sa/sadc [-I][-V][-x pid][-X pid][interval [count]][outfile] Команда sadc выбирает системную информацию указанное параметром count чис- ло раз в заданном интервале interval, измеряемом в секундах, и записывает в двоич- ном формате в файл outfile или в файл /var/log/sa/sa</d, если вместо имени файла сто- ит дефис. Если параметр count не задан, постоянно пишет в файл. Опции -I Ведет статистику всех системных прерываний, хотя по умолчанию со- общает лишь о количестве прерываний
II. Команды 625 -V Печатает информацию о версии программы и сообщение об ее исполь- зовании, а затем завершает sadc. -xpid Предоставляет информацию о процессе, идентификатором которого является pid. -X pid Предосгавляет информацию о дочерних процессах того процесса, иден- тификатором которого является pid. sar накапливает, сообщает и сохраняет информацию о деятельности системы. Синтаксис sar [-АЦ-b] [-В] [-с] [-i interval] [ -г ] [ -R] [-u] [-v] [-V] (-wJf-W][-y] [-n {DEV | EDEV | SOCK | FULL}][-x { pid j SELF | SUM ] ALL}] (-X {pid SELF ] ALL}][-I {irq | SUM j PROC | ALL| XALL}] [-U {cpu j ALL}][-o [filename] | -f [fiienazne] ] [-s [hh:mm:ss]] [-e [Af:mn:ss]][interval [count]] Учетная система основывается на значениях счетчиков и записывает содержащую- ся в них информацию через указанное число секунд (interval). Если параметр interval равен 0, sar отображает среднестатистические показатели за период, прошедший с на- чала загрузки. Желательно запускать sar как фоновый процесс. Эта команда информирует лишь о локальной деятельности. Опции - А Эта опция эквивалентна заданию таких опций: -bBcrRuvwWy -I SUM -I PROC -n FULL -U ALL. - b Информирует об операциях ввода/вывода и сообщает о скорости пере- дачи информации. Выводит следующие величины: tps общее число передач в секунду на физический диск; много- численные логические запросы могут объединяться в один запрос дисковой операции ввода/вывода Ftps общее число запросов за секунду на чтение физического диска wtps общее число запросов за секунду на операции записи на фи- зический диск bread/s общее количество данных (блоки за секунду), прочитанных с устройства bwrtn/s общее количество данных (блоки за секунду), записанных на ус тройство. - В Сообщает страничную статистику. Выводи г следующие величины: pgpgin/s общее число ci рапиц, счи гываемых с диска за секунд) pgpgout/s общее число страниц, записываемых на диск за сек> иду
626 II Команды -с Создает отчет о созданных процессах: proc/s общее количество процессов, созданных за секунд} -е hh'.mm.ss Устанавливает время завершения отчета. По умолчанию - 18:00:00. Время может быть задано в 24-часовом формате. Эта опция использу- ется лишь тогда, когда информация считывается или записывается в файл (опция-билн-о). -б filename Извлекает записи из файла по имени filename, ранее созданного с по- мощью опции -о. По умолчанию параметр filename—это текущий файл с информацией за день, /var/log/sa/sadd. - i interval Старается выбирать записи данных через интервал (в секундах), наибо- лее близкий по значению к параметру interval. - I irql SUM|PROC|ALL|XALL Помещает отчет о заданном прерывании irq. Прочие ключевые слова указывают следующее: SUM общее число прерываний, получаемых за секунду PROC число прерываний за секунду, как каждый процессор их от- ображает ALL статистика по первым шестнадцати прерываниям XALL статистика по всем прерываниям - п DEV|EDEV|SOCK|FULL Предоставляет сетевую статистику. С ключевым словом DEV выводит статистику о сетевых устройствах и предоставляет такие величины: IFACE имя сетевого интерфейса, от которого собирается статис- тика rxpck/s общее число пакетов, полученных за секунду txpck/s общее число пакетов, переданных за секунду rxbyt/s общее число байт, полученных за секунду txbyt/s общее число байт, переданных за секунду rxcmp/s число сжатых пакетов, полученных за секунду txcmp/s число сжатых пакетов, переданных за секунду rxmcst/s число групповых (многоадресных) пакетов, полученных за секунду. С ключевым словом EDEV выводит статистику о сбоях (ошибках) се- тевых устройств: IFACE имя сетевого интерфейса, от которого собирается статис- тика rxerr/s общее количество "плохих" пакетов, полученных за секу н- ДУ txerr/s общее количество ошибок, возникших за секунду, при пе- редаче пакетов
II. Команды 627 coll/s число коллизий, возникших за секунду, при передачи паке- тов rxdrop/s число пакетов, полученных за секунду и усеченных из-за нехватки места в буферах Linux txdrop/s число пакетов, отправленных за секунду и усеченных из-за нехватки места в буферах Linux txcarr/s число ошибок пересылки, случившихся за секунду, при передаче пакетов rxfram/s число ошибок настройки кадров, случившихся за секунду, при получении пакетов rxfifo/s число ошибок FIFO, случившихся за секунду, при получе- нии пакетов txfifo/s число ошибок FIFO, случившихся за секунду, при отправ- ке пакетов С ключевым словом SOCK печатает статистику о сокетах: totsck общее число используемых сокетов tcpsck число сокетов TCP, используемых в настоящий момент hi-tcpsck максимальное число одновременно открытых сокетов TCP udpsck число сокетов UDP, используемых в настоящий момент hi-udpsck максимальное число одновременно открытых сокетов UDP rawsck число низкоуровневых сокетов (RAW), используемых в настоящий момент hi-rawsck максимальное число одновременно открытых сокетов RAW Ключевое слово FULL эквивалентно указанию всех вышеперечислен- ных ключевых слов. Предоставляет статистику об использовании памяти (обычно килобай- ты или проценты, если ключевое слово начинается с %) и области своп- пинга (подкачки, или виртуальной памяти). Выводит следующие вели- чины: kbmemfree количество свободной доступной памяти kbmemused количество используемой памяти без учета занимаемой ядром %memused процент используемой памяти kbmemshrd количество разделяемой (совместно используемой для нескольких процессов) системой памяти kbbuffers количество памяти, используемой ядром для буферов kbcached количество памяти, используемой ядром под кэш kbswpfree количество свободной области ивопппнга kbswpused количество используемой области свошпипа
628 II. Команды -о filename -s hh‘.mm.ss -u -U cpw|ALL -v %svvpused процент используемой обласi и своппинга Предоставляет сведения о страничной памяти (страница имеет размер 4 кбайт или 8 кбайт, что зависит от архитектуры). Выводит следующие величины: frmpg/s число страниц, освобождаемых системой за секунду shmpg/s число дополнительных страниц, разделяемых (совместно используемых несколькими процессами) системой за се- кунду bufpg/s число дополнительных страниц, используемых системой за секунду под память буферов campg/s число дополнительных страниц, используемых системой за секунду под кэш Сохраняет прочитанную информацию в виде отдельных записей двоич- ного формата в указанном файле. По умолчанию таковым является /var/log/sa/sadd. Устанавливает стартовое время. По умолчанию в качестве такового принято 08:00. Время должно быть указано в 24-часовом формате. Предоставляет статистику о загрузке CPU (ЦП - центрального пропес- ссора). Выводит следующие величины (как правило, в процентах): %user процент использования CPU под приложения пользова- тельского уровня %nice процент использования CPU на пользовательском уровне с приоритетом %system процент использования CPU в случае исполнения на сис- темном уровне %idle процент времени, когда CPU бездействовал Предоставляет статистику о загрузке указанного процессора (числа от 0 и выше) или всех процессоров (ALL). Сообщает статус таблиц индексных дескрипторов, файлов и других таб- лиц ядра. Выводит следующие величины: dentunusd число неиспользованных элементов кэш в каталоге кэш- памяти file-sz число используемых файлов %file-sz процент используемых файлов относительно максималь- но возможного их числа inode-sz число используемых индексных дескрипторов % inode-sz процент используемых дескрипторов файлов относи- тельно максимально возможного их числа super-sz количество суперблоков, используемых ядром %super-sz процент размещенных суперблоков относительно мак- симального их количества, поддерживаемого ядром dquot-s/ число использованных элементов дисковых квот
II. Команды 629 %dquot-sz процент использованных элементов дисковых квот от- носительно их максимальною количества, которое в состоянии разместить ядро rtsig-sz число RT-сигналов очередей %rtsig-sz процент RT-сигиалов относительно их допустимого мак- симального количества - V Печатает информацию о версии программы и завершает sar. - w Предоставляет информацию о системных переключениях и выводит: cswch/s общее количество контекстных переключений в секунду - W Предоставляет сведения о своппинге. Выводит следующие величины: pswpin/s общее количество развернутых в секунду страниц pswpout/s общее количество свернутых в секунду страниц -x/?/d)SELF|SUM| ALL Предоставляет статистику об указанном процессе, где pid — идентифи- катор процесса, а задаваемые ключевые слова обозначают следующее: SELF предоставляет отчет о самом sar-процессе SUM предоставляет общее число главных и второстепенных по- грешностей системы ALL предоставляет отчет о всех системных процессах В настоящее время мониторинг охватывает не более 256 процессов одновременно. Когда ие используется ключевое слово SUM, выводит следующие величины: minflt/s общее число второстепенных погрешностей, что процесс создал за секунду; при этом не требуется перезагрузка стра- ницы памяти с диска majflt/s общее число существенных погрешностей, что процесс создал за секунду; при этом требуется перезагрузка стра- ницы памяти с диска %user процент ресурса CPU, используемый процессом при вы- полнении на уровне пользовательского приложения %system процент ресурса CPU, используемый процессом при вы- полнении на системном уровне (ядро) nswap/s количество страниц памяти из адресного пространства про- цесса, сворачиваемых системой за секунду CPU номер процессора, который выполняет процесс Когда в командной строке используется ключевое слово SUM, выво- дятся следующие величины: minflt/s общее число второстепенных погрешностей, что система создала за секунду; при этом не требуется перезагрузка страницы памяти с диска
630 II Команды majflt/s общее число существенных погрешностей, что система создала за секунду; при згом гребуегся перезагрузка стра- ницы памяти с диска -Xpid|SELF|ALL Предоставляет статистику о дочерних процессах указанного процесса с идентификатором pid. Использует следующие ключевые слова SELF готовит отчет о дочерних процессах самого sar-процес- са ALL готовит отчет о всех дочерних процессах всех систем- ных процессов. Выводит следующие величины; cminflt/s общее число второстепенных погрешностей, что дочер- ние процессы создали за секунду; при этом не требуется перезагрузка страницы памяти с диска cmajflt/s общее число существенных погрешностей, что дочерние прцессы создали за секунду; при этом требуется перезаг- рузка страницы памяти с диска %cuser процент ресурса CPU, используемый дочерними процес- сами при выполнении на уровне пользовательского при- ложения %csystem процент ресурса CPU, используемый дочерними процес- сами при выполнении на системном уровне (ядро) cnswap/s количество страниц памяти из адресного пространства до- чернего процесса, сворачиваемых системой за секунду Предоставляет статистику об устройствах TTY. Выводит следующие величины: rcvin/s число прерываний, возникших за секунду при приеме на текущей последовательной линии xmtin/s число прерываний, возникших за секунду при отправке на текущей последовательной линии Чтобы работала команда sar, должна быть смонтирована файловая система /ргос, содержащая различные файлы с системной статистикой. Пример
II Команды 631 подводит итоги по записям журналов 1NN, scanlogs Синтаксис scanlogs [norotate] По умолчанию scanlogs также выполняет ротацию (упаковку в архив) и очистку журналов; обычно вызывается сценарием news.daily. Ключевое сл->во norotaie Препятствует ротации и очистке журналов; содержимое журналов толь- ко сканируется, но не меняется. Если scanlogs вызывается более одного раза в день, ключевое слово norotate пре- пятствует принудительной очистке журналов. scp безопасно копирует дистанционные райлы. Синтаксис scp [-pqrvBC46] [-F ssh__config] [-S program] [-P port] [-c cipher] [-i identityfile] ]-o sshoption] ([ L'serTJtostJ: ]filet [...][[userd]host!t]file2 Команда scp - это SSH-образное замещение команды rep. Она копирует отдельные файлы между хостами в сети и использует для этого оболочку безопасного соедине- ния (ssh) с аутентификацией и зашитой, свойственной последней. И потому в отличие от гер команда scp запрашивает пароли или кодовые фразы, если они необходимы для аутентификации. Подобно гер полное имя файла может содержать имена хоста и пользователя (см. описание гер). Опции - с cipher Выбирает шифр, используемый для шифрования пересылаемых данных. Эта опция непосредственно передается ssh. - i identityJile Определяет файл, из которого будет считываться секретный ключ для RSA-аутентификации. Эта опция непосредственно передается ssh. - г Если любой из исходных файлов является каталогом, копирует era ре- курсивно - р Сохраняет время модификации, права владения и полномочия на все копируемые файлы такими, как у оригинальных файлов. - V Подробный режим. Предполагает печать отладочных сообщений со ст- ропы scp и ssh. - В Устанавливает пакетный режим, прспягствующий запросу паролей и ко- довых фраз. - q Запрещает отображение индикатора но ходу выполнения процесса.
632 If Команды -с Устанавливает режим сжатия информации, передавая этот флаг ssh -F ssh_config Указывает для ssli алыернативный файл конфигурации (по умолчанию в Red Hat 9 - /ctc/ssh/ssh config). Эта опция непосредственно передает- ся ssh. -Р port -S program Указывает порт для подключения к дистанционному хосту. Задает имя программы, используемой для зашифрованного соедине- ния. Эго программа должна понимать опции ssh. -о ssh option -4 Перелает опции оболочке ssh в формате файла ssh_config. Устанавливает для sep использование адресации IPv4. -6 Устанавливает для sep использование адресации IPv6. Принимая во внимание тот факт, что текстовые файлы хорошо сжимаются, можно резко повысить пропускную способность сети благодаря опции -С. Примеры Скажем, вам требуется копировать файл /home/sofia/my.txt в каталог /docs вашей учетной записи на дистанционном хосте: $ sep -р /home/sofia/my.txt sofia?192.168.168.4:/home/sofia/docs После того как вы будете приглашены ввести пароль, вы сможете увидеть: my.txt 100% ********************** о 00:00 Это свидетельствует о завершении пересылки файла. Но командная строка может су- щественно упроститься, если создать файл ~/.ssh/config (пользовательский конфигу- рационный файл ssh) с таким содержимым: Eost=apple EostName=192.168.168.4 User=sofia ForwardAgent=yes ForwardXll=yes Compression=yes Здесь параметр FonvardAgent определяет, будет ли соединение с агентом аутенти- фикации препровождено на дистанционную машину, а параметр ForwardXl 1 - будут ли соединения XI1 автоматически перенаправлены через канал безопасного соединения. Так, после этого исходная командная строка существенно упростится: $ sep -р my.txt apple:docs script выполняет копию содержимого экрана терминала во время сеанса. Синтаксис script [-a][file... ] script выполняет копию всего, что выводится на экран вашего терминала.
II. Команды 633 Опци -а \file ] Добавляет вывод в указанный файл file. Если файл не указан, использу- ет имя typescript. Команда script завершается при нажаши комбина- ции Ctrl+D. Пример $ script Здесь следует протокол всего, что набиралось и выводилось на данный экран терминала. Ctrl+D $ Script done, file is typescript $ cat typescript Script started on Wed Sep 27 23:46:27 2000 Здесь следует протокол всего, что набиралось и выводилось на данный экран термш зала. $ sdiff Синтаксис sdiff -о outfile [options] from-file to-file Команда sdiff объединяет файлы from-fite и to-file, интерактивно выводя результат в файл outfile. Если from-file является каталогом, a to-file - нет, sdiff попытается отыскать в каталоге файл по имени to-file, и наоборот; from-file и to-file одновремен- но не могут быть каталогами. Опции команды sdiff начинаются с дефиса; как правило, from-file и to-file не могут начинаться с этого символа. Если вместо одного из этих аргументов стоит дефис, sdiff считывает стандартный ввод. Команда sdiff без опции -о лишь пытается найти различие между содержимым двух файлов. Хотя данная функция явно устаревшая и для этого лучше применять команд}' diff. Опции -a, -text Рассматривает сравниваемые файлы как текстовые, даже если они та- ковыми не являются, и производит построчное сравнение. -b, - ignore-space-changc Игнорирует символы white space в конце строки и считает все другие последовательности, состоящие из одного или более таких символов, - находит разницу между содержимым двух файлов К и воплощает ее в третьем файле. эквивалентными.
ОэЧ II Команды - В, —ignore-blank-lines При нахождении отличий игнорирует пустые строки в файлах. Эта опция действует лишь в том случае, если строки действительно пустые, а ие выглядят гаковыми, хотя содержат символы пробелов или табуляции. - W, —ignore-all-space Игнорирует горизонтальные пропуски в процессе сравнения строк. Ис- торически гак повелось, что опция -W команды sdiff соответствует оп- ции -w команды diff. - d, —minimal Пытается найти минимальрый набор отличий. Программа работает по другому алгоритму сравнения, что существенно замедляет ее работу. - Н, — speed-large-files Ускоряет обработку больших файлов с многочисленными мелкими раз- личиями. - о, —output outfile Помещает результат сравнения в файл outfile. - t, —expand-tabs Заменяет в выводе символы табуляции на пробелы. - i, — ignore-case Игнорирует регистр букв. - 1 regexp, — ignore-matching-lines=regexp Игнорирует строки, содержащие заданный шаблон regexp. В качестве шаблона обычно указывается регулярное выражение. - 1, —left-column Печатает только левый столбец двух общих строк. - s, —suppress-common-lines Не выводит общих строк. - w columns, — width=co/MMHs С помощью параметра columns указывает количество символов в стро- ке вывода. Исторически так повелось, что опция -w команды sdiff со- ответствует опции -W команды diff. - v, —version Выводит информацию о версии программы. sed потоковый редактор. Синтаксис sed [~n] [-VJ [—quiet] (—silent] [—version) [—help] [-е script] [—expression=script][-f script-file] [—file=script-file] [ script-if-no-other-script] [ file... ] О гличие от ed, vi и аналогичных редакторов заключается в том, что sed специально разработан для чтения команд в пакетном режиме, что предполагает их ввод с команд- ной строки или сценария, а не интерактивный ввод с клавиатуры. Команда sed часто применяется в сценариях оболочки или как часть конвейера для фильтрации вывода в
II. Команды 635 другую команду; она служит для построчной обработки, поэтому размер файла на нее не влияет. Именно поэтому редактор sed полезен для работы с большими файлами, поскольку ed и vi имеют отраничения на размер обрабатываемого файла. Если ни опция -е, ни опция -f не заданы, первый неопционный аргумент script-if-no- other-script рассматривается как сценарий sed; все оставшиеся аргументы берутся как имена входных файлов. Если ни один входной файл не указан, считывается стандартный ввод. Команды редактирования файлов могут поступать не из файла сце- нария, а из командной строки. В этом случае они обычно заключаются в одиночные кавычки. Каждая команда sed состоит из необязательного адреса или диапазона адресов, од- носимвольного имени команды и дополнительного кода, прилагаемого к команде. Опции - V, —version Выводит информацию о версии программы и завершает ее. - h, —help Выводит список опций командной строки. - п, --quiet, —silent Запрещает автоматическую печать; по умолчанию sed, двигаясь по сце- нарию, распечатывает пробел в конце каждого цикла. Редактор sed бу- дет генерировать вывод, если встретит команду р. - е script, —expression=scrtpZ Добавляет команды из script к набору команд, запускаемых для обра- ботки входных файлов. - f script-file, -fi\e=script-file Добавляет команды, содержащиеся в файле script-file, к набору команд, запускаемых для обработки входных файлов. Команды sed могут не содержать адресов, в этом случае они будут выполняться для всех входных строк. Команды sed могут содержать всего один адрес, в этом слу- чае они будут выполняться лишь для тех входных строк, чей адрес совпал с указанным. Наконец, команды sed могут содержать два адреса и будут выполняться для всех вход- ных строк указанного этими адресами диапазона. Между адресом или диапазоном ад- ресов и командой может быть вставлен восклицательный знак, указывающий, что ко- манда будет выполняться лишь в том случае, если адрес не совпадает. Поддерживаются следующие типы адресов: number обрабатывает строку указанного номера first~N обрабатывает каждую N-тую строку, начиная со строки first S обрабатывает последнюю строку /regexp! обрабатывает строки, совпавшие с регулярным выражением regexp \cregexpc обрабатывает строки, совпавшие с регулярным выражением regexp, с - произвольный символ Безадресные команды label Задает метку label для команд b и t. tlcommenl Определяет комментарий, завершающиися символом new Иге
636 II Команды Безадресные или одноадресные команды = Печатает номер текущей отроки. а\ text Добавляет текст text (после обратного слэша имеется newline) i\ text Вставляет текст text (после обратного слэша имеется newline) q Немедленно покидает сценарий sed. г filename Добавляет текст из файла filename. Некоторые команды, содержащие диапазон адресов { } Заключают блок команд. b label Осуществляет переход на метку label, если мелка отсутствует, выпол- няет переход на конец сценария. t label Если команда s/// успешно выполнила замещение до того, как была счи- тана последняя входная строка, и до того, как возникла последняя ко- манда t, переходит на метку label', если метка отсутствует, переходит на конец сценария. с \ Заменяет выбранные строки на указанный текст text (после обратного text слэша имеется newline). d Выполняет удаление строки (или диапазона строк). р Печатает строку (строки). s ! regexp /replacement! Пытается заменить шаблон regexp на replacement в указанных строках, w filename Записывает указанные строки в файл filename. Примеры $ sed -n '2d' vvvl $ Выполняет удаление второй строки файла vvvl $ cat vvv3 3~lc \ bbb $ sed ~f vvv3 vvvl ssdd ssdd bbb bbb bbb bbb $ В файле vvv3 находится сценарий sed: начиная с третьей строки, заменить каждую последующую строку на строку bbb. Что и было выполнено для файла wvl
II. Команды 637 odlUlildll - транспортный агент электронной гп.чти Синтаксис sendmail [ flags][address... ] newaliases mailq [v] Программа sendmail отправляет сообщение одному или более адресатам address, выполняя маршрутизацию по любым необходимым сетям. Программа выполняет до- ставку порученного сообщения в положенное место. Однако sendmail не является ко- нечным интерфейсом пользователя и используется только для доставки. Пользователь работает напрямую с другими программами электронной почты, передающими сообще- ние транспортному агенту sendmail. Без каких-либо флагов (огщий) /Л7£.$ программа sendmad читает стандартный ввод до конца файла или строку, содержащую единствен- ную точку, и передает найденное сообщение всем перечисленным адресатам. Опции {flags) -btype Устанавливаем тип информации в геле сообщения. Текущие узаконен- ные значения - 7BIT или 8В1ТМ1МЕ. - Ьа Переходит в режим сети ARPANET. Все входные строки должны окан- чиваться и все сообщения должны генериооваться с CR+LF (с возвра- том каретки и переводом строки) в конце. Кроме того, проверяется имя отправителя, обнаруженное в полях From: и Sender:. - bd Запускает sendmail в качестве демона. Программа развет вляется и вы- полняется в фоновом режиме, прослушивая входящие SMTP-подклю- чения на сокете 25. Обычно запускается из /etc/rc. - bD Аналогичен -bd, хотя запускает sendmail в приоритетном режиме - bh Распечатывает БД состояний существующих узлов. - ЬН Очищает БД состояний существующих узлов. - bi Инициализирует БД псевдонимов. - bm Доставляет почту обычным, принятым по умолчанию путем. - Ьр Печатает содержимое очереди сообщений. - bs Применяет протокол SMTP, как описано в RFC821, для стандартного ввода и вывода. Этот флаг реализует все операции, задаваемые с помо- щью флага -Ьа и совместимые с SMTP. - bt Запускает программу в режиме тестирования адресов: считывает адре- са и информирует о всех шагах в процессе проверок. Применяется для отладки таблиц конфигурации. -bv Лишь проверяет имена, даже не пытаясь принимать или отправлять со- общение. Обычно используется для проверки пользователей или поч- товых списков.
638 IL Команды C/z/e Использует альтернативный файл конфигурации. Программа sendmail ''отказывается" запускаться от имени суперпользователя, если задан аль- тернативный файл. -Vfullname Устанавливает полное имя отправителя. -frame Устанавливает имя человека, от которого пришла почта (From:). Флаг -f может использоваться лишь доверенными пользователями: root, daemon, network. -h/V Устанавливает значение счетчика, увеличивающееся каждый раз при обработке почты, в значение N. Если этот параметр не указан, подсчи- тываются строки сообщений с полями Received: (полученные). -i Игнорирует одиночные точки в строках входящих сообщений. Этот флаг обычно указывается, если информация считывается с файла. -N dsn Устанавливает параметр, определяющий условия доставки, в значение dsn. Допустимые значения never (отсутствую! извещения) или раз- деленный запятыми список значений failure, если было извещено, что доставка не состоялась. Может быть получено извещение delay, сооб- щающее о задержке. Об успешной доставке уведомляет извещение success. -п Не выполняет совмещения имен (назначения псевдонимов). -О option-value Устанавливает опцию option в заданное значение value. В этом форма- те используются длинные имена. -ox value Устанавливает опцию х в указанное значение value. В этом формате используется только единственный символ имени. -^protocol Указывает протокол, применяемый для получения сообщения. Здесь допускается обычное название протокола, например, UUCP, а также ком- бинация протокола и имени узла - UUCP:bingo. -q[/ime] Обрабатывает сохраненные в очереди сообщения через заданный ин- тервал времени. Если time отсутствует, обрабатывает очередь единож- ды. Время задастся как число с признаком, где s обозначает секунды, m - минуты, h - часы, d - дни и w - недели. Например, -qlhlOm озна- чает то же, что и -q70m, а именно: 1 час и 10 мин. Если указан параметр time, sendmail запускается в фоновом режиме. -qlsubstr Устанавливает предел на число обрабатываемых заданий, который за- дается параметром substr, являюшимся подстрокой идентификатора очереди. -qRsubstr Устанавливав! предел на число обрабатываемых заданий, который за- дается параметром substr, являющимся подстрокой одного из получа- телей. -qSsubstr Устанавливает предел па число обрабатываемых задании. Задает пара- метр substr, являющийся подстрокой отправителя.
II. Команды 639 - R return Устанавливает объем возвращаемого сообщения. Параметр return мо- жет быть установлен в значение full для возврата полного сообщения или в значение hdrs для возврата только заголовков. - t Считывает сообщение для получателей. Просматриваются строки То:, Сс: и Вес: в поисках адресов получателей. - U Определяет изначальное подчинение пользователя. Этот флаг должен быт ь всегда установлен для такого агента пользователя как mail или exmh и никогда для такого агента сетевой доставки как rm ail. - v Переходит в режим выдачи подробных сообщений: информирует о за- мещении псевдонимов и т.д. - X logfile Регистрирует все входящие и исходящие трафики в файле регистрации logfile. Применяется для отладки. Останавливает обработ ку флагов, рассматривая остаток аргументов как адреса. Существует также немало опций, которые обычно могут использоваться лишь сис- темным администратором. Опции могут быть установлены либо в командной строке с помощью флага -о для коротких имен и флага -О для длинных, либо в конфигураци- онном файле. Ниже приведен ограниченный список опций, которые полезны в командной строке и для отображения которых применяются длинные имена. Опции AliasFile^/z/e Использует альтернативный файл псевдонимов. HoldExpensive Подключаясь к почтовым узлам, которые считаются Expensive (на- груженными и дорогостоящими), не инициирует сразу соединение. Эта опция предполагает создание очереди. CheckpointInterval=A Проверяет файл очередей сообщений после каждых успешных N до- ставок. По умолчанию N равно 10. DeliveryMode=x Устанавливает режим доставки в значение*. Существуют следующие режимы: i интерактивная синхронная доставка b фоновая асинхронная доставка q доставка через очередь d подобна q. хотя программа избегает просмотров БД DNS и NIS ErrorMode=* Устанавливает режим обработки ошибок в значение х: m возврат ошибочного сообщения w запись ошибочного сообщения (или возврат его, если отправи- тель не зарегистрирован) р вывод ошибок на терминал (по умолчанию) q сообщения об ошибках отбрасываются, возвращается лишь ста- тус е выполнение специальной обработки для BcrkNct
640 II Команды Если текст сообщения в случае m или w не нужно возвращать но почте или отправитель находится на локальном компьютере, копия сообще- ния добавляется в файл dead.letter исходного каталога отправителя. SaveFromLine Сохраняет Unix-стиль строк From в начале сообщений. IgnoreDots Не рассматривает единственную точку в строке как конец сообщения. SendMimeErrors Посылает ошибочные сообщения в MIME-формате. Если эта опция не установлена, отменяет DSN (Delivery Status Notification - извещение о состоянии доставки). Connect ionCacheTiineout=/w?eo«/ Устанавливает тайм-аут при подключении. МеТоо Посылает также и те (мне — отправителю), если существует соответ- ствующее расширение псевдонима. CheckAliases Вводит в действие правило "правой руки" для команды newaliases. OldStyleHeaders Допускает "старый" стиль заголовков. QueueD\Teclory=queuedir Выбирает каталог queuedir для накопления очереди сообщений. StatusFile^/r/e Хранит статистику в указанном файле. Timeout. queueretum= time Устанавливает время тайм-аута для недоставленных сообщений очере- ди. Если доставка не осуществлена за этот промежуток времени, сооб- щения должны быть возвращены отправителю. По умолчанию принято 5 дней. UserDatabaseSpec=w5erJa,Za'Z>a'S'e Будет справляться о переназначении информации в БД пользователя userdatabase. Чтобы эта опция была доступна, sendmail должна быль скомпилирована с опцией DSERDB. SevenBitlnput Выполняет усечение информации входящих сообщений до 7 бит. EightBitMode=mode Устанавливает поддержку 8-битного входа для 7-би1ной дистанцион- ной информации в заданном режиме mode. Параметр mode принимает следующие значения: m выполняет преобразование в 7-битный формат MIME р пропускает входную информацию как 8-битную s категорически отбрасывает сообщение MinQueueAge=/fmeowf Устанавливает, как долго задание хранил ся в очереди между поныл ка- ми о гправить его. DefaultCharSet=c/?<7K5e/ Устанавливает символ charset, используемый, чтобы помелить S-бит- ную информацию, которая не была помечена.
II. Команды 641 Dial Delay=sA?€-7?f йяе Устанавливает время ожидания sleeptime в секундах, если попытка от- крыть подключение оказалась неудачной. MaxDaemonChildren=W Задает максимальное количество дочерних процессов, которые разре- шено создавать демону входящих сообщений SMTP. Connect ion RateThrottle^?/ Устанавливает максимальное число подключений (в секунду) к порту SMTP. Первый символ имени псевдонима может быть вертикальной чертой, при этом оста- ток имени трактуется как команда для отправки. Рекомендуется заключать такое имя в кавычки, что препятствует нежелательным действиям sendmail по подавлению про- белов между аргументами. Псевдонимы могут также иметь следующий синтаксис: : include .filename При этом filename будет рассматриваться sendmail как имя файла со списком по- лучателей сообщений. Программа sendmail возвращает код завершения, описывающий ее действия. Коды определяются в <sysexits.h>. Ниже приведены коды завершения sendmail: ЕХОК EXNOUSER успешное выполнение для всех заданных адресов имя пользователя не распознано EXUNAVAILABLE были недоступны некоторые необходимые ресурсы EXSYNTAX EXSOFTWARE синтаксическая ошибка в адресе ошибка внутреннего программного обеспечения при включе- нии некорректных аргументов EXOSERR временная ошибка ОС: невозможность выполнить разветвление процесса и т.д. EXNOHOST EXTEMPFAIL не распознано имя сетевого узла сообщение не может быть немедленно отправлено, хол я находи- лось в очереди Вызванная как newaliases программа sendmail перестраивает БД псевдонимов; вызванная как mailq - перестраивает содержимое почтовой очереди. service управляет запуск л служб Синтаксис service пame_of_script [keyword] Команда service использует сценарии из каталога /etc/rc.d/init.d для управления запуском, повторным запуском и завершением разных служб. Никогда не следует пу- тать исполняемый файл, скажем /usr/sbin/httpd (сервер Apache), со сценарием /etcl
642 II Команды rc.d/init.d/httpd. Необязательное ключевое слово keyword и определяет осуществ- ляемое действие над указанной службой name of script. В кат алоз е /etc/rc.d/init.d содержится полный перечень служб данной системы. Далее перечислены употребляемые значения keyword: start система использует эту опцию для запуска во время загрузки; супер- пользователь также может применять эту опцию stop система (суперпользователь) использует эту опцию для останова служ- бы reload суперпользователь может перезагружать службу, посылая сигнал НИР (см. приложение I) и вынуждая перечитывать файлы конфигурации restart суперпользователь подходящим образом останавливает службу и тот- час запускает ее вновь; если служба еще не запущена, она будет запу- щена condrestart осуществляет то же действие, что и restart, но лишь с уже запущенной службой status сообщает о состоянии службы Примеры Чтобы выяснить набор допустимых значений keyword для конкретной службы, до- статочно запустить команду service без параметра keyword: # service nfs Применение; nfs {start|stop|status|restart|reload} I Такие значения keyword допускаются для службы NFS (распечатка выполнена в русской версии Red Hat Linux 9). А так выполняется рестарт службы NFS: # service nfs restart
II. Команды 643 setkeycodes загружает элементы таблицы отображе- ния скан-кодов в коды клавиш. Синтаксис setkeycodes scancode keycode».. Обычная клавиатура персонального компьютера создает наборы скан-кодов (шест- надцатеричные значения) при каждом нажатии и освобождении клавиш. Скан-коды можно отобразить с помощью команды gctkeycodes. Ядро анализирует поток скан- кодов и преобразует их в поток кодов клавиш (десятичные значения), определяющих действия, выполняемые ядром при нажатии/освобождении клавиш. Поток скан-кодов содержит неуправляющие скан-коды типа хх (7 бит) и управляю- щие пары скан-кодов типа еОхх (8+7 бит). В ядре заложено, что коды клавиш в интер- вале 1—88 равны своим скан-кодам (0x01-0x58). Для оставшихся скан-кодов (0x59- 0x7f) и пар скан-кодов (ОхеО 0х00-0хе0 Ox7f) могут быть назначены соответствую- щие коды клавиш из интервала 1 127. Команда setkeycodes выбирает из командной строки пары аргументов, предпола- гая, что первый аргумент пары является заданным скан-кодом, а второй - соответству- ющим кодом клавиши. Эла информация передается драйверу клавиатуры, находяще- муся в ядре. Эта команда будет полезна пользователям, имеющим у себя несколько клавиш, чьи скан-коды не распознаются ядром. Когда как вы добавите новые элементы в таблицу отображения для драйвера ядра, можно использовать команду load keys, позволяющую определить функцию клавиши. setserial - отображает характеристики последовательного порта и конфигурирует его. Синтаксис setserial [-abqvVz] device [parameterl [ arg ]] ... setserial -g [-abGv] devicel ... Команда setscrial отображает статистику и реконфигурирует последовательный порт. Один из способов найти информацию о ваших последовательных портах в каталоге /dev состоит в проверке имен файлов; файлы с именами, начинающимися на ttyS (см. приложение II), и есть ваши последовательные порты. То, что в DOS называется СОМ 1 (IRQ4, порт Ox3f8), в Linux есть /dev/ttySO; COM2 (IRQ3, порт 0x2f8) -/dcvfttySl. Далее приведены IRQ и адреса портов ввода/вывода. назначенные четырем последо- вательным портам:
644 II Команды Порт IRQ Адрес ввода/вывода СОМ1 4 0x3f8 COM2 3 0x2f8 COM3 4 0хЗе8 COM4 3 0х2е8 Два значения IRQ - 3 и 4 - разделяются среди четырех СОМ-портов. Команда setserial может быть применена, чтобы сконфигурировать и настроить характеристики порта, используя различные опции командной строки. Соответствую- щую строку с командой setserial можно поместить (или создать файл сценария) в сце- нарий /etc/rc.serial, который вызывается во время обычной загрузки системы из сце- нария /etc/rc.d/rc.sysinit. Если никаких параметров не указано, setserial будет распечатывать тип порта, порт ввода/вывода устройства, IRQ, базовую скорость и некоторые необязательные флаги. А если задана опция -g, аргументы команды setserial рассматриваются как список устройств, харктеристики которых следует распечатать Без опции -g первый аргумент команды setserial интерпретируется как устройство, которое должно быть модифици- ровано или характеристики которого должны быть распечатаны, а любые дополнитель- ные аргументы рассматриваются как назначаемые параметры. В основном для установки характеристик порта требуется статус суперпользовате- ля. хотя некоторые параметры могут быть установлены и обычными пользователями. Опции - а Выводит всю доступную информацию при распечатке конфигурации последовательного устройства. - Ь Печатает итоговую информацию по конфигурации устройства последо- вательного порта. - G Печатает информацию по конфигурации устройства последовательно- го порта в таком виде, чтобы она могла быть возвращена команде setserial в качестве аргументов командной строки. - q Выводит краткий листинг. - v Осуществляет вывод информации в подробном формате. - V Выводит информацию о версии setserial и завершает ее работу. _z Обнуляет флаги последовательного порта перед их установкой. Во время обычной загрузки системы инициализируются только COM-порт ы 1 -4 с использованием принятых по умолчанию портов ввода/вывода и значений IRQ. Чтобы инициализировать дополнительные последовательные порты или поменять их конфи- гурацию, приходится пользоваться командой setserial. При использовании некоторых последовательных устройств, таких как сотовый те- лефон, приходится устанавливать специфические характеристики последовательного порта. Следующие параметры могут быть назначены последовательном) иорп
II. Команды 645 port port number устанавливает порт ввода/вывода irq irq number устанавливает IRQ uart uarttype устанавливает тип UART (none, 8250, 16450 и пр.); использование зна- чения none запрещает порт autoconfig просит ядро попытаться автоматически сконфигурировать данный порт autoirq во время процесса автоконфигурации пытается определить IRQ Aauto_irq во время процесса автоконфигурации не пытается определить IRQ skip test во время процесса автоконфигурации пропускает тест UART Askip test но время процесса автоконфигурации не пропускает тест UART baud base baud base Устанавливает базовую скорость передачи (тактовая частота, деленная на 16); обычно это значение равно 115200 spd hi Использует скорость 57.6 Кбит, когда приложение требует 38.4 Кбит; параметр доступен обычному пользователю spdvhi Использует скорость 115 Кбит, когда приложение требует 38.4 Кбит; параметр доступен обычному пользователю spd shi Использует скорость 230 Кбит, когда приложение требует 38.4 Кбит; параметр доступен обычному пользователю spd warp Использует скорость 460 Кбит, когда приложение требует 38.4 Кбит; параметр доступен обычному пользователю spd cust Использует заказной делитель, чтобы установить скорость, когда при- ложение требует 38.4 Кбит; скорость передачи равна haud base, де- ленной на делитель; параметр доступен обычному пользователю spd normal Использует скорость 38.4 Кбит, когда приложение требует 38.4 Кбит; параметр доступен обычному пользователю divisor divisor устанавливает заказной делитель, используемый при выборе опции spd cust и установке приложением скорости порта в значение 38.4 Кбит sak устанавливает клавишу прерывания в Secure Attention Key Asak запрещает Secure Attention Key fourport конфигурирует i юследовательный порг под мультипортовую плату AST Fourport (четырехпортовую) Afourport запрещает конфигурацию AST Fourport Это лишь часть опций из тех, что могут быть задействованы. Специальные мульти- портовые платы позволяют использовать несколько последовательных портов на од- ной IRQ-линии.
646 II Команды Примеры Предположим, у вас имеется высокоскоростной модем, и вы добавляете специаль- ную строку в файл rc.serial. чтобы запустить программу setseria! и установить для последовательного порта специальный флаг spd_vhi. Установка такого флага позволя- ет вашему ПК взаимодействовать с модемом с куда большей скоростью, чем он мо- жет использовать для соединения с дистанционной системой. Добавьте следующую строку в файл rc.serial: /bin/setserial /dev/ttySO spd_yhi Теперь получим информацию по интересующему нас порту: # setserial -a /dev/ttySO /dev/ttySOr Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baudjbase: 115200, closedelay: 50, divisor: 0 closing_wait: 3000 Flags: spd_vhi skip_test ♦ - создает lock-файлы для использования в сценариях оболочек. shlock Синтаксис shlock -p pid -f name [-b][-u][-c] Программа shlock пытается создать lock-файл с именем пате и записать в него идентификатор процесса pid. Если файл уже существует, shlock считывает из него PID, а затем проверяет, запущен ли процесс с таким идентификатором. Если такой процесс обнаружен, файл не будет создаваться. Программа shlock завершается с нулевым кодом, если ей удалось создать lock-файл, или с ненулевым кодом, если файл ссылается на текущий активный процесс. Создание lock-файлов (файлов блокирования) призвано противодействовать не- скольким попыткам одновременной записи в один и тот же файл (например, файл history). Опции -Ь Идентификаторы процессов обычно считываются и записываются в формате ASCII. Если используется флаг -Ь, будет записывать их как дво- ичное целое. -и Синоним опции -Ь, применяется для совместимости с другими систе- мами. -с Не создает lock-файл, а вместо этого использует указанный файл, что- бы провери ть, не установлена ли блокировка другой программой. Если блокирование уже имеет место, shlock завершается с ненулевым ко- дом; если блокирования не существует, программа завершается с ^ле- вым кодом.
II. Команды 647 showaudio воспроизводит звуковое сообщение электронной почты. Синтаксис showaudio file-паше Программа showaudio позволяет пользователю соответствующим образом обо- рудованной рабочей станции воспроизвести звуковое сообщение, возможно, создан- ное при помощи команды audiocompose. Обычно эта команда вызывается програм- мой metamail в соответствии с содержимым файла mailcap и воспроизводит указан- ные файл(ы) file-name. - выбирает и отображает тело почтового сообщения, включенного с помощью ссылки. showexternal Синтаксис showexternal body-file access-type паше [sitefdirectory [mode [server]]] Отмечает реальное тело сообщения, включенное по ссылке, используя М1МЕ-тип message/external-body. Обычно эта команда вызывается командой metamail в соот- ветствии примерно с таким элементом файла mailcap: message\external-body; showexternal % %{access0type} %{name} %{site} %{directory} %{mode} %{server}; needsterminal; ... и т. д. showkey - печатает на стандартный вывод или код, или символ каждой нажатой клавиши. Синтаксис showkey [-(hVskm]j[-tW] По умолчанию программа showkey "дожидается" нажатия очередной клавиши 10 секунд, после чего завершается. Про1*рамма showkey работает в трех режимах, scancode dumping, keycode dumping и keymap testing. Смысл перечисленных режимов раскутыва- ется при описании опций программы. Опции -h, - help Выводит информацию о версии программы и краткую справку оее воз- можностях в стандартный файл ошибок, затем завершается. -V, -version Выводит информацию о версии программы в стандартный файл ошн- бок, затем завершается.
II Команды - s, —scancodes Запускает showkey в первом из режимов - scancode dumping. Распеча- тывает на стандартный вывод в шестнадцатеричном формате каждый байт, полученный при нажатии клавиши клавиатуры. Начинает печатать с новой строки, когда между получаемыми байтами возникает интервал около 0.1 секунды или переполняется внутренний принимающий буфер. Этот режим изначально предназначался для отладки драйверов клавиа- туры или других низкоуровневых интерфейсов и не представляет боль- шого интереса для обычного пользователя. - k, —keycodes Запускает программу во втором режиме, принятом по умолчанию. В режиме keycode dumping печатает на стандартный вывод код каждой нажатой или отпущенной клавиши, отмечая даже эти события. Коды кла- виш - это числа, назначаемые ядром каждой отдельной клавише. Каж- дая клавиша ассоциируется с единственным кодом, хотя при нажатии клавиши ядру может посыпаться один или несколько scan-кодов (см. первый режим). - m, —keymap Запускает программу во втором режиме, но выводит символы так, как они транслируются ядром, использующим текущее отображение кла- виатуры. В этом режиме также отмечается, но вовсе не выполняется действие каждой клавиши. - t N, — timeout=W Меняет заданное по умолчанию (10 секунд) время тайм-аута. Пример После запуска команды showkey были нажаты клавиши с символами латинской кла- виатуры - а, Ь, с, d. kb mode was XLATE press any key (program terminates after 10s of last keypress)— keycode 28 release keycode 30 press keycode 30 press keycode 30 press keycode 30 release keycode 48 press keycode 48 release keycode 46 press keycode 46 release keycode 32 press keycode 32 release После запуска команды showkey были нажаты те же клавиши, что и ранее, но в комбинации с клавишей правая Alt - символы кириллицы ф, и, с, в. kb mode was RAW [ if you are trying this under X, it might not work since the X server is also reading /dev/console ] press any key (program terminates after 10s of last keypress)... keycode 28 release keycode 100 press keycode 100 press
II. Команды 649 keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 100 press keycode 30 press keycode 30 release keycode 48 press keycode 48 release keycode 46 press keycode 46 release keycode 32 press keycode 32 release keycode 100 release А теперь с помощью команды showkey -s были получены scan-коды соответствен- но для ранее рассмотренных первого и второго случаев. kb mode was RAW [ if you are trying this under X, it might not work since the X server is also reading /dev/console ] press any key (program terminates after 10s of last keypress)... 0x9 c Oxle 0x9e 0x30 OxbO 0x2e Oxae 0x20 OxaO kb mode was RAW [ if you are trying this under X, it might not work since the X server is also reading /dev/console ] press any key (program terminates after 10s of last keypress)... 0x9c OxeO 0x38 Oxle Oxle OxeO 0xb8 0x9e 0x30 OxeO 0x38 OxeO 0x38 OxbO OxeO 0xb8 0x2e OxeO 0x38 Oxae OxeO 0xb8 OxeO 0x38 0x20 0x20 0x20 OxaO OxeO 0xb8
650 II Команды showmount выводит информацию о подключениях к серверу NFS. Синтаксис showmount [-adehv][—all][—directories][—exports][—no-headers] [—help] [—version] [.host] Программа showmount запрашивает демон монтирования дистанционного узла host по поводу состояния сервера NFS на той машине. Вывод showmount выглядит так, будто предварительно обрабатывался с помощью команды sort -и. Опции -a, —all Отображает имя клиентского узла и смонтированный каталог в форма- те - узел: каталог. -d, —directories Отображает только смонтированные, каталоги. -е, --exports Отображает список экспортирования сервера NFS. -h, — help Выводит краткий список опций. -v, —version Выводит информацию о текущей версии программы —no-headers Убирает из вывода заголовки описаний. Пример $ showmount nfs-server.rambler.com $ Выводит список клиентов, которым разрешено импортировать файлы с сервера nfs-server.rambler.com. выводит все или часть сообщения электронной почты не в ASCII-шрифте shownonascii Синтаксис shownonascii charset-font-name [-е command-to-execute] file-name Программа shownonascii позволяет просмотреть под XII информацию файлов file-name не в ASCII-символах. По умолчанию, используя имя указанного шрифта charset-font-name, будет оз крыт xterm и для просмотра файлов запушена коман'ш more. Опции -е command-to-execute Запускает вместо more указанную команду command-to-execute.
II. Команды 651 showpartial - собирает по частям большое сообще- ние MIME-формата. Синтаксис showpartial file id partnuin totainum Программ^! showpartial извлекает тело сообщения MIME-формата типа message/partial (часть сообщения) для дальнейшего использования. Вызванная на последней части, она собирает все куски вместе и вызывает metamail, чтобы отобра- зить полное сообщение. Программа showpartial обычно вызывается командой metamail в соответствии с содержимым файла mailcap. Извлекаемые части сообщения помешаются в каталог /tmp, который может пере- полниться, так и не дождавшись последних частей. Когда с помощью metamail отображается полное сообщение, части отбрасыва- ются за ненадобностью, а к пользователю поступит запрос, требуется или нет удалять полное сообщение. выводит изображение, полученное по электронной почте. showpicture Синтаксис showpicture [-viewer program-name] file-name — Программа showpicture позволяет пользователю на соответствующим образом оборудованной рабочей станции выводить изображения, используя программу xloadimage. Обычно showpicture вызывается программой metaniail в соответствии с содержимым файла mailcap. Имена файлов с изображениями указываются аргумен- том file-name. Опции -viewer program-name По умолчанию для просмотра изображений под XII используется ко- манда xloadimage -view -quiet -geometry +1 +1. Такое положение дел может быть перекрыто или переменной окружения X VIEWER или оп- цией -viewer. showrgb - декомпилирует БД RGB-имен. Синтаксис showrgb [database] Программа showrgb считывает скомпилированную базу данных RGB-iimcii цветов (см. X) и конвертирует ее обратно в исходную форму, распечатывая pesynwai на сган-
652 II Команды дартный вывод. По умолчанию существуег лишь одна гакая БД, построенная с помо- щью X. Следует указывать имя БД без суффикса .pag или .dir. По умолчанию БД является файл <Й7?ООГ>/ПЬ/Х11/rgb.txt, где XROOT- корневой катало! инсталлиро- ванного дерева XII. Пример $ showrgb 255 250 250 248 248 255 snow ghost white 248 248 255 Ghostwhite 245 245 245 white smoke 245 245 245 WhiteSmoke 220 220 220 gainsboro 255 250 240 floral white 255 250 240 Floralwhite 253 245 230 old lace 253 245 230 OldLace 250 240 230 linen 250 235 215 antique white 250 235 215 Antiquewhite 255 239 213 papaya whip 255 239 213 Papayawhip 255 235 205 blanched almond 255 235 205 В1anchedAlmond 255 228 196 bisque shrinkfile - усекает (,айл по линии границы. Синтаксис shrinkfile [—n][-m maxsize][-s size][-v] file... Программа shrinkfile усекает файл Jile до заданного размера size, если его размер больше максимального maxsize. Усечение производится по линии границы или, пра- вильнее сказать, по концу строки. Символ newline будет добавлен к любому непусто- му файлу, который не заканчивался на newline. Опции - s size По умолчанию параметр size равен 0, и файлы усекаются до нуля байт. По умолчанию maxsize равен size. Если maxsize меньше, чем size. то maxsize переустанавливается в значение size. Так как программа усека- ет файл по концу строки, полученный размер может оказаться меньше, чем указанный. Параметры size и maxsize могут завершаться буквами k, m или g, соответственно обозначающими килобайт, мегабайт или ги- габайт. Максимальный размер файла составляет 2147483647 Gain. - v Печатает строку состояния, если файл был усечен. - п Программа shrinkflle завершается с нулевым кодом, если оригиналь- ный файл больше, чем значение maxsize, в противном случае завер- шается с кодом 1. Ни один файл нс меняется.
II. Команды 653 shutdown - завершает работу системы. К Синтаксис shutdown |-t sec)[-arkhncfF] time [warning-message] Корректно завершает работу системы через указанный промежуток времени time или в конкретно заданное время. Все зарегистрировавшиеся пользователи предупреж- даются о предстоящем отключении, регистрация новых пользователей не производит- ся. Вполне возможно "закрыть” систему буквально сразу или через указанный проме- жуток времени. Прежде всего посредством сигнала SIGTERM (см. приложение I) о предстоящем завершении работы системы уведомляются все процессы. Что дает программам, подоб- ным vi, время на сохранение редактируемых файлов, почты, новостей и т.д. Программа shutdown "делает свое дело", сигнализируя процессу init и предлагая поменять уро- вень функционирования (или запуска, или выполнения - в литературе встречаются раз- ные термины) системы Нас будут интересовать такие уровни функционирования: О используется для завершения работы системы 6 выполняется перезагрузка системы 1 система переводится в однопользовательский режим, удобный для выполнения целого ряда административных задач Опции - а Использует файл /etc/shutdown.allow, содержащий список пользова- телей, которым разрешено завершать работу системы. - t sec Просит init подождать sec секунд между отправкой процессам уве- домлений и сигналов kill до перехода на другой уровень функциониро- вания системы. - к В действительности не завершает работу системы, лишь посылает всем уведомляющие сообщения. - г Выполняет перезагрузку системы. - h Выполняет останов после завершения работы системы. - и Самостоятельно выполняет завершение работы системы, не прибегая к помощи init, что в ряде случаев небезопасно и чревато неожиданными результатами. _f При перезагрузке не вызывает fsck (программу, проверяющую состоя ние файловой системы). Вызывает быструю перезагрузку системы. При этом только созда- ется файл /fastbool который затем тестируется вновь загружаемой си- с темой. Программа fsck может даже и не вызываться, если пере«и ру S- ка прошла успешно. После этого файл /fastboot удаляется. F При перезагрузке вызывает fsck. Отличается от опции -f тем, что обязаюлыю вызывает fsck, так го даже ранее корректно демонтированные файловые системы вновь бу
654 II- Команды дут проверены fsck. Вместо файла /fastboot в этом случае создастся /forcefsck, который будет удален по завершении загрузки. - с Снимает уже запушенный процесс завершения работы системы. В слу- чае использования этой опции нельзя задавать аргумент time. Существует два формата задания аргумента time. В первом случае может указы- ваться абсолютное время в формате hh.mm, где hh - это часы (одна или две цифры) и тт - минуты (две цифры). Во втором случае применяется формат +/и, где т - коли- чество минут ожидания до завершения работы системы. Слово now (сейчас) является псевдонимом для выражения +0. Если команда shutdown указывается с задержкой, она создает файл /etc/по, кото- рый запрещает программам, таким как login, регистрировать новых пользователей. shutdown может быть вызвана из init при нажатии магических клавиш Ctrl+Alt+Del, хотя это означает, что любой, получивший доступ к консоли и нажавший эти клавиши, может' завершить работу системы. Чтобы препятствовать этому, и существует опция -а. Вначале shutdown проверяет наличие файла /etc/shutdown.allow, а затем наличие регистрационного имени пользователя, инициирующего завершение работы системы, в списке, содержащемся в упомянутом файле. Только суперпользователь или автори- зованные пользователи могут "закрывать" систему. Для описания каждого авторизованного пользователя в файле /etc/shutdown.allow отводится по одной строке. Разрешаются пусгые строки и комментарии, начинающие- ся с символа #. В этом файле не может быть описано более 32 пользователей. size - сообщает информацию о размерах секций и общих размерах объектных файлов. Синтаксис size [ А| — в | —format=corapatibili ty] [ —help] [-d|-о|-x]--radix=nuraber] [—target=bfdname] [-V|—version] objfile... По умолчанию создается отдельная выходная строка для каждого объектного файла или модуля из архива, указываемого аргументом objfile. Опции - А, -В, —fovmai=compatibility Используя одну из этих опций, преобразовывает вывод в формате утилиты GNU size в формат System V size (применяя опцию -А или —format=sysv) или Berkeley size (применяя опцию -В или —format berkeley). По умолчанию формат подобен Berkeley size. - -help Выводит краткие сведения об аргументах и опциях программы и завер- шает ее работу. - d, -о, -х, —radix=wum/>er Используя одну из этих опций, управляет форматом размера секций: d, --radix 10- десятичный формат о, --radix 8 восьмеричный формат
II. Команды 655 х,—radix 16 шестнадцатеричный формат Общий размер всегда выводится в десятичном и шеотнадцагеричном форматах, если определены опции -d и -х, или восьмеричном и шест- надцатеричном, если задана опция -о. - - target С помощью bfdname принимает определение формата объектного кода для ohjfde, хотя в этом нет особой необходимости, так как size распоз- нает много форматов (см. objdump, где приводится перечень допусти- мых форматов). -V, —version Выводит информацию о версии программы и завершает ее работу. Пример f size -d /lib/libss.so.2.0 text data bss dec hex filename 13791 868 220 14879 3alf /lib/libss.so.2.0 t sieep “ задает задержку прежде, чем выполнять следую- ГЧ щую команду. Синтаксис sleep [option]—number [suffix] Данная команда часто применяется при написании сценариев. Выполняет задержку в number секунд. Необязательный аргумент suffix задает временные единицы измерения: s секунды h часы ш минуты d дни Опции —help Выводит краткое описание sleep и завершает ее работу. --version Выводит информацию о версии sleep и завершает ее. sort - сортирует строки текстовых <|-айлов. К Синтаксис sort [option]—(file)— Направляет результат сортировки на стандартный вывод. Опции +posl [~pos2] Устанавливает ключ сортировки, начиная с позиции pos t и до позиции pos2. Номера полей и смещения символов указываются, начиная с нуля. ь Игнорирует пробелы в начале сортируемых нолей или в начале ключей.
OJO II Команды - c Проверяет, сортировался ли указанный файл. Если да, то не выполняет сортировку. - d Воспринимает в составе ключей лишь буквы (лаз инского алфавига), циф- ры и пробелы, игнорируя все прочие символы. В процессе сортировки преобразует в ключах сзрочные буквы в соот- ветствующие прописные. “g Выполняет сравнение в соответствии с общим числовым значением, предполагает указание опции -Ь. - i Рассматривает в ключах только символы ASCII, игнорируя все прочие символы. - k posl[,_po.s2] Устанавливает ключ сортировки, начиная с posl и заканчивая posl (вклю- чая posl). Номера полей и смещения символов указываются, начиная с единицы. - 1 Сортирует в соответствии с текущей локалью. - т Объединяет ранее отсортированные файлы file, не сортируя их повтор- но. - М Выполняет сравнение по трехсимвольным сокращениям названий ме- сяцев (англоязычный вариант): JAN<.. <DEC (ЯНВ<...<ДЕК) Предполагается опция -Ь. - п Сравнивает по числовому значению, предполагается опция -Ь. - о file Выводит результат в указанный файл вместо стандартного вывода. - г Выполняет сортировку в обратном порядке. - t sep Задает разделитель полей. - Т dir Использует указанный каталог для временных файлов, игнорируя STMPDIR и /tmp. - и Если задана опция -ш, выводит только первую строку из последова- тельности одинаковых строк или проверяет отсутствие одинаковых строк, если указана опция -с. - z Вместо newline (символа новой строки) завершает строки нулем; для команды find предполагается опция -printO. —help Выводит список опций и завершает программу. —version Выводит информацию о версии программы и завершает ее. Если в командной строке не указан никакой файл или вместо имени стоит дефис, считывает стандартный ввод. Пример $ sort -О VW WV $ Заменяет файл vvv на его отсортированную версию.
II. Команды 657 source считывает и выполняет команды из указанного В файла в окружении текущей оболочки. Синтаксис . filename [arguments] source filename [arguments] После исполнения команд из файла filename возвращает код завершения послед- ней команды, выполненной из этого файла. Если ьргуметfilename (имя файла) не со- держит слэш, для нахождения файла использует маршруты, определяемые перемен- ной PATH. Если и после этого файл не обнаружен, продолжает поиск в текущем катало- ге. Заданные arguments рассматриваются как позиционные параметры, используемые при выполнении сценария из указанного файла. split - делит файл на части. К --verbose --help —version Синтаксис split [option][input [prefix]] Выводит части фиксированного размера файла input в виде файлов prefbaa, ргерхлЪ и т.д. По умолчанию аргумент prefix установлен в значение х. Если никакой файл не задан или вместо имени файла стоит дефис, считывает стандартный ввод. Опции - b. —bytes=x/ce Указывает размер выходного файла (байты). - С, line-bytes=s;ze Указывает максимальный размер строк выходного файла. - 1, —lines=number, -number Берет для выходного файла указанное количество строк. Распечатывает диагностику в стандартный файл ошибок до открытия каждого выходного файла. Выводит список опций и завершает программу. Выводит информацию о версии программы и завершает ее работу. Значение параметра size может быть дополнено одним из следующих суффиксов b 512 байт k 1 килобайт m I мегабайт Пример Файл гаЬ135 размером 2511 байт дели гея па части с помощью команды split:
658 II Команды § split -b 512 гаЫ35 $ Возникают четыре файла - хаа, xab, хас, xad размером 512 байт и файл-остаток под названием хае. Размер последнего сосзавляет 463 байт. делит большое почтовое сообщение на несколь- ко сообщений в MIME-формате. splitmail Синтаксис splitmail [-d]t~s splitsize][-p prefix][-i id-suffix][file-name] Профамма splitmail берет почтовое сообщение и разбивает его на более мелкие части с использованием MIME-типа message/partial (частичное сообщение). По умолчанию берет сообщение либо со стандартного ввода, либо с поименован- ного файла file-name и создает файлы частей сообщения с именами /tmp/split.l для первой части, /tmp/split.2 для второй и т.д. Опции - d На самом деле осуществит доставку почты. - р prefix Перекрывает упомянутый выше префикс /tmp/split. значением пара- метра prefix. - i id-suffix Генерирует части сообщения с подобными, но не идентичными полями Message-Id:, оканчивающиеся заданным суффиксом id-suffix, в фор- мате, позволяющем легко связывать одну часть сообщения с другой. - s splitsize По умолчанию на большинстве сайтов размер части составляет 250000. Но с помощью опции -S или переменной окружения SPLITSIZE может быть заменен на указанное значение splitsize. - v Выводит информационные сообщения. Конечно, можно установить размер части, скажем, в значение 1000000 (или бо- лее), что фактически гарантирует, что реальное сообщение не будет разбито на части, но, с другой стороны, не следует забывать, что по пути оно может быть отвергнуто транспортным программным обеспечением электронной почты по причине большого размера. ssh Синтаксис ssh (-1 loginname] hostname\user$hostname [command] ssh [-axACX1246][-c blowfish|3des|des][-e escape char] [-i identity file][-1 loginname][-o option][-p port][-F configfile] [L port:host:hostport] hostnamejuserQhostname [command] - клиент SSH для регистрации пользователзй и выполнения комаш. на ,",иста>; ионной машине
II. Команды 659 Чюбы защитить себя и своих пользоваюлей oi шик, скажем, через Telnet или FIР, а 1акжеог вынюхивания паролей" (так называемый сниффинг) при дищанционном до- ступе, необходимо применять такую систему, которая шифрует все, что проходи! че- рез нее. Поэтому, где только возможно, нужно использовать SSF1 (особенно вместо т- команд), достигая при этом: • шифрования всего, ч то проходит через сеть, от паролей и до самих сеансов • проверок ключей, идеи 1 ифицнрующих хосты • автоматического прохождения клиентов (ряда клиентских пакетов) системы X Window таким образом, что никогда не придется вновь создавать другие xauth и xhost. • клиентов для широкого круга операционных систем • поддержки ssh является принципиальной клиентской про1раммой, a sshd - сервером Unix (де- моном ssh). Демон может быть запущен в автономном режиме и принимать подклю- чения к самому себе или может быть запущен с помощью inetd В добавление к ос- новному клиенту, ssh, в пакете OpenSSH существует ряд других клиентских утилит: sep, sftp, ssh-keygen и др. ssh это программа для регистрации пользователей (user) и выполнения команд (command) на дистанционной машине (hostname), призванная заменить команды rlogin и rsh. Если переменная ForwardXl 1 установлена в значение "yes" и пользователь исполь- зуетХН (установлена переменная окружения DISPLAY), подключение к дисплею XI1 автоматически осуществляется на дистанционном хосте таким образом, что любые программы XII, стартующие из оболочки, пойдут через зашифрованный канал и со- единение с реальным Х-сервером будет выполнено с локальной машины. Пользова- тель не должен вручную устанавливать DISPLAY. Прохождение соединений X11 кон- фигурируется в командной строке или в файле конфигурации. Если пользователь использует агента аутентификации то подключение к агенту ав- томатически осуществляется на дистанционной стороне, если только это не будет зап- рещено в командной строке или в файле конфигурации Базовые опции - А Если пользователь пользуется услугами агента аутентификации, пере- носит аутентификацию на дистанционную сторону. Соответствующая опция ForwardAgent (принимает значение yes) имеется в файле кон- фигурации. - с blowfish | 3des | des Выбирает шифр (по умолчанию 3des), используемый для шифрования сеанса - i identity file Определяет файл для RSA и DSA, из которого будет считываться сек ретный ключ. По умолчанию это SIIOME/.ssh/idcntity (для прото- кола SSH версии 1). _а Запрещает передавать аутоитфикацию подключений агенту на дистан- ционной стороне. Соответствующая опция ForwardAgent (принимает значение по) имеется в файле конфш уранин.
660 II Команды -1 login нате Указывает имя пользователя для регистрации на дистанционной маши- не. Соответствующая опция User имеется в файле конфигурации. Задает опции в формате, применяемом в файле конфигурации, что по- лезно для опций, не имеющих отдельного флага в командной строке. Задает порт (по умолчанию - 22) для подключения к дистанционному хосту. Соответствующая опция Port имеется в файле конфигурации. Запрещает прохождение XI1 на дистанционный хост. Соответствующая опция ForwardXll(npnHHMaeT значение по) имеется в файле конфигу- рации. Разрешает прохождение XII. Соответствующая опция ForwardXll (принимает значение yes) имеется в файле конфигурации. Указывает альтернативный пользовательский файл конфигурации (по умолчанию $HOME/.ssh/config). Если файл конфигурации задан в ко- мандной строке, общесистемный конфигурационный файл /etc/ssh/ ssh_config будет проигнорирован. Заставляет ssh использовать протокол лишь версии 1. Заставляет ssh использовать протокол лишь версии 2. Заставляет ssh использовать только адресацию IPv4. Заставляет ssh использовать только адресацию IPv6. Запрашивает сжатие всех данных, включая stdin, stdout, stderr, инфор- мацию для прохождения подключений XI1 и TCP/IP. Алгоритм сжатия тот же, что использует gzip. Устанавливает управляющий символ для сеансов с pty (терминалом). По умолчанию принят символ ~ Управляющий символ распознается только в начале строки. Управляющий символ с последующей точкой закрывает соединение, управляющий символ с последующей комбина- цией CTR.L+Z вызывает "зависание" соединения, идущие два подряд уп- равляющих символа трактуются как один. Установка управляющего символа в значение попе, отменяет любые управляющие символы. -L port.host.hostport Указывает заданный порт port на локальном клиентском хосте, инфор- мация через который должна быть препровождена на заданный хост host и порт hostport на дистанционной машине. В этом случае SSH-сервер, с которым у вас установлено шифрованное соединение, вовсе не являет- ся конечной адресуемой машиной, через него лишь должна проследо- вать информация для указанного адресата (см. пример). -о option -р port -X -F configfile -2 -4 -6 -С -e сЛ(лсЛ|попе Примеры Применение опции -L лучше всего рассмотреть на конкретном примере. SSH-кли- ент внешней сети может получить доступ к Web-ccpiicpy plum (входящий порт S0) час гной внутренней сети компании лишь через SSH-сервер pear. На клиентской маши- не в целях безопасности лучше всего использовать порт с высоким значением номера (свыше 30000). Вот так будет выглядеть командная строка:
II. Команды 661 f ssh -L 30002:р1шп:80 pear При адресации IPv6 допускается альтернативный синтаксис: t ssh —L 30002/plum/80 pear ssh-keygen генерирует и управляет ключами аутентификации. Синтаксис ssh-keygen [-q][-b bits] -t type [-N new_passphrase] [-C comment] I-f output_keyfile] ssh-keygen -p [-P oldpassphrase] [-N newpassphrase] [-f keyfile] ssh-keygen -i ]-f inputkeyfile] ssh-keygen -e [-f input_keyfile] ssh-keygen -y [~f inputkeyfile] ssh-keygen -с (-P passphrase] [-C corarent][-f keyfile] ssh-keygen -1 [-f input_keyfile] ssh-keygen -Б ]-t input_keyfile] ssh-keygen -D reader ssh-keygen -U reader (-f inpnt_keyfile] Команда ssh-keygen создает, управляет и преобразовывает ключи для ssh в случае использования последней протокола SSH версии 1 (RSA-ключи) и SSH версии 2 (RSA или DSA-ключи).Обычно ssh-keygen генерирует секретный ключ и запрашивает имя файла, в котором его хранить, а открытый ключ сохраняет в файле с тем же именем, но с расширением .pub. Системный администратор также может использовазъ эту коман- ду для создания ключей хоста. В процессе генерации ключа запрашивается кодовая фраза, которая в оболочке безопасного соединения по имени ssh является эквивален- том пароля. Эта фраза может быть строкой произвольной длины (пробел указывает на отсутствие кодовой фразы) и содержать прописные и строчные буквы, знаки пунктуа- ции, числа, не алфавитно-цифровые символы. В дальнейшем кодовая фраза может быть изменена. Ключи хоста должны иметь пустую кодовую фразу. Опции -b bits При создании указывает количество битов в ключе, минимальный раз- мер составляет 512, а принятый по умолчанию 1024. Ключи больше- го размера не усиливают безопасность, а лишь приводят к замедлению работ ы. _ с Меняет коммен гарий в файлах секретных и открыт ых ключей. Эта оп- ция лишь поддерживается для ключей RSAI. ssh-keygen приглашает ввесги имя файла с секретными ключами, кодовую фра tv, если ключ имеет таковую, и затем новый коммен гарий.
662 II Команды - е Считывает файл секретного или открытого ключа в формате SECSH Public Key, распечатывая последний на стандартный вывод. Эта опция разрешает экспорт ключей для использования некоторыми коммерчес- кими реализациями SSH. - f keyfile Указывает имя файла с ключом. - i Считывает файл с ключом в SSH2-cobmccthmom формате и также в формате SECSH Public Key. Затем распечатывает на стандартный вы- вод OpenSSH-совместимый секретный или открытый ключ. Эта опция разрешает импорт ключей из некоторых коммерческих реализаций SSH. - 1 Показывает "отпечаток" указанного файла открытого ключа. Также под- держиваются секретные ключи RSA1. Для RSA и DSА ключей програм- ма ssh-keygen пытается найти совпадающий файл открытого ключа и распечатывает его "отпечаток". - р Вместо создания нового секретного ключа требует замены кодовой фразы секретного ключа, ssh-keygen приглашает указать файл секрет- ного ключа, старую кодовую фразу и дважды новую кодовую фразу. - q Устанавливает режим минимального вывода. - у Считывает секретный файл формата OpenSSH и распечатывает на стан- дартный вывод открытый ключ OpenSSH. - t type Указывает тип создаваемого ключа: rsal для протокола версии 1 и rsa или dsa - для протокола версии 2. - В Делает обзор указанного файла секретного или открытого ключа. - С comment Обеспечивает новым комментарием. - D reader Загружает открытый ключ RSA, хранимый в смарт-карте (интеллекту- альной карте), в reader. - N new_passphrase Обеспечивает новой кодовой фразой. - Р passphrase Обеспечивает кодовой фразой (старой). - U reader Выгружает существующий секретный ключ RSA в смарт-карту в reader. Файл SHOME/.ssh/identity удостоверяет личность пользователя по протоколу RSA версии 1. По умолчанию этот файл предлагается для секретного ключа. Этот файл не может быть прочтен никем другим кроме данного пользователя. Файл $HOME/.ssh/id_dsa удостоверяет личность пользователя по протоколу DSA версии 2. По умолчанию этот файл предлагается для секретного ключа. Этот файл не может быть прочтен никем другим кроме данного пользователя. Файл SHOME/.ssh/id rsa удостоверяет личность пользователя по протоколу RSA версии 2. По умолчанию этот файл предлагается для секретного ключа. Этот файл не может быть прочтен никем другим кроме данного пользователя. Примеры Пользователь misha сгенерировал себе пару ключей (открытый и секретный), ис- пользуя команду ssh-keygen:
IL Команды 663 $ ssh-keygen -t rsa -b 1024 Generating public/private rsa key pair. Enter file in which to save the key (/home/misha/.ssh/id rsa): Created directory '/home/misha/.ssh Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/misha/.ssh/id rsa. Your public key has been saved in /home/misha/.ssh/idrsaTpub. The key fingerprint is: d9:20:3c:57:ba:8e:aa:lb:18:df:e0:e4:ee:7e:da:38 mishaplocalhost.localdomain В приведенном примере была создана пара 1024-разрядных ключей по методу RSA (RSA-шифрование от фирмы RSA Labs, предполагает алгоритм асимметричного шиф- рования с открытыми ключами), где секретный ключ сохранен в файле $НО.МЕ /.ssh/ idrsa, а открытый - в SHOME/.ssh/id rsa.pub. Для дополнительной зашиты в SSH поддерживается кодовая (сквозная) фраза (passphrase), используемая для шифрова- ния секретного ключа. По соображениям безопасности файл секретного ключа может быть прочитан только самим пользователем, тогда как открытый ключ предназначен для свободного распространения и хранится в удобочитаемом формате. $ cd .ssh $ cat idrsa.pub ssh-rsa AAAAB3NzaClyc2EAAAABIwAAAIEA74kYc8gB97v0tvNxXgs9pvew37IX75h/ WTcylMoLls+d9VMXpmXYYVk20t57IDWtK0WfwN2qULe0RLtSIbt/ G3jrRJf9ugyDyHJztRF/ 5pok+Kf 9zJVF3lZmvyuA87YDIdXuygnl3BxJgrmBrSq9wt0egmJGWahd/P4K3fKx6Js= misha?localhost.localdomain $ startinnfeed - запускает innfeed, установив для нее при этом setuid суперпользователя. Синтаксис startinnfeed innfeed-options Устанавливает все ресурсы без ограничений: число открытых файлов, память. За- тем выполняет запуск innfecd с указанными опциями innfeed-options. startx - инициализирует сеанс системы X. Синтаксис startx ((Ctientl option,[server] option...} Сценарий startx приходи г имеете с дне i рибутнвом X11. в нем содержи гея обраще- ние к xinit пользовательскому интерфейсу для запуска сне гемы X Window, inn про сто X. Программа xinit обычно запускается без аргументов. Хотя сутесвуют искан' чсния. Если выбирается глубина цве i нос in, го приходи гея передавать api умен г сервс ру. Опция в лом случае имеет префикс — (дна дефиса).
6b4 II Команды Чтобы определить запускаемого клиента client, сценарии startx прежде всего про- сматривав г файл, называемый .xinitre в исходном каталоге пользователя. Если такой не обнаружен, используется файл xinitre из катало! а, содержащего библиотеку с про- граммой xinit. Хотя опция client из командной строки перекрывает все ранее упомяну- тые файлы. Чтобы определить запускаемый сервер server, сценарий startx ищет файл .xserverre в исходном каталоге пользователя. Если таковой не найден, использует файл xserverre из каталога, содержащего библиотеку с программой xinit. Опция server из командной строки перекрывает все ранее упомянутые файлы. .xinitre —это обычный сценарий оболочки, запускающий несколько клиентов в со- ответствии с пожеланиями пользователя. Если этот сценарий завершается, startx так- же завершает работу сервера и другие сеансы. Большинство клиентов, запускаемых .xinitre, работают как фоновые процессы. Только последний клиент должен быть за- пущен в разделе переднего плана. Когда он завершается, завершается весь сеанс. Пользователи часто выбирают менеджера сеанса, оконного менеджера или xterm (вир- туальный терминал) в качестве magic-клиента. Пример В сценарии xinitre последним обычно вызывается оконный менеджер. Его послед- няя строка может иметь вид exec fvwm или exec twin. stat - распечатывает содержимое полей дескриптора файла. Синтаксис stat filename... Пример $ stat vvv2 File: "wv2" Size: 60 Filetype: Regular File Mode: (0664/-rw-rw-r—) Did: ( 501/ misha) Gid: ( 501/ misha) Device: 3,5 Inode: 6759 Links: 1 Access: Tue Aug 22 23:20:11 2000(00042.00:13:38) Modify: Tue Aug 22 23:16:34 2000(00042.00:17:15) Change: Tue Aug 22 23:16:34 2000(00042.00:17:15) $ statserial предоставляет информацию о последовательных портах Синтаксис statserial [ —n |-d|-x)[device-nameJ statscrial отображает таблицу сигналов на стандартных 9-pin пли 25-pin пос чето- нагельных портах и указывает состояние линий с подтверждением свя ш (handshaking).
II. Команды НеоОяза тельный парамегр device-name предо гавляез собой полное имя файла усгрол ства последовательного порта, по умолчанию /dev/ttyS 1. Утилита statserial полезна для выявления проблем с последовательными линиями или модемами. Опции "п Запрещает посгоянную работу в цикле (так обычно работает statserial) Работу в цикле можно прервать, используя комбинацию клавиш Ctrl+C. -d Печатает статус модема в виде десятичного числа. Биты шифруются следующим образом: +—+—+—+—+—+—+—+—+—+ I 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | +----+-+---+---+---+-+---+-----+--+ |DSR[RI |DCD|CTS[XXX|XXX|RTS|DTR|XXX| +----+-+---+---+---+-+--+------+--+ -х Печатает статус модема в виде шестнадцатеричного числа. Пример # statserial /dev/ttySO Device: /dev/ttySO Signal Name Pin (25) Pin (9) Direction (computer) Status Full Name FG 1 - Frame Ground TxD 2 3 out — Transmit Data RxD 3 2 in — Receive Data RTS 4 7 out 1 Request To Send CTS 5 8 in 1 Clear To Send DSR 6 6 in 1 Data Set Ready GND 7 5 — — Signal Ground DCD 8 1 in 0 Data Carrier Detect DTR 20 4 out 1 Data Terminal Ready RI 22 9 in 0 Ring Indicator strace - трассирует системные вызовы и сигналы. Синтаксис strace [-dffhiqrtttTvxx] [-асоТшпл] [-еехрг]... [-ofiJe] [-ppid]. -. [sstrsize} [-uusername} [command [arg— ] ] strace -c [ -eexpr]...[ -Ooverhead] [ -Ssortiy] [ command [arg...]] В простейшем случае strace запускает предложенную команду command с ее ар- гументами arg. А затем фиксирует возникшие системные процессы и все получаемые ими сигналы. В стандартный файл ошибок или указанный файл заносится каж (ЫЙ сис- темный вызов, его аргументы в скобках и возвращаемое значение. strace очень полезный для отладки диагностический ине грумен г.
666 II Команды Опции -с Для каждого системного вызова подсчитываег время, число вызовов и ошибки, а но завершении программы создает отчет. -d Выводит некоторые отладочные сообщения программы strace в стан- дартный файл ошибок. -f Грассирует дочерние процессы, созданные текущими трассируемыми процессами как результат системного вызова fork (разветвление про- цессов). -ff Если действует опция -tojile, то каждая трасса записывается в файл file.picK где pid - числовой идентификатор процесса. h Распечатывает опции программы. -i Во время системного вызова печатает указатель команд. -q Запрещает выводить сообщения о присоединениях, отсоединениях и т.п., что будет выполняться автоматически, если вывод направлен в файл. -r Печатает относительную временную метку для каждого системного вызова. -t Для каждой строки трассы создает префикс, содержащий время дня. -tt Для каждой строки трассы создает префикс, содержащий время дня с точностью до микросекунд. -ttt Распечатывает время (см. опцию -tt), содержащее количество секунд от начала эпохи. -T Показывает время, затраченное на системные вызовы. Отмечает проме- жуток времени между началом и концом каждого системного вызова. -V Подробно информирует о системных вызовах. -V Информирует о версии strace. -X Выводит в шестнадцатеричном виде все строки, формат которых отли- чен от ASCII. -XX Печатает все строки в шестнадцатеричном формате. -acolumn Выводит возвращаемые значения в виде столбца указанного размера, по умолчанию - 40. -eexpr Определяет, какие события и как трассировать. Формат выражения, определяющего трассировку, выглядит следующим образом: [qualifer=][\]value 1 [,value2] ... Параметр ехрг определяет одно из выражений для qualifier (для опи- сателя): trace (по умолчанию), verbose, raw. signal, read или write; a value - зависящий от описателя qualifier символ или номер. -e trace-sef Трассирует только указанный набор системных вызовов. По \ молча- нию принято trace=all (вес наборы системных выловов). -e trace-file Трассирует все системные вызовы, принимающие имя файла в каче- стве аргумента.
II Команды 667 - е trace=process Трассирует все системные вызовы, обуславливающие управление про- цессом, что полезно для отслеживания разных шаюв процесса: fork wait или exec. - е trace=network Трассирует все сетевые системные вызовы. - е trace—signal Трассирует все сигналы, относящиеся к системным вызовам - е trace—ipc Трассирует все системные вызовы, относящиеся к 1РС - е abbrev=seZ Избавляет указанный вывод от печати каждого члена больших струк- тур. По умолчанию принято abbrev=all. Опция -v дает эффект abbrev=none. -е verbose-set Не упоминает о структурах для указанного набора системных вызовов. -е raw-set По умолчанию verbose=all, т.е. для всех системных вызовов упомина- ются их структуры. Распечатывает все аргументы указанного набора системных вызовов в шестнадцатеричном формате, что имеет смысл, если пользователь хо- чет знать актуальное числовое значение аргумента или не доверяет де- кодированию. -е signal=5e/ Трассирует только указанное подмножество сигналов, по умолчанию signa!=all - (все сигналы трассируются). -е read=se/ Для дескрипторов файлов, перечисленных в указанном наборе, создает полный дамп всей считанной информации в шестнадцатеричном фор- мате и формате ASCII. Следует отметить, что эта возможность не зави- сит от обычной трассировки системного вызова read, который управ- ляется опцией -е trace=read. -е write=^ef Для дескрипторов файлов, перечисленных в указанном наборе, создает полный дамп всей записанной информации в шестнадцатеричном фор- мате и в формате ASCII. Эта возможность не зависит от обычной трассировки системного вызова write, который управляется опцией -е trace=write. -cfile Вместо стандартного файла ошибок записывает трассу в указанный файл. Использует Jile.pid, если задана опция -ff. -Ooverhead Устанавливает верхний предел в микросекундах для трассировки сис- темных вызовов. -ppid Подключается к процессу с указанным идентификатором и начинает его трассировку, которая может быть прервана в любое время с помощью Ctrl+C. Многочисленные опции -р могут применяться для подключе- ния к разным процессам (до 32) в дополнение к команде command, по- следняя нс является обязательной, если хотя бы раз задана опция -р -sstrsize Указывает максимальный размер распечатываемой строки; по умолча- нию 32.
668 II Команды -Ssortby Сортирует вывод гисто! рамм, распечатываемых с помощью опции -с по указанным критериям. Параметр sortby принимает такие значения time по времени calls по вызовам name по именам nothing (по умолчанию по времени) -wusername Запускает команду по идентификатору пользователя и группы, а также по дополнительным группам username. Некоторые возможные трассировки доступны лишь пользователям с полным на- бором привилегий суперпользователя. Имеет смысл проинсталлировать специальную версию strace с режимом nvsr-xr для суперпользователя и группы strace, членам которой разрешается производить трассировку. Пример $ strace -onnn -р943 $ В файл ппп заносится трасса процесса с идентификатором 943. strip - отбрасывает из объектного файла все идентифика- торы. Синтаксис strip [-F bbdname|—target-bfdname](-I bfdname\—input-target=bfdnameJ [ —O bfdname | —output-target=bfdname] (-R section-name|—remove-section=sectlonname][-s]—strip-all] [-S|-g|—strip-debug][—strip-unneeded][-x|—discard-all] (-X|—discard-locals][-K symbolname|—keep-symbol=symbolname] [ -N syuibolname\ —strip- symbol=symbolname] [ -ofHe] [-p|—preserve-dates][-v|—verbose][-V|—version][—help] objfile... Отбрасывает идентификаторы из объектных файлов objfile. в список объектных файлов могут также включаться архивы. Опции - F bfdname, —iargev=bfdname Рассматривает оригинальный файл objfile как файл в формате bfdname и перезаписывает его в том же формате. —help Выводит информацию об опциях программы и завершает ее работу - I bfdname, -input-target^/;/dname Рассматривает оригинальный файл objfile как файл с объектным кодом в формате bfdname. - О bfdname, --output-target bfdname Замещает objfile файлом в выходном формате bfdname.
II. Команды 669 R sectionname, —vemove-seciion-secttonname Удаляет из выходною файла секцию sectionname. Можно неоднократ- но использовать эту опцию. - s, -strip-all Удаляет все идентификаторы. - g -S, —strip-debug Удаляет только отладочные идентификаторы. --strip-unneeded Убирает все идентификаторы, которые нс понадобятся в процессе на- стройки. - N symbolname, --strip-symbol=symbolname Удаляет из исходного файла символ (идентификатор) symbolname. Мож- но неоднократно использовать эту опцию. - о file Принимает усеченный вывод в файл file вместо замещения существу- ющего файла. Когда используется эта опция, может быть указан только один аргумент objfile. - р, -preserve-dates Сохраняет режим доступа и дату модификации файла. - х, --discard-all Удаляет все неглобальные символы (идентификаторы). - X, --discard-locals Удаляет все локальные символы (идентификаторы), сгенерированные компилятором. Их имена обычно начинаются с L или с точки. - К symbolname, -keep-symbol=symbolname Копирует из исходного файла только символ (идентификатор) symbolname. Можно неоднократно использовать эту опцию. - V, verbose Создает подробный вывод: распечатывает все измененные объектные файлы. В случае архивов с помощью strip -v распечатывает все члены архива. - V, — version Выводит информацию о версии программы и завершает ее работу. SlTy - выводит и изменяет установки терминала. IX. Синтаксис stty [option][setting]-- stty [option] Позволяет поменять установки setting вашею терминала. Если никаких установок не задано, выводит скорость герминальной линии к бодах, номер линии и установки терминала, которые отличаются от назначенных командой stty sane.
670 II Команды Опции -a. —all -F device, - -g, --save Многие Распечатывает все текущие установки в удобочитаемом формате. Эта опция не может быть использована совместно с какими-либо установ- ками. -file device Устанавливает линию, открываемую файлом устройства device, вместо tty-линии, подключенной к стандартному вводу. Распечатывает все текущие установки в формате, который можно ис- пользовать как аргумент для другой команды stty, что позволяет вос- становить текущие характеристики терминала. Данная опция не приме- няется совместно с какими-либо установками. установки могут быть отключены, если перед ними имеется знак минус. Управляющие установки parenb Генерирует бит четности на выходе и ожидает бит четности на входе. parodd Устанавливает проверку на нечетность, даже если перед установкой сто- ит знак минус. cs5, cs6, cs7, cs8 Устанавливает количество информационных бит в передаваемых сло- вах, соответственно 5, 6, 7 или 8. hup, hupcl Посылает сигнал hangup (см. приложение I), когда последний процесс закрывает tty. Может быть отрицательной. cstopb Использует два стоп-бита на символ или один, если установка отрица- тельна. cread Разрешает прием ввода. clocal Отключает управляющие сигналы модема. crtscts Разрешает RTS/CTS (запрос на передачу для синхронных коммуникаци- онных терминалов, целиком обеспечивающих синхронную передачу мас- сива информации, обрамленного управляющими символами) управле- ние потоком данных. Входящие установки ignbrk brkint ignpar parrnrk inpck istrip inlcr igncr Игнорирует символы прерывания (клавиши прерывания). Генерирует сигнал прерывания при нажатии клавиши прерывания. Игнорирует ошибки четности. Отмечает ошибки четноеги. Разрешает проверку входного потока на четность. Очищает наивысший (8-ой) биг входных символов. Преобразует символ newline (новом строки) в символ возврата карет- ки. Игнорирует символ возврата каретки.
II. Команды 671 icrnl Преобразует символ возврата каретки в newline ixon Разрешает XON/XOFF (старте гоииая передача) управление потоком дан- ных (Ctrl+S/Ctrl+Q). ixoff, tandem Разрешает посылать стоп-символ, когда входной буфер системы почти полон, и старт-символ, когда буфер становится поч ги пустой. iuclc Преобразует прописные символы в строчные. ixany Разрешает любому символу перезапуск вывода, только если старто- вый символ отрицательный. imaxbel Разрешает звуковой сигнал и не разрешает освобождать входной бу- фер, если очередной символ поступил, когда входной буфер полон. Исходящие установки opost olcuc Выполняет дополнительную обработку вывода. Преобразует строчные символы в прописные. ocml Преобразует символ возврата каретки в newline. onlcr Преобразует символ newline (новой строки) в символы возврата ка- ретки и newline. onocr Не выводит символы возврата каретки в первом столбце. onlret Использует символ newline в качестве символа возврата каретки. о fill Использует символы заполнения для создания задержек. ofdel Для заполнения использует символы удаления вместо нулевых симво- лов. nil nlO Определяет стиль задержки символа newline. сгЗ, сг2, crl, сгО Определяет стиль задержки символа возврат каретки. tab3, tab2, tabl, tabO Определяет стиль задержки символа горизонтальной табуляции. bsl, bsO vtl, vtO ffl, ffO Определяет стиль задержки символа возврата на один символ. Определяет стиль задержки символа вертикальной табуляции. Определяет стиль задержки символа перевода (прогона) страницы. Локальные установки isig Разрешает специальные символы interrupt (прерывание), quit (выход) и suspend (перевод терминала в состояние ожидания). icanon Разрешает специальные символы erase (удаление последнего набран ного символа), kill (удаление текущей строки), werase (удаление пос- леднего набранного слова), rprnt (перерисовка текущей строки). iexten Разрешает специальные символы, не соответствующие стандарту POSIX. echo Отображает входные символы.
II Команды 672 echoe, ci (erase Отображает символы удаления в виде backspace-пробел-Ьаскбрасе. echok Отображает newline (символ новой сiроки) после символа kill echonl Отображает newline, даже если не отображает другие символы, nofish Отменяет освобождение информационного буфера после специальных символов interrupt и quit. xcase Разрешает прием и вывод прописных символов в виде их строчного эквивалента, которому предшествует обратный слэш. Действует, если задана установка icanon. tostop Останавливает фоновые задания, которые пытаются писать на терми- нал. echoprt, prterase Отображает уже удаленные символы, заключая их между обратным и прямым слэшами. echoctl, ctlecho Отображает управляющие символы в формате ЛС. echoke, crtkill Отображает специальный символ kill путем удаления каждого символа в строке, как предполагают установки echoprt и echoe, а не как дей- ствуют установки echoctl и echok. Пример ♦ stty sane ♦ Восстанавливает установки терминала, задаваемые по умолчанию. К - позволяет одному пользователю временно стать другим пользователем. SU Синтаксис su [option]... [ user [arg} — ] Позволяет какому-либо пользователю временно стать пользователем user и за- пускать команды в интерактивной оболочке, под его подлинным и действующим идеи тификаторами, идентификатором основной группы и дополнительных групп. Если в ко- мандной строке никакой пользователь не указан, позволяет даже стать суперпользова- телем при условии знания его пароля. По умолчанию su не меняет текущий каталог, а лишь устанавливает переменные окружения НОМЕ и SHELL на основе информации файла паролей для указанного пользователя user. По умолчанию оболочка не является оболочкой регистрации. Любые дополнительные аргументы arg передаются оболочке. Опции -с command, —command=-co»/m«w7 Передает текущей оболочке команду вместо того, чтобы запустить ин терактивную оболочку.
II. Команды 673 Пере?дuiei оболочке опцию -f, ч го имеет смысл лишь для оболочки типа cs учли tesh, для которой подобная опция запрещает чтение стартового файла .eshre. ogin Ус I анавливает в качестве текущей оболочки оболочку регистрации, что буде! означать следующее: переустанавливает все переменные окру- жения кроме TERM, HOME, SHELL, USER и LOGNAME, переменную PAi Н устанавливает в значение по умолчанию, меняя каталог на исход- ный каталог пользователя user, а также заставляет оболочку прочесть ее стар говый файл. -ni, -р, - preserve-environment Не меняет переменные окружения HOME, USER, LOGNAME, SHELL. Запускает оболочку, заданную переменной SHELL, а не в файле паро- лей /etc/passwd. -s shelly —sheW—shell Запускает указанную оболочку shell вместо заданной в файле /etc/passwd. Пример gs root@localhost.loceldomain: /root X CmishaGlocalhost rnishaH su -1 iPassword: I [rootG local host /root]• ** | A J r/| выполняет команды с привилегиями других пользователей. sudo Синтаксис sudo -V |-h I-11 -LI-v| -k |-K I-s I [-H ] [ -P] [-S ] [ -b] I [ -p prompt] ( u username| tuid] command Команда sudo разрешает уполномоченному пользователю выполнять команды в качес гве суперпользователя или другого пользователя, как определено в файле sudoers. По умолчанию sudo требует, чтобы пользователи идентифицировали себя с помощью пароля (своего собственного, а не суперпользователя). Команда sudo выполняет исчерпывающую регистрацию и разрешает многие адми- нистративные проблемы, не предоставляя излишних привилегий. После выполнения регистрации пользователь может использовать sudo без пароля в течение короткого отрезка времени (5 минут, если только это значение не будет перекрыто в файле sudoers). Как правило, sudo используется для делегирования полномочий в следующих слу- • Операторам резервною копирования необходим.тривнлегии суперполь ювателя. чтобы выполнить команды dump и restore. • Администраторам БД требуется перезатрузить СУБД-серверы, но у них нег пароля суперпользователя (что очень правильно).
674 II Команды • Необходимо поручить младшему админисграюру создание учезных записей пользователей, не предоставляя ему пароль суперпользователя. • Системному администратору требуется осуществиib аудит команд, выполняющихся с привилегиями суперпользователя. Основные опции - V Выводи! информацию о версии протраммы и завершает ее. - 1 Печатает список команд, разрешенных и запрещенных для данного пользователя на текущем хосте. - L Распечатывает параметры, которые могут быть установлены в строке Defaults (часть файла sudoers), с кратким описанием каждого. Эта оп- ция полезна в сочетании с командой grep. - h Выдает справку по опциям команды и завершает ее. - v Обновляет временную метку пользователя, если необходимо. Расши- ряет таймаут sudo на следующие 5 минут, но не запускает никакую ко- манду. - к Лишает законной силы временную метку пользователя. При следую- щем запуске sudo запросит пароль. - К Полностью удаляет временную метку пользователя. - Ь Запускает sudo в фоновом режиме. - р prompt Разрешает перекрывать принятое по умолчанию приглашение пароля и использовать пользовательское приглашение. Выражение %и в пригла- шении пароля заменяется пользовательским регистрационным именем. %h - именем локального хоста. -и username\#uid Приказывает запустить указанную команду command в качестве пользо- вателя username. Вместо имени пользователя можно указать #uid - идентификатор пользователя. - s Запускает оболочку, указанную в переменной окружения SHELL (если установлена) или в /etc/passwd. - Н Устанавливает переменную окружения НОМЕ в значение домашнего каталога целевого пользователя (по умолчанию суперпользователя), как указано в /etc/passwd. По умолчанию sudo не модифицирует НОМЕ. - Р Сохраняет неизменным вектор групп данного пользователя. По у мол- чанию sudo инициализирует вектор групп как значение списка гру пи, в которых числится целевой пользователь. - S Считывает пароль со стандартного ввода вместо терминального уст- рой сгва. Указывает команде sudo конец apt умен гов командной с троки. Файл конфигурации утилиты sudo под названием /etc/sudocrs редактируется с по- мощью специальной команды visudo. Подобно тому, что делает команда croutab с
II. Команды 675 файлами crontab, команда visudo проверяет синтаксис файлов sudoers и сообщает о любых ошибках в конфигурации sudo. Конфигурационные файлы sudoers состоят из трех следующих основных частей: псевдонимы, принятые по умолчанию установки, пользовательская спецификация. В разделе aliases (псевдонимов) имеется возможность определить поименные спис- ки пользователей, хостов и команд для последующих ссылок. Сущее 1вуют четыре шпа списков псевдонимов: • User Alias - пользователи, которым разрешено выполнять команды с помощью sudo • Runas Alias - пользователи, в качестве которых разрешено выполнять команды • Host_Alias - хосты, на которых пользователям разрешено выполнять команды с помощью sudo • CmndAlias - команды, которые разрешено выполнять с помощью sudo Псевдоним определяется следующим образом: Alias_Type Name = iteml, item2, ... , iteniN Здесь Alias ! ype - это тип псевдонима, а в качестве Name указывается список значе- ний. зависящих от типа псевдонима. В разделе defaults можно изменить принятые по умолчанию установки утилиты sudo. У sudo слишком много принятых по умолчанию установок, чтобы приводить здесь полный их список, однако к некоторым наиболее интересным относятся следующие: • timestamp timeout - промежуток времени между последовательными запросами пароля • logfile - маршрут к файлу регистрации, в который посылаются сообщения (по умолчанию они отправляются в syslog) • mailto - адрес для отправки сообщений об ошибках и предупреждающих сообщений (по умолчанию подобные сообщения посылаются суперполь- зователю) В разделе user specification (пользовательская спецификация) фактически указы- ваются те команды, которые разрешено выполнять пользователю, а также в качестве какого пользователя их разрешено выполнять: ID HOST = (USER) COMMANDS Примеры Вот так могут выглядеть некоторые строки в файле /ctc/sudocrs: UserAlias ADMINS=stevefolga,ann User Alias WEBMASTERS=mike,george User Alias DBAS=chad,kevin Определены списки администраторов, Web-мастеров it админис ipafopoit БД. С помощью следующей строки можно определить список команд, которые разрешено выполнять оператору резервного копирования: Cmnd Alias BACKUPCOMMANDS /usr/sbin/dnmp, /usr/shin/restore, /usr/bin/tar
676 II Команды Добавив такие строки, можно запускать Apache на нескольких Web-серверах' User Alias WEBMASTERS=mike,george Runas Alias ADMIN_ACCOUNTS=root,operator Host_Alias WEBSERVERS=pear,plum,lemon Cmnd_Alias WEBPROGS=/usr/local/apache/bin/ WEBMASTERS WEBSERVERS=(ADMIN_ACCOUNTS) /usr/local/apache/bin/ Обычный пользователь может выполнить такую команду: $ sudo fdisk -1 /dev/hdal подсчитывает контрольную сумму и количество бло- ков в файле. sum Опции sum [option][file]— Для каждого заданного файла file определяет контрольную сумму и подсчитывает количество блоков в нем. Опции -г Применяет алгоритм подсчета контрольных сумм, принятый в BSD, ис- пользуются блоки размером 1Кбайт. -S, —sysv Применяет алгоритм подсчета контрольных сумм, принятый в System V, используются блоки размером 512 байт. - help Выводит список опций и завершает программу. --version Выводит информацию о версии программы и завершает ее. Если в командной строке никакой файл не указан или вместо имени файла стоит дефис, считывает стандартный ввод. Пример $ sum —s гаЫ35 6892 5 гаЫ35 $sum -г гаЫ35 34711 3 5 распознает, идентифицирует и опро- К бует установленное видеооборудование компьютера. Синтаксис SuperProbe [verbose]]-nol6][-excl list]I-masklO][-order list] (-noprobe list](-bios base][-nobios][-nodac][-nomem][-info) SuperProbe
II Команды 677 SuperProbe но программа, которая пытаегся определить пш видеооборудова- ния, инсталлированного в FlSA/lSA/VLB-системах, и проверить в разных комбинациях известные регистры. SuperProbe идентифицирует видеокарту компьютера и опреде- ляет объем видеопамяти. Опции -verbose Подробно информирует о ходе опробования. -no 16 Не пытается использовать порты ввода/вывода, требующие 16-битную адресацию. Для шины ISA, например, использует только 10 бит. -excl list Не пытается получить доступ к портам ввода/вывода, перечисленным в списке list. В указанный список входят разделенные запятыми порты или диапазоны портов ввода/вывода. Порты могут задаваться в деся- тичной, в восьмеричной (номера начинаются с 0) или шестнадцатерич- ной (номера начинаются с Ох) нотации. -mask 10 Использует 10-битную адресацию портов ввода/вывода. Это важно для старых 8-битных и некоторых 16-битных видеокарт. -order list Указывает наборы чипов для тестирования и его порядок. Параметр list включает разделенный запятыми список имен чипов. Этот список пере- крывает встроенный по умолчанию список тестирования. -noprobe list Указывает, какие наборы чипов программа SuperProbe не будет тести- ровать. Параметр list - это список разделенных запятыми наименова- ний чипов. -bios base Указывает базовый адрес в BIOS для видеооборудования. По умолча- нию используется ОхСОООО. -no bios Запрещает чтение BIOS для видеооборудования. -no dac Запрещает определять тип RAMDAC, если определена видеокарта VGA или SVGA. -nojnem Запрещает определять объем инсталлированной видеопамяти. -info Пример Распечатывает список всего известного программе видеооборудования. root@localhost localdomain: /root Файл Правка Sellings Справка Вы можете запустить SuperProbe без каких- либо параметров, перена- значив вывод программы во временный файл. TrootElocalhost /root]» SuperProbe>/tnp/file WARNING - THIS SOFTWARE COULD HANG YOUR MACHINE. READ THE SuperProbe.l MANUAL PAGE BEFORE RUNNING THIS PROGRAM. [Г INTERRUPT WITHIN FIVE SECONDS TO ABORT! IrootClocalhost /root 1 # I
678 II Команды запрещает применять указанные устройства или файлы в качестве области своппинга - разрешает применять указанные устройства или файлы в качестве области своппинга. swapoff Синтаксис swapoff [-hJ[-V] swapoff -a swapoff specialfile... Отключаемые устройства или файлы своп пинга задаются аргументом specialfile Опции h Выводит подсказку о применении команды. - V Выводит информацию о версии swapoff. - а Отключает все устройства своппинга, описанные в файле /etc/fstab. swapon Синыксис swapon [—h][—V] swapon -a [-v] swapon [-v][-p priority] special file... swapon [-s] Обычно swapon вызывается автоматически из /etc/rc, делая все устройства под- качки доступными. Разрешает применять specialfile в качестве области своппинга. Опции - h Выводит подсказку о применении команды. - V Выводит информацию о версии swapon. - s Информирует об устройстве подкачки. Опция доступна, начиная с ядра 2.1.25. - а Делает доступными все устройства из /etc/fstab. имеющие метку sw (или swap). - р priority Указывает приоритет для swapon, значение priority находится между О и 32767. Добавьте в поле опций соответствующего элемента файла /etc/fstab выражение pri-vo/wc (значение приоритета) для использова- ния с командой swapon -а. - v Подробно комментирует происходящее. Нельзя использовать swapon для файла с "дырами": требуе тся единый участок oei сбойных блоков.
II. Команды sync сбрасывает буфера файловой системы Синтаксис sync [option] Записывает измененные блоки на диск, обновляет суперблок. Опции help Отображает список опций и завершает программу. — version Выводит информацию о версии программы и завершает ее. Ядро держит данные в памяти (в буферах) во время операций чтения и записи на диск, что значительно увеличивает производительность системы. Но во время сбоя системы данные могут быть бесповоротно потеряны, и в результате повреждена сама файловая система. Команда sync записывает содержимое буферов на диск. sysctl настройка параметров ядра во время выполнения. Синтаксис sysctl [-nJ [-e] variable ... sysctl [-П] [-e] -w variable-value sysctl [-П1 (-e] -p filename sysctl [-П] I-e] -a sysctl [-П] [-e] -A С течением времени возникает необходимости внести изменения в некоторые пара- метры ядра. До появления sysctl приходилось вносить изменения в конфигурацию ядра, а затем его перекомпилировать. Команда sysctl позволяет менять параметры работающего ядра через файловую систему /ргос. И хотя под /ргос мы как бы можем видеть группу каталогов и файлов, но фактически это лишь представление частей ядра операционной системы. Можно считывать и записывать значения в эти "файлы", обращаясь к ним, как к переменным. Опции - а Отображает все доступные значения. - А Отображает все доступные значения в виде таблицы. - w variable=vahie Для установки переменной (.variable) в значение value используется формат типа variable=value вместе с опцией р filename Загружает установки из указанного файла (по умолчанию /etc/ sysctl.conf). - е Mi норирует неизвестные ключевые слова. - п При печати значений запрещает печать ключевых слов.
680 И Команды Примеры i sysctl -A abi.fake utsname = 0 abi.trace = 0 abi.defhandler_libcso = 68157441 abi.defhandler lca!17 = 68157441 abi.defhandler_elf = 0 abi.defhandler coff = 117440515 dev.cdrom.checkjmedia = 0 dev.cdrom.lock = 1 dev.cdrom.debug = 0 dev.cdrom.autoeject = 0 dev.cdrom.autoclose = 1 dev.cdrom.infо = CD-ROM information, Id: cdrom.c 3.12 2000/10/18 net.Unix.max_dgram_qlen =10 net.token-ring.rif_timeout = 60000 net.ipv4.conf.lo.arpfilter = 0 net.ipv4.conf.lo.tag = 0 net.ipv4.conf.lo.log_martians = 0 net.ipv4.conf.lo.bootp_relay = 0 net.ipv4.tcp_retrans_collapse = 1 net.ipv4.tcp sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_timestamps = 1 vm.maxmapcount = 65536 vm.max-readahead = 31 vm.min-readahead = 3 vm.page-cluster = 3 vm.pagetablecache =25 50 vm.kswapd = 512 32 8 vm.overconunitmemory = 0 vm.bdflush = 30 500 0 0 500 3000 60 20 0 kernel.overflowgid = 65534 kernel.overflowuid = 65534 kernel.random.uuid = 07c48db8-24ff-44c9-bba4-9d0487f7c2a3 kernel.version = 11 Thu Mar 13 16:42:56 EST 2003 kernel.osrelease = 2.4.20-8 kernel.ostype = Linux fs.quota.syncs = 8 fs.quota.free_dquots = 0 fs.quota.allocated_dquots = 0 А так можно увеличить значение параметра: t sysctl -w net.ipv4.tcp_retries2 = 15
II Команды 681 IdC - конкатенирует и печатает файлы в обратном порядке Синтаксис tac [option]...[file].... Записывает каждый файл file на стандартный вывод: последнюю строку первой, предпоследнюю - второй и т.д. Если никакой файл не указан или вместо имени файла стоит дефис, считывает стандартный ввод. Опции -b, —before Подключает разделитель до начала поля вместо конца поля. -г, —regex Интерпретирует разделитель как регулярное выражение. -s, — separator=smng Использует string в качестве разделителя вместо newline. —help Выводит список опций и завершает программу. --version Выводит информацию о версии программы и завершает ее. Пример $ cat vvvl ssdd ssdd ghgh yuyu ssdd $ tac vvvl ssdd yuyu ghgh ssdd ssdd $ tail - выводит конечные элементы файлов. К Синтаксис tail [option]...[file]... Обычно направляет на стандартный вывод последние десять строк каждого файла file. Если в командной строке указано более одного файла, каждому выводимому фай- лу будет предшествовать заголовок с его именем. Если не задано ни одного файла или вместо имени файла стоит дефис, считывает стандартный ввод.
682 II. Команды Опции --retry Miioi окраiни пыгасюя выполнить открытие файла, даже если попытки неуспешны. Имеет смысл только с опцией -f. -с, —bytes=« Выводит последние п байт. -f, —follow Повторяет попытки прочесть данные в конце файла пате (вместо име- ни файла может быть указан дескриптор descriptor), добавляя считан- ную информацию к выходному файлу. Опция имеет смысл лишь для по- стоянно "растущих'’ файлов. -п, —lines=n Вместо десяти строк выводит последние п строк. - - max-unchanged-stats=n Определяет количество последовательных итераций, для которых раз- мер файла остается неизменным. После этого выполняется проверка, по-прежнему ли рассматриваемое имя файла соответствует своему пер- воначальному дескриптору. —max-consecutive-size-changes=n Определяет, соответствует ли заданный файл своему дескриптору пос- ле п последовательных изменений размера. —pid=p/d Завершает программу после завершения процесса с идентификатором pid. Используется совместно с опцией -f. - q, —quiet, —silent Никогда не выводит заголовков с именами файлов. - s, — sleep-intervals Между итерациями переходит в состояние ожидания на 5 секунд. - v, —verbose Всегда выводит заголовки с именами файлов. - - help Выводит список опций программы и завершает ее. —version Выводит информацию о версии программы и завершает ее. Если первый символ параметра п является знаком плюс, осуществляется вывод с л-ого байта или строки (см. опции -с и -п) от начала каждого файла. Параметр п может также содержать один из суффиксов: b для блоков размером в 512 байт к для блоков размером в 1024 байт ш для блоков размером в 1048576 байт Пример $ tail -f vvv5 One Two Three Four Ctrl+C $
II Команды 683 При первом чтении файла vvv5 команда tail распечатала строку One, прочие стро- ки отображались постепенно по мере их добавления совсем другой программой в файл vv v5. Процесс отслеживания ’’роста" файла vvv5 был прерван с помощью Ctrl+C. talk позволяет вести переговоры с другим пользователем. К Синтаксис talk person [ttyDame] Это инструментальное средство двухстороннего обмена существует в Unix вот уже третье десятилетие. Команда talk разделяет экран пользовательского терминала на две части, выводя в символьном режиме сообщения пользователя данного терминала в верхней части экрана, а сообщения другого пользователяв нижней. Команда talk копирует строки с вашего терминала на терминал другого пользова- теля. Если вы желаете вести переговоры с пользователем вашей машины, то в каче- стве аргумента person задается регистрационное имя другого пользователя. Команда talk является единственным стандартным инструментальным средством обмена сообщениями в Unix, предназначенным для связи с пользователями других систем. Если вы желаете поболтать с пользователем другого хоста, тогда аргумент person указывается в форме пользоеатель@имя хоста. Если вы желаете поговорить с пользователем, за регистрированным более чем на одном терминале, то следует ис- пользовать аргумент ttyname в форме ttyAT or pts/X. Для связи с другим пользователем ему фактически выдается запрос, который ото- бражается на экране терминала того пользователя. Когда же пользователь отвечает соответствующей командой talk, последняя раз- деляет экран терминала на две части, после чего можно приступать к вводу сообще- ний, предназначенных другому пользователю. Системные администраторы редко пользуются командой talk для непосредствен- ной связи с пользователями, поскольку она реализует метод двухсторонней связи, не- пригодный для объявлений или предупреждений. Тем не менее, некоторые админист- раторы считают talk очень полезной для связи с теми пользователями, которых они знают персонально или по предыдущим сеансам связи, особенно в корпоративной сре- де, где администраторам известно большинство пользователей. В частности, они мо- гут воспользоваться командой talk при оказании пользователю помощи в диагностике неисправности в реальном масштабе времени, не прибегая к обычным средствам тех- нической поддержки, ибо в противном случае для выявления неисправности потребо- вались бы многие часы или даже дни. Но системный администратор не должен увле- каться командой talk для связи с пользователями. В противном случае пользователи сами начнут дискуссии с ним при возникновении у них каких-либо проблем, вместо того чтобы обращаться к более подходящим средствам технической поддержки, в част- ности, к справочной службе.
684 II Команды Пример Суперпользователь начал диалог с пользователем misha. ♦ talk misha Так выглядит исходный экран, нижняя часть которого просто обрезана. tar - утилита а» хивации. К Синтаксис tar ]-] А —catenate —concatenate|с —create|d —diff —compare|г —append|t —list|u —update|x —extract —get [—atime-preserve] [-b, —block-size n]]-B, —read-full-blocks]J-C, —directory dir] [—checkpoint][-f, —file [hostname:]/][—force-local]]—delete] [-F, —info-script f, —new-volume-script f][-G, —incremental] ]-g, —listed-incremental f][-h, —dereference]]-i, —ignore-zeros] (-1, —bzip][—ignore-failed-read]]-k, —keep-old-files] ]-K, —starting-file f][-l, —one-file-system](-L, —tape-length n] ]-m, —modification-time][-M, —multi-volume] ]-N, —after-date date, —newer date] ]-o, —old-archive, —portability][-0, —to-stdout] ]-p, —same-permissions, —preserve-permissions][-P, —absolute-paths] [—preserve][-R, —record-number]]—remove-files] [—s, —same-order, —preserve-order]]—same-owner]]-S, —sparse] (-T, —files-from f][—null]]—totals]]-v, —verbose] ]-V, —label name]]—version]f-w, —interactive, —confirmation] ]-W, —verify]]—exclude file]]-x, —exclude-from file] ]-Z, —compress, —uncompress][-z, —gzip, —ungzip] ]—use-compress-program prog] filel [file2...fileU] dirl [dir2...dirti] Программа tar предназначена для хранения и извлечения файлов из архивного фай- ла, известного как tarfile. Здесь описана GNU-версия программы. Файл tarfile может быть также создан на ленточном накопителе. Первой в командной строке программы tar должна быть одна из следующих оп- ций: Acdrtux, за которой следуют необязательные опции. Последние аргументы tar имена архивируемых файлов (filel...) или каталогов (dir\...). При исполь юванин имени каталога всегда предполагается, что его подкаталоги будут включены в архив. Основные опции
II. Команды 685 - A, —catenate, —concatenate Добавляет файлы в архив. - с, —create Создает новый архив. - d, —diff, —compare Обнаруживает различия между членами архива и их "исходниками" в файловой системе. —delete Удаляет файлы из архива. Эта опция не используется для архивов на МЛ. - г, —append Добавляет файлы в конец архива. - t, —list Выводит содержание архива. u , --update Только добавляет файлы, ранее не включаемые в архив. -х, —extract, —get Извлекает файлы из архива. Другие опции —atime-prescrve Не меняет время доступа скопированных файлов. -b, -block-size п Устанавливает размер блока в лх512 байт. По умолчанию п -20. -В, —real-full-blocks Считывает фактические блоки; используется для чтения в конвейерах 4.2BSD. -С, —directory dir Меняет каталог на указанный. —checkpoint Печатает имена каталогов при чтении архива. -f, —file [hostname.~\f Использует архивный файл или устройство f (даже и на другом узле hostname). По умолчанию - /dev/rmtO. -force-local Предполагает, что архивный файл находится в локальной системе, даже если за опцией -f имеется двоеточие. -F, -info-script f —new-volume-script f Запускает сценарий/в конце каждой МЛ; предполагается опция -М -G, —incremental Поддерживает старый GNU-формат инкрементного резервирования. -g, — listed-incremental / Поддерживает новый GNU-формат инкрементного резервирования, создавая, отображая или извлекая из архива/ -h, —dereference Не дублирует сами символические ссылки; лишь дублирует файлы, на которые они указывают. -i, —ignore-zeros Игнорирует в архиве блоки пулей. -I, —bzip Фильтрует архив с помощью bzip2.
Обо II Команды —ignore-failed-read Игнорирует нечитаемые файлы, т.е. не завершается с кодом, отличным от 0. -k, --keep-old-files Удерживает существующие файлы, не перекрывает их при извлечении членов архива. -К, —starting-file f Начинает обработку архива с файла f -1, -one-file-system При создании архива остается в локальной файловой системе -L, -tape-length п Меняет магнитные леиты после записи каждых их 1024 байт. -m, -modification-time При извлечении членов архива игнорирует их время модификации. - М, --multi-volume Работает с многотомным архивом. - N, --after-date date, —newer date Только хранит более новые файлы относительно даты date. - о, --old-archive, —portability Записывает архив в формате V7 вместо ANSI-формата. -О, —to-stdout Направляет извлеченные из архива файлы на стандартный вывод. -р, -same-permissions, -preserve-permissions Извлекает защищенную информацию. -Р, -absolute-paths Не отбрасывает начальный слэш из имен файлов. —preserve Соответствует одновременному заданию опций -р и -s. -R, - record-number С каждым сообщением отображает номер записи архивной информа- ции. --remove-files Удаляет оригинальные файлы после добавления их в архив. -s, —same-order, —preserve-order Сортирует список имен файлов, извлекаемых из архива. --same-owner При извлечении файлов из архива сохраняет поле владельца файла. -S, —sparse Оптимально поддерживает "разбросанные файлы". - Т, —files-from f Для извлечения и создания получает имена из файлаf. -null Считывает оканчивающиеся нулем имена файлов; запрещает опцию -С. —totals Печатает общее число байт, записанное с помощью опции —create. - v, - verbose Предоставляет список обрабатываемых файлов. - V, --label пате Создает архив на томе с меткой пате. --version Сообщает о версии tar
II. Команды 687 - W, -interactive, — confirmation Запрашивает подтверждение для каждого действия. - W, —verify Пытается проверять архив после записи в него. —exclude file Исключает из обработки файл file. - X, — exclude-from file Исключает из обработки файлы, перечисленные в файле file. - Z, --compress, —uncompress Фильтрует архив с помощью compress. - z, —gzip, —ungzip Фильтрует архив с помощью gzip. --use-compress-program prog Фильтрует архив с помощью программы file, которая должна прини- мать опцию -d. tcpdump - анализирует сетевой трафик. Синтаксис tcpdump [-anpqtx][-i interface][~s snaplen][-v file][expression] Утилита tcpdump - это перехватчик сетевых пакетов, распечатывающий заголовки пакетов сетевого интерфейса, совпавшие с заданным выражением expression, или филь- тром. После выяснения факта наличия некоторой проблемы в сети, возможно, потре- буется посмотреть прохождение по ней конкретного трафика, чтобы выяснить суть проблемы и ее причины. Это - так называемый sniffing (пассивное прослушивание сети), а наиболее распрос граненным инст рументальным средством такого анализа слу- жит tcpdump. Эта утилита прослушивает сетевой интерфейс и выводит трафик, указы- ваемый в командной строке с помощью специальных фильтров expression. Далее пред- ставлены наиболее используемые фильтры: host hostname имя хоста или его IP-адрес port number иомер порта tep TCP (Transmission Control Protocol - протокол управления передачей) udp UDP (User Datagram Protocol - протокол передачи пользовательских дейтаграмм) ICMP ICMP (Internet Control Message Protocol - протокол управляющих со- общений Internet) (команда ping) sre применить следующий фильтр к исходному адресу dst применить следующий фильтр к целевому адресу Базовые опции -i interface Определят имя анализируемого сетевого интерфейса, если вы желае- те ограничиться единственным интерфейсом.
ООО II Команды - w file Записывает информацию о пакетах в указанный файл для доследующе- го анализа. - s snaplen ’’Отлавливает" из каждого пакета указанного число байтов вместо при- нятых по умолчанию 68. - а Пытается конвертировать сетевые и широковещательные адреса в имена. - п Не выполняет разрешения IP-адресов в имена хостов. - р Не переходит в так называемый режим "promiscuous" (разнородный, или смешанный). - Q Распечатывает минимальную информацию о пакете, что обычно прак- тикуется в том случае, если требуется лишь бросить "беглый взгляд" на происходящее в сети. - t Не проставляет временные метки в строках вывода. - х Распечатывает каждый пакет (за исключением его заголовка канально- го уровня) в шестнадцатеричном формате. Однако используйте эту команду с осторожностью, так как она - анализатор паке- тов, который может просмотреть любые незашифрованные данные, проходящие через вашу сеть, что серьезно нарушает секретность, tcpdump устанавливает интерфейс в так называемый режим "promiscuous" и распечатывает любой трафик, который видит на интерфейсе после применения заданного пользовательского фильтра, tcpdump может найти источник разнородных пакетов или накопить статистику, если ваша сеть перепол- няется. Но этот режим замедляет работу сетевого интерфейса машины. Пример В примере показано, как можно ограничить вывод трафиком, следующим к и от хоста my.exam.com через порт 22 (SSH): # tcpdump host my.exam.com and port 22 Kernel filter, protocol ALL, datagram packet socket tcpdump: listening on all devices 11:23:03.343382 ethO>my,exam.com.ssh>192.168.0.8.3662: P 412693775:412693883(108) ack 2432160235 win 5840 (DF) [tos 0x10] 11:23:03.363366 eth0>my.exam.com.ssh>192.168.0.8.3662: P 108:264(156) ack 1 win 5840 (DF) [tos 0x10] Вы можете использовать выражения and и or, чтобы комбинировать фильтры. tee - одновременно копирует стандартный ввод на К стандартный вывод и еще в некоторые файлы. Синтаксис tee [option]... [file]... Полезна, когда вы хотите не только переслать данные по конвейеру, но н сохранить их копии в файле file. Если указанный файл нс существует, создает его. Если файл уже имеется, перекрывает его, если только не используется опция -а.
II. Команды 619 Опции -a, —append Добавляв стандартный ввод к содержимому указанных файлов, ио не перекрывает их. -i, — ignore-interrupts Игнорирует сигналы прерывания. telnet - интерфейс пользователя к протоколу TELNET. Синтаксис telnet (-8jl-Ej1-F]l-к]]-Ь]|-S tos][-X authtype](-а][-с][-d] [~е escapechar][-k realm] -1 user][-n tracefile]]-г][-х][host [port]] Команда telnet применяется для подключения к другому сетевому узлу на прото- коле TELNET (см. приложение VI). Вызванная без аргумента host, указывающего офи- циальное имя, псевдоним или Internet-адрес дистанционного узла, переходит в команд- ный режим, выводя приглашение. Вызванная с аргументом host, открывает подключе- ние с учетом опций командной строки. Аргументрог! определяет номер порта, исполь- зуемого для подключения к дистанционной системе; в случае отсутствия этого аргу- мента применяется принятый по умолчанию порт TELNET. Основные опции -8 -Е -F Указывает 8-битный режим для входных и выходных данных. Не распознает управляющие символы. Передает локальные полномочия на дистанционную систему. Применя- ется в случае аутентификации по Kerberos. -К -L Запрещает автоматическую регистрацию в дистанционной системе. Указывает 8-битный вывод данных. -S tos Устанавливает тип IP-сервиса, используемого для подключения TELNET, в значение tos. Это может быть числовое значение или в сис- темах, где это поддерживается, символическое имя, определенное в файле /etc/iptos. -X authtype Отключает тип аутентификации, заданный параметром authtype. -а Пытается выполнить автоматическую регистрацию, посылая имя пользо- вателя. -с -d Запрещает чтение пользовательского файла .tclnetrc. Устанавливает режим отладки. -е escapechar Устанавливает символ ESC — начало управляющей последовательное ти для команды telnet. -k realm В случае аутентификации по Kerberos передает для дистанционного узла билеты в виде параметра realm. -1 user Передаст параметр user на дистанционную сисгсму в качестве значе ния для переменной USER, подра гумевает опцию -а.
690 IF Команды -n tracefile -r -x Открывает файл tracefile и записывает в него результат трассировки Указывает пользовательский интерфейс, подобный создаваемому ко- мандой rlogin. В этом режиме в качестве символа начала управляю- щей последовательности принимается тильда ~, если только иное не задано опцией -е. Включает, если это возможно, режим шифрования данных. Команды close Закрывает сеанс TELNET и возвращается в режим командной строки, logout Завершает работу пользователя и закрывает подключение display Выводит вспомогательную информацию. mode Вводит режим командной строки или непосредственного ввода симво- лов. open Выполняет подключение к указанной системе. quit Завершает работу программы telnet. send Посылает на дистанционную систему специальные символы. Ниже при- водятся некоторые из них: ао прерывание вывода brk сигнал прерывания ес удаление предыдущего символа el удаление строки escape текущий управляющий символ (ESC) ip прерывание процесса еог конец записи abort аварийное завершение процесса susp приостановка процесса eof конец файла synch выполнение синхронной операции getstatus запрос состояния set Устанавливает значение параметров операций. unset Отменяет установленные значения параметров операций. status Информирует о состоянии соединения. toggle Меняет значения параметров. sic Меняет статус специальных символов. Приняты следующие значения: export использует локальные определения специальных символов import использует определения специальных символов дистанци онного узла check проверяет определения дистанционных специальных симво- лов z Приостанавливает telnet.
II. Команды 691 Вызывает подоболочку. environ Меняет переменные окружения. ? Печатает вспомогательную информацию. telnetd - программа-сервер, поддерживающая интерактив- ный протокол коммуникаций DARPA TELNET. Синтаксис in.telnetd [-hn](-a authmode] (-0 debugmode] [-L loginprg] [-S tos] [-X authtype][-debug port] Программа telnetd обычно вызывается inetd для реализации подключения к telnet-порту, указанному в файле /etc/services. Опция -debug позволяет запустить telnetd вручную. Основные опции -a authmode Указывает используемый для аутентификации режим. Ниже приведены значения параметра authmode-. debug включает режим отладки аутентификации user разрешает подключение при корректном вводе аутентифици- рующей информации; разрешает доступ к указанному счету без ввода пароля valid разрешает подключение при корректном вводе аутентифици- рующей информации; команда login осуществляет дополни- тельную проверку пользователя на предмет разрешения ав- томатического доступа к указанному счету other в настоящее время является синонимом valid none не выполняет аутентификацию; режим, принятый по умолча- нию off отключает аутентификацию; все проверки личности входя- щего пользователя проходят через login - D debugmode Печатает отладочную информацию, чтобы пользователь видел, что вы- полняет telnetd. Ниже приведены допустимые значения параметра debugmode: options информирует об опциях telnet report печатает информацию об опциях и некоторую дополни- тельную информацию о происходящем netdata выводит поток данных, полученных telnetd pty data отображает информацию, записанную на терминал - h Запрещает распечатывать информацию об узле, пока не будет выполне- на регистрация. - L loginprg Указывает программу регистрации; по умолчанию использусзся
692 II Команды /bin/login. -п Отменяет проверку подключения машин, длительное время находящих- ся в аварийном или недосягаемом состоянии. Обычно проводит такую проверку, отключая машины, долгое время "не подающие признаков жизни". -S tos Устанавливает тип IP-сервиса для подключения TELNET в значение tos. -X authtype Запрещает использовать указанный тип аутентификации. -debug port При запуске в ручном режиме указывает альтернативный номер порта. Если имеется файл /etc/issue.net, программа-сервер telnetd отображает его со- держание перед регистрацией в сеансе TELNET. - подсчитывает использование системных ресурсов заданной командой. time Синтаксис tide [option ] command [ЛЯС] Команда time запускает программу command е аргументами ARG, подсчитывая используемые программой системные ресурсы. Команда time готовить отчет по сле- дующим используемым ресурсам: время, память, ввод/вывод, вызовы IPC. Опции -f, —format=ydrmat Применяет format в качестве строки формата. Далее приведены наибо- лее используемые форматы времени: Е реальное время, затраченное на процесс, в [час:]мин:сек е реальное время, затраченное на процесс, в секундах S общее число секунд ЦП. используемое системой на процесс (в режиме ядра) LF общее число секунд ЦП, используемое непосредственно про- цессом (в режиме пользователя) р процент времени ЦП, получаемого конкретным заданием, пользовательское + системное время, деленное на общее время выполнения - о, — output^/i/e Записывает статистику по использованию ресурсов в указанный файл, по умолчанию перекрывая прежнее содержимое файла. - а, - append Добавляет статистику к содержимому указанного файла. - v, —verbose Использует встроенный подробный формат - V, --version Выводит информацию о версии программы и завершает ее выполнение.
II. команды 693 Примера । $ time md5sum scr.giff real 0m0.277s user 0m0.140s sys 0m0.040s Большая часть времени команды indSsum затрачена в пользовательском режиме на выполнение вычислений. А вот 0.04 секунды в системном режиме ушло на открытие, закрытие и чтение файла с диска. Не забывайте заключать в кавычки строки формата типа такой: -f "\t%E real,\t%u user,\t%S sye" Till - программа чтения новостей Usenet. Синтаксис tin [ I-h|-B | -V) | [ [ [ -a] ]-dlng|-Q] (-ArzXJ ] [ [-R|-S]-s News-dir] [-cuvUZ] [-n|-M address][-o]-v]][-D debug-level] (-G article-limit] (-f newsrc-file] [~g server] (-m Mail-dir] ]-p pert] [-1 index-dir] ] newsgroup], ]]] rtin [ ]-hI-ВI-V])[[[-a][-dlnq|-QJ(-AzX]]]-cvZ][]-S]-s News-dir] ]-N|-M adress]]-o|-w]](-D debug-level] [-G article-limit] [-f nensrc-file]]-g server][-m Mai 1 -dir ][-p port] [ newsgroup], ]]] tind I]-b|—B|—V]|[-d|-F|-v]]-D debug-level] [-G article-limit] ]-f newsrc-file] [ -I index-dir]] tin - полноэкранная, легкая в использовании программа чтения новостей Usenet, которая может считывать новости локально (/var/spool/news) или дистанционно (rtin или tin с опцией -г) через сервер NNTP. Она автоматически использует индексные файлы в стиле NOV (News Overview), если они доступны локально или через команду NNTP под названием ХО VER. Программа tin может работать на четырех отдельных уровнях: уровень выбора группы, конкретной группы, "цепочечный", или обработки ветвей (см. trn), а также уро- вень статьи. На старте tin отображает список групп новостей, найденных в файле SHOME/.newsrc. Стрелка => или подсветка указывает иа первую группу новостей. Для перемещения между группами применяются клавиши j и к. Чтобы перемещаться меж- ду страницами используются PgUp/PgDn или Ctrl+U/Ctrl+D. Для ввода группы ново- стей следует нажать Return. Клавиша Tab вводит следующую группу новостей с не- прочитанными статьями. Опции - а Включает ANSI-цвет (по умолчанию отключен). - А Выполняет аутентификацию при начальном подключении. - с Создает/обиовляет индексные файлы для каждой группы из SHOME/.newsrc или файла, задаваемого с помощью опции -Г, а также помечает все статьи как прочитанныс.
694 II. Команды -d Не загружает описания групп новостей в интерактивном режиме. Уда- ляет индексные файлы для каждой группы перед индексированием ста- тьи (только демон tind). -D debug-level Вводит уровень отладки: 1 - для NNTP, 2 - для всех остальных. -f newsrc-file Использует указанный файл описаний групп новостей вместо SHOME/.newsrc. -g server Применяет заданный сервер server и newsrc, указанный в SHOME/.tin/newsrctable. -G article-limit Устанавливает предел на количество статей/групп, взятых с сервера. -h Печатает список всех опций команды. -Н Предлагает текстовое введение в программу tin ( также распечатыва- ется при первоначальном старте). -I index-dir Определяет каталог для хранения индексных файлов группы новостей. По умолчанию таковым является SHOME/.tin/.news. Эта опция недо- ступна, если tin компилировалась для чтения новостей только через NNTP. -1 -m Mail-dir Из файла active получает количество статей в группе. Задает каталог для нахождения почтового ящика. По умолчанию ис- пользуется SHOME/Mail. -M address Посылает непрочитанные статьи по указанному адресу для более позд- него прочтения пользователем. -n Загружает только те группы из файла active, которые описаны в пользо- вательском файле SHOME/.newsrc. N Пользователь сам себе пересылает непрочитанные статьи для более позднего прочтения. -0 Быстро публикует все отсроченные статьи и завершает работу. -p port Задает используемый порт при чтении через NNTP (по умолчанию - 119). Эта опция перекрывает установленную переменную окружения SNNTPPORT. -P Очищает индексные файлы группы новостей от уже не существующих статей. -q -Q Не проверяет появления новых групп новостей. Выполняет быстрый старт программы tin, что эквивалентно набору оп- ций -nqd. -Г Считывает новости дистанционно с указанного по умолчанию NNTP- сервера, задаваемого переменной окружения SNNTPSERVER или со- держащегося в файле /etc/nntpserver. -R -s News-dir Считывает новости, сохраненные с помощью опции -S. Сохраняет или считывает статьи в каталоге News-dir. По умолчанию применяется каталог SHOME/News.
II. Команды 695 - S Сохраняет непрочитанные статьи для более позднего прочтения с по- мощью опции -R. - и Создает/обновляет индексные файлы для каждой группы, заданной в файле SHOME/.newsrc, или в файле, указанном с помощью опции -f. - U Стартует tin в фоновом режиме, чтобы обновить индексные файлы, когда чтение новостей происходит в режиме переднего плана. - V Выдает подробные сообщения для опций -с, -М, -S, -u, -Z. - V Сообщает номер версии программы. - w Переходит в быстрый режим публикации статьи и завершает работу. - X Запрещает осуществлять перезапись файла SHOME/.newsrc и файлов из SHOME/.tin, но не препятствует их созданию, если они не существуют. - z Осуществляет старт программы tin лишь в случае, когда имеются но- вые или непрочитанные новости. - Z Проверяет наличие новых/непрочитанных новостей и завершается с со- ответствующим кодом: 0 — свидетельствует о том, что таких новостей не имеется, 1 - о возникновении ошибки, 2 - о существовании новых или непрочитанных новостей. Демон индексов, tind, поддерживает опции -d, -f,-h,-I и -v. На уровне выбора групп отображается заголовок содержащий число описанных групп вместе с новыми непрочитанными статьями. В строках описаний групп могут содержаться следующие префиксы: и группа не описана М это так называемая moderated (регулируемая администратором) группа N новая группа новостей, созданная после последнего использования tin D группа больше не существует X для этой группы можно не осуществлять публикации = группа была переименована, и вы можете не осуществлять для нее публикации На уровне группы заголовок содержит имя группы, число преобразованных ветвей, метод образования ветвей (цепочек), общее число статей, количество "убитых” и "го- рячих" статей т.д. Ниже показаны общие клавиши, используемые для перемещения по всем уровням tin на ANSI-терминалах (VT100)' Ноте переход к началу списка/статьи End переход к концу списка/статьи PgUp вверх по странице PgDn вниз по странице ф построчно вверх Ф построчно вниз g или G вызов в статье меню помощи и конфигурирования. Ниже приведены общие команды редактирования входных строк: АА, АЕ перемещение соответственно к началу или концу с греки
696 II Команды AF, ЛВ неразрушающее перемещение соответственно в прямом или обратном направлении (в одном расположении) Л D уничтожение текущего символа под курсором или посылка сигнала EOF (конец файла), если в буфере отсутствуют символы АН, <DEL> удаление символа слева от курсора А К удаление символов от курсора и до конца строки АР, AN перемещение по списку history соответственно к предшествующей или последующей строке AL, AR повторное изображение текущей строки <CR> включение непустой строки в список history, добавление символа newline (новой строки), а затем возврат к месту вызова <ESC> прерывание операции редактирования Следующие команды доступны в каждом из четырех уровней: \<command> сама по себе команда ! вызывает оболочку или ее команду command, если включен этот параметр; эта возможность может быть запрещена системным администратором А L перерисовывает текущий экран АО перезагружает отсроченную статью; в меню postpone-menu можно выполнять следующие действия: у перезагружать и вызывать редактор Y публиковать статью без вызова редактора . А публиковать все отсроченные статьи без вызова редактора п пропускать эту статью q покидать меню О перезагружает отсроченную статью (см. переключатель командной строки -о) W печатает список статей, публикуемых пользователем, при этом выво- дится следующее: дата публикации, группа новостей и тема v печатает информацию о версии программы На каждом из четырех уровней существуют также свои собственные команды (см. страницы руководства). top - выполняет мониторинг и управление процессами. Синтаксис top [-ltd detayJlp pid] [qj(cJ[C][НJ[S](в](i](n iter][bj Команда top осуществляет наблюдение за активностью процессора в реальном масштабе времени и отображает список заданий, наиболее интенсивно использующих процессор. Она может сортировать процессы по их P1D, "возрасту", использованию
II. Команды ЦП или памяти, а также по времени выполнения. Команда top также предоставляет интерактивный интерфейс для манипулирования процессами. Применение команды ps для выявления процессов, интенсивно использующих ЦП, может оказаться непростой задачей, когда в системе выполняются сотни процессов. В подобных случаях имеет смысл поручить подобную задачу команде top. Команда top представляет собой приложение независимого производителя, обыч- но не связанное с конкретной операционной системой (хотя оно и входит в состав не- которых разновидностей Linux). По умолчанию команда top отображает 15 процес- сов, больше всего использующих ЦП в течение 5-секундных интервалов, по истече- нии каждого из которых полученный результат обновляется. Опции d delay Указывает задержку между обновлениями экрана. Задержку также мож- но поменять с помощью интерактивной команды s. р pid Выполняет мониторинг процессов только с указанными PID. Этот флаг может быть задан до двадцати раз. Эта опция недоступна в интерактив- ном режиме и не может быть включена в файл конфигурации. q Обновляет экран без какой-либо задержки. Если запустивший програм- му top имеет привилегии суперпользователя, top выполняется с макси- мально возможным приоритетом. S Указывает совокупный режим, при котором по каждому процессу ото- бражается использованное им и "умершим" дочерним процессом вре- мя ЦП. s Запускает top в безопаш юм режиме, защищая ее от потенциальной опас- ности интерактивных команд. i Игнорирует любые бездействующие или зомби-процессы. С Отображает общее состояние процессоров вместо индивидуальных процессоров, что имеет смысл лишь на SMP-системе. с Отображает всю командную строку вместо только имени команды. Н Показывает все потоки. п iter Задает число итераций. Обновляет дисплей указанное число раз. Ь Переходит в пакетный режим, что полезно при передаче вывода от ко- манды top другой программе или в файл. В этом режиме не восприни- мает также ввод с командной строки. Выполняет заданное опцией п чис- ло итераций или пока не будет снят командой kill Команда top также распознает интерактивные команды (одноклавишные). Команды пробел Немедленно обновляет экран. AL Очищает и перерисовывает экран h, ? Выдает экранную справку по команде top.
698 II Команды к "Убивает" процесс. Вы будете приглашены ввести РЮ задания и сигнал, который будет ему послан. В обычных случаях посылает сигнал 15. i Игнорирует любые бездействующие или зомби-процессы. п, # Меняет число процессов, попадающих в вывод команды. Вы будете приглашены задать число процессов. q Завершает работу top. г Перепланирует процесс. Вы будете приглашены для ввода PID задания и значения nice. Ввод положительного числа означает потерю приори- тета. S Указывает совокупный режим, при котором по каждому процессу ото- бражается использованное им и "умершим" дочерним процессом вре- мя ЦП. s Меняет задержку между обновлениями экрана. Вы будете приглашены ввести время в секундах. Ноль означает отсутствие задержки. По умол- чанию 5 секунд. f, F Добавляет и удаляет поля из отчета команды. о, О Меняет в отчете порядок выводимых полей. 1 Заставляет отображать среднюю нагрузку и время безотказной рабо- ты. m Сообщает информацию о памят и. t Сообщает информацию о процессах и ЦП. с Отображает имя команды или полностью командную строку. N Сортирует задания по PID. А Сортирует задания по "возрасту" (сначала самые новые). Р Сортирует задания по использованию ЦП. М Сортирует задания по использованию резидентной памяти. Т Сортирует задания по времени/накопившемуся времени. W Записывает файл конфигурации в -/.toprc. Примеры Здесь представлен фрагмент вывода команды top. t top 03:07:37 up 21 min, 4 users, load average: 0,76, 0,54, 0,45 67 processes: 58 sleeping, 3 running, 0 zombie, 6 stopped CPU states: 27,9% user 8,2% system 0,0% nice 0,0% iowait 63,8% idle Mem: 126392k av, 124040k used, 2352k free, 0k shrd, 7668k buff 93356k actv, 240k in_d, 1704k in_c Swap: 409648k av, 3504k used, 406144k free 53216k cached
II. Команды 699 PID USER PRI NI SIZE RSS SHARE STAT %CPU % HEM TIME CPU COMMAND 2697 root 23 0 556 556 468 R 57,5 0,4 0:02 0 find 2472 root 15 0 21180 8812 984 S 18,6 6,9 3:19 0 XSK 2698 root 20 0 1048 1048 844 R 11,0 0,8 0:00 0 top 2695 misha 21 0 668 668 560 R 3,3 0,5 0:02 0 findl 4 root 15 0 0 0 0 SW 2,5 0,0 0:00 0 ksvapd 1 root 15 0 108 84 56 S 0,0 0,0 0:04 0 init 2 root 15 0 0 0 0 SW 0,0 0,0 0:00 0 keventd Начнем рассмотрение этого вывода со столбца STAT (состояние), перечислив обыч- ные состояния процессов: R В настоящий момент процесс выполняется на ЦП S Процесс блокирован в ожидании ввода/вывода Т Выполнение процесса остановлено Z Процесс-зомби не действует и ожидает уничтожения Эти состояния дополняются следующими трейлерами: < для процесса с отрицательным значением nice N для процесса с положительным значением nice W для выгруженного (с памяти на диск) процесса В столбцах SIZE (размер) и RSS (размер резидентной области памяти) сообщается об использовании памяти каждым процессом. Так, в столбце SIZE указывается общий размер процесса, включая текстовый сегмент (код), информационный сегмент (стати- чески распределенные данные) и стек. А в столбце RSS указывается размер резидент- ной области памяти, занимаемой процессом, или объем физической памяти, использу- емой процессом. В столбце PID приводился идентификатор процесса каждой задачи, а в столбце USER - имя пользователя. В столбце PR1 указывается приоритет задачи, а в столбце NI - значение nice для этой задачи. В столбце TIME показано общее время ЦП, ис- пользованное задачей с момента старта, а в столбце %CPU — доля времени ЦП (в процентах), используемая задачей с момента последнего обновления экрана. В столб- це SHARE приводится общее количество разделяемой памяти, используемое задачей. touch меняет время доступа n/или модификации указанных файлов. Синтаксис touch [option]... file Если ни с одной из этих опций —d, -г, -t - не указана ни одна временна' я метка, отсутствует аргумент -- (конец опций) и задана опция -t, то первый аргумент/!/? (вмес- то имени файла) трактуется как время для других файлов. Любой несуществующий файл вновь будет создан. Команда touch может менять временные метки, или метки времени, для файлов, запущенных пользователем, даже в том случае, если он не является владельцем, но
700 If. Команды имеет полномочия на запись В противном случае пользователь должен быть собствен- ником файлов. Опции - а, —time=atime, --time=access, -time=use Меняет только время доступа. - с, --no-create Не создает ранее несуществующих файлов. - d, —date=rtme Использует указанное время вместо текущего. Спецификация времени может содержать название месяца, часовой пояс, выражения типа ат (до полудня) и рт (после полудня). - т, —time=mtime, —time=modify Меняет только время модификации. - г file, — reference=yi/e Использует временные метки файла file вместо текущего времени. - t [[СС]УУ]МЛ®ОЛйтт[.55] Использует указанное время вместо текущего, где: СС необязательный век YY год ММ месяц DD день hh час тт минуты ss необязательные секунды Если год указывается только двумя цифрами, тогда СС принимается равным 20 для годов в диапазоне 0-68 или 19 - для годов в диапазоне 69-99. Если ни одна цифра года не задана, аргумент интерпретируется как дата текущего года. Пример Проще всего создать пустой файл с помощью команды touch: $ touch imnin 5 Можно создавать файлы с давно прошедшей (или с будущей) датой. - выполняет преобразование текстового файла. К Синтаксис tr [option]... seti [set2] Если заданы оба набора символов и не указана опция -d, команда tr транслирует каждый символ sell в соответствующий символ set2. Символы, отсутствующие в setl, остаются неизменными. Если какой-либо символ появляется в setl несколько раз, а соответствующие символы в set2 разные, берется последний вариант.
II. Команды 701 Опции -с, —complement Замещает набор setl его дополнением (всеми символами, отсутствую- щими в setl). -d, —delete Удаляет все символы, перечисленные в setl. -s, —squeeze-repeats Заменяет последовательность повторяющихся символов в setl на один такой символ. -t, —truncate-setl Обрезает setl, если этот набор символов длиннее set2. В командных строках tr встречаются следующие наименования классов: alnum буквы н цифры alpha буквы blank горизонтальные пробелы спtri управляющие символы digit цифры graph распечатываемые символы без включения пробелов lower строчные буквы print распечатываемые символы, включая пробелы punct знаки пунктуации space горизонтальные или вертикальные пробелы upper прописные буквы xdigit шестнадцатеричные цифры Примеры Команда tr часто используется для конвертирования строчных символов в пропис- ные, что можно проделать разными способами: tr abedefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ tr a-z A-Z tr '[slower:]' '[supper:]* А вот пример создания конкорданса — словоуказателя, связывающего каждое упот- ребление слова со своим контекстом. Распечатаем файл rab, конкорданс содержимого которого мы затем создадим. $ cat rab Ну name is Sofia. I am a programmer. I prefer Red Hat Linux. $ Создавая указатель слов, мы преобразуем все пробелы в символы новой строки (\п). Отсортируем конкорданс по алфавиту и укажем в начале строки частоту появле- ния каждого слова. $ tr • ' \nr <rab j sort| uniq -с 1 а 1 ат
II. Команды 702 1 Hat 2 I 1 is 1 Linux. 1 My 1 name 1 prefer 1 programmer. 1 Red 1 Sofia. - обнаруживает неполадки маршрутизации. К traceroute Синтаксис traceroute [-dFInrvx] [-f firettti] (-g gatevay][-i iface] [-Ш nax_ttl] [~p portH-s src_addrj[-t tos][-w vaittiae] host [packetlen] С помощью traceroute отслеживается маршрут передачи пакета между двумя уз- лами сети. Поэтому единственным обязательным аргументом является имя или IP-адрес узла назначения host. Однако обнаружение неполадок маршрутизации может ослож- няться наличием большого числа маршрутизаторов между источником и узлом назна- чения. Каждая строка вывода команды traceroute соответствует одному маршрутизато- ру, через который проходит пакет. Продолжительность существования пакета в сети определяется содержимым поля TTL (Time То Live - время жизни), включенного в заголовок IP-накета. При прохожде- нии пакетом очередного маршрутизатора значение поля TTL уменьшается на единицу. И как только значение TTL достигнет нуля, пакет будет удален из сети первым обнару- жившим этот факт маршрутизатором Причем каждый маршрутизатор, уничтоживший пакет, возвращает источнику сообщение ICMP Time Exceed (об истекшем времени жизни пакета). Команда traceroute, используя описанный механизм, обычно отправля- ет на дистанционный узел несколько пакетов UDP, где TTL первого пакета равен едини- це, a TTL каждого последующего на единицу превышает TTL предшествующего паке- та. Другими словами, первый пакет удаляется, достигнув первого маршрутизатора по пути следования, второй пакет, пройдя первый маршрутизатор, прекращает свое суще- ствование, добравшись до второго маршрутизатора и т.д. По умолчанию размер packetlen отправляемой дейтаграммы достигает 40 байт, может быть увеличен и всегда следует после имени источника назначения. Опции - f firsttll Устанавливает начальное значение TTL, используемое в первом отправ- ляемом пакете. - F Устанавливает бит, препятствующий фрагментации. - d Включает режим отладки сокета. g gateway Указывает число исходных, не пройденных по маршруту шлюзов (мак- симум 8).
II. Команды 703 -i iface -I Указывает сетевой интерфейс для рассылки пробных пакетов. Вместо дейтаграмм UDP применяет ICMP ECHO. -m max til Устанавливает максимальное число переходов, по умолчанию принято 30. -П Печатает адреса проходимых маршрутизаторов в числовом формате, а не в символьном. -p port Устанавливает базовый номер порта UDP, используемый при тестиро- вании, по умолчанию - 33434. Чтобы получить ответ от узла назначе- ния, traceroute направляет пакет UDP в порт 33434, так называемый зарезервированный недопустимый номер порта. Поэтому принимающий узел отсылает обратно не ICMP Time Exceed, а сообщение ICMP Unreachable Port (недостижимый порт). Получив такое сообщение, traceroute прекращает отправку диагностических пакетов. -r Не использует таблицы маршрутизации, считая, что узел назначения находится в непосредственно подключенной сети. Если в локальной сети узел не удалось обнаружить, возвращает сообщение об ошибке. -s srcaddr Использует указанный IP-адрес в качестве исходного адреса для от- правки диагностических пакетов. -t tos При диагностике пакетов устанавливает тип сервиса в указанное значе- ние (по умолчанию 0). Параметр tos является десятичным целым и ме- няется от 0 до 255. Многие сетевые службы, такие как TELNET и FTP, не позволяют вам управлять этим параметром. -V Устанавливает режим подробного вывода, информируя помимо Time Exceed и Unreachable Port и о других полученных ICMP-пакетах. -w waittime Устанавливает время (в секундах) ожидания ответа; по умолчанию - 5 секунд. -X Включает проверку контрольных сумм, хотя traceroute обычно не де- лает этого. Пример I traceroute mir.dnepr.ua traceroute to mir.dnepr.ua (147.53.29.18), 30 hops max? 40 byte packet 1 rada.dnepr.ua (153.237.53.1) 8ms 5ms 3 ms 2 arcada.dnepr.ua (196.203.27.3) 31ms 18ms 7ms 3 * * * 4 * * * 30 * * * # Команде traceroute не удалось "продвинуться" по маршруту далее второго марш- рутизатора.
704 II Каманин - позволяет читать новости Usenet по цепочке. trn Синтаксис trn [option][newsgroups] Программа trn - это "цепочечная" или ориентированная на ветви версия гп, пред- назначенная заменить программу readnews. В термин “цепочечная” вкладывается сле- дующий смысл: статьи внутри каждой группы новостей в соответствии со своими те- мами расположены как бы по цепочке. Каждая следующая статья в цепочке является ответом на предшествующую. Каждая обсуждаемая цепочка — это дерево статей, где каждая ответная (дочерняя) ветвь статей является порождением своих соответствую- щих оригинальных (родительских) статей. Представление каждого дерева или его пор- ции отображается в заголовке статьи при чтении новостей, что позволяет читателю новостей представить, как эти статьи соотносятся. Программа trn имеет цепочечный селектор, позволяющий быстро просматривать список тем и выбирать наиболее интересную. Селектор сортирует статьи по разным критериям и может осуществлять переключения в разные дисплейные режимы, что позволяет отдельно отбирать темы и индивидуальные статьи. Любые выбранные темы могут быть сохранены для последующего прочтения или отмечены как прочтенные одним нажатием клавиши. Если при запуске trn в командной строке не были указаны никакие группы ново- стей, задаваемые аргументом newsgroups, то все группы новостей, содержащие не- прочитанные новости, будут представлены читателю в том порядке, в каком они распо- лагаются в файле .newsre. В приглашении для каждой группы пользователь может вы- брать, что читать, пропускать, переносить и т.д. Если же в командной строке указан список групп новостей newsgroups, то trn стартует в режиме add (добавления), ис- пользуя список как набор шаблонов для добавления новых групп новостей и отбора тех, которые следует отобразить. Программа trn работает на четырех уровнях: уровень выбора группы новостей, це- почечного селектора, чтения статей и страницы. Каждый уровень имеет свой собствен- ный набор команд и меню help (помощи). На наинизшем уровне чтения страницы trn действует подобно программе more. На уровне чтения статей последние представля- ются в порядке их ответов по цепочке, причем темы располагаются, начиная с самой старой непрочитанной статьи, хотя этот порядок легко поменять с помощью суще- ствующих команд. На уровне цепочечного селектора читатель может ознакомиться с темами и авторами, связанными с каждой цепочкой, ему предоставляется возможность выбрать желаемое для немедленного или отсроченного прочтения или любых других манипуляций. На наивысшем уровне выбора групп новостей можно выбрать следя- щую группу или считывать их в установленном по умолчанию порядке. На любом уровне и в любом приглашении пользователю доступна помощь путем нажатия h. На многие вопросы приходится отвечать путем нажатия пробела. Следует знать, что каждое приглашение содержит список вероятных команд, заключенных в квадратные скобки. Первая команда списка обычно будет выполни гься при нажатии клавиши пробела.
II. Команды 705 В самом начале trn выполняет ряд необходимых действий: □ Ищет пользовательский файл .newsrc со списком групп новостей, если файл не найден, создает его. Если упомянутый файл обнаружен, сохраняет его содержи- мое под именем .oldncwsrc. □ Выполняет ряд необходимых проверок, предпринимая действия по исправлению некорректных ситуаций; предоставляет возможность добавить, если это необ- ходимо, новые группы новостей в файл .newsrc. □ Поднимается на верхний уровень - выбор групп новостей (Newsgroup Selection level). Команды верхнего уровня + Проводит эту группу новостей через селектор. У SP Немедленно начинает чтение текущей группы новостей. Вводит группу новостей с помощью выполнения команды по умолча- нию из списка, заключенного в квадратные скобки. command Выполняет указанную команду command до отображения чего бы то ни было. Команда интерпретируется как набранная на уровне выбора ста- тьи. = Запускает текущую группу новостей, но перед просмотром статей вы- водит список тем. и Проводит текущую группу новостей через приглашение Set unread (ус- тановить нечитаемой). t Переключает определенную группу новостей между режимами чтения по цепочке (по умолчанию) и без. п N Переходит к следующей группе, содержащей непрочитанные новости. Переходит к следующей группе. Р Переходит к предшествующей группе, содержащей непрочитанные но- вости. Если таковой не имеется, остается на месте. Р Переходит к предшествующей группе новостей. - Переходит к ранее просмотренной группе новостей независимо от того, Х'^ предшествующая она или нет в этом списке. Переходит к первой группе новостей. Переходит к первой из групп, содержащей непрочитанные новости. $ Переходит к концу списка групп новостей. g newsgroup Переходит к указанной группе новостей. В качестве аргумента newsgroup может быть задано имя группы или даже относительный номер (нумера- ция начинается с нуля) группы в файле .newsrc (см. команду L). Если группа не описана, пользователю будет предложено ввести ее описание. /pattern Производит поиск в прямом направлении группы новостей, соответству- ющей шаблону pattern при этом выполняется замещение имен фай лов. Символ * может быть сопоставлен с любой последовательностью
706 II Команды символов; список символов для сравнения заключается в прямоуголь- ные скобки; точка может быть сопоставлена с единственным симво- лом. В отличие от обычного замещения имен файлов подобный поиск групп новостей не привязывается к началу или концу имени, т.е. по шаб- лону /skat будет найдена com.skating. Символ Л или $ заполняет этот пробел: по шаблону /Asea$ будет найдена группа sea н ничего более. pattern Действует подобно Ipattem, но выполняет поиск в обратном направле- нии. и Снимает описание текущей группы. 1 siring Выводит список неописанных групп новостей, содержащих указанную строку string. L Уведомляет о состояние файла .newsrc, выводя следующие поля: Статус Что обозначает number здесь number указывает количество непрочитанных ста- тей в группе новостей READ в группе новостей отсутствуют непрочитанные статьи. UNSUB неописанная группа новостей BOGUS фиктивная группа новостей JUNK проигнорированные (бесполезные) строки в файле .newsrc Фиктивная группа отсутствует в списке активных групп новостей в фай- ле active; в большинстве систем в качестве такового файла применяет- ся /var/lib/ncws/active, если только не используется NNTP. с Отмечает все непрочитанные статьи этой группы новостей как прочи- танные. о {pattern}, О {pattern} Вызывает только те группы новостей, чьи имена совпали с шаблоном pattern. Несколько шаблонов могут разделяться пробелами. Команда О подобна команде о, но вдобавок исключает пустые группы. a pattern Добавляет неописанные группы, соответствующие шаблону pattern. Если вы хотите добавить все группы новостей, наберите Y, чтобы доба- вить их в конец файла .newsrc. Если вы не хотите описывать все остав- шиеся группы, наберите N, чтобы проигнорировать их. & Печатает текущий статус переключателей командной строки и любые ограничения, действующие в этой группе новостей. &switch {switch} Устанавливает дополнительные переключатели командной строки. && Печатает текущие макроопределения. &&keys commands Определяет дополнительный макрос. 1 command Передает указанную команду на выполнение в подоболочку. Единствен- ный восклицательный знак оставляет пользователя в его собственном
II. Команды 707 каталоге новостей. Два восклицательных знака оставляют пользовать ля в спул-каталоге новостей, таковым обычно является /usr/spool/news, если только для чтения новостей не используется NNTP v Печатает текущий номер версии. q Завершает работу программы. х Завершает работу программы, восстанавливая то состояние файла .newsrc, которое было до начала старта trn. Если не требуется выпол- нять такое восстановление, лучше для выхода воспользоваться коман- дой q. л К Редактирует глобальный список команд для запоминания, которые по мнению пользователя должны быть выполнены при старте в каждой группе новостей. Этот список содержится в глобальном файле KILL, причем каждая команда располагается в отдельной строке. Большинство людей, экономящих время, предпочтут пропустить группу новостей через селектор, что достигается путем применения команды + на уровнях выбора групп новостей, статьи или страницы. Команды уровня селектора a-z, 0-9. А-Z Выбирает/отвергает указанную тему по ее номеру или букве. SP Выполняет заданную по умолчанию команду: для большинства страниц таковой является команда >, но для последней страницы - Z. Хотя к числу популярных относятся также команды D и X. CR Начинает чтение. Если ни одна статья не выбрана, выбирается текущая тема. Z, TAB Начинает чтение. Если ни одна статья не выбрана, читает все непрочи- танные статьи. . Включает выбор текущей (под курсором) темы. * Подобна команде точки, но задействует все статьи с аналогичной те- мой (Subject). # Читает только текущую тему, игнорируя любой другой выбор. к, , Помечает текущую тему как уничтоженную. ш, \ Снимает метку с текущей темы. Устанавливает диапазон, например а-k, повторяя последнее помечен- ное действие: выбор, отмена выбора, уничтожение или снятие метки. Включает выбор всех возможных вариантов. Помечает статьи текущей темы как подлежащие возврату в группу но- востей и уничтожает эту тему. Y Отзывает назад статьи, помеченные для возврата, при этом очищает их статус "для возврата". Е Исключает все темы, не выбранные из списка выбора. п, ] Спускается к следующей теме. 2 ®
708 II Комацды р, [ Поднимается к предшествующей теме. < Переходит к предшествующей странице. > Переходит к следующей странице. Л Переходит к первой странице. $ Переходит к последней странице. S Устанавливает для селектора отображаемые темы: threads цепочки subjects темы articles статьи = Переключает между селектором выбора статьи и селектором тема/це- почка. О Устанавливает порядок сортировки для пунктов: по дате, по теме, по ав- тору и т.д. Набирая выбранный порядок в нижнем регистре, читатель за- действует сортировку статей по умолчанию. Если были использованы символы верхнего регистра, будет выполняться обратная сортировка. R Устанавливает обратный порядок для текущей сортировки. L Переключает селектор между длинным, средним и коротким стилями отображения на дисплей. Чтобы установить свой "любимый" стиль в ка- честве стиля по умолчанию, см. опцию -х. U Переключает между выбором непрочитанные/прочитанные статьи. X Помечает все невыбранные статьи как статьи для чтения и начинает их чтение. D Помечает невыбранные статьи на текущей странице как статьи для чте- ния и начинает чтение, если имеется, что читать, в противном случае переходит к следующей странице. J Помечает все выбранные статьи как прочитанные. с Помечает все статьи как прочитанные, не затрагивая их перекрестные дубликаты. А Добавляет для этой группы команду поиска тем в список команд для запоминания (файл KILL). Т Добавляет для этой группы команду, ориентированную на цепочку, в спи- сок команд для запоминания. Л К Редактирует для этой группы новостей локальный список команд для запоминания (файл KILL). .command Применяет указанную команду ко всем выбранным цепочкам или к их выбранным статьям. ..command Применяет у казанную команду к текущей цепочке или ко всем выбран- ным статьям этой цепочки. :: .command Применяет указанную команду к невыбранным статьям текущей цепоч- ки.
II. Команды 709 /pattern Просматривает все статьи в поисках темы, соответствующей указанно- му шаблону pattern, и выбирает ее. N Переходит к следующей группе новостей с непрочитанными статьями. Р Переходит к предшествующей группе новостей с непрочитанными ста- тьями. & Отображает или устанавливает текущий статус переключателей команд- ной строки. && Отображает или устанавливает текущие макроопределения. ! command Передает указанную команду на выполнение в подоболочку. q Покидает эту группу. ESC, + Покидает уровень селектора и переходит на уровень чтения статей. Q Завершает работу с текущей группой новостей и возвращается к при- глашению выбора групп новостей. Команды уровня чтения статей n, SP Производит поиск в прямом направлении следующей непрочитанной статьи. Следует учесть, что статья будет отмечена как прочитанная при наборе п, N, AN, е, s, S, I, w или W в середине статьи. N Переходит к следующей статье. Л N Находит следующую статью с той же темой в порядке поступления по дате. р Производит поиск в обратном направлении ранее непрочитанных ста- тей. Если таковых не имеется, остается на прежнем месте. Р Переходит к предшествующей статье. - Переходит к ранее отображаемой статье. Л Р Находит предшествующую статью с той же темой в порядке поступле- ния по дате. _N Переходит к следующей статье в порядке числовой последовательно- сти. _р Переходит к предшествующей статье в порядке числовой последова- тельности. с, > Просматривает предшествующую/следующую цепочку/тему. Если ни- какого выбора не было сделано, все цепочки, имеющие новости, нс прочитанные на момент вхождения читателя в группу новостей, рассмат- риваются как выбранные. [, ] Передвигается налево/направо по дереву статей. Посещения уже про- читанных статей аналогичны визитам на пустые узлы. {,} Переходит к корню/листьям дерева статен, даже если узел уже прочи- тан или пуст. t Отображает полное дерево статей н все связанные с ним темы. л R Осуществляет рестарт текущей статьи.
710 II. Команды V Осуществляет рестарт текущей статьи, отображая полный заголовок -L Очищает экран. b Осуществляет возврат на одну страницу. ЛЕ Выводит последнюю страницу статьи. q Покидает эту группу новостей, возвращаясь к уровню выбора группы новостей. A Переходит к первой непрочитанной статье. s Переходит к последней статье number Переходит к статье с указанным номером number. .command Применяет указанную команду ко всем выбранным цепочкам или к их выбранным статьям. ..command Применяет указанную команду ко всем невыбранным цепоч- кам/статьям. ..command Применяет указанную команду к текущей цепочке или к выбранным в ней статьям. .’..command Применяет указанную команду ко всем невыбранным статьям текущей цепочки. j Помечает текущую статью как уже прочитанную. m Помечает текущую статью как еще непрочитанную. M Помечает текущую статью как подлежащую возврату в группу новос- тей. Y Отзывает назад статьи, помеченные для возврата, при этом очищает их статус для "возврата". /pattern Просматривает в прямом направлении все статьи в поисках темы, со- держащей указанный шаблон pattern. Ipatternlf Просматривает в прямом направлении все статьи в поисках строки From (от кого), содержащей указанный шаблон pattern. /pattern/ H header Просматривает в прямом направлении все статьи в поисках указанного заголовка header, содержащего заданный шаблон pattern. /pattern/^ Осуществляет просмотр в прямом направлении в поисках заголовка статьи, соответствующего указанному шаблону pattern. 1 pattern! f Осуществляет просмотр в прямом направлении в поисках статьи, со- держащей где-либо указанный шаблон pattern. I patternib Осуществляет просмотр в прямом направлении в поисках статьи, со- держашей в своем теле (но не в подписи) указанный шаблон. /pattern/В Осуществляет просмотр в прямом направлении в поисках статьи, со- держащей где-либо в теле указанный шаблон pattern. /pattern/r Осуществляет просмотр по шаблону уже прочитанных статей.
II. Команды 711 1 pattern! с Производит поиск с учетом регистра. Обычно символы верхнего и нилс него регистров рассматриваются как одинаковые. Ipatternlt ^pattern Начинает поиск с вершины группы новостей. Осуществляет просмотр в обратном направлении в поисках статьи, со- держащей в теме указанный шаблон pattern. к Помечает как прочитанные все статьи по такой же теме, как и текущая. J Отбрасывает все статьи текущей цепочки, даже если они содержат не- сколько тем. А Добавляет для этой группы команду поиска тем в список команд для запоминания (файл KJLL). Т Добавляет для этой группы команду, ориентированную на цепочку, в спи- сок команд для запоминания. ЛК Редактирует для этой группы новостей список команд для запомина- ния. г Отвечает через почтовую сеть. R Отвечает, включая текущую статью в созданный файл заголовка. Ар Передает дальше (перепоручает) текущую статью. f Переходит в подчинение к вышестоящей статье, а возможно, даже к оригинальной (корневой). F Переходит в подчинение к вышестоящей статье и включает старую ста- тью со строками, содержащими префикс > или любой другой, задавае- мый в виде аргумента к переключателю -F. С Уничтожает текущую статью лишь в том случае, если пользователь, набравший команду, является администратором или суперпользовате- лем. z Замещает текущую статью (только администратор службы новостей). Z Подобна команде z, но стартует с копией оригинальной статьи, с кото- рой в дальнейшем работает. с Помечает все статьи этой группы как прочитанные. и Помечает некоторые или все статьи как непрочитанные. Можно выб- рать текущую цепочку, подцепочку (текущую статью и ее ответы), все статьи или запустить селектор, чтобы с его помощью отобрать статьи и пометить их как непрочитанные. u Удаляет описание этой группы. s destination Сохраняет статью в файле с указанным именем. Если первый символ аргумента destination - вертикальная черта, полагает, что остаток вы- ражения является командой оболочки, через стандартный ввод кото- рой подается статья. В качестве оболочки обычно используется sh S destination Подобна команде s destination, но здесь используется желаемая обо- лочка, например, csh. Выбор оболочки записи г от значения переменной
712 К Команды окружения SHELL, а в случае ее отсутствия - от той установки, кото- рую выполнил администратор службы новостей при инсталляции trn w destination Подобна команде s destination, но выполняет сохранение без заголов- ка. W destination Подобна команде S destination, но выполняет сохранение без заголов- ка. е dir Извлекает архив оболочки или двоичный кодированный файл (UU-ko- дирование) в указанный каталог dir. & Печатает текущий статус переключателей командной строки. &sw.ich {зитСсЛ} Устанавливает дополнительные переключатели командной строки. && Распечатывает текущие макроопределения. &&keys commands Определяет дополнительное макроопределение. !/command Передает указанную команду на выполнение в подоболочку. Единствен- ный восклицательный знак оставляет пользователя в его собственном каталоге новостей. Два восклицательных знака оставляют пользовате- ля в спул-каталоге текущей группы новостей. + Запускает селектор в его последнем используемом режиме. _а Запускает селектор в режиме статьи. _s Запускает селектор в режиме темы. _t Запускает селектор в режиме цепочки. = Сообщает темы непрочитанных статей. # Печатает номер последней статьи. _+ Выбирает полную цепочку, связанную с текущей статьей. Отменяет выбор цепочки, связанной с текущей статьей. Команды уровнг страницы (в <утри статьи) S Р Выводит следующую страницу. d Выводит еще полстраницы. С R Выводит еще строку q Переходит к концу текущей статьи, не производя никаких пометет. j Отбрасывает текущую статью; помечает текущую статью как прочи- танную и переходит к ее концу. AL Очищает экран. b Осуществляет возврат на одну страницу. ЛЕ Выводит последнюю страницу статьи. t Отображает полное дерево статей, включая связанные с ним семы, и продолжает чтение.
II. Команды 713 g pattern Внутри текущей статьи переходит к указанному шаблону pattern G Вновь осуществляет поиск по команде g pattern. 1 command 11ередает указанную команду на выполнение в подоболочку Примеры На уровне выбора групп новостей приглашение будет выглядеть примерно так: ======12 unread articles in talk.xol —read now? [ynq] Приглашение на уровне чтения статьи выглядит следующим образом: End of articles 237 —what next? [npq] На уровне чтения страниц можно получить такое приглашение: —MORE—(24%) С помощью команды trn х -X можно включить самые удобные возможности. тготт - форматирует тексты для печати. 1х Синтаксис troff [-abivzBRJ [-des] [-ffam] [-пппш] [-olist] [-Тпале] [-Kdir] [file. . .] GNU-версия troff является частью системы форматирования документов под на- званием groff. Обычно troff вызывается командой groff, использующей препроцессо- ры и постпроцессоры с соответствующими опциями. Основная задача troff — соответствующим образом интерпретировать команды фор- матирования (их насчитываются десятки), вставленные в текст. Основные опции -а Создает ASCII-последовательность для вывода. -Ь Вместе с предупреждениями и сообщениями об ошибках печатает по- следовательность вызовов (трассу), приведших к данной точке програм- мы. -1 После обработки всех указанных входных файлов file считывает стан- дартный ввод. - V Печатает номер версии программы. - Е Запрещает печатать любые сообщения об ошибках. - z Запрещает форматировать выходной файл. -des, -dname=s Определяет однобуквенный символ с или имя пате в качестве строки s -ffani Применяет fam в качестве семейства шрифтов, принятого по умолча- нию. -R Не загружает файл инициализации troffre. -ппит Начинает нумеровать первую страницу с номера пит.
714 II Команды -olist Печатает только страницы из указанного списка, представляющего из себя разделенный запятыми перечень диапазонов страниц. Допустимы следующие значения: л печатает л-ую страницу т-п печатает страницы с m-ой по л-ую -л печатает каждую страницу до л-ой п- печатает каждую страницу, начиная с л-ой -Тлате Готовит вывод на указанное устройство пате. -Mdir Предварительно производит поиск макроопределений в указанном ка- талоге dir до перехода в каталог /usi 'lib/groff/tmac/. tty - печатает имя файла терминала, подключенного в качестве стандартного ввода. - Синтаксис tty [option]... Опции -s, —silent, —quiet Ничего не распечатывает, лишь возвращает код завершения. Приняты следующие коды: О стандартаый ввод происходит с терминала 1 стандартный ввод поступает не через терминал 2 заданы неверные аргументы 3 ошибка записи Пример $ tty /dev/tty5 $ tune2fs - выполняет регулировку настраиваемых парамет- ров второй расширенной файловой системы Linux. Синтаксис tuneZfs [-1J[-C max-mount-counts][-е errors-behavior][-fJ [-i interval-between-checks][-j][-J journal-options] [-и reserved-blocks-percentage][-o [*]mount-option[,...]] [—r reserved-blocks-count][-s sparse-super-flag][-u user)[-g group] [-C mount-count][-L volume-name][-M last-mounted-directory] [-0 [*]feature[,...]][-T time-last-checked][-U UUID] device
II. Команды 715 Опции -с max-mount-counls Регулирует счетчик максимального количества монтирований межл двумя проверками файловой системы. Если max-mount-counls равен О то о количестве монтирований заботится e2fsck и ядро. -е errors-behavior Меняет реакцию программ ядра при обнаружении ошибок. Параметр errors-behavior может принимать следующие значения: continue продолжать обычное выполнение remount-ro перемонтировать файловую систему в режим "только для чтения" panic вызвать "панику" в ядре - f Вынуждает tune2fs выполнять очередную операцию, даже если явно имеются ошибки. Эта опция может быть полезна, скажем, для удаления такой особенности файловой системы как hasjoumal (опция -О), когда из-за повреждений внешний журнал недоступен. - g group Устанавливает пользовательскую группу group, которая может исполь- зовать зарезервированные блоки. Параметр group может являться чис- ловым значением GID или именем группы. - i interval-between-checks[61m|w] Регулирует максимальный временной интервал между двумя проверка- ми файловой системы. Флаг d определяет временной интервал в днях m - в месяцах, w - в неделях; нулевое значение отменяет проверку по времени. - m reserved-blocks-percentage Регулирует процент зарезервированных блоков файловой системы. - г reserved-blocks-count Регулирует счетчик зарезервированных блоков на заданном устройстве device. - 1 Выводит список содержимого суперблока файловой системы. - u user Устанавливает пользователя user, использующего зарезервированные блоки. Параметр user может быть числовым UID или именем пользо- вателя. - С mount-count Устанавливает счетчик количества подключений файловой системы. -L volume-name Устанавливает метку тома файловой системы. Длина метки тома фан ловой системы ext2 (основная файловая система Linux) не может пре вышать 16 символов. -М last-mounted-directory Устанавливает последний монтируемый каталог файловой сисюмы
716 II Команды - О [л1/ё<Яиге[,. .] Устанавливает (предшествующий плюс или без префикса) или отменя- ет (предшествующий символ Л) ряд указанных особенностей feature файловой системы. На сегодняшний день применяются следующие опции: sparsesuper ограничивает число резервных суперблоков в целях сохра- нения пространства больших файловых систем filetype сохраняет информацию о типах файлов в элементах ката- лога has_journal аналог опции -j После установки или очистки sparse_super и filetype должна быть за- пущена e2fsck. Старые ядра не поддерживают такие особенности. - U UUID Устанавливает UUID файловой системы (см. uuidgen). - j Добавляет к данной файловой системе журнал в стиле ext3. Если опция -J не задана, для создания журнала подходящего размера будут исполь- зованы принятые по умолчанию параметры (размер файловой системы). Для применения журнала необходимо иметь ядро операционной систе- мы, поддерживающее эту особенность. -J journal-options Перекрывает принятые по умолчанию параметры журнала ext3, исполь- зуя опции, задаваемые в командной строке и разделенные запятыми. Знаки равенства (=) позволяют определять значения аргументов. Под- держиваются следующие журнальные опции (задается одна из этих двух) size~journal-size Создает внутренний журнал указанного размера journal-size в мегабайтах; размер журнала должен, по меньшей мере, составлять 1024 блока файловой системы (1 Мбайт, если используются блоки размером 1 Кбайт, 4 Мбайт, если ис- пользуются блоки размером 4 Кбайт, и т.д.) и не может пре- вышать 102400 блоков файловой системы. Aevice=external-journal Подключает данную файловую систему к блокам устрой ства внешнего журнала, размещенного в external-journal. Внешний журнал должен быть предварительно создан с ис- пользованием следующей команды: mke2fs -О journal dev external-journal Причем, external-journal необходимо форматировать с тем же размером блока, как у использующей его файло- вой системы. Вместо непосредственного указания имени устройства журнала может быть задана метка тома в виде LABEL, label или UUID UUID, хранимый в еунерблоке ext2 при запуске журнала.
II. Команды 717 Чтобы отобразить метку тома устройства журнала или UUID, применяется команда dumpe2fs (см. также опцию -L команды tune2fs). -о [л]тоип1-орМоп[,...] Устанавливает или очищает принятые по умолчанию опции монтирова- ния файловой системы. Принятые по умолчанию опции могут быть пе- рекрыты опциями, задаваемыми в файле /etc/fstab, или аргументами командной строки mount. Более старые ядра (до 2.4.20) не поддержи- вают такую возможность. Может быть задано несколько таких опций, разделенных запятыми. Те опции, которым предшествует символ Л, бу- дут очищены в суперблоке файловой системы, а которым предшеству- ет символ + (или без префикса), будут добавлены к данной файловой системе. Могут быть добавлены или очищены следующие опции: debug разрешает выполнять отладку этой файловой системы bsdgroups при создании новых файлов эмулирует особенности BSD (они берут GID того каталога, в котором были созданы) user_xattr разрешает расширенные атрибуты, указываемые пользова- телем ас! разрешает ACLs в стандарте Posix uid 16 запрещает 32-разрядные UID и GID (для старых ядер) journal data при монтировании файловой системы с журналом все дан- ные (и не только метаданные) фиксируются в журнале до их записи в основную файловую систему journal data ordered при монтировании файловой системы с журналом все дан- ные записываются прямо в основную файловую систему до фиксации их метаданных в журнале journal data writeback при монтировании файловой системы с журналом все дан- ные записываются в основную файловую систему после того, как их метаданные будут зафиксированы в журнале - S [0| 1 ] Отключает или включает особенность sparsesuper (аналог опции -О sparse_super). - Т time-last-checked Предоставляет время, когда файловая система в последний раз прове рялась с помощью e2fsck. Это значение применяется в сценариях, ис- пользующих LVM для выполнения snapshot (моментального снимка, или копии). Дублирование данных с использованием моментальных копий, содержащих только указатели на блоки данных и измененные данные, существенно экономит пространство и время создания дубля.
718 11 Команды umount демонтируе! файловые системы. К Синтаксис umount [-hV] umount -a [-nrvf][-t vfstype] umount [-nrvf] device|dir [... ] Команда umount отключает файловые системы от дерева иерархии каталогов. Фай- ловая система указывается или по имени каталога dir, к которому она была подключе- на, или по имени специального устройства device, которому она соответствует. Следует отметить, что файловая система не сможет быть демонтирована, если про- должает быть ’’занятой", т.е. на ней имеются открытые файлы или некоторые процессы имеют там рабочие каталоги. Опции - V Выводит информацию о версии программы и завершает ее. - Ь Выводит подсказку по команде и завершает ее. - v Подробно комментирует происходящее. - п Демонтирует без регистрации в файле /etc/mtab. - г Если демонтирование выполнить не удалось, пытается перемонтировать файловую систему только для чтения. - а Монтирует все файловые системы (кроме файловой системы proc), опи- санные в /etc/mtab. - t vfstype Требует выполнения действий лишь для файловых систем указанного типа vfstype. Вообще vfstype является списком файловых систем, раз- деленных запятыми. Упомянутый список может префикс и роваться вы- ражением по, что перечисляет файловые системы, на которые никакие действия не распространяются. - f Принудительно демонтирует файловую систему в случае недоступнос- ти системы NFS. Пример # umount /dev/fdO # Демонтирует файловую систему накопителя на гибких магнитных дисках по имени устройства. # umount /mnt/floppy * Можно при демонтировании указать также и точку монтирования (каталог подклю- чения), что показано во второй команде
II. Команды 719 unalias - удаляет псевдоним команды. В Синтаксис unalias abbrev Удаляет указанный псевдоним abbrev. Если вместо имени псевдонима стоит звез- дочка (символ *), удаляет все существующие псевдонимы, unalias - встроенная в оболочку команда, доступная в большинстве командных процессоров. UnaiTI6 - информирует о компьютере и операционной К системе, запущенной на нем. Синтаксис ипаше [option]... Опции -a, —all Выводит подробную информацию в виде следующих столбцов: SYSNAME имя операционной системы NODENAME имя узла RELEASE релиз операционной системы OSVERSION версия операционной системы, включая дату выпуска MACHINE сведения о компьютере - m, —machine Выводит тип компьютера. - n, —nodename Печатает имя сетевого узла. - р, —processor Печатает тип процессора данного компьютера. - г, —release Печатает релиз операционной системы. - s, — sysname Печатает наименование операционной системы - v Печатает версию операционной системы. Пример $ ипате -а Linux localhost.localdomain 2.2.14-б.1.1втр fl SHP Thu Apr 13 19:41.49 EOT 2000 i586 unknown $ uncompress распаковывает сжатые файлы Синтаксис uncompress (-f][~V][-c]1паше...J
720 II Команды Утилита uncompress распаковывает сжатые файлы, имена которых задаются аргу- ментом пате при условии, что имена заканчиваются суффиксом .Z, а сами упакован- ные файлы содержат корректное магическое число. В результате упакованный файл, чье имя оканчивается суффиксом .Z, замещается оригинальным файлом, имя которо- го получается из имени сжатого файла после удаления суффикса. Магическое число - это специальное число в начале файла, позволяющее системе определить его тип. Опции - f Обычно пользователь получает приглашение подтвердить перезапись существующего файла. В случае задания опции -f производит переза- пись без подтверждения. - с С помощью опции -с записывает сжатый файл на стандартный вывод; исходные файлы не меняются. - V Выводит информацию о версии программы и завершает ее работу. Пример При восстановлении сжатого файла обнаружи- лось, что уже существу- ет файл prim42. Для под- тверждения перезаписи существующего файла следует ввести у. si misha@localhost.localdomain:/home/misha— J3 X. CmishaQlocalhost mishali uncompress prim42,Z prim42 already exists. Do you wish to overwrite prim42 <y or n>? у [nishaBlocalhost mishal^ | j / uniq - удаляет дублирующиеся строки из отсортирован- К ного файла. Синтаксис uniq [option]...[input[output]] Команда uniq выполняет фильтрацию строк входного файла input, чтобы выявить повторяющиеся либо уникальные строки. Обычно ее применяют к файлам, отсортиро- ванным командой sort. Результат фильтрации записывается в файл output или на стан- дартный вывод. Опции -с, —count Выводит в начале строки количество се появлений, учитываются толь- ко появления, непосредственно предшествующие рассматриваемой строке. - d, —repeated Только печатает рядом стоящие дублирующиеся строки. - D, -all-repeated Печатает все дублирующиеся строки. - f, —skip-fields=n Пропускает без сравнения первые л полей.
II. Команды 721 - i, —ignore-case При сравнении игнорирует разницу между соответствующими буквами верхнего и нижнего регистров. - s, — skip-chars=n При сравнении игнорирует первые п символов - u, —unique Печатает только уникальные строки. - w, —check-chars=n Сравнивает в строках не более чем п символов - п Синоним опции -f л. +п Синоним опции-s л. —help Выводит список опций и завершает программу. -version Выводит информацию о версии программы и завершает ее. Пример На примере обработки файла vvvl объясняется смысл опций -с, -d, -D команды uniq. $ cat vvvl ssdd ssdd ghgh yuyu ssdd $ uniq -c vvvl 2 ssdd 1 ghgh 1 yuyu 1 1 ssdd $ uniq -d vvvl ssdd $ uniq -D vvvl ssdd ssdd $ unzip - распечатывает, тестирует и извлекает сжатые файлы из ZIP-архива, созданного также и под другими операционными системами. Синтаксис unzip [-Z] [-cflptTuvz]abjnoqsCLHX] ] file[. zip] [ file—П-x xfile...] [-d exdirJ Аргументy?Ze[.zip] указывает маршрут к ZIP-архиву, необязательный аргумент(ы) Jile задает член(ы) архива; компоненты архива описываются в виде списка и отделяют- ся друг от друга пробелами.
722 II Команды Опции - Z Уоанавливаег режим zipinfo. Если -Z является первой опцией команд- ной строки, все остальные рассматриваются как опции zipinfo. - с Извлекает файлы на стандартный вывод (экран), при этом автоматичес- ки выполняет преобразование ASCII-EBCDIC. - f Обновляет существующие на диске файлы, извлекая лишь более но- вые, чем имеющиеся на диске. - 1 Распечатывает список архивных файлов в коротком формате. - р Извлекает файлы на конвейер всегда в двоичном режиме так, как они хранились, без каких-либо преобразований. - t Тестирует архивные файлы, проверяя их контрольные суммы. - Т Устанавливает временную метку архива по самому новому файлу в нем. - и Обновляет существующие на диске файлы и при необходимости, в от- личие от опции -f, создает новые. - V Устанавливает режим подробной диагностики, дополнительно инфор- мирует о методе сжатия, размере, коэффициенте сжатия, контрольной сумме. - z Отображает только комментарии к архиву. - а Выпол! 1яет преобразование текстовых файлов из формата хранения. Оп- ция -аа заставляет выполнять извлечение любых файлов как текстовых независимо от их фактического типа. - Ь Рассматривает все файлы как двоичные, не выполняя никаких преобра- зований текста. - С Выполняет сопоставление имен файлов без учета регистра. - j Помещает все файлы в извлекаемый каталог, по умолчанию в текущий, не воссоздавая архивную структуру каталогов. - L Конвертирует имена файлов в символы нижнего регистра. - М Пропускает весь вывод через внутренний пейджер подобно команде more. В конце экрана unzip создает паузу с приглашением вида —More— - п Никогда не перекрывает существующих файлов. - о Перекрывает существующие файлы, не требуя подтверждения. - q Запрещает вывод сообщений при обработке. - S Преобразует пробелы в именах файлов в подчеркивания. - X Восстанавливает информацию, касающуюся владельца н защиты фай- лов. Для Unix-образных систем эта информация касается владельца и группы (UID/GID). - х file Указывает в виде списка архивные файлы, исключаемые из обработки - d exdir Задаст каталог exdir, в который помещаются извлеченные из архива файлы По умолчанию все извлекаемые файлы и подкаталоги распола- гаются в текущем каталоге.
II. Команды 723 - выводит информацию о работе системы. uptime Синтаксис uptime uptime {-V] Команда uptime повествует о текущем времени, как долго работает система, како- ва средняя загрузка системы за последние 1.5 и 15 минут. Опции - V Выводит информацию о версии программы и завершает ее. Пример $ uptime 7:37pm up 3:09, 7 users, load average: 0.16, 0.03, 0.01 $ useradd - открывает счет для нового пользователя или меняет информацию о пользователе, заданную по умолчанию. Синтаксис useradd [-u uid [-o]][-g group][-G group,—][-d Лоше][-з shell} [~m [-k template]][-f inactive][-e expire] name useradd -D |-g group][-b base][-s sheJIJI-f inactive][-e expire] Вызванная без опции -D команда useradd создает счет для нового пользователя по имени пате, а также его исходный каталог, в который будут скопированы файлы иници- ализации. Основные опции - u uid [-о] Определяет уникальное числовое значение идентификатора пользова- теля (UID) за исключением случаев использования опции -о. Значения между 0 и 99 обычно резервируются для системных счетов. Опция -о разрешает дублировать UID в пределах системы. - g group Определяет группу, к которой будет принадлежать пользователь после регистрации в системе. ~G group [,...] Определяет членство пользователя в дополнительных группах, пере- численных через запятые в виде списка. - d home Указывает исходный каталог пользователя. - s shell Задаст имя командного процессора, или оболочки, используемой пос- ле регистрации пользователя.
724 II Команды - ш [-к template] Создает исходный каталог пользователя, если он не существует В случае задания опции -к копирует в этот каталог каталоги и файлы ини- циализации из каталога template, в противном случае - из /etc/skel - е expire Определяет дату в формате MM/DD/YY (месяц/день/год), завершаю- щую срок действия счета пользователя. В случае присутствия опции -D указывает промежуток между очередными изменениями пароля. - f inactive Указывает промежуток между днем устаревания пароля и днем запре- щения счета пользователя. По умолчанию параметр inactive равен -1, что вообще запрещает применение подобной особенности. - D Показывает текущие значения полей пользовательского счета, задан- ные по умолчанию, или изменяет их на значения, указанные в команд- ной строке. - b base Определяет префикс имени исходного каталога пользователя. Пример # useradd andry I - удаляет счет пользователя из системы. userdel Синтаксис userdel [-г] пале Удаляет счет пользователя пате. Опции -г Удаляет также исходный каталог пользователя вместе с его содержи- мым. Если пользователь, счет которого предполагается удалить, работает в системе, по- добная операция не будет выполнена. Пример Попытка удалить счет зарегистрированного в системе пользователя завершилась безрезультатно. f userdel andry userdel: user andry is currently logged in * users - выводит список пользователей, зарегистрировав- шихся в настоящий момент в системе. Синтаксис users [option]... | file]
II. Команды 725 Аргумент/i/e указывает, из какого файла извлекается информация о пользователях Если файл не указан, используется /var/run/utmp, хотя возможны и другие варианты. В общем случае используется /var/Iog/wtmp. On ции -help Выводиг список опций и завершает программу. -version Выводит информацию о версии программы и завершает ее. Пример ♦ users misha root root root Sofia t Су лерпользователь работает на нескольких виртуальных терминалах. uudecode - декодирует файл, созданный с помощью К uuencode Синтаксис uudecode [-о outfile][file]... Программа uudecode преобразует файл по имени file (по умолчанию стандартный ввод), закодированный с помощью uuencode, в оригинальный формат. В результате возникает файл по имени пате (см. uuencode), имеющий режим оригинального файла, не сохраняются лишь SETUID и биты исполнения. Опции -о outfile Вместо того чтобы создавать оригинальный файл по имени пате (см. uuencode), создает файл outfile. Если outfile или пате установлен в значение/dev/stdout, направляет результат на стандартный вывод. Программа uudecode самостоятельно "решает", какая из двух поддерживаемых схем кодирования использовалась. uuencode - кодирует бинарный (двоичный) файл. К Синтаксис uuencode name Используется для пересылки двоичных файлов в таких средах передачи данных, где не поддерживается никакой другой формат кроме обычного ASCII. Программа uuencode считывает содержимое файла по имени file (по умолчанию стандартного ввода) и записывает кодированную версию на стандартный вывод. В про- цессе кодирования применяются только изображаемые символы ASCII, а для дальней- шего использования программой uudecode включаются режим файла и аргумент пате. Если пате установлен в значении /dev/stdout, результат кодирования направляется иа стандартный вывод. По умолчанию используется стандартное UU-кодирование.
II Команды 726______________ Опции -tn Вместо стандартного UU-кодирования (Unix-Unix кодирования) исполь- зуется base64. Следует учесть, что системы на базе MS DOS/Windows/Windows95/Windows98/ WindowsNT не поддерживают UU-кодирования. Пример $ tar cf - rab|compress|uuencode primer|mail sofia@dniephost s Упаковывается и сжимается исходное дерево rab. затем кодируется (UU-кодиро- вание) и с помощью mail передается на дистанционную систему. uuidgen - создает новый UUID. Синтаксис uuidgen l-r|-t] uuidgen - утилита командной строки, создающая новое значение UUID (universally unique identifier - универсального и уникального идентификатора). Предполагается, что новый UUID уникален не только в рамках локальной системы, но и среди всех UUID, созданных на других системах в прошлом и будущем. Опции -г Создает UUID по методу случайных чисел. Для этого требуется, что- бы операционная система имела высококачественный генератор случай- ных чисел, такой, как /dev/random. -t Создает UUID, основывающийся на системных числах и плюс систем- ный Ethemet-адрес оборудования, если таковое имеется. vim - текстовой редактор. Синтаксис vim [option][file...J vim [option] - vim [option] -t tag vim [option] -q [errorfile] ex view gvim gview rvim rview rgvim rgview
II. Команды 727 vim - текстовый редактор, совместимый с известным vi и расширяющий его воз- можности. Может быть использован для редактирования любого текста в формате ASCII, часто применяется для редактирования программ. По сравнению с vi редактор vim предлагает целый ряд дополнительных возможно- стей: многоуровневая undo (отмена), окна и буфера, синтаксическое выделение тек- ста, редактирование в командной строке, помощь в режиме on-line, выбор в графичес- ком режиме и т.д. Запустив vim, можно получить подсказку с помощью команды :help. Часто запускают vim, указав в командной строке имя лишь одного файла file, хотя можно задать целый список. Если имя файла не задано, vim запускается с пустым бу- фером. В случае задания списка файлов первый из них считывается в буфер, а курсор устанавливается на первой строке буфера. Если вместо имени файла указан дефис, vim считывает стандартный ввод. Опции могут быть заданы в любом порядке: до или после имен файлов. Основные опции +[пит] Для первого файла устанавливает курсор на строке с номером пит. Если параметр пит пропущен, устанавливает курсор на последней строке. +/{pat} Для первого файла устанавливает курсор в месте первого появления образца pat. +command, -с command После того как первый файл будет считан, запускает команду command. Если команда содержит пробелы, ее следует заключать в двойные ка- вычки. - Ь Переходит в режим редактирования двоичных или исполняемых файлов. - С Устанавливает режим совместимости: при этом работа в vim подобна работе в vi. - е Запускает vim в режиме Ех, напоминающем работу в редакторе ех. Осу- ществляет переход в обычный режим с помощью команды :vi. - g Включает поддержку GUI. - h Предоставляет подсказку по аргументам и опциям командной строки, а затем завершает vim. - m Запрещает модифицировать файлы. - п Не использует область сохранения, что делает невозможным восста- новление файлов после сбоя. - о[я] Открывает и окон. Если параметр я опущен, открывает одно окно для каждого файла. - R Устанавливает режим только для чтения. Вы еще можете редактиро- вать буфер, но перезаписывать файл запрещено. Но если вы все же стре- митесь перезаписать файл, добавьте восклицательный знак к существу- ющей команде редактора ех, а именно :w!. _г Создает список файлов области сохранения с включением информации об их использовании для восстановления.
728 II Команды “Г file Для восстановления аварийно завершившегося сеанса редактирования использует файл своппинга с именем file. Это имя точно такое же, как и имя редактируемого текстового файла, лишь добавлено расширение .swp -s Запрещает выдачу сопутствующих сообщений. Действует лишь тогда, когда редактор стартовал в режиме Ех или когда до опции -s была ука- зана опция -е. -s scriptin Указывает считываемый файл сценария по имени scriptin. Символы это- го файла интерпретируются как набираемые на клавиатуре. Аналогич- ный эффект мог быть достигнут с помощью команды :source! {scriptin}. Если конец файла будет достигнут до завершения редактора vim, про- должает считывать символы с клавиатуры. -Т terminal Сообщает vim имя используемого терминала. -u vimre Использует для инициализации команды из файла vimre. Если понадо- билось пропустить команды инициализации, следует установить значе- ние параметра vimre в NONE. -U gvimre Использует для инициализации GUI команды из файла gvimre. Если по- надобилось пропустить команды инициализации, следует установить зна- чение параметра gvimre в NONE. -V Подробно комментирует происходящее. -v Запускает vim в режиме редактора vi. -w scriptout Подробно регистрирует все набираемые пользователем клавиши в файле сценария по имени scriptout. Если файл scriptout уже существует, до- бавляет в него символы. В дальнейшем созданный сценарий может быть использован через командную строку vim -s или команду редактора :sourcel. -W scriptout Действует подобно опции -w, но перекрывает ранее существующий файл. -x При записи файлов применяет шифрование. Приглашает ввести ключ шифрования. -- Отмечает конец опций. Аргументы, идущие после этой опции, рассмат- риваются как имена файлов. -t tag В редактируемом файле первоначально устанавливает курсор в пози- цию с указанным тегом. Чаще всего применяется для редактирования исходных текстов программ на языке С. В этом случае tag является именем функции, и курсор будет установлен в ее начало. -q [errorfile] Запускает vim в режиме quickFix: считывает файл errorfile и регист- рирует в нем первую ошибку. Обычно редактор вызывается командой vim, все опции при этом устанавливаются по умолчанию. Команда ех инициирует режим ранее очень популярного в Unix редак- тора Ех. Команда view создаст тот же эффект, что и опция -R: устанавливает режим только дли чтения. GUI-всрсия запускается с помощью gvim или gview. что может
II. Команды 729 также быть выполнено с помощью команды vim с опцией -g. При этом со дается но- вое окно. Команды rvim, rview, rgvim, rgview подобны своим вышеописанным ана- логам с тем лишь исключением, что предлагают ограничивающие режимы - без за- пуска команд оболочки и др. Нужно сказать, что команды, стартующие в GUI-версии, входят не во все дистрибутивы. В некоторых версиях Linux, наоборот, команда vim отсутствует, а команда vi запускает расширенный вариант - редактор vim. Пример Так выглядит заставка VIM версии 5.6.11. - редактирует конфигурационный файл sudoers. visudo Синтаксис visudo sudoers][-q][~s][-V] visudo - это специальный редактор для внесения изменений в файл sudoers (/etc/ sudoers). Команда sudo, позволяющая авторизованным пользователям запускать ко- манды с привилегиями суперпользователя или других пользователей, управляется и конфигурируется с помощью файла конфигурации под названием sudoers. Для коман- ды sudo очень существенна правильная конфигурация, ибо некорректная конфигурация несет множество проблем, создавая угрозу безопасности системы. Команда visudo блокирует файл sudoers, препятствуя параллельным редактированиям и создавая усло- вия для модификации фаз.ла конфигурации в безопасном режиме Если файл sudoers в настоящий момент редактируется кем-то еще, вы получите сообщение sudoers file busy, try again later (с просьбой попытаться его отредактировать попозже). После редактирования команда visudo осуществляет синтаксический контроль со- держимого файла sudoers и не сохраняет изменения, если обнаруживает ошибки Об- наружив ошибку, visudo печатает сообщение, указывая номер строки, где произошла ошибка, и направляя пользователю приглашение What notv? (Ч го сейчас ледагь?). В ответ пользователь можно ввести такие символы:
730 II Команды е повторно редактирует файл sudoers, курсор располагается в том месте, i де про- изошла ошибка х завершает работу без сохранения изменений Q завершает работу, сохраняя изменения Опции - с Переходит исключительно в режим проверки существующего файла sudoers и направляет сообщение на стандартный вывод по поводу со- стояния файла. В случае успешной синтаксической проверки заверша- ет работу с кодом завершения 0, в противном случае - с кодом завер- шения 1. - f sudoers Указывает на альтернативный файл sudoers. - q Переходит в режим минимальных сообщений, не печатая детали по по- воду синтаксических ошибок. - s Выполняет строгую проверку файла sudoers. Если некоторый псевдо- ним используется до того, как он был определен, visudo считает это синтаксической ошибкой. Следует отметить, что невозможно отличить псевдоним и имя хоста или имя пользователя, содержащие исключи- тельно прописные буквы, цифры и символ подчеркивания. - V Выводит информацию о версии программы и завершает ее выполнение. vmstat - выдает статистику по виртуальной памяти. Синтаксис vmstat [—n][deJay [count]] vmstat [-V] Программа vmstat информирует о процессах памяти, страничном обмене, активнос- ти ЦП и т.д. Первый отчет содержит средние значения по всем направлениям после последней перезагрузки. Дополнительные отчеты предоставляют информацию за ука- занный период времени delay, задаваемый в секундах, между обновлениями. Опции - п Отображает информационный заголовок листинга только однажды, а не периодически. - V Распечатывает версию программы. Аргумент count определяет количество обновлений. Упомянутые отчеты помогают выявить' узкие” места в системе. Программа vmstit ие требует специальных полномочий; она не учитывает саму себя как выполняющийся процесс.
II. Команды ____________________________________731 Пример $ vmstat procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 1 0 0 10112 724 3772 7568 1 4 6 2 164 20 1 1 98 5 Ниже приведены описания полей листинга: г число процессов, ждущих запуска b число процессов в состоянии ожидания w число процессов, выгруженных во внешнюю память: содержимое освобожда- емой страницы записано во внешнюю память swpd количество используемой виртуальной памяти (Кбайты) free количество свободной памяти (Кбайты) si количество памяти, загружаемой с диска (Кбайт в секунду) S о количество памяти, выгружаемой на диск (Кбайт в секунду) bi число блоков, посылаемых на блочное устройство (блоков в секунду) Ьо число блоков, полученных с блочного устройства (блоков в секунду) in число прерываний в секунду, включая прерывания от таймера с s число контекстных переключений в секунду Количество процентов от общего времени ЦП для: us пользовательского времени sy системного времени id времени простоя W - показывает, кто зарегистрирован в системе и чем занят. Синтаксис w -[husfV][user] Наблюдение за активностью пользователей - одна из основных задач системного администратора, которому необходимо знать, кто и где зарегистрирован, чем занима- ется, а главное - как задействованы системные ресурсы. Ничто не должно ускользнуть от бдительного ока сисадмина. Если в команде w задано имя пользователя, user, то будет показана информация, лишь касающаяся конкретного пользователя. В начале вывода команды w показано текущее время, как долго система работает, сколько пользователей зарегистрировано, показатели средней нагрузки. Три показателя средней нагрузки означают нагрузку в течение периодов времени, равных 1,5 и 15 минут соответственно, если читать слева направо. Средняя нагру sxa в течение 1 минуты является показателем кратковременной uai рузкп процессора, а сред-
732 II Команды няя нагрузка в течение 15 минут - показателем его долговременной нагрузки. В пери- оды кратковременной активности ЦП средняя нагрузка в течение 1 минуты оказывает- ся высокой, тогда как средняя нагрузка в течение 15 минут - низкой. Средняя нагрузка играет важную роль только с точки зрения числа установленных процессоров. Как правило, если средняя нагрузка меньше числа установленных про- цессоров, это означает, что система обладает достаточно мощными процессорам, Гак, четырехпроцессорная машина со средней нагрузкой 3.5 не считается перегруженной, ее ресурсы используются полностью. Опции - h Не выводит заголовок. - и Игнорирует имя пользователя, отображая текущий процесс и время ЦП. - s Использует краткий формат вывода, не сообщая, как обычно, время регистрации, JCPU (время, использованное всеми процессами данного терминала) или PCPU (время, использованное текущим процессом). - f Включает печать поля FROM (откуда: имя дистанционного хоста). - V Выводит информацию о версии программы. Пример ♦ w 22:54:59 up 7 min, 3 users, load average: 1.24, 1.06, 0.53 USER TTY FROM LOGINg IDLE JCPU PCPU WHAT misha ttyl - 10:53pm 1:01 9.38s 8.97s find / -name yu root :0 - 10:50pm ? 0.00s 7.06s Zusr/bin/gnome- root pts/0 :0.0 10:52pm 0.00s 1.12s 0.12s w Все зарегистрированные пользователи принадлежат локальной системе. wall - посылает сообщение на любой терминал Синтаксис wall [message] Посылает сообщение message любому пользователю на его терминал, полномо- чия которого с помощью mesg установлены в значение yes. Сообщение может быть задано как аргумент команды wall или передано на стандартный ввод wall. Если тер- минал используется как стандартный ввод, сообщение будет завершено при нажатии Ctrl+D. Пример Пришедшее широковещательное сообщение даже вклинится в информацию, вы- водимую по команде man.
II. Команды 733 wc - подсчитывает слова, символы или строки в одном К или более файлах. Синтаксис wc [option]... [file]... Подсчитывает количество байт (символов), слов, разделенных пробелами или дру- гими неизображаемыми символами, строк, разделенных newline (символом новой стро- ки), в указанном файле или в стандартном вводе, если имя файла не задано или вместо имени стоит дефис. Печатает строку счетчиков для каждого файла, за которыми следует собственно имя файла. Если в командной строке задано более одного файла, распечатывает итого- вую строку total (ИТОГО), содержащую накопленные значения счетчиков. Эти счетчики печатаются в следующем порядке: строки, слова, байты. По умолча- нию каждый счетчик представляет из себя 7-байтное поле, выравненное по правой гра- нице, между счетчиками имеется пробел, так что стандартный вывод wc происходит по столбцам. По умолчанию we распечатывает все три счетчика. Опции - с, —bytes, —chars Печатает только счетчики байт. - w, —words Печатает только счетчики слов. - 1, —lines Печатает только счетчики строк, подсчитывая newline. - L, —max-line-length Распечатывает только длину самой длинной строки. Пример $ wc -L priml25 62 prim!25 $
734 II Командь which отображает полный маршрут к указанной команде. Синтаксис which [option][—] ргодгашпаше [...] Программа which принимает один или более аргументов programname, распеча- тывая для каждо. о полный маршрут доступа к нему. В качестве аргументов задаются имена исполняемых файлов или сценариев. Опции —all, -а Распечатывает все совпавшие исполняемые файлы по содержимому PATH, а не только первый. -read-alias, -i Считывает псевдонимы со стандартного ввода, направляет на стандарт- ный вывод информацию по совпавшим. -skip-alias Игнорирует опцию -read-alias, если таковая имеется. —skip-dot Пропускает все каталоги из PATH, имена которых начинаются с точки. —skip - Пропускает все каталоги из PATH, имена которых начинаются с симво- ла ~ (тильда), и все исполняемые модули, расположенные в каталоге, указываемом переменной НОМЕ. -show-dot Если имя каталога из PATH для исполняемого файла начинается с точки, тогда вместо полного маршрута (полного пути) печатает ./programname. -show-tilde Выводит тильду, когда каталог совпадает с каталогом, указываемым НОМЕ. —tty-only Не обрабатывает опции, идущие справа за этой, если они поступают не с tty (не с терминала). —version, -v, -V Выводит информацию о версии программы и завершает ее. —help Выводит краткое описание опций программы и завершает ее. Пример $ which vmstat /usr/bin/vmstat $ who - сообщает о пользователях, зарегистрировавших- ся в настоящее время. К Синтаксис who [option]...[file][am i]
II. Команды 735 Если не указаны никакие опции, печатает следующую информацию о каждом заре- гистрировавшемся пользователе: имя, терминал, время регистрации, имя дистанцион- ного узла (для подключившихся пользователей других систем) или Х-дисплей. Если набрана команда who am i, сообщает все о пользователе, запустившем эту команду. Опции - т Синоним who am i. - i, -u, —idle После времени регистрации указывает количество часов и минут без- действия пользователя. Точка в этом поле информирует, что пользова- тель был активен в течение последней минуты, а слово old (старый) - бездействовал более суток. - 1, — lookup Пытается канонизировать (узаконить) имена узлов, найденные в файле utmp, через DNS. По умолчанию эта опция не устанавливается; при се использовании слишком замедляется доступ к другим сетям по теле- фонным каналам. - Н, - -heading Печатает заголовки столбцов листинга. - w, -Т, --mesg, -message, -writable После каждого имени печатает символ, указывающий статус сообще- ний пользователя: + разрешается писать сообщения - запрещается писать сообщения ? не может обнаружить терминальное устройство Пример $ who am i localhost.localdomainImisha tty3Oct 8 15:56 $ whois Синтаксис whois [option]... object Выяснив адрес дистанционного соединения, системный администратор может вос- пользоваться данной информацией для установления связи с администраторами кон- кретных узлов сети и уведомления их о любых возникших у него проблемах. Для этой цели прежде всего и существует команда whois, осуществляющая поиск официальной контактной информации из различных авторитетных источников. Если известно доменное имя сайта (object), с помощью команды whois можно сделать запрос в организацию InterNIC, где хранится официальный реестр имен Internet, чтобы получить необходимую контактную информацию. К полезной информации от- носится организация (registrar), зарегистрировавшая рассматриваемое доменное имя. - осуществляет поиск официальной контактной информации из различных авторитетных источников
736 II Команды что может пригодиться, когда приходится выражать протест против SPAM (принуди тельно рассылаемого "сетевого мусора") или агрессии в сети. Регистрация обязательна не только для доменных имен, но и для всех сетей Internet. В Северной и Южной Америке, отдельных странах Африки и Карибского бассейна эта информация регистрируется организацией ARIN (American Registry for Internet Num- bers Американский реестр номеров Internet). Запрос на сервер whois реестра ARIN может быть направлен таким же образом, как и на любой другой сервер whois, но на сей раз следует указать адрес сети, а не доменное имя. Сервер whois организации ARJN это whois.arin.net. Опции —version Выводит номер версии, авторов н лицензионную информацию. —help Отображает краткую подсказку. - с file, —config=yWe Использует file в качестве файла конфигурации вместо принятого по умолчанию. Хост, иа который посылается запрос, берется нз глобаль- ного файла конфигурации. - h host, —host=/iosf Перекрывает любые хосты в файле конфигурации и напрямую запраши- вает host. -р port, --fort-port Указывает номер порта, используемый при запросе host. -f, —force-lookup Запрашивает дистанционный хост в любом случае, даже если текущий объект доступен из кэша. -v, —verbose При запуске выводит подробную отладочную информацию. Можно увеличить объем выводимой информации, применив опцию -W. -n, —no-redirect Запрещает перенаправлять запросы от одного сервера к другому. -s, — no-whoisservers Отключает встроенную поддержку службы whois-servers.net. -a, —raw Запрещает реформатирование запроса. -i, -display-redirections Отображает каждый шаг, переадресовывая запрос от сервера к серверу. По умолчанию отображает только последний ответ. -d, -disable-cache Полностью отключает чтение и запись в кэш. -г, —rwhois Использует для запроса протокол rwhois вместо HTTP или whois. --rwhois-display=A'sp/ay Просит серверы rwhois, принимающие запросы, отображать результаты иа указанном дисплее display. —rwhois-limit/imir Просит серверы rwhois, принимающие запросы, граничить их отклики лишь случаями совпадения, количество которых не должно превышать limit.
II. Команды 737 По умолчанию запросы, посылаемые в InterNIC по команде whois, направляются по адресу whois.internic.net, однако это позволит лишь получить сведения о том в каком из многочисленных реестров имен Internet содержится авторитетная информа- ция по указанному домену. Пример § whois -h whois.networksolutions.com example.com Registrant: Internet Assigned Numbers Authority (EXAMPLE-DOM) 4676 Admiralty Way, Suite 330 Marina del Rey, CA 90292 US Domain Name: EXAMPLE.CoM Administrative Contact, Technical Contact, Billing Contact: Internet Assigned Numbers Authority (IANA) iana8lANA.ORG 4676 Admiralty Way, Suite 330 Marina del Rey, CA 90292 US 310-823-9358 Fax 310-823-8649 Record last updated on 07-Jan-2003. Record expires on 18-Aug-2006. Record created on 17-Aug-1996. Database last updated on 15-May-2003 09:10:00 EDT. Domain servers in listed order: A.IANA-SERVERS.NET 192.0.34.43 B.IANA-SERVERS.NET 193.0.0.236 В большинстве случаев связь целесообразно устанавливать по техническим во- просам, хотя в приведенном выше примере это равнозначно установлению связи по административным вопросам, а также по вопросам оплаты счетов: iana@IANA.ORG. write Синтаксис write user Ittyname] Команда write позволяет общаться с другими пользователями системы, копируя строки со своего на их терминал. Когда вы набрали команду write, то пользователь, которому вы направляете сооб- щение, получит его со следующим заголовком: Message from ваше_имя$ваш_узел on sam_tty at hh:mm В этом заголовке указывается, от кого пришло сообщение, с какого терминала (enw tty) и когда было отправлено (часы и минуты). Любые строки, которые вы затем набираете на своем терминале, будут копироваться на его терминал. Комбинация Ctrl+D завер- шит ваше послание. Ваш собеседник при этом получит EOF, указывающий, что обще- ние завершено. К - ссылает сообщение другому пользователю.
738 IL Команды Вы можете запретить другим пользователям, но не суперпользователю, писать вам. Для этого существует команда mesg. В команде write всегда указывается имя user вашего собеседника. Если ваш собе- седник захочет ответить, он также должен запустить write. Но пользователь, которо- му вы собираетесь направить сообщение, мог зарегистрироваться более чем на одном терминале. В этом случае вы можете дополнительно указать терминал ttyname (tty3 или pts/1, или что-то в этом роде). Пример Пользователь sofia с помощью команды write направила коротенькое сообщение пользователю misha. Вот что увидел misha на своем терминале: И] misha@lQcalhQst.lQcaldomain: /home/misha] Д' [mishaGlocalhost mishalS A Message from sofiaQlocalhost.localdomain on tty4 at 00:16 ... Привет, Мишд EOF I_______________________________________________________Й writelog - . добавляет элемент в журнал INN. Синтаксис writelog пате text Сценарий writelog применяется, чтобы записать элемент в журнал или отправить его по почте. Параметр пате указывает имя журнала (log file), куда записывается эле- мент. Если в качестве имени задается слово mail, элемент будет отправлен по почте администратору службы новостей. Записанная или отправленная информация содер- жит текст text, задаваемый в командной строке, с отступом в четыре пробела. Чтобы препятствовать одновременному обновлению журнала, используется shlock. у\. - мобильная и позволяющая работать в сети Л. оконная система. Х-коисорциум допускает использование нескольких имен системы, наиболее рас- пространенные такие: X, XII, X Window System. X - многооконная система, обеспечивающая вывод на экран нескольких окон с из- меняемыми размерами. Следовательно, одновременно на экран можно вывести несколь- ко приложений. В отличие от многих оконных систем, имеющих жесткий встроенный пользовательский интерфейс, на основе X можно построить пользовательский интер- фейс любого типа. Воистину уникальная особенность X состоит в том, что эта система основана па сетевом протоколе. В системе X термины "клиент" и "сервер" имеют несколько иной смысл. X Window состоит из трех основных частей:
II. Команды 739 □ Программное обеспечение сервера, которое управляет вашим выводом на эк- ран, а также клавиатурой и мышью. □ Программное обеспечение клиента, которое кроме обеспечения графического пользовательского интерфейса выполняет для пользователей целый ряд кон- кретных функций, таких, как управление базой данных ресурсов X или передача электронной почты. □ Коммуникационное программное обеспечение. В системе X возможны многие режимы работ: несколько клиентов могут взаимо- действовать с одним сервером, несколько различных приложений могут тем не менее работать с одним экраном, один клиент может контактировать с несколькими сервера- ми и даже выводить одну и ту же информацию на разные экраны. Су шествуют две реализации системы: □ Клиент и сервер выполняются на одном компьютере. В этом случае коммуника- ции имеют форму передачи данных между процессами через разделяемую па- мять в виде именованных программных каналов. □ Клиент и сервер выполняются на разных компьютерах, подключенных к сети Поскольку X не зависит от сети, здесь может использоваться любая физичес- кая линия: Ethernet, Token Ring, Х25, последовательные линии. Информация, пе- редаваемая между сервером и клиентом, является независимой от устройства, поэтому вовсе не обязательно, чтобы компьютеры имели один и тот же процес- сор или операционную систему. X позволяет "скрывать" архитектуру сети, пользователю даже не требуется знать, что его приложение работает в сети. X поддерживает иерархию перекрывающихся окон, текстовые и графические опе- рации на монохромных и цветных дисплеях. Количество программ, использующих X, чрезвычайно велико: эмуляторы термина- лов, оконные менеджеры, средства управления доступом, менеджеры дисплея, растро- вые редакторы, серверы шрифтов, часы, программы, реализующие почтовый интерфейс, различные инструменты, манипулирующие ресурсами системы, интерфейсы с Netscape Navigator, программы, необходимые при работе с MIME-типами, и многое др. Запустить Х-сервср и исходный набор клиентских приложений можно двумя спосо- бами: с помощью менеджера дисплея xdm или программы xinit. На компьютерах, где поддерживается несколько оконных систем, удобнее использовать xinit (вернее, сце- нарий startx, хотя помимо стандартного можно Создать собственный сценарий на ос- нове xinit). Каждый Х-сервср имеет имя в следующем формате: hostname:displaynumber:screennumber Здесь hostname задает имя сетевого узла (машины), к которому физически подклю- чен дисплей, displaynumber и screennumber определяют соответственно дисплей и экран (для дисплеев с несколькими мониторами) по умолчанию. На многопользователь- ских машинах может быть несколько дисплеев, поэтому каждому из них присваивает- ся номер (нумерация с 0). На POSlX-систсмах имя дисплея, принятое по умолчанию, хра- нится в переменной окружения DISPLAY. Зга переменная устанавливается автома! ичееки эмулятором терминала под названием xterni. Но если вы регистрируетесь на другой машине сети, то переменную DISPLAY придется устанавливать вручную.
740 II. Команды Х-сервер прослушивает запросы на подключение по различным коммуникацион- ным каналам: сетевые потоки, разделяемая (совместно используемая) память и т.д Параметр hostname позволяет определить тип используемого канала (транспортный уровень). Х-серверы поддерживает следующие типы подключений: local hostname заменяется пустой строкой, например, :0 или :1 TCPIP в этом случае hostname представляет из себя полное Intemet-имя или 1Р-адрес: 168.115.45.10:0 или ах.сопкО. DECnet в качестве hostname указывается имя сетевого узла, за которым следуют два символа двоеточия, например, hydropark::l. Большинство Х-программ принимают аргументы командной строки, описывающие геометрию окна, в форме -geometry WIDTH*HEIGHT+XOFF+YOFF. Все параметры опции -geometry являются числами, описывающими желаемый размер и расположе- ние окон приложений. Ширина WIDTH и высота HEIGHT в зависимости от приложения обычно измеря- ются в пикселах либо в символах. XOFF и YOFF измеряются в пикселах и указывают смешение от одного из углов экрана. Эти смещения указываются между однотипными границами окна и экрана: +XOFF левая граница окна расположена на XOFF пикселов от левой границы экрана; XOFF может принимать отрицательное значение, в этом случае левая грани- ца окна выходит за пределы экрана -XOFF правая граница окна расположена на XOFF пикселов от правой границы экра- на и тоже может принимать отрицательное значение + YOFF верхняя граница окна лежит на YOFF пикселов ниже верхней границы экрана; YOFF может принимать отрицательное значение, в этом случае верхняя часть окна выходит за пределы экрана -YOFF нижняя граница окна лежит на YOFFпикселов выше нижней границы экрана и тоже может принимать отрицательное значение. Смешения должны быть заданы в виде пар. Следующие спецификации размещают окно в один из четырех углов экрана: +0+0 верхний левый угол -0+0 верхний правый угол 0-0 нижний правый угол +0-0 нижний левый угол Вид окон определяется программами, называемыми менеджеры окон (в литсрату ре можно встретить термин администраторы окон, или диспетчеры окон). Дистрнбу дня X приходит с менеджером окон twm, который поддерживает перекрывающиеся окна, всплывающие меню, технологию point-and-click (указал, щелкнул и перетаскивай элементы, куда требуется) и многое др. На сегодняшний день наберется добрый деся- ток подобных менеджеров окон. X сервер поддерживает разные шрифты, в том числе и масштабируемые, предос- тавляет возможность создать шрифт нужного размера из исходного образца. Сервер поддерживает масштабирование векторных и растровых шрифтов, причем в первом случае результаты значительно лучше. Х-сервер получает шрифты из индивидуальных
II. Команды 741 файлов, хранимых в каталогах файловой системы, от одного или более серверов шриф- тов или из комбинированного источника: из каталогов и серверов шрифтов. Файлы растровых шрифтов обычно создаются путем компиляции текстового опи- сания шрифтов в двоичный формат с помощью bdftopcf. БД шрифтов создается при запуске программы mkfontdir в каталоге, содержащем исходную или скомпилирован- ную версию шрифтов. В любом случае в каталог добавляются шрифты, a mkfontdir должна быть перезапущена, чтобы сервер мог найти новые шрифты. Чтобы вынудить сервер повторно читать БД шрифтов, следует переустановить маршрут, ведущий к шрифтам, это помогает реализовать программа xset Для просмотра доступных шриф- тов используются программы xfontsel и xlsfonts. Имена шрифтов обычно очень длинны, так как содержат всю уникальную инфор- мацию, необходимую для идентификации шрифта. Седьмое поле имени предназначено для указания размера (высоты) шрифта в пикселах, восьмое - для размера указателя, двенадцатое, измеряемое в десятых долях пиксела - средняя ширина шрифта. Сервер шрифтов, принимающий ТСР-подключеиия, именуется одним из следую- щих способов: tcplhostname.port tcp/hostname:port/cataloguelist При этом hostname определяет имя или десятичный адрес машины, на которой за- пущен сервер шрифтов, port - десятичный номер порта TCP, на котором сервер шриф- тов прослушивает подключения; cataloguelist - список имен каталогов для шрифтов, в качестве разделителя имен применяется знак плюс Пр: с тображении цвета различных текстовых или графических элементов окна ука- зывается либо абстрактное имя цвета, либо его числовое значение. Числовая специфи- кация идентифицирует цвет или в зависимом от устройства RGB-формате (Red, Green, Blue - красный, зеленый, синий), или в независимой от устройства форме. Строки опи- сания цвета зависят от регистра. Значения абстрактных имен цветов - red, Ыне и т.д. - хранятся в БД. Поиск начинается с просмотра клиентских баз данных. Если имя не об- наружено, поиск .роцолжается в БД Х-сервера — в файле <A7?OOr>4ib/Xll/rgb.txt, где <XROOT> замещается корневым каталогом инсталлированного дерева XII. RGB-спецификация имеет следующий синтаксис: rgb:<red>/<green>/<blue> Здесь red, green или blue задаются в одном из четырех форматов: h\hh\hhh\hhhh В этой записи h - это одна шестнадцатеричная цифра, при этом h рассматривается как 4 бит, hh - 8 бит. hhh- 12 бит и hhhh - 16 бит. Эти значения передаются непосред- ственно Х-серверу для корректировки цветовой гаммы. Ниже показаны представления некоторых цветов: rgb:O/O/O rgb:ffff/O/O rgb.O/ffff/O rgb:O/O/ffff rgb:ffff/ffff/O желтый черный красный зеленый сипни
742 II команды Спецификация RGB-иитенсивности начинается с префикса rgbi: и имеет такой син- таксис: rgbi:<red>/<green>/<blue> где на месте red, green или blue указываются числовые значения с плавающей точкой между 0.0 и 1.0 включительно, представляющие значения линейной интенсивности соответствующего цвета: 1.0 указывает полную интенсивность, 0.5 — половинную ин- тенсивность и т.д. В X существует двухуровневый подход к клавиатуре: keycodes (коды клавиш), ко- торые представляют физические клавиши и указываются со стороны сервера, и keysyms (коды символов, не зависимые от сервера), которые представляют буквы или слова, изображенные на самих клавишах. На сервере хранятся две таблицы для преобразования keycodes в keysyms. Первая таблица - это список модификаторов. Некоторые клавиши, такие, как Shift, Ctrl, Caps Lock известны как модификаторы; они используются совместно с другими клавиша- ми. Например, Ctrl+L генерирует управляющий символ AL, a Shift+I создает пропис- ную букву L Когда клавиша нажимается или отпускается, сервер создает событие, ко- торое учитывает код указанной клавиши и маску, определяющую, какие клавиши-мо- дификаторы сейчас нажаты. Вторая таблица - keymap table (таблица отображения клавиш). Дело в том, что разнообразные приложения транслируют коды событий клавиш и маски модификато- ров в коды символов, используя таблицу keysym. Последняя содержит по одному ряду для кода каждой клавиши и по одному столбцу состояний для каждого модификатора. Эта таблица инициализируется сервером, и, хотя ее содержимое интерпретируется по- разному в зависимости от принятых языков или библиотек, соблюдаются стандартные договоренности в отношении первых четырех кодов символов каждого ряда. Первые четыре элемента символов списка разбиты на две группы символов клавиш. Группа 1 содержит первый и второй коды символов, группа 2 - третий и четвертый. Если первый символ внутри каждой группы является алфавитным, а второй — специальным симво- лом NoSymbol (не символ), тогда принята следующая интерпретация: первый элемент рассматривается как строчная буква, второй элемент - как прописная. Переключение между группами выполняется keysym под названием MODE SWITCH (переключатель режимов) путем прикрепления keysym к некоторой клавише и также подсоединения клавиши к одному из модификаторов MOD1-MOD5. Выбранный модификатор назы- вается модификатором групп. Если модификатор отключен, используется группа 1, в противном случае - группа 2. Внутри группы именно состояние модификатора и опре- деляет, какой keysym (кол символа) использовать. Первый keysym используется, ког- да модификаторы Shift и Lock отключены. Второй keysym используется, когда вклю- чены модификаторы Shift, Lock и сам второй keysym является прописным символом алфавита или же когда включен модификатор Lock и он интерпретируется как ShiftLock. Иначе, если включен Lock, который интерпретируется как Caps Lock, состояние мо- дификатора Shift прежде всего берется для выбора keysym; но если keysym строчный символ алфавита, тогда вместо него используется соответствующий прописной keysym. Большинство Х-программ использует тс же самые наименования для опций н аргу- ментов командной строки, что приведены ниже. А все приложения, написанные на ос- нове X Toolkit Intrinsics, автоматически принимают представленные далее опции.
II. Команды 743 Опции -display display Указывает имя используемого сервера X. -geometry geometry Указывает начальный размер и расположение окна. - bg color, -background color Указывает цвет фона окна. - bd color, -bordercolor color Указывает цвет окаймления (рамки) окна. - bw number, -borderwidth number Задает ширину рамки окна в пикселах. - fg color, -foreground color Определяет цвет, используемый для текста или графики в этом окне. -fn font, -font font Указывает шрифт, применяемый для отражения текста. -iconic Указывает, что в начале сеанса окна приложений не будут видны, но бу- дут немедленно развернуты из пиктограмм самим пользователем. -name пате Указывает имя, под которым будут отыскиваться ресурсы для прило- жения. -rv, -reverse Указывает, что программы будут имитировать реверсное (обратное) видео, если это возможно. Не все программы делают это корректно. В основном этот режим используется на монохромных дисплеях. +rv Указывает, что программа не использует реверсное видео. Иногда бы- вает необходимо запретить режим, заданный по умолчанию, но не всегда корректно работающий. -selection Timeout Устанавливает период тайм-аута в миллисекундах при взаимодействии двух приложений: время ответа одного приложения на запрос другого. -synchronous Указывает, что запросы к Х-серверу будут посылаться синхронно вместо обычного асинхронного режима. Применяется только для отладки. -title string Указывает название окна. Эта информация иногда используется менед- жерами окоп. -xnllanguage lang[ter][.code] Указывает язык lang, территорию ter и набор кодов code, используе- мых при размещении ресурсов и других имен файлов. -xrm resourcestring Указывает имя и значение ресурса, что очень удобно при установке ре- сурсов, не имеющих явных аргументов командной строки.
744 II Команды xbiff - уведомляет о поступлении s- й п чты. Синтаксис xbiff [-toolkitoption...][option...] Выводит небольшое изображение почтового ящика. Если почта отсутствует, флаг на ящике опущен. В случае поступления почты флаг на ящике поднимается, и может возникнуть звуковой сигнал. По умолчанию нажатие любой кнопки мыши на изображении ящика заставит xbiff опустить флаг (пустой ящик). Опции Программа xbiff принимает стандартные опции командной строки X Toolkit (-toolkitoption) вместе с дополнительными опциями option, перечисленными ниже, -help Направляет список используемых опций в стандартный файл ошибок -update seconds Устанавливает интервал проверки почтовых поступлений в секундах, по умолчанию - 30 секунд. -file filename Указывает имя проверяемого файла. По умолчанию используется /var/spool/mail/userncme, где username — ваше регистрационное имя. -volume percentage При поступлении новой почты устанавливает громкость звукового сиг- нала в процентах от полной (могущей быть) громкости. Опции X Toolkit display display Указывает Х-сервер для контакта. geometry geometry Указывает размер и положение окна с изображением почтового ящика. По умолчанию почтовый ящик составляет 48 пикселов в ширину и 48 пикселов по высоте и центрируется в этом окне. - bg color Задает цвет фона окна. - bd color Задает цвет границы (рамки) окна. - bw number Определяет ширину (в пикселах) рамки, окружающей окно - fg color Задает цвет основного окна. - xrm resourcestring Указывает используемую строку ресурсов, что необходимо для уста- новки ресурсов, нс имеющих отдельных опций командной строки. Пример Здесь показаны образцы изображений почтового ящика с почтой и без нее.
II. Команды 745 xclipboard - накапливает и отображает содержимое К CLIPBOARD (буфера обмена). Синтаксис xclipboard [ toolkitoption...)[-w][-nw] Программа xclipboard - клиент системы X, используемый для накопления и отобра- жения строк текста, посылаемых в CLIPBOARD другими клиентами. Содержимое CLIPBOARD обычно сохраняется для последующего использования, фрагменты его текста могут быть в дальнейшем вставлены в разные приложения в том числе и в то, откуда копировались строки исходного текста. Каждый раз при очередном обращении клиентов, выбирающих фрагменты текста, xclipboard пересылает выбранное содер- жимое в новый буфер и отображает его в текстовом окне. Буфера никогда нс освобож- даются автоматически, для этого приходится использовать кнопку удаления. Программа xclipboard принимает все стандартные опции командной строки X Toolkit, а также описанные ниже. Опции -w Осуществляет перенос содержимого длинных строк, не помещающих- ся в окне xclipboard. -nw Запрещает перенос длинных строк на другие строки. Окно программы xclipboard содержит полезные клавиши: Quit после нажатия этой кнопки завершает работу программы Delete при нажатии кнопки удаляет содержимое текущего буфера и отображает сле- дующий Save отображает диалоговую панель FILE SAVE; после нажатия кнопки Accept со- храняет содержимое текущего отображаемого буфера в файле, имя которого задается в текстовом поле Next отображает содержимое следующего буфера списка Prev отображает содержимое предыдущего буфера списка New создает новый буфер xdm - менеджер дисплея X Window, управляющий сеан- К сами на локальных и истанционных системах. Синтаксис xdm (-config configfile](-nodaenon][-udpPort port] Если вы хотите рвали ювать графический интерфейс для аутентификации попь шпа- телей, вам понадобится xdm.
____________ II Команды Менеджер xdm управляет Х-дисплеями на локальных узлах или дистанционных сер- верах. Вид заставки xdm определяется как Х-термииалами, так и стандартом XDMCP (X Display Managei Control Protocol протокол управления Х-дисплеями). Програм- ма xdm предлагает сервис, подобный тому, что предлагают init, getty и login на текс- товых терминалах: приглашает ввести имя и пароль, аутентифицирует пользователя и запускает X. Менеджер xdm прекрасно конфигурируется, большинством его возможностей управляют файлы ресурсов и сценарии командных процессоров, или оболочек. Имена этих файлов, которые собственно сами являются ресурсами, считываются из файла xdm-config или из файла, имя которого задается с помощью опции -config. Программа xdm может управлять Х-серверами, работающими на локальной маши- не и указанными в файле Xservers. Но она также может управлять дистанционными Х-сервсрами - обычно Х-терминалами, используя XDMCP, как определено в этом фай- ле. После переустановки Х-сервера xdm запускает сценарий Xsetup_0. Просмотрите этот сценарии, вполне возможно, что его придется модифицировать, иначе он будет просто бесполезен для вас. Этот сценарий определяет программы, которые будут выз- ваны при запуске X. Файлы конфигурации xdm располагаются в каталоге /usr/XHR6/lib/Xll/xdm. Все опции xdm кроме -config могут быть определены как ресурсы в файле конфи- гурации. Основные опции -config configfile Указывает файл конфигурации вместо принятого по умолчанию /usr/XHR6/Iib/XH/xdm/xdm-config. -nodacmon Устанавливает ресурс DisplayManager.dacmonMode в значение false (ложно), что требуется xdm для закрытия дескрипторов всех файлов, отсоединения от управляющего терминала и первоначального запуска в режиме переднего плана. -udpPort port Задает порт, используемый xdm для прослушивания запросов XDMCP, по умолчанию - 177. Если значение port равно 0, вообще не прослуши- вает XDMCP-запросы. Пример Чтобы программа xdm могла автоматически запускаться при загрузке, следует за- менить строку id:3:initdefault: файла /etc/inittab на следующую: х:5:respawn:/nsr/bin/Xll/xdni -nodaemon XGV - отображает суть событий системы X. Синтаксис xev [-display displayname][-geometry geom][-bw pixels] [-be {KotUseful, HhenHapped, Always})[id windowid] [-s ][-name string] [-rv]
II. Команды 747 Программа xev создает окно и просит Х-сервер направлять в это окно информацию о всех происходящих событиях, как-то: пересылки, изменения размеров, щелчки мы- шью и т.д. Опции -display displayname Указывает Х-сервер для контакта (см. X). -geometry geom Указывает размер и/или расположение окна (см. X). -bw pixels Указывает ширину (в пикселах) рамки окна. -bs {NotUseful, WhenMapped, Always} Указывает вид резервирования (создание копий) окна По умолчанию NotUseful (без резервирования). id windowid Отслеживает сообщения, приходящие в окно с указанным идентифика- тором; новое окно не создается. -s Сохраняет также области окна, известные под названием save-unders (перекрываемые или просто закрытые). -name string Назначает имя string создаваемому окну. -rv Устанавливает для окна режим инверсного (обратного) видео. xf86config - создает файл конфигурации XF86Config. Синтаксис xf86config xf86config - это интерактивная программа, генерирующая файл XF86Config. ис- пользуемый серверами X(Xfree86). Файл XF86Config обычно располагается в каталоге /usr/XHR6/lib/XH и/или /etc/ХП. Образец такого файла существует в Xfree86: он сконфигурирован для стан- дартной видеокарты VGA и монитора с разрешением 640x480. Данная программа зап- росит, куда записывать созданный файл. Перед тем как запускать эту программу, убеди тесь, что вы хорошо информированы о возможностях вашей видеокарты. В этом может помочь SuperProbe. Команда xf86config использует файл Zusr/X11R6/Iib/Xll/Cards xfd Синтаксис xfd [option...] -fn fontname Утилита xfd создает окно, содержащее имя шрифта, указанного аргументом fontname. В окне можно увидеть следующее: ряд командных кнопок несколько строк - выводит все символы указанного шрифта систе- К мы X в ви це таблицы.
748 II Команды текста, содержащих метрику шрифта, и сетку, в каждой ячейке которой расположен символ. Эти символы показаны в порядке возрастания слева направо и сверху вниз. Как правило, все символы шрифта не могут быть одновременно выведены в окне, поэтому приходится использовать кнопки NextPage (следующая страница) и PrevPage (пред- шествующая страница). Чтобы выйти из программы, следует щелкнуть мышью на кноп- ке Quit. Полное имя шрифта выводится в верхней части первой страницы. Списки суще- ствующих шрифтов могут быть выведены с помощью xlsfonts. Ниже приведены основные опции программы xfd. Основные опции -center Центрирует каждый символ в соответствующей ячейке таблицы. -start number Указывает индекс number, определяющий местоположение символа в ячейке сетки. Отсчет производится с левого верхнего угла. По умол- чанию значение number устанавливается в 0. Примеры С помощью команды xfd -fn lucidasans-italic-18 выведем символы указанного шрифта: Команда xfd может сообщить дополнительную информацию о каждом отдельном символе, для этого достаточно щелкнуть мышью на соответствующем символе Вот как изменилось содержимое предшествующего окна после щелчка мышью на букве г:
II. Команды 749 xfs - запускает сервер шрифтов системы X. К Синтаксис xfs [ option] [-config configuration file] [-port tcp_port]J. xfs - это сервер шрифтов системы X Window, предоставляющий шрифты приложе- ниям. Сервер обычно запускается автоматически при загрузке системы, если эта про- цедура определена в файле /etc/rc.Iocal. Хотя не исключено, что пользователи запус- кают для собственных нужд персональный сервер шрифтов Основные опции -config configuration_Jile Указывает конфигурационный файл, используемый сервером шрифтов. -Is listen-socket Указывает дескриптор файла, который уже установлен для применения в качестве прослушивающего сокета. Эта опция предназначается для использования самим сервером шрифтов в том случае, когда для под- держки дополнительных соединений автоматически запускается соб- ственная копия сервера шрифтов. -daemon Автоматически запускает xfs как фоновый процесс; если эга опция от- сутствует, xfs будет запущен как обычный процесс
/ 3’1 II Команд -droppriv Если указана эта опция, сервер шрифтов xfs будет выполняться с поля- ми user (владелец) и group (группа), установленными в значение xfs. Это делается по соображениям безопасности. С этой опцией можно при- своить параметру tcp_port опции -port значение, равное -1, что вооб- ще отменяет использование порта TCP. -port tcp_port Указывает номер TCP-порта, на котором сервер шрифтов просслуши- вает ожидаемые соединения. По умолчанию этот номер равен 7100. Сигналы SIGTERM Приказывает серверу шрифтов выполнить корректное завершение. SIGUSR1 Предлагает серверу повторно прочитать конфигурационный файл. SIGUSR2 Предлагает серверу сбросить имеющиеся данные кэша. SIGHUP Этот сигнал предполагает закрытие всех активных соединений и повтор- ное чтение конфигурационного файла. Язык конфигурирования сервера шрифтов—это список ключевых слов и их значений. За каждым ключевым словом обычно следует знак равенства и желаемое значение. Известны следующие ключевые слова: catalogue Список имен маршрутов, содержащих каталоги шрифтов. В настоящее время ключевое слово catalogue можно только установить в значение all, т.е. содержащий все каталоги шрифтов. alternate-servers Список альтернативных серверов для сервера шрифтов. client-limit Количество клиентов, поддерживаемых сервером шрифтов. Это клю- чевое слово полезно для ограничения нагрузки на каждый отдельный сервер шрифтов. default-point-size Размер точки по умолчанию. Если это ключевое слово не задано, раз- мер точки по умолчанию достигает 120. default-resolutions Разрешения, поддерживаемые по умолчанию для сервера. Эта инфор- мация используется при отображении шрифтов и особенно масштаби- руемых шриЛтов Разрешение - это разделенная запятой пара х и у разрешений в пик- селах на дюйм. Несколько пар разрешений также отделяются друг от друга запятой. error-file Имя файла ошибок. В нем регистрируются все предупреждения и ошиб- ки. port Порт, на котором сервер шрифтов прослушивает возможные соедине- ния. use-syslog Для этого ключевого слова предусмотрено булево значение (on или off), если для регистрации ошибок используется syslog. deferglyphs Устанавливает режим задержки предоставления и кэширования образ- цов шрифта. При этом ключевое слово может принимать следующие значения:
II. Команды ________751 none режим не предоставляется all распространяется на все шрифты 16 распространяется только на 16-битные шрифты Для наименования сервера шрифтов, принимающего TCP-соединения, можно ис- пользовать следующую форму: tep/hostname'.port tep/hostname'.port!cataloguelist Параметр hostname—это имя либо IP-адрес машины, где запущен сервер шрифтов; port-номер TCP-порта и catalogue list - список каталогов, содержащих файлы шриф- тов. Ниже приведены образцы наименований сервера шрифтов: tcp/fs.x.com:7102 tcp/19.32.0.213:7100/all Пример Рассмотрим образец листинга файла конфигурации сервера шрифтов: client-limit=5 alternate-servers=fountl:7100, fount?:7101 catalogue=/usr/xllR6/lib/xll/fonts/cyrillic, /usr/xllR6/lib/Xll/fonts/miBc, /usr/xllR6/lib/Xll/fonts/75dpi/ default-resolutions=75,75,50,50 use-syslog=off С учетом содержимого этого файла к серверу шрифтов может подключиться не более пяти клиентов, при превышении этого предела запускается новый экземпляр сер- вера. Ключевое слово alternate-servers задает два альтернативных сервера шрифтов. Ключевое слово catalogue содержит три каталога со шрифтами сервера. Разрешения шрифтов по умолчанию составляют 75x75 и 50x50. Для регистрации ошибок syslog не предусмотрен. xgettext - из заданных входных файлов извлекает строки, которые должны переводиться (в целях интерна- ционализации или локализации). Синтаксис xgettext [option] inputfile... Используется разработчиками локализованного программного обеспечения. Во входном файле inputfile выделяет строки, нуждающиеся в переводе. Они затем используются для создания переносимых файлов сообщений. Если вместо аргх мента inputfile стоит дефис, считывает стандартный ввод. Предназначение пакета GNU gettext минимизировать воздействие интернациона- лизации на исходные тексты программ. В приведенной далее диаграмме видны коман- ды, используемые па разных этапах интернационализации.
752 II Команды Опции - a, -extract-all Извлекает все строки. - с, -add-comments [=tog] Замещает в выходном файле блок комментариев меткой (тегом). —debug Проводит более детальную формализацию. - С, —с++ Синоним опции -Ianguage=C++. - d, — default-domain=«nzne Использует для вывода пате.ро вместо messagcs.po. - D, — directory-directory Добавляет указанный каталог directory в список маршрутов для поиска файлов. - е, -no-escape Не использует в выводе управляющие символы языка С. Принято по умолчанию. - Е, —escape Использует в выводе управляющие символы языка С. - f, — files-from /г/е Получает из file список входных файлов. — force-po Всегда записывает выходной РО-файл, даже если он пустой. - F, — sort-by-file Сортирует вывод согласно расположению файлов.
II. Команды 753 - h, -help Выводит список опций и завершает выполнение программы. - i, —indent Записывает файлы с расширением .ро, используя отступы. - j, -join-existing Соединяет сообщения с существующим файлом. - 1, — string-limit- number Устанавливает максимальную длину строки в значение number. - L, — language- name Распознает указанный язык. Параметр принимает следующие значения: С, C++, РО (переносимый объект). В противном случае используется расширение имени файла. - m, — msgstr-prefix[=string] Использует string в качестве префикса для элементов строки сообще- ний. - М, —msgstr-suffix[=5tring] Использует string в качестве суффикса для элементов строки сообще- ний. —no-location Не записывает строки в формате #\имя_файла'.строка. - n, -add- location Генерирует строки в формате #'.имя_файла'.строка. Принято по умол- чанию. — omit-header Не записывает заголовок с идентификатором сообщения. - о, — output=/i/e Записывает вывод в указанный файл. -р, —output-dir=dir Помещает выходные файлы в каталог dir. -s, -sort-output Генерирует сортированный вывод, удаляя дублирующиеся строки. --strict Записывает файл -ро в соответствии с соглашением Uniforum. - V, --version Выводит информацию о версии программы и завершает ее выполнение. - w, — width=number Устанавливает ширину выходной страницы. - х, — exclude-file=yi/e Не извлекает элементы из указанного файла. xhost - управляет доступом к X-серверу. Синтаксис xhost ([+-1 name...} Программа xhost добавляет или удаляет имена машин или пользователей из списка, разрешающего подключение к X-серверу. В случае машин предлагает довольно при- митивную форму управления доступом и обеспечения безопасности.
754 II Команды В целях безопасности опции, задающие управление доступом, могут быть указаны лишь со стороны "управляющего узла". Для рабочих станций это та же машина, что и сервер, а для Х-терминалов - узел регистрации. Опции -help Печатает подсказку по программе xhost. [+]nome Добавляет указанное имя в список, определяющий возможность под- ключения к Х-серверу. -пате Удаляет указанное имя из списка, определяющего возможность под- ключения к Х-серверу. Текущая машина также может быть удалена из списка, последующая попытка подключения не будет выполнена. + Гарантирует доступ каждому, даже если его нет в упомянутом списке. Разрешает доступ лишь тем, кто содержится в упомянутом списке. Если не заданы никакие аргументы командной строки, печатает сообщение, инфор- мирующее об отсутствии или наличии управления доступом, за которым идет список тех. кому разрешено подключение. Полное имя пате имеет следующий синтаксис: семейство-.имя. В качестве пара- метра семейство допустимы следующие значения: inet узел Internet dnet узел DECnet nis сетевое имя, для которого обеспечивается безопасность через RPC krb имя в системе обеспечения безопасности по Kerberos local содержит лишь единственное имя - пустую строку. Формат параметра имя отличается от параметра семейство. Если используются средства безопасности RPC, может быть указано сетевое независимое имя (например, nis:Iinux.uid@domainname) или локальное имя пользователя (например, nis:comp@). В целях совместимости с более ранними версиями команды xhost предполагается, что если имя содержит символ @, то оно относится к семейству nis, в противном случае - к inet. xinit - инициализирует X Window. К Синтаксис xinit [[client] option...]! — [server] [display] option...] Программа xinit применяется для запуска сервера X Window и первой клиент- ской программы в системах, где невозможно напрямую запустить X от файла /etc/sysconfig/init или где используется несколько оконных систем. После заверше- ния первой клиентской программы client программа xinit снимает Х-сервср и сама за- вершается. Если в командной строке не указано никакой клиентской программы, xinit ищет в исходном каталоге пользователя файл по имени .xinitre - сценарий запуска клиентских программ. Если такого файла не существует, по умолчанию запускает сле- дующую команду- xterm -geometry +1+1 -n login -display :0
II. Команды 755 - выводит список клиентских приложений X, запущенных на дисплее. Если в командной с сроке не указано никакой серверной программы server, пр грамма xinit ищет в исходном каталоге пользователя сценарий (обычно файл .xserverrc) для запуска соответствующего сервера. Если точное имя сервера не ука- зано, а за двойным дефисом следует двоеточие и цифра, xinit использует ее в каче- стве номера дисплея display вместо принятого по умолчанию нуля. Все остальные аргументы option передаются серверу. Обычно системные администраторы пишут сце- нарий запуска xinit или берут стандартный, скажем, startx. Если файл .xserverrc отсутствует, в качестве сервера запускается X. xlsclients Синтаксис xlsclients f -display display] [-a] [-1] [-m niaxcnidlen] xlsclients - это утилита системы X, информирующая о клиентских приложениях, работающих на дисплее: может быть использована для создания сценариев, представ- ляющих из себя снимок (протокол) текущего сеанса пользователя. Опции -display display Указывает Х-сервер для контакта. - а Сообщает о клиентах всех экранов, а не только экрана, взятого по умол- чанию. - I Выводит информацию в длинном (подробном) формате. По умолча- нию печатаются лишь имя машины и командная строка запуска прило- жения. В длинном формате дополнительно сообщаются имена окна и пиктограммы, реквизиты класса. - m maxcmdlen Указывает максимальное число символов в распечатываемой команде; по умолчанию - 10000. Пример $ xlsclients Window 0x800001: Machine: localhost.localdomain Command: /usr/bin/gnome-session Instance/Class: gnome-session/Gnome-session Window 0x1800001: Machine: localhost.localdomain Command: panel Instance/Class: panel/Panel Window 0x2000001: Machine: localhost.localdomain Command: gmc Instance/Class: gmc/Gmc Window 0x2400001: Machine: localhost.localdomain Command: gnome-help-browser Instance/Class: gnome-help-browser/Gnome-help-browser
756 II Команды Window 0x2800001: Machine; localhost.localdomain Command: session-propertiee-capplet Instance/Class: session-properties-capplet/Session-properties-capplet Window 0x2c00001: Machine: localhost.localdomain Command: gnomepager_applet Instance/Class: gnomepager_applet/Gnomepager_applet Window 0x3000001: Machine: localhost.localdomain Command: gen_util_applet Instance/Class: gen_util_applet/Gen_util_applet Window 0x3400001: Machine: localhost.localdomain Command: gnome-terminal Instance/Class: gnome-terminal/Gnome-terminal Window 0x3800001: Machine: localhost.localdomain Command: gnome-terminal Instance/Class: gnome-terminal/Gnome-terminal $ xlsfonts - выводит список шрифтов сервер? ш, и ,тов. К Синтаксис xlsfonts [-option—][-fn pattern J. Выводит списки шрифтов, соответствующих заданному шаблону pattern. Для со- поставления с любой последовательностью символов используется звездочка *, а вос- клицательный знак позволяет сопоставлять единственный символ. Если шаблон отсут- ствует, подразумевается *. Для корректного трактования оболочкой два упомянутых символа следует заключать в кавычки. Основные опции -display host.dpy Указывает X сервер для контакта. -1 Дополняет имя шрифта его некоторыми атрибутами, располагает инфор- мацию в одной строке. -П Добавляет описание свойств шрифта к листингу, создаваемому опцией -I. -111 Добавляет метрики символов к листингу, создаваемому опцией -II. Пример Программа xlsfonts, если ее запустить без параметров, распечатает полный список всех шрифтов, доступных в системе: -adobe-courier-bold-i-normal—0-0-0-0-in-0-iso8859-l -adobe-courier-bold-i-normal—0-0-0-0-m-0-iso8859-2 -adobe-courier-bold-i-normal—0-0-0-0-m-0-ieo8859-3 -adobe-courier-bold-i-normal—0-D-0-0-m-0-iso8859-9 -adobe-courier-bold-o-normal—0-0-75-75-m-0-iso8859-l -adobe-courier-bold-o-normal—10-100-75-75-m-60-iso8859-l
II. Команды 757 -bbh-lucidatypewriter-medium-r-normal-sans-24-240-75-75-m~140-iBo8859-l -b&h-lucidatypewriter-medium-r-normal-sans-8-80-75-75-m-50-iso8859-l -schumacher-clean-bold-r-normal—8-80-75-75-c-80-iso646.1991-irv -schumacher-clean-bold-r-normal—8-80-75-75-c-80-iso8859-l 6x10 6x10 6x10 6x10 6x12 decw$cursor decw$cursor decw$session decwSsession fixed fixed fixed fixed fixed fixed hanzigbl6fs hanzigbl6fs hanzigbl6st hanzigbl6st hanzigb24st hanzigb24st heb6xl3 heb6xl3 heb8xl3 heb8xl3 kl4 kl4 kanal4 kanal4 kanjil6 kanjil6 kanji24 kanji24 Iinux8xl6 Iinux8xl6 Iinux8x8 Iinux8x8 lucidasans-10 lucidasans-10 lucidasans-12 lucidasans-12 lucidasans-14 lucidasans-14 lucidasans-18 lucidasans-18 lucidasans-24 lucida8ans-24 lucidasans-8 lucidasans-8 lucidaBans-bold-10
758 II Команды xmag - увеличивает части X экрана. Синтаксис xmag (-mag tnagf actor}[-source деош}[toolkitoption} Вы можете указать в командной строке части экрана, которые собираетесь увели- чивать, в противном случае будет увеличена область с указателем в верхнем левом углу, xmag использует X Toolkit и Athena Widget Set (соответственно вам доступны опции toolkitoption). Опции -source geom Указывает размер (по умолчанию 64x64) и/или расположение области экрана, подлежащей увеличению. -mag magfactor Указывает используемое увеличение, где аргумент magfactor — целое число, по умолчанию равное 5. XIПП - отправляет и читает электронную почту. Синтаксис xmh [-path mailpath](-initial folder} (-flag]}-toolkitoption...] Программа xmh предлагает X Window интерфейс к системе MH (Message Handling - обработки сообщений), позволяющей составить, отправить, получить, ответить на элек- тронное сообщение, перепоручить его, отсортировать и хранить в папках. Опции -path mailpath Указывает альтернативный каталог почтовых папок. Параметр mailpath задается как абсолютный маршрут. По умолчанию этот маршрут опре- деляется компонентом Path из профиля системы МН, который, в свою очередь, задается переменной окружения МН и по умолчанию принят как SHOME/.mh_profile. Если компонент Path не задан, используется SHOME/Mail. -initial folder Указывает альтернативную папку folder, которая будет принимать но- вую почту и которую в самом начале откроет xmh. По умолчанию тако- вой является inbox. -flag Уведомляет о приходе новой почты, меняя внешний вид соответствую- щих кнопок и пиктограмм. По умолчанию меняется внешний вид кноп- ки □inbox. Каждой из трех опций соответствует свой ресурс - MailPath, InitialFoldcr. MailWaitingFlag, - который можно указать в файле ресурсов.
II. Команды 759 Программа xmh стартует в окне, разделенном на четыре главные области. □ Шесть кнопок, позволяющих извлекать меню команд. □ Коллекция кнопок по одной на каждый верхний уровень папки; новичку сис- темы МН предоставляются две папки: drafts ("черновики") и inbox (входя щая почта). □ Список сообщений, содержащихся в открытой папке; первоначально отобра- жается содержимое inbox. □ Обзор одного из ваших сообщений; первоначально эта область пуста Программа xmh использует библиотеку X Toolkit Intnnsics и набор Athena Widget Set, можно указать любую стандартную опцию -toolkitoplion. Щелкнув указателем мыши по ряду кнопок верхней области, можно развернуть опус- кающиеся меню команд. В командном меню Folder можно открыть, создать и уда- лить папку. В меню Table of Contents можно добавить в папку новую почту, удалить, переместить, скопировать отмеченные сообщения, перенумеровать, отсортировать и перестроить список сообщений. Меню Message предназначено для манипуляций над выбранным сообщением: можно просмотреть содержимое, перейти к предшествующему или последующему сообще- нию, составить новое сообщение или ответ на пришедшее и т.д. В меню Sequence можно создавать и манипулировать последовательностями со- общений, в том числе последовательностями сообщений текущей папки. Функции командного меню View аналогичны функциям меню Message с той лишь разницей, что здесь можно манипулировать содержимым любого обозреваемого со- общения а не только выбранного или текущего. В меню Options содержится лишь один элемент, позволяющий просматривать со- общения в обратном направлении. Пример Здесь приведено окно программы xmh; с помо- щью команды Incorporate New Mail из меню Table of Contents в почтовую папку включено новое сообщение электронной почты. xmkmf — создает Makefile из (makefile. Синтаксис xmkmf [-a] [topdir [ curdir][
760 II. Команды Вызванная без аргументов в каталоге, содержащем Iinakefile, запускает програм- му intake с аргументами, наиболее пригодными для вашей системы, и создает Makefile Следует отметить, что intake встраивается в xnikmf при создании системы X. Опции -а Строит Makefile в текущем каталоге, а затем автоматически выполня- ет для вас следующие команды: make Makefiles make includes make depend Так обычно конфигурируется программное обеспечение, внешнее по отношению к системе X. Аргумент lopdir указывает относительный маршрут от текущего каталога к верши- не выстроенного дерева. Необязательный аргумент curdir рассматривается как отно- сительный маршрут от вершины построенного дерева к текущему каталогу. Аргумент curdir необходимо приводить, если текущий каталог имеет подкаталоги, или Makefile в состоянии выстроить подкаталоги. Если задан topdir. imkrnf предполагает, что в вашей системе ничего не нужно инсталлировать, и ищет файлы в построенном дереве вместо использования инсталлированных версий. - позволяет менять раскладку клавиатуры и кно- пок мыши в X Window. xmodmap Синтаксис xmodmap [option-[[filename] Программа xmodmap позволяет редактировать и отображать раскладку клавиатуры, используемую клиентскими приложениями для установления соответствия между нажи- маемыми клавишами и генерируемыми ими символами (коды клавиш в коды символов). Когда вы работаете в текстовой виртуальной консоли Linux, то любое ваше нажа- тие клавиш поддерживается драйвером клавиатуры. В этом случае для изменения со- ответствия между нажимаемыми клавишами и генерируемыми ими символами приме- няется loadkeys. После запуска X вы работаете с клавиатурой и мышью. Здесь приходится приме- нять другую утилиту - xmodmap - для изменения раскладки клавиатуры. Аргумент filename определяет файл, содержащий выражения для исполнения ути- литой xmodmap. Этот файл обычно хранится в исходном каталоге пользователя под именем .xmodmapre (или аналогичным). Опции -display display Указывает используемый Х-ссрвср (в формате узся:диепзей'[. help Выводит краткое описание опций программы
II. Команды 761 -grammar Печатает на стандартный файл ошибок вспомогательное сообщение, описывающее грамматические выражения, используемые в файла? Имеет смысл совместно с опцией -е. -verbose Печатает даже информацию, касающуюся регистрации пользоваз елей -quiet Запрещает комментировать ход событий. 'п Не меняет раскладку клавиатуры, но отображает все так, как будто бы производит требуемое. -е expression Указывает используемое грамматическое выражение для xmodmap. В командной строке может быть задано любое количество выражений. -pm Печатает на стандартный вывод текущую раскладку модификаторов. -рк Печатает на стандартный вывод текущую раскладку клавиатуры (основ- ные клавиши). -рке Указывает, что текущая раскладка клавиатуры может быть распечатана на стандартный вывод в виде выражений, которые могут быть возвра- щены xmodmap. -рр Указывает, что текущая раскладка указателя мыши может быть распе- чатана на стандартный вывод. В качестве входного файла использует стандартный ввод. Программа xmodmap считывает из файла список выражений и перед тем, как попы- таться исполнить, подвергает их синтаксическому анализу. Грамматические выражения keycode NUMBER= KEYSYMNAME... Определяет список кодов символов KEYSYMNAME. назначаемый указанному коду клавиши NUMBER. keycode any=KEYSYMNAME... Переназначает KEYSYMNAME для запасной клавиши клавиатуры. Список KEYSYMNAME может быть задан в десятичном, шестнадцатеричном или восьме- ричном формате. keysym KEYSYMNAME=KEYSYMNAME Транслирует KEYSYMNAME с левой стороны в совпавшие коды клавиш, использу- емые для представления соответствующего набора выражений кодов клавиш. Спи- сок имен кодог символов может быть найден в заголовке файла keys) mdcf.h или в БД под названием XKeysymDB. clear MODIFIERNAME Удаляет все элементы указанного модификатора из таблицы модификаторов. Дей- ствуют следующие имена модификаторов: Shift, Lock, Control, Modi, Mod2. Mod3, Mod4 и ModS. add MODIFIERNAME KEYSYMNAME... Добавляет клавиши, содержащие заданные колы символов AF1SWA.-I WF. к ука- занной таблице (раскладке) модификаторов MODIFIERS 1МЕ.
762 II Ксмацды remove MODIFIERNAME-KEYSYMNAME... Удаляет все клавиши, содержащие заданные коды символов, из указанной таблицы модификаторов MODIFIERNAME. pointer=det'ault Возвращает раскладку указателя мыши в ее значение по умолчанию: кнопка 1 гене- рирует код 1, кнопка 2 - код 2, кнопка 3 - код 3. pointer=NUMBER... Устанавливает новую раскладку указателя мыши. Список всегда начинается с пер- вой физической кнопки. Строки, начинающиеся с восклицательного знака, рассматриваются как коммента- рни. Пример $ xmodmap -е "pointer=3 21" $ Подобная раскладка указателя мыши удобнее для левши. Для некоторых приложений необходима клавиша Meta, а некоторые клавиатуры не содержат ее, но имеют клавишу Alt. $ xmodmap -е "keysym Alt__L=Heta_L Alt_L“ S xon - запускает Х-программу на дистанционной машине. Синтаксис xon remote-host [-access] [-debug] [-name window-name] [-nols] [-screen screen-no][-userl user-name][command...] Программа xon запускает указанную команду command на дистанционной машине remole-host, используя rsh, remsh или remd. При этом xon передает дистанционной команде переменные окружения DISPLAY, XAUTHORITY и XUSERFILESEARCHPATH. Если никакая команда не указана, хоп запускает xterm -Is и дополнительно указы- вает имя приложения в виде xtenn-remote-host и название окна -Ylremote-host. Команда хоп может выполняться лишь в том случае, когда дистанционный узел раз- решает регистрацию пользователя без пароля лишь по наличию соответствующего эле- мента в файле .rhosts. Все приведенные далее опции должны следовать после имени дистанционной машины. Опции -access Запускает xhost на локальной машине, чтобы добавить дистанционный узел в список доступных узлов для Х-сервера. Это нс будет срабаты- вать, если только xhost не предоставит полномочия для модификации указанного списка. -debug Обычно хоп отключает дистанционный процесс от stdin, stdout и stderr При указании этой опции позволят орт пналыюму узлу попучтъобрапю от дистанционною узла сообщения об ошибках.
II. Команды 763 - несложная программа рисования. -name window-name Задает отличающееся имя приложения и наименование окна для коман- ды, заданной по умолчанию (xterm) “nols Запрещает передавать опцию -1s дистанционной команде xterm -screen screen-по Меняет номер экрана, передаваемый дистанционной команде через пе- ременную окружения DISPLAY, на screen-no. -user user-name По умолчанию при подключении к дистанционной машине через коман- ды rsh/remsh/rcmd используется то же имя пользователя, что и на ло- кальной машине. Эта опция предоставляет пользователю альтернатив- ное имя user-name. Опция не будет работать, если пользователь не об- ладает соответствующим счетом на дистанционной машине, что мож- но указать, добавив элемент в файл дистанционных пользователей •rhosts. Для нормальной работы хон необходимо, чтобы имена дистанционной машины и пользователя, а также значения переменных окружения не содержали пробелов или дру- гих неизображаемых символов. xpaint Синтаксис xpaint [-size WIDTBxBEIGBT] [ -12Ц-24] [-reFile file] [-popped] (-nowarn] [-help] [filename... ] xpaint - инструмент редактирования цветного изображения со множеством стан- дартных опций программы рисования. Позволяет одновременно редактировать несколь- ко изображений и поддерживает различные графические форматы: PPM, ХВМ, TIFF, JPEG и т.д. На экране xpaint можно видеть панель для выбора текущих операций рисования и окна для модификации или создания изображений. Каждое окно имеет доступ к соб- ственной цветовой палитре и набору шаблонов, хотя используемая операция рисования выбирается глобально для всех окон. xpaint работает на самых разных дисплеях, адаптируясь к их типам. Доступна мощ- ная система помощи в режиме on-line. Аргумент filename указывает имя считываемого файла. Опции -size WIDTHXHEIGHT Указывает принятые по умолчанию ширину и высоту новых изображений. -12 Использует 12 бит цветности PseudoColor. -24 Использует 24 бит цветности TrueColor. -reFile file Вместо принятого по умолчанию файла конфигурации, определяемого во время компиляции протраммы, загружаст/i/e.
764 II Команды -popped Разворачивает иа старте пустые основы (подобно холсту для рисования) -nowam Запрещает вывод предупреждений по поводу потери данных из-за разницы отображаемых цветовых режимов и изображений. -help Выводит список доступных опций. На старте xpaint отображает окно инструментов, позволяющее выбрать операции для обработки изоб- ражений: окно рисования, редактор шаблонов и т.д. В окне рисования можно выбрать требуемую операцию (различные пиктограммы) и открыть разные меню. Окно рисования содержит канву для рисования, меню для выполнения различных операций над изоб- ражениями, первичную и вторичную цветовые палит- ры с кнопками для их добавления. В любое время, когда создается новая канва (ос- нова), будет считываться файл инициализации .XPaintrc, если он был до того изменен. Пример Вот так выглядит главный экран xpaint: xpmroot - выводит в основном окне текущего Х-дисплея изображение в формате ХРМ. Синтагссис xpmroot file Считывает указанный файл file в формате ХРМ и отображает его содержимое в основном окне. xrdb - утилита БД ресурс-s Х-сервера. Синтаксис xrdb [option...I[filename] Команда xrdb обычно применяется в стартовых сценариях X Window Она позво- ляет получить или установить содержимое свойства RESOURCE MANAGER главно- го окна экрана 0 или SCREEN RESOURCES главного окна па каком-либо одном или на всех экранах. Особенности, или свойства, определяются набором ресурсов, как то: шрифт, цвет и т.д. При этом особенность RESOURCE MANAGFR распространяется на все экраны Х-сервера, a SCREEN RESOURCES -только на конкретный -кран. Опции -help Выводит описание существующих опций.
II. Команды 765 -display display -all Указывав! имя Х-сервера. Она также определяет экран для опции -screen и экран, из которого создаются символы препроцессора, для опции -global. Указывает, что все выполняемые операции будут базироваться как на основе ресурсов RESOURCE MANAGER, так и на основе SCREENRESOURCES. Например, при использовании совместно с оп- цией -query будут выводиться ресурсы всех свойств, или особенностей. -global Устанавливает, что операция будет выполняться только на основе эк- ранно-независимых ресурсов RESOURCE-MANAGER. -screen Устанавливает, что для экрана, взятого по умолчанию, операция будет выполняться только на основе ресурсов SCREEN RESOURCES. -screens Устанавливает, что для каждого экрана дисплея операция будет выпол- няться только на основе ресурсов SCREEN-RESOURCES. -n Указывает, что любые изменения указанных свойств или корректиров- ки файла ресурсов будут отображаться на стандартном выводе, но фак- тически не выполняться. -quiet -epp filename Запрещает выводить предупреждения о дублирующихся элементах. Указывает маршрут к программе препроцессора С. Хотя xrdb обычно использует срр, но может применяться любая программа, действую- щая как фильтр и принимающая опции -D, -I, -U. -noepp -symbols Не использует срр. Выводит символы (идентификаторы), определенные для препроцессо- ра, на стандартный вывод. -query Выводит текущее содержимое указанных свойств на стандартный вы- вод. -load Загружает с входного файла новые значения указанных свойств, удаляя при этом старые. -override Вместо замещения добавляет содержимое входного файла. Новые эле- менты могут перекрывать старые. -merge Содержимое входного файла может сливаться (но не замещать) с те- кущим содержимым указанных свойств. -remove Удаляет с сервера указанные особенности, или свойства. -retain Запрещает выполнять переустановку, если xrdb является первым кли- ентом. При обычных условиях первыми клиентами являются xdm и xinit -edit filename Редактирует содержимое указанных свойств заданного файла filename. -backup siring Указывает суффикс string, добавляемый к имени файла, используемо- го с опцией -edit при создании резервного файла
/оо II. Команды -D«ame[= гл/пе] Передает препроцессору определяемые символы (идентификаторы) пате и их значения value. -Ипате Удаляет любое определение символа (идентификатора) пате. -Idir Указывает каталог dir, применяемый для поиска файлов, указываемых директивой #include; эта опция передается препроцессору. Пример % xrdb -merge $BOME/.Xresources % Если в файле .Xresources вашего исходного каталога хранятся некие ресурсы, то они могут быть добавлены к ресурсам сервера с помощью примерно такой команды: % xrdb -load .Xdefaults Опция -load позволяет записать все ресурсы главного окна дисплея RESOURCEMANAGER в файл .Xdefaults. Если в этом файле ранее содержались ресурсы, отсутствующие в RESOURCE_MANAGER, то они сохраняются. xrerresn - обновляет весь экран или его часть. Синтаксис xrefresh [option...] Программа xrefresh перерисовывает весь экран или его часть, что очень удобно, если системные сообщения смешиваются с содержимым вашего экрана. Опции -white Использует белый фон; ’'заливает" экран белым цветом, а затем перери- совывает его. -black Использует черный фон; "заливает" черным экран, а затем перерисовы- вает его. -solid color "Заливает" экран указанным цветом, а затем перерисовывает его. По умолчанию выполняет заливку зеленым цветом. -root Использует для заливки цвет фона главного окна. -none Просто перерисовывает все окна. Эта опция действует по умолчанию. -geometry WxH+X+Y Указывает часть экрана (по геометрическим параметрам см. X), кото- рая должна быть перерисована. -display display Указывает сервер и экран для перерисовки (ем, X).
II. Команды 767 сервер дисплея системы X Windov Xserver Синтаксис X [option...] X - общее имя для сервера дисплея системы X Window. Х-сервер обычно запуска- ется утилитой xdm. В тех инсталляциях, где предполагается запуск более, чем одной оконной системы, обычно вместо xdm используют утилиту xinit, хотя обычно пользователи не работают напрямую с последней. Если Х-зервер запускается на рабочей станции, чьей консолью является единствен- ный дисплей, вам не придется регистрироваться на консоли. Ниже представлены опции, которые принимает любой из типов Х-серверов (см. при- ложение IV). Осноьные опции '.displaynumber Запускает Х-сервер на указанном номере дисплея displaynumber, по умолчанию - на нулевом. Но если несколько Х-серверов запускаются на одной машине, каждый должен иметь уникальный номер дисплея (см. X). -a number Устанавливает ускорение указателя (коэффициент, устанавливающий пе- ремещение указателя). -ас Отменяет обычный механизм управления доступом, принятый на узле. Разрешает доступ любому узлу и позволяет с любого узла модифици- ровать список управления доступом. Опция используется лишь в экст- ремальных ситуациях. -audit level Устанавливает уровень аудита и направляет аудиторскую информацию в стандартный файл ошибок. По умолчанию принят уровень 1, при кото- ром лишь фиксируются отвергнутые подключения. Уровень 2 позво- ляет получить дополнительную информацию о всех успешных подклю- чениях и отключениях. Уровень 0 вообще отключает аудит. -auth authorization-file Указывает файл, содержащий записи авторизации, которые использу- ются для аутентификации доступа. -bs Отменяет поддержку обратного сохранения содержимого на всех эк- ранах. -с Отключает звуковой сигнал при нажатии клавиш. с volume Устанавливает интенсивность звукового сигнала при нажатии и отт еке клавиш, допустимое значение в процентах параметра volume лежит в диапазоне 0-100.
768 II. Команды “СО filename Устанавливает имя БД RGB-цветов. По умолчанию - файл <XROO7>/Iib/Xll/rgb.txt, где <XROOT> - корневой каталог дерева инсталлированной системы XII. -core Передает указание серверу генерировать дамп памяти в случае фаталь- ных ошибок. -dpi resolution Устанавливает разрешение экрана в точках на дюйм. Опция использует- ся в случае, когда сервер не в состоянии определить размер экрана по техническим характеристикам устройства. -deferglyphs whichfonts -f volume Указывает типы шрифтов, которые сервер может попытаться исполь- зовать Допустимы следующие значения параметра whichfonts'. all все шрифты попе никакие 16 только 16-битные шрифты Устанавливает громкость звукового сигнала, допустимое значение в процентах лежит в диапазоне 0-100. -fc cursorFont Устанавливает шрифт курсора по умолчанию. -fn font -fp fontPath Устанавливает шрифт no умолчанию. Устанавливает для X сервера маршру т поиска шрифтов в виде разде- ленного запятыми списка каталогов. -help -I Распечатывает подсказку. Приказывает игнорировать все оставшиеся аргументы командной стро- ки. -kb Отключает расширение клавиатуры XKEYBOARD, если таковое име- ется. -nolisten trans type -nolock Отключает тип транспортного протокола. Так подключения по прото- колу TCP/IP могут быть отменены с помощью -nolisten tcp. Запрещает использовать lock-файл Х-сервера. -р minutes Устанавливает цикл времени в минутах для шаблона. -рп Разрешает серверу продолжать работу, если аварийно завершились все хорошо известные сокеты (точки подключения для клиентов) за исклю- чением хотя бы одного. -г Отключает автоповтор при нажатии клавиш. г Включает автоповтор при нажатии клавиш. -s minutes Устанавливает период тайм-аута в минутах для хранителя экрана. -SU -t number -to seconds Отменяет на всех экранах поддержку сохранения. Устанавливает ускорение указателя мыши в пикселах. Устанавливает время тайм-аута в секундах, принятое по умолчанию при подключении.
II. Команды 769 v Отключае г установку хранителя жрана. 'v Включает установку хранителя экрана. Существуют опции, ограничивающие сервер в размерах данных, стека или в коли- честве одновременно открытых файлов, но они пригодны не для всех типов серверов так же, как и опции расширений XKEYBOARD. xset - выполняет настройку параметров системы X Window. К Синтаксис xset [-display display]f-Ь][b on/off][b [volume [pitch [duration]]] H-]bc][-cJ[c on/off][c (volume]]((-+]fp [-+=]path[ ,path[,...)]] [fp de£ault][fp rehash][[-]led [integer]][led on/offj [ш [ouse][accel mult [/accel div][threshold]]] [m [ouse] default] [p pixel coior][[-]r [ keycode] ] [r on/off][r rate delay [rate]] [s [length [period]J][s blank/noblank][s expose/noexpose][s on/off] [s default][s activate][s reset][q] Опции -display display Указывает используемый сервер (см. X). b Устанавливает громкость (volume), тон (pitch) и продолжительность (duration) звукового сигнала, т.е. к этой опции могут прилагаться три числовых параметра, флаг on/off или ей может предшествовать дефис (знак минус). Если никаких параметров не задано, используются флаг on и системные установки по умолчанию. Предшествующий дефис, или off, отключает звуковой сигнал. Если определен только один числовой параметр, то в это значение устанавливается громкость звука: в виде процента от его максимально- го значения. Второй параметр указывает тон звука в герцах и третий - продолжительность сигнала в миллисекундах. -Ьс Включает режим совместимости ради старых ошибок (еще до выхода X Release4), что сегодня уже не имеет практического значения. с Управляет звуковым сигналом при нажатии на клавиши. За этой опцией может следовать необязательное числовое значение volume, флаг on/off, ей может предшествовать дефис. Флаг off, или дефис, отключа- ет звуковой сигнал. Числовое значение определяет громкость в виде процента от максимально возможного значения и колеблется в интер- вале от 0 до 100. А уже Х-ссрвср окончательно установит это значение в ближайшее, допускаемое техническими средствами fp=path,... Устанавливает маршрут поиска шрифтов. Эти установки интерпретиру- ются сервером, а ие клиентом. Обычно задаются имена каталогов или имена серверов шрифтов. fp default I Icpeycr анавливает маршрут поиска шрифтов в галанное по у молчанию значение.
770 II. Команды fp rehash -fp, fp- +fp fp+ led m P Переустанавливает маршрут поиска шрифтов в его текущее значение, предлагая серверу еще раз прочесть БД шрифтов в текущий каталог шрифтов. Это обычно делается при добавлении новых шрифтов в ката- лог шрифтов и выполняется после запуска mkfontdir, которая пере- создает БД шрифтов. Удаляют элементы из текущего маршрута шрифтов, которые должны следовать за опцией в виде разделяемого запятыми списка элементов. Добавляет элементы в начало текущего маршрута шрифтов, которые должны следовать за опцией в виде разделяемого запятыми списка эле- ментов. Добавляет элементы в конец текущего маршрута шрифтов, которые должны следовать за опцией в виде разделяемого запятыми списка элементов. Управляет LEDs (светодиодами) клавиатуры, при этом можно включать или отключать один или все светодиоды. Эта опция принимает необяза- тельное целое число, флаг on/off или предшествующий дефис. Если ука- зан дефис, или задан флаг off, все светодиоды будут отключены. Если не указаны никакие параметры или задан флаг on, все светодиоды будут включены. Если указано целое число между 1 и 32, тогда соответству- ющий светодиод будет включен или отключен в зависимости от пред- шествующего дефиса (знака минуса). Управляет параметрами мыши, к таковым относятся ускорение и порог, определяющий расстояние, на которое перемещается указатель мыши за короткое время. Параметр ускорения ассе! - это целое число (mult) или обычная дробь (div) - задает, во сколько раз быстрее или медлен- нее должен двигаться указатель мыши в режиме ускорения. Чтобы вклю- чился режим ускорения, за короткое время указатель мыши должен быть перемещен на некоторое расстояние threshold, его мы задаем в пиксе- лах. Один или оба параметра опции m могут быть опущены, но, если хотя бы один из них задан, он будет интерпретироваться как ускорение. Если ни один из параметров не указан или используется параметр default, будут установлены значения, нпинятые в системе по умолчанию Управляет номерами цветов в текущей палитре. Параметрами (pixel и color) этой опции являются десятичный номер элемента в цветовой па- литре и спецификация цвета. Регулирует автоповтор символов в случае удержания какой-либо кла- виши нажатой. Если никакие параметры не заданы или задан флаг on, устанавливает автоповтор символов. Если указан дефис, или флаг off, отключает автоповтор. В качестве параметра можно указать опреде- ленную клавишу keycode, для которой можно отменить или установить автоповтор. Если сервер поддерживает расширение Xfree86-Misc, тог- да принимается параметр rate (скорость), за которым может следовать одно или два числовых значения. Первое из значений указывает задержку delay перед автоповтором, второе скорость повтора.
II. Команды 771 s Устанавливает параметры храни геля экрана. Эта опция принимает ие бо- лее двух числовых параметров из следующих флагов: blank/noblank флаг blank устанавливает ’’мигающий" экран, если монитор может поддерживать такой режим; флаг noblank позволяет закрыть экран неким графи- ческим шаблоном (узором) expose/noexpose в случае флага expose содержимое экрана просто будет "брошено на произвол судьбы"; в режиме noexpose хранитель экрана недоступен on/off включает/отключает службы хранителя экрана activate/reset флаг activate активизирует хранитель экрана, даже если он был отключен, флаг reset убирает хра- нитель экрана, даже если он был активен Опция s принимает еще два параметра: length, определяющий, как дол- го сервер может быть неактивным до включения хранителя экрана, и period, устанавливающий период для изменения фонового шаблона. Оба параметра задаются в секундах. Если указан только один параметр, он интерпретируется как length. q Информирует о текущих установках. Все установки могут быть возвращены в их значения по умолчанию, когда пользо- ватель выходит из системы. Примеры $ xset q Keyboard Control: auto repeat: on key click percent: 0 LED mask: 00000000 auto repeat delay: 500 repeat rate: 5 auto repeating keys: OOffffffdffffbbf fa9fffffffdffdff 7f00000000000000 0000000000000000 bell percent: 50 bell pitch: 400 hell duration: 100 Pointer Control: acceleration: 2/1 threshold: 4 Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600 Colors: default colormap: 0x23 BlackPixel: 0 Whitepixel: 16777215 Font Path: unix/:-l Bug Mode: compatibility mode is disabled DPMS (Energy Star): Standby: 1200 Suspend: 1800 Off: 2400 DPMS is Disabled $ Следующая команда нс разрешает "гасить" экран неактивного пользования. $ xset в off $
772 Н Команды xsetroot - меняет настройки главного окна X. К Синтаксис xsetroot [-help][-def J[-display display][-cursor cursorfile aaskfile] [-cursor_name cursorname] [-bitmap filename][-mod x y][-gray][-grey] [-fg color][-bg color][-rv][-solid color][-name string] Позволяет настроить вид окна на рабочем столе, установить цвет фона, а также поместить на рабочем столе приглянувшийся рисунок. Без каких-либо параметров восстанавливает значение установок по умолчанию. Опции -help Печатает краткий список опций и завершает программу. -def Переустанавливает все неуказанные атрибуты и их значения по умолча- нию. -cursor cursorfile maskfile Позволяет заменить указатель курсора, когда он находится вне любого окна. Файлы курсора cursorfile и маски maslfile - это крохотные кар- тинки (растровые файлы), которые могут быть созданы с помощью про- граммы bitmap. -cursor_name cursorname Позволяет заменить указатель на один из стандартных cursomame. -bitmap filename Использует растровый рисунок из указанного файла для размещения на рабочем столе. Для создания собственных рисунков можно применить программу bitmap. Полный фон рабочего стола будет заполняться по- вторяющимися "плитками" вашего рисунка. -gray, -grey Создает фон серого цвета. -fg color Использует указанный цвет в качестве основного. -bg color Использует указанный цвет в качестве дополнительного. -rv Меняет местами основной и дополнительный цвета. Обычно основной цвет (переднего плана) - черный, а дополнительный (фоновый) - белый. -solid color Выполняет "заливку" фона основного окна указанным цветом. -name string Устанавливает имя основного окна в значение string. -mod x у Позволяет получить сетчатый фон вашего экрана, v и у - целые, меня- ющиеся от 1 до 16. -display display Укачивает сервер для подключении (см. X). Лишь одна из следующих опций может быть укачана за раз: -solid, -gray, -grey, -bitmap, -mod.
II. Команды 773 Примеры $ xsetroot -solid gray S Так будет установлен серый фон рабочего стола. Можно также указать шестнадца- теричное значение цвета (см. приложение III) в кавычках. Попробуйте установить такой нежный цвет фона: $ xsetroot -solid "IccbObOt" S А как вам понравятся такие ромбики? $ xsetroot -bitmap /usr/include/Xll/bitmaps/xlogo64 -fg -fcOcOcOf” $ Пользователям Windows 95/98 привычен курсор в виде стрелки, указывающей в верхний левый угол, что можно достигнуть с помощью такой команды: $ xsetroot -cursor_name left ptr 5 Такой указатель работает за пределами окна, где вы набирали такую команду. Ниже приведены еще два известных наименования: X_cursor форма курсора в виде буквы X (по умолчанию) arrow стрелка, указывающая в верхний правый угол В GNOME и KDE также можно выполнить подобные установки в control centers (в центрах управления). xterm - эмулирует терминал в системе X. Синтаксис xterm [toolkitoption— J[option...] Программа xterm воплощает терминалы VT102/VT220 фирмы DEC и терминалы, совместимые с типом Tektronix 4014, для тех программ, которые не могут напрямую использовать оконную систему. Каждый из терминалов VT102 и Tektronix 4014 имеет свое собственное окно, так что пользователь может одновременно редактировать текст в одном из окон и про- сматривать изображения в другом. Но с другой стороны лишь одно из окон может быть активным в каждый момент времени, т.е. получать набираемые на клавиатуре сим- волы и осуществлять вывод на терминал. Команда xterm принимает как все стандартные опции X Toolkit, так и представлен- ные ниже. Основные опции -version Печатает информацию о версии программы. -help -132 Распечатывает подробное сообщение, описывающее опции Устанавливает управляющую последовательность, переключающую между режимами 80 и 132 столбца для VT102.
НА И Команды - ah Всегда выделяет текстовый курсор +ah Осуществляет выделение текстового курсора, основываясь на фокусе. - а 1 Отключает поддержку активных пиктограмм, если эта особенность была заложена при компиляции xterm. +ai Включает поддержку активных пиктограмм, если эта особенность была заложена при компиляции xterm. - aw Разрешает режим авто-wraparound - при этом курсор после крайнего правого положения автоматически переходит на начало следующей строки выводимого текста. +aw Запрещает режим авто-wraparound. -b number Указываетразмервнутреннейрамки(расстояниемеждувнешнейграницей символов и границей окна) в пикселах; по умолчанию — 2. -bdc Отменяет отображение в цвете символов с атрибутом полужирный. +b d с Устанавливает отображение в цвете символов с атрибутом полужирный. -cb Устанавливает ресурс cutToBeginningOfLine для VT100 в значение FALSE (ложно). +cb Устанавливает ресурс cutToBeginningOfLine для VT100 в значение TRUE (истинно). -ст Отменяет распознавание управляющих ANSI-последовательностей из- менения цвета. -сп Указывает, что символы newline не будут усечены при выборе строк. +сп Указывает, что символы newline будут отброшены при выборе строк. -сг color Указывает цвет, предназначенный для текстового курсора. -de Запрещает управляющую последовательность, меняющую динамичес- кие цвета: фоновый и основной цвета для VT100. +d с Устанавливает управляющую последовательность для изменения дина- мических цветов. - е program [«<§5...] Указывает программу program и ее аргументы args для запуска в окне xterm. Эта опция должна стоять последней в командной строке. - fb font Устанавливает шрифт, используемый при отображении полужирного тек- ста. Этот шрифт должен быть той же самов высоты и ширины, что и обычный шрифт. По умолчанию используется обычный шрифт. - fi Устанавливает шрифт для активных пиктограмм, если только такая воз- можность закладывалась при компиляции xterm. - j Прокручивает за раз несколько строк. Обычно выполняет построчнх ю прокрутку. +j Запрещает прокручивать за один pat ио несколько строк. - leftbar Помещает полосу прокрутки по левую сторону экрана VT100. что при- нято по умолчанию.
II. Команды _ _ 775 -Is Устанавливает оболочку, запущенную в окне xterm, в качестве оболочки регистрации. +ls Не устанавливает оболочку, запущенную в окне xterm, в качестве обо- лочки регистрации. -mb Вызывает звуковой сигнал, если пользователь, набирая текст, прибли- зился к правому краю строки. -me milliseconds Указывает максимальный промежуток времени между щелчками ука- зателя мыши. -ms color Указывает цвет применяемый для указателя курсора. По умолчанию ис- пользуется основной цвет. -nb number Указывает количество критичных символов от правого края строки, вызывающее звуковой сигнал, если это определено соответствующей опцией (-mb) командной строки. По умолчанию принято 10. -nul Включает отображение подчеркивания в тексте. +nul Отключает отображение подчеркивания в тексте. -pc Включает использование PC-стиля полужирных цветов. +pc Отключает использование PC-стиля полужирных цветов. -rightbar Помещает полосу прокрутки по правую сторону экрана. -rw Позволяет возвращать курсор от крайнего левого столбца одной стро- ки к крайнему правому предшествующей строки. +rw Запрещает возможность, задаваемую опцией -rw. -s Разрешает асинхронную прокрутку содержимого экрана. +s Разрешает синхронную прокрутку содержимого экрана. -sb Сохраняет несколько уже прокрученных строк, выводит их наверху но- вого экрана, а также отображает полосу прокрутки. +sb Не отображает полосу прокрутки. +sf Указывает, что для функциональных клавиш будут генерироваться стан- дартные управляющие коды. -si number Определяет число сохраняемых строк, прокрученных от вершины эк- рана; по умолчанию - 64. -t Запускает xterm в режиме терминала Tektronix. Переключение между двумя окнами осуществляется с помощью меню Options. +t Запускает xterm в режиме терминала VT102. -tm string Указывает набор терминальных установок ключевых слов вместе со следующими за ними управляющими символами, связанными с этими словами. Упомянутые слова аналогичны функциям программы stty: intr, quit, erase, kill, eof, eol, swteh. start, stop, brk, susp. dsusp. rprnt. flush, weras, Inext. Управляющие символы могут быть указаны в следующем виде: лс или Ли, а комбинация л? используется для указания удаления
776 II Команды -tn пате Указывает тип терминала для установки в переменной окружения TERM, этот тип должен быть описан в БД termcap. -ulc +uls Запрещает отображать символы с подчеркиванием в цвете. Отображает в цвете символы с подчеркиванием. -ut Не регистрирует xterm в системном журнале /etc/utmp. +ut Регистрирует xterm в системном журнале /etc/utmp. -vb Отдает предпочтение визуальному звонку вместо звукового. +vb Не использует визуальный звонок. Пример Конечно, стандартный вариант xterm, как правило, имеется среди пиктограмм глав- ной панели. Щелкни и получи. Но иногда требуется внести некоторые изменения. Ко- манда, приведенная ниже, поменяет цвет указателя на красный, полоса прокрутки пере- местится влево. $ xterm -cr red = sofia@localhost.localdomain:/home/sofia | - о x. [sofial?local host sofialS xwd - создает дамп изображения и сохраняет его в файле. Синтаксис xwd [-debug][-help][-nobdrs][-out file][-xy][-frame][-add value] [-root|-id id|-name name][-icmap][-screen][-display display] [-silent] xwd - утилита дампирования системы X Window, позволяющая пользователям хра- нить изображения окон в специально отформатированных файлах. Затем этот файл мо- жет быть считан другими утилитами X для просмотра, редактирования или печати. Окно для дампирования выбирается путем щелчка указателя мыши на его фоне. В начале дампирования один раз выполняется звуковой сигнал, в конце - дважды. Опции [-display display] Позволяет указывать сервер для подключения (см. X). -help Распечатывает справку по команде и ее опциям. -nobdrs Не включает пикселы рамки окна в захваченное изображение. -out file Выводит изображение в указанный файл, по умолчанию на стандарт- ный вывод. -ху Вместо используемого по умолчанию Z-формата применяет Х> -фор- мат для записи цветных изображений.
II. Команды 777 -add value Добавляет указанное значение к каждому пикселу '’захваченного” изоб- ражения. -frame Помимо окна включает в "захваченное" изображение рамку менеджера окон. -root -id id "Захватывает" изображение в основном окне. Выбирает для дампирования окно с указанным идентификатором ресур- сов. В этом случае пользователю не требуется определять окно с по- мощью мыши. -name name Выбирает для дампирования окно с указанным свойством (WMNAME). В этом случае пользователю не требуется определять окно с помощью мыши. -icmap Обычно для изображения цветов выбранного окна используются RGB- значения (Red - красный, Green - зеленый, Blue - синий, т.е. основные цвета спектра). При задании рассматриваемой опции вместо этого ис- пользует первое инсталлированное отображение цветов экрана (первая цветовая палитра). -screen Включает при захвате изображения части других окон, перекрывающие указанное. -silent Запрещает выдачу звуковых сигналов. xwdtopnm - конвертирует дамп окна Х11 или ХЮ в пере- носимый формат. Сицттксис xwdtopnm [xwdfile] Считывает файл xwdfile с дампом окна XII или ХЮ, создает в качестве выходного переносимый файл. Тип выходного файла зависит от входного: если на входе был файл с черно-белым изображением, создается файл в формате РВМ, если входной файл со- держал изображение в градациях серого, создается файл в формате PGM, в противном случае - файл в формате РРМ. Программа сообщает о типе создаваемого файла. xwininfo - вывод информации об окнах системы X. Синтаксис xwininfo (-help)[-id id][-root](-name name][-int][-children](-tree] (-stats] [-bits] [-events] [-size] [-wm](-shape)(-frame][-all][-english] [-metric](-display display] Выводимая информация определяется опциями командной строки, если никакие опции не указаны, подразумевается опция -stats.
778 II. Команды Пользователь может выбрать интересующее его окно, щелкнув переключателем мыши на соответствующем окне, а также может определить окно в командной строке с помощью опции -id либо -name. Опции -help Печатает подсказку по синтаксису команды. -id id Задает идентификатор интересующего окна. -name пате Задает имя интересующего окна. -root Указывает основное окно системы X. -int Отображает все идентификаторы окон X как целые числа. По умолча- нию отображаются шестнадцатеричные значения. -children Отображает идентификаторы и имена основного, всех родительских и дочерних окон. -tree Действует аналогично опции -children, но отображает окна рекурсивно. -stats Отображает различные атрибуты, касающиеся расположения и появле- ния выбранных окон: местонахождение, ширина, высота, ширина рамки, класс, палитра и т.д. -bits Выводит различные атрибуты, битовые флаги, касающиеся хранения выбранных окон, наличия перекрывающихся областей. -events Отображает маски событий выбранных окон. -size Выводит полную информацию о размерах выбранных окон. -wm Отображает информацию по выбранным менеджерам окон: принимает или нет соответствующее приложение входную информацию, сведения о пиктограммах окон, их начальное состояние. -shape Выводит информацию о рамке и форме окна. -frame Информирует об окне, управляемом менеджером окон, когда окна вы- бираются вручную. -metric Выводит высоту, ширину, координаты х и у окон в миллиметрах, а также в пикселах. -all Выводит всю доступную информацию. -display display Указывает сервер для подключения (см. X). -english Выводит высоту, ширину, координаты х и у окон в дюймах, а также в пикселах. Пример $ xwininfo xwininfo: Please select the window about which you would like information by clicking the mouse in that window. xwininfo: Window id: 0x1800068 "panel" Absolute upper-left X: 0 Absolute upper-left Y: 428
II Команды 779 Relative upper-left X: О Relative upper-left Y: 0 Width: 640 Height: 52 Depth: 24 Visual Class: TrueColor Border width: 0 Class: Inputoutput Colormap: 0x23 (installed) Bit Gravity State: ForgetGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +0+428 -0+428 -0-0 +0-0 -geometry 640x52+0-0 xwud - выводит изображение, ранее сохраненное командой xwd. Синтаксис xwud [-in file] [-noclick] [-geometry geon] [-display display] [-new] [-std maptype] [-raw] [-vis vis-type-or-id] [-scale] [-help] [-rv] [-plane number] [-fg color] [-bg color] xwud - утилита X Window, позволяющая отображать в окне изображение, ранее сохраненное в специально отформатированном файле. Опции -bg color Указывает отображаемый цвет для нулевых битов монохромного раст- рового изображения. -display display Позволяет указывать сервер для подключения (см. X). -fg color Указывает отображаемый цвет для битов, установленных в 1, моно- хромного растрового изображения -geometry geom Позволяет указать размер и положение отображаемого окна: его раз- мер по умолчанию равен фактическому размеру изображения. -help Печатает краткое описание допустимых опций. -in file Указывает файл, откуда считывается изображение. Если в командной строке никакой файл нс задан, считывает стандартный ввод. -new Для вывода изображений создает новую цветовую палитру. -noclick Обычно, если не указана эта опция, щелчок переключателем мыши (лю- бая кнопка) завершает приложение. В случае задания этой опции такого не происходит. Завершить приложение можно нажатием клавиши q. Q или Ctrl+C.
780 II. Команды -plane number Позволяет выбрать по номеру единственный бит плоскости изображе- ния. Плоскости (планы) изображения нумеруются е нуля, начиная с наи- менее существенного бита. Эта опция передает программе хрг плос- кость (план) изображения для печати. -raw Выводит изображение с существующими в настоящий момент значе- ниями цветов. -rv Осуществляет инверсный вывод изображения, т.е. меняет местами ну- левые и единичные значения пиксела. -scale Позволяет менять размер окна, масштабируя изображение под размер окна. -std maptype Использует для вывода стандартную цветовую палитру указанного типа: best наилучшая default по умолчанию gray в градациях серого -vis vis-type-or-id Позволяет указать класс выводимого изображения; по умолчанию - best. xxgdb - графический интерфейс пользователя к отладчику gdb. Синтаксис xxgdb [ toolkitoption---] [ xxgdboption— ][ gdbopti on... ] [objfile [corefile]] objfile — это объектный файл, создаваемый компилятором с опцией -g, со специ- альной таблицей идентификаторов для gdb. Если в текущем каталоге существует файл core или в командной строке указан ар- гумент corefile, отладчик xxgdb использует его для анализа состояния программы в случае выдачи дампа памяти. Программа х xgdb принимает все стандартные опции командной строки для X Toolkit (toolkitoption...), все допустимые опции gdb (gdboption...') (см. gdb), а также приве- денные ниже дополнительные опции xxgdb. Опции -db name Указывает имя вызываемого отладчика вместо принятого по умолча- нию gdb. -db_prompt Устанавливает приглашение отладчика. По умолчанию приглашение от- ладчика представляет из себя его имя, заключенное в круглые скобки, за которыми следует пробел. -i Указывает имя командного файла инициализации. По умолчанию -gdbinit. -пх Не исполняет файл .gdbinit или файл, определенный с помощью опции -i.
II. Команды 781 -bigicon Использует пиктограмму размером 64x64 вместо заданной по умолча- нию размером 48x48. В нижней части экрана, появившегося после запуска xxgdb, находятся командные кнопки. Перечень основных кнопок run Начинает исполнение программы. cont Продолжает вашу программу после останова. next Исполняет одну строку исходного файла, пропуская любые вызовы функций. step Исполняет одну строку исходного файла, реализуя любые вызовы функ- ций. finish Продолжает выполнение до точки возврата выбранной процедуры. Если никакая процедура не выбрана, использует текущую процедуру break Останавливает программу в контрольной точке, которая можез быть указана в строке или в выбранной функции. Чтобы установить в про- грамме контрольную точку, следует поместить знак Л в начало исход- ной строки или имени функции и щелкнуть указателем мыши на кнопке break. tbreak Устанавливает одноразовую контрольную точку. Действие tbreak по- добно действию кнопки break за исключением того, что после перво- го использования контрольная точка автоматически отменяется. delete show brkpts stack Отменяет контрольную точку. Отображает текущие контрольные точки. Отображает трассу стека вызываемых функций. up down print Поднимается на один уровень в стеке вызываемых функций. Опускается на один уровень в стеке вызываемых функций. Печатает значение выбранного выражения, если щелкнуть правой кноп- кой мыши на кнопке print или print*. print * Печатает значение объекта, указанного выбранным выражением. Если искомое значение в свою очередь является указателем или структу- рой, содержащей указатели, то значение объекта, на который указывав, указатель, можно получить, щелкнув на отображаемом значении. При этом возникнет другое меню, содержащее значение объекта, на кото- рый указывал указатель. display Отображает в окне значение выбранного выражения, обновляя его зна- чение при каждом останове. args show display search Печатает аргументы выбранного блока. Выводит имена отображаемых выражений. Осуществляет вывод панели, в которой можно отыскивать строки ис- ходного файла в прямом и обратном направлениях. file Вызывает браузер, позволяющий перемещаться по дереву кталогов.
782 II Команды yes Посылает gdb ответ yes, если отладчик требует ответа, по Посылает gdb ответ по, если отладчик требует ответа, quit Покидает отладчик. yes - автоматизирует процесс создания многократных К ответов на запросы других программ. Синтаксис yes [ option]...[ string]... Команда yes многократно выводит аргументы string командной строки, разделяемые пробелами и завершающиеся символом newline, до тех пор, пока нс будет принудитель- но завершена. Если никакие аргументы не заданы, выводит символ у и символ newline. Многие команды "просят" пользователя ввести с клавиатуры ответы на вопросы. Если необходимо запустить некую команду, которая может задать десятки или даже сотни аналогичных вопросов, стоит прибегнуть к помощи команды yes, чтобы каждый раз не набирать с клавиатуры один и тот же ответ. Опции —help Выводит список опций и завершает программу. —version Выводит информацию о версии программы и завершает ее выполнение. Команда yes передает свой вывод по конвейеру, однако не все команды для полу- чения ответа читают стандартный ввод. В этом случае лучше использовать команду expect. Пример Ниже показано многократное предотвращение нежелательных удалений файлов rcsme* с использованием команды yes. Н misha@localhost.localdomain: /home/misha X EmishaSlocalhost misha]* yes n Irm -i rcsme* A rm: удалить 'rcsme01.gif'? rm: удалить 'rcsme02.gif'? rm: удалить 'rcsfne03.gif"7 , rmi удалить 'rcsrne04t9iF'? Broken pipe [mishaGlocalhost mishaH [mishaOlocalhost mishal^ | J / zcat - распаковывает архивы, созданные gzip и compress Синтаксис zcat [-fhV][nawe—] Можно сказать, что zcat идентична команде gunzip -с, т.е. распаковывает либо спи- сок файлов, заданный в командной строке, либо стандартный ввод, направляя результат на стандартный вывод.
II. Команды 783 Команда zcat распаковывает файлы, имеющие корректное магическое число (см file), вне зависимости от расширений имен файлов. По сути zcat отображает содержимое упакованного текстового файла, предвари- тельно не распаковывая его. Можно сказать, что zcat работает, как и cat. Содержание опций команды zcat см. в описании gzip. zcmp - сравнивает содержимое упакованных (сжатых) фай- лов. Синтаксис zcmp [cap-options] fiiel[file2] zcmp вызывает для упакованных файлов программу стр, передавая ей все указан- ные опции cmp-options. Если в командной строке указано два файла, то они будут, если это необходимо, распакованы, а затем переданы программе стр. Если в командной строке указан только один файл, то производится сравнение содержимого файлов filel и распакованного /«/el.gz. Пример Производится сравнение содержимого файлов ппп и одноименного упакованного файла из архива archl.gz: $ zcmp "/rab/archl.gz ./nnn $ Содержимое полностью совпадает. zdiff - сравнивает содержимое упакованных файлов. Синтаксис zdiff [diff-options] filel] file2] zdiff вызывает для упакованных файлов программу diff, передавая ей указанные опции diff-options. Если в командной строке указано два файла, то они будут, если это необ- ходимо, распакованы, а затем переданы программе diff. Если в командной строке ука- зан только один файл, то производится сравнение содержимого файлов filel и распа- кованного filel. gz. zforce - добавляет к именам файлов, созданных с помощью gzip, расширение .gz. Синтаксис zforce [паше...]
784 II. Команды Команда zforce добавляет отсутствующее в силу разных причин расширение .gz к именам файлов, созданных с помощью gzip, так что их не требуется дважды упаковы- вать. - производит поиск по шаблону строк файлов в gzip-архивах. zgrep Синтаксис zgrep [grep-options][-е] pattern filename Команда zgrep используется, чтобы вызвать grep для сжатых и упакованных фай- лов filename. Все указанные опции grep-options передаются прямо grep. Если в ко- мандной строке отсутствуют имена файлов, будет распакован стандартный ввод, если это необходимо, и затем передан grep. Аналогичные команды zegrep и zfgrep, если существуют в системе, соответственно вызовут egrep и fgrep. Пример Поиск строк по шаблону сс производится среди файлов текущего каталога: $ zgrep -1 -е сс • 05.gif charset01.gif ctlinndl4.gif distOl.gif dist02.gif gr04.gif gr06.gif gr09.gif libss.so.2.0 myobj photo07.gif photo08.gif photo081.gif prim42 prim43 prim55 prim56 prim65 probal proba2 ргоЬаЗ ? В листинге можно обнаружить имена самых разных файлов, в том числе и графи- ческих.
II. Команды 785 zipgrep производит поиск строк файлов, соответствую- щих шаблону, в ZIP-архивах. Синтаксис zipgrep (egrep-options} pattern file}. zip] [ file. ..] (-x xfile...} zipgrep - сценарий оболочки, вызывающий egrep и unzip. Его вывод идентичен выводу команды egrep. Аргументы pattern Шаблон поиска внутри ZIP-архива. Может применяться любая строка или регулярное выражение, воспринимаемое egrep. /rZef.zip] Маршрут к ZIP-архиву. [file.. ] Необязательный список членов архива, разделенных пробелами. Если данный аргумент отсутствует, поиск будет производиться по всему ар- хиву, в противном случае - только среди указанных компонентов. [-х xfile...} Необязательный список компонентов (членов) архива, исключаемых из обработки. Опции egrep-options Опции, передаваемые команде egrep. zipinfo - сообщает детальную информацию о ZIP-архиве. Синтаксис zipinfo [-12smlvhHtTz] file}.zip][file...][-X xfile. ..] В состав распечатанной информации включаются полномочия на файлы, наличие шифрования, тип сжатия, версия, операционная или файловая система, к которой отно- сятся сжатые программы, и т. п. По умолчанию для каждого файла архива предназначе- на одна строка листинга с заглавными и завершающими строками, содержащими ин- формацию по всему архиву. Аргументyi/e[.zip] определяет маршрут к ZIP-архиву, аргу- мент file необязательный список обрабатываемых членов архива. Список членов ар- хива, исключенных из обработки, указывается с помощью -х xfile... Опции -Перечисляет лишь имена файлов по одному в каждой строке. Эта оп- <3) ция исключает любую другую информацию. -2 Перечисляет лишь имена файлов по одному в каждой строке, но также разрешает заголовки (-11), итоговые записи (-t) и комментарии (-z). -s Распечатывает информацию в коротком формате команды Is -I. Опция принята по умолчанию.
786 II. Команды -m Создает листинг, идентичный выводу, создаваемому с помощью опции -s, дополнительно приводится коэффициент сжатия, выраженный в про- центах. - 1 Распечатывает информацию в длинном формате команды Is -I. Допол- нительно вместо коэффициента сжатия включается размер упакованно- го файла в байтах. - V Использует подробный, многостраничный формат вывода. - h Выводит информацию о версии программы, функциях, опциях и завер- шает ее. - М Пропускает весь вывод через внутренний пейджер подобно команде more При этом в конце экрана возникает приглашение —More—, а сле- дующий экран появляется лишь после нажатия Enter. - t Выводит итоги по всем распечатанным файлам или вообще по всем фай- лам архива. - Т Распечатывает дату и время в отсортированном десятичном формате вида ггммдд.ччммсс (гг — год, мм — месяц, дд — день, чч — час, мм — минуты, сс - секунды). В формате, принятом по умолчанию, названия месяцев задаются в виде текстовых аббревиатур. - Z Включает в листинг архивный комментарий, если таковой имеется. zmore - отображает текст упакованных файлов. Синтаксис zmore [лате...] Команда zmore - это фильтр, позволяющий отображать сжатые или обычные фай- лы на экране терминала, zmore работает с файлами, упакованными compress, pack или gzip. Если указанный в командной строке файл не существует, zmore дополнительно просматривает файлы, имена которых были созданы путем добавления к заданному имени суффиксов -gz, .z или .Z. Отобразив текст на экран, zmore обычно выполняет паузу, напечатав внизу экрана —More—. Если пользователь нажмет клавишу CR (carriage return - возврат каретки), выводит еще одну строку, если клавишу пробела еще один экран. Программа zmore определяет характеристики терминала и размер окна на основа- нии содержимого файла Zetc/termcap. Программа zmore не имеет опций, зато существует ряд команд, которые можно набирать во время пауз Основные команды /<г1робел> Отображает следующие i строк. AD, d Выполняет прокрутку следующих одиннадцати строк is Пропускает i строк, а затем отображает очередной экран.
II. Команды 787 if q.Q 11ропускает i экранов, а затем отображает очередной экран Закрывает текущий файл, переходя к следующему, если таковой задай е Набранная после вывода приглашения типа —More— (Next ГНе:имя_файла) завершает работу zmore. S Набранная после вывода приглашения типа --More— (Next Н1е:илгя файла) пропускает один файл. = Отображает текущий номер строки. И exp г ’ command Осуществляет поиск /-го появления регулярного выражения ехрг Вызывает команду оболочки. Повторяет предшествующую команду. znew - переупаковывает файлы формата .Z в формат .gz. Синтаксис znew [-ftv9PK][паше.г-] Переупаковывает файлы natne.7. (compress) в формат .gz (gzip). Если вы желаете переупаковать файлы, ранее созданные gzip, например, с другими опциями, переиме- нуйте их вначале, установив расширение .Z, а затем применяйте команду znew. Опции -f Принудительно переупаковывает из формата .Z в -gz, даже если суще- ствует одноименный файл с расширением .gz. -t Тестирует (проверка на целостность) новые файлы перед удалением ори- гиналов. -V -9 -Р Выводит имя и процент сжатия для каждого упакованного файла. Использует метод наиболее медленного (оптимального) сжатия. Использует конвейеры. -К Сохраняет упакованный файл в формате .Z, если он меньше, чем его аналог в формате .gz. . (точка) - считывает и выполняет команды из указанного файла в окружении текущей оболочки. См. команду source.
788 Приложения Приложение I Допустимые сигналы N/N Наименование (сокращение) Описание 1 SIGHUP(HUP) Зависание Часто используется в целях уведомления процесса о необходимости перезагрузить файлы конфигурации. 2 SIGINT(INT) 3 SIGQUIT (QUIT) 4 SIGILL(ILL) 5 SIGTRAP (TRAP) 6 SIGIOT(IOT) 7 SIGBUS (BUS) 8 SIGFPE (FPE) 9 SIGKILL (KILL) Прерывание. Выход. Недопустимая команда. Перехват по трассировке. Команда ЮТ - останов ввода/вывода. Ошибка на шине. Исключительный случай в операции с плавающей запятой. Снятие задания (процесса). Сигнал не может быть перехвачен, блокирован, проигнорирован. 10 SIGUSR1 (USR1) 11 SIGSEGV(SEGV) 12 SIGUSR2 (USR2) 13 SIGPIPE (PIPE) 14 SIGALRM (ALRM) 15 SIGTERM (TERM) Пользовательский сигнал 1. Прерывание по сегментации. Пользовательский сигнал 2. Запись и передача по конвейеру (без чтения). Сигнал от таймера. Программное прерывание. Часто посыпается до сигнала KILL, что позволяет процессу перехватить этот сигнал и приготовиться к завершению. 16 SIGSTKFLT Ошибка сопроцессора. 17 SIGCHLD (CHLD) 18 SIGCONT (CONT) Был изменен статус дочернего процесса. Продолжение после сигнала STOP. Этот сигнал не может быть блокирован. 19 SIGSTOP (STOP) Останов. Сигнал не может быть перехвачен (ибо под- держивается в самом процессе), блокирован, игнорирован. 20 SIGTSTP (TSTP) Сигнал останова от клавиатуры, обычно возникающий при на- жатии Ctrl+Z. 21SIGTTIN Попытка чтения в фоновом режиме со стороны управляющего терминала.
Приложения 789 Приложение I (продолжение) N/N Наименование (сокращение) Описание 22 SIGTTOU Попытка записи в фоновом режиме на управляющий терминал. 23 SIGURG Срочное условие, связанное с сокетом. 24 SIGXCPU Превышение лимита времени ЦП 25 SIGXFSZ Превышение размера файла. 26 SIGVTALRM Сигнал от виртуального таймера. 27 SiGPROF Профилирование сигнала таймера. 28 SIGWINCH Изменение размера окна. 29 SIGIO Возможна операция ввода/вывода с файлом, имеющим указан- ный дескриптор. 30 SIGPWR Отключение питания. 31 SYGSYS Неправильный системный вызов. 33 SIGRTMIN Самый высокоприоритетный сигнал реального времени. 63 SIGRTMAX Самый низкоприоритетный сигнал реального времени. Приложение Н Имена устройств и их номера Порт Имя устройства Главный номер Дополнитель- ный номер Параллельные порты /dev/lpO 6 0 /dev/lp1 6 1 /dev/lp2 6 2 Входящие последовательные СОШ /dev/ttySO" 4 64 порты COM2 /dev/ttyS1 4 65 COM3 /dev/ttyS2 4 66 COM4 /dev/ttyS3 4 67 Исходящие последовательные COM1 /dev/cuaO 5 64 порты COM2 /dev/cua1 5 65 COM3 /dev/cua2 5 66 COM4 /dev/cua3 5 67 * Вы можете использовать устройства /dcv/ttySx для входящих и исходящих после- довательных подключений.
790 Приложения Приложение III Несколько общеизвестных цветов, выраженных в шестнадцатеричном формате Цвет Значение черный #000000 красный #ffOOOO зеленый #OOffOO синий #0000 ff желтый #ffffOO фиолетовый #00ffff сиреневый #ffOOff белый #ffffff Приложение IV Типы серверов X Четыре типа серверов X соответствуют четырем секциям Screen в файле XF86Config: Элемент Списание 'да2 Х-сервер для монохромных видеокарт VGA vga 16 Х-сервер для 16-цветных карт VGA svga Х-сепвер для карт SuperVGA accel Х-сервер для акселерированных наборов видеочипов: Mach8, Mach32, Mach64, AGX/XGA, 8514/A, S3,1128, P9000 Один из этих серверов вы выбираете при инсталляции. Приложение V Формат RCS-файла Содержимое RCS-файлов описывается согласно приведенным далее грамматичес- ким правилам. Следующие символы называются white space (неизображаемые символы): про- бел, возврат на позицию, табуляция, новая строка, вертикальная табуляция, перевод стро- ки, возврат каретки. Содержимое RCS-файла - текст свободного формата, неизобра- жаемые символы существенны только в строках. Неизображаемые символы не допус- каются в составе id, num или sym, а RCS-файл должен заканчиваться символом newline (новая строка). Строки завершаются символом @. Если в самой строке встречаете' символ @, для правильного восприятия он должен быть удвоен.
Приложения 791 Метасинтаксис использует следующие последовательности: | вертикальная черта разделяет альтернативные выражения { } заключает необязательные предложения { } * заключает предложения, которые могут быть повторены ноль или более раз { }+ заключает предложения, которые должны, по меньшей мере, появиться однаж- ды, но могут и повторяться. rcstext ::=admin {delta}* desc {deltatext}* admin ::=head {num}; {branch {num};} access {id}*; symbols {sym:num}*; locks {id:num}*; {strict ;} {comment {string};} expand {string};} {newphrase}* delta ::=num date num; author id; state {id}; branches {num}*; next {num}; {newphrase}* desc ::=num log string {newphrase}* text string num ::={digit|.}+ digit ::=01112131415j617|8 19 sym ::={digit}* idchar {idchar|digit}* idchar ::-любой визуальный графический символ special ::=$|,|.|: |; | S string ::=£{лж>бой символ, двойной^}*? newphrase ::=idword*; word ::=id|num|string[: Данные правила лучше разбирать в обратном порядке. В качестве word (слова) ис- пользуются id (идентификатор), num (число), string (строка) или двоеточие; newphrase (новое предложение) - это либо идентификатор, либо слово, которое может быть по- вторено ноль или более раз; string (строка) - набор символов, повторенный ноль или более раз, строка завершается символом @. В качестве special (специальных симво- лов) применяются знак доллара, запятая, точка, двоеточие, точка с запятой и символ @; idchar - это любой визуальный графический символ кроме специальных символов. Идентификаторы чувствительны к регистру. Ключевые слова набираются только строчными буквами (нижний регистр). Наборы ключевых слов и идентификаторов мо- гут перекрываться. В большинстве сред система RCS применяет кодирование в стан- дарте ISO 8859/1: визуальные графические символы - это коды 041-176 и 240-377, white space (нензображаемые символы) - 010-015 и 040. Даты появляются после ключевого слова date в формате Y.mm.dd.hh.mm.ss, Y-это год, содержащий две цифры для годов от 1900 до 1999 и все цифры для последующих годов, тт — месяц (01—12), dd — день (01-31), hh - час (00-23), здесь тт - минуты (00-59), ss - секунды (00-60). Используются даты грегорианского календаря и время в формате UTC.
792 Приложения Компоненты грамматики newphrase зарезервированы в формате RCS-файлов для будущих расширений, они не могут начинаться с уже используемых ключевых слов Узлы delta формируют дерево. Узлы, имена которых состоят из одной пары (4.3, 2.6,1.2 и т.д.), расположены на стволе (trunk) и связываются через поле next в порядке убывания номеров. Поле head в узле admin указывает на заголовок последовательнос- ти, содержащей пару наивысшего уровня, branch - на ветвь или версию, принятую по умолчанию для большинства операций RCS. Если значение branch пустое, в качестве ветви по умолчанию берется наивысшая ветвь ствола. Все узлы delta, чьи номера содержат 2п полей, где п принимает значение от 2 и выше (4.1.11.1, 2.5.12.2 ... и т.д.), связаны в порядке следования. Все узлы, чьи пер- вые 2п-1 полей идентичны, связываются через поле п в порядке возрастания номеров. Для каждой подобной последовательности узел delta, чей номер идентичен первым 2п-2 полям на последовательности, называется head. Пример организации RCS-файла отражает следующая диаграмма. Приложение VI Аббревиатуры, встречающиеся в описаниях команд Англоязычные аббревиатуры ACLs Access Control Lists - списки управления доступом к файлам. ACM Application-Charset Мар - таблица отображения символов для пользова- тельского приложения. ANSI American National Standard Institute - Американский национальный инсти- тут стандартов. ANSI-формат - это текстовый формат. ARIN American Registry for Internet Numbers - Американский реестр номеров Internet. ARP Address Resolution Protocol протокол разрешения адреса, определяет ад- рес Ethernet, соответствующий данному IP-адресу. ASCII American Standard Code for Information Interchange - стандартный амери- канский код обмена информацией.
Приложения ATIP Absolute Time in Pre-groove, или просто pre-groove - абсолютное время (нахождения'' в спиральном желобке, или просто спиральный желобок. В служебной области каждой болванки компакт-диска содержатся сведения о самом носителе. Этот информационный блок называется ATIP, в нем со- держатся сведения об емкости носителя, типе и назначении, максимальной скорости записи и пр. a.out оригинальный формат исполняемых двоичных файлов, используемый в Unix и первых версиях Linux. вес blind carbon copies - "слепые" копии почтовых сообщений. BDF Bitmap Distribution Format фирмы Adobe - графический растровый моно- хромный формат, в котором распространяются шрифты X. BIOS basic input/output system - базовая система ввода/вывода, хранится в ПЗУ BMP Microsoft Windows bitmap - растровое монохромное изображение от Microsoft BSD Berkeley Software Distribution - система Unix, вышедшая из стен Калифор- нийского университета г. Беркли. CAM Common Access Method - стандартный метод доступа (для SCSI). CAM Computer-Aided Manufacturing - автоматизированная система управления производством, технологическими процессами (АСУП, АСУ ТП). CC carbon copies - копии почтовых сообщений. CD Compact Disk - компакт-диск. Тип сменного пластикового диска с опти- ческим считыванием информации. CD-DA Compact Disk-Digital Audio - формат цифрового аудио компакт-диска, из- вестный также под названием audio Red Book (аудио в формате Red Book). Сектор в формате CD-DA содержит данные, обеспечивающие воспроизве- дение музыки в течение 1/75 секунды. CDI Compact Disk Interactive - интерактивный (взаимодействующий) компакт- диск. Формат лазерных дисков, предполагающий хранение на одном диске интегрированных данных: аудио-, движущегося видео- и текстовой инфор- мации. CD-ROM Compact Disk Read-Only Memory - ПЗУ на компакт-диске. CD-ROM XA Compact Disk Read -Only Memory/Extended Architecture - оптический компакт-диск ПЗУ с расширенной архитектурой. Представляет собой со- четание CD-ROM и системы цифровой записи звука на компакт-диске (см. CD-DA). CHECK/TAKETHIS проверь/и бери это - потоковое расширение, или протокол об- мена новостями. CMOS complementary metal oxide semiconductor - комплементарная стр? кгура, микросхема вашего компьютера.
Приложения CMYK Cyan-Magenta-Yellow-Black голубой-пурпурный-желгый-черный Формат CMYK-это цветовая система, альтернативная RGB и предназначенная для вывода на монитор и для печати на струйных принтерах цветных изображе- нии. CR carriage return - символ возврата каретки. CRC cyclic redundancy check контроль информации с помощью циклического избыточного кода. CVS Concurrent Version System - система параллельно действующих версий. CWIS Campus Wide Information System - глобальная учебная (университетская) информационная система C++ язык программирования. DARPA Defence Advanced Research Project Agency - агенство передовых исследо- вательских проектов министерства обороны США, создатель сети Internet. DES Data Encryption Standard - стандарт шифрования, разработанный фирмой IBM. Пересматривается каждые пять лет и запрещен для экспорта в другие страны. DHCP Dynamic Host Configuration Protocol - протокол динамической настройки хостов. DLL Dynamic Link Library - динамически компонуемая библиотека. DMA direct memory address - прямой адрес памяти. DNS Domain Name System - система имен доменов. dpi dots per inch - точек на дюйм (разрешение). DSN Delivery Status Notification - извещение о состоянии доставки. Является расширением протокола SMTP. DSC Dynamic Shared Object - динамический разделяемый (совместно исполь- зуемый) объект (файл или программа). DVD Digital Video Disk - цифровой видеодиск, или Digital Versatile Disk - уни- версальный цифровой диск. DVE Digital Video Effect - цифровые спецэффекты (ЦСЭ), которые создаются при помощи компьютерных систем, микшеров, специальных устройств и позволяют растягивать, сжимать, вращать, переворачивать видсокартинку в любом направлении, создавая мозаику, раскраску и пр. EBCDIC Extended Binary coded Decimal Interchange Code - расширенный двоично- десятичный код обмена информацией. ELF Executable and Linking Format исполняемый и компонуемый (связываю- щий) формат. Речь идет о формате исполняемых двоичных файлов. Его структура обеспечивает удобную реализацию разделяемых библиотек.
Приложения 795 EOF End of File - конец файла. ESC escape character - символ начала управляющей последовательности. ETRN Extended token ring network - расширенный протокол кольцевой сети с мар- кером. Ethernet набор оборудования для создания определенного типа сетей: длинный, чаще всего коаксиальный кабель, к которому подсоединены сетевые узлы. FIB Forwarding Information Base - базовая информация по переназначениям; представляет из себя таблицу маршрутизации, хранящуюся в ядре, с помо- щью нее осуществляется поддержка IP-переназначений. FIFO (First in - First out, первым вошел - первым вышел, в названии отражен спо- соб обслуживания) - один из типов специальных файлов, используемых для передачи информации между одновременно работающими процессами. FQDN Fully Qualified Domain Name - полное официальное (правомочное) имя домена. FTP File Transfer Protocol - протокол передачи файлов в 1Р-сетях. GID group identifier - идентификатор группы. GIT GNU Interactive Tools - GNU-пакет интерактивных программ, позволяю- щих работать с файлами: просматривать, распаковывать, увидеть изобра- жение графического файла и т.п. GMT см. UTC. Gopher служба Internet, обеспечивающая доступ к информации через выбор в меню. GUI Graphic User Interface - графический интерфейс пользователя. GNU GNU’s Not Unix - игра слов "GNU - это не Unix”. Речь идет о проекте GNU - о разработке свободно распространяемого программного обеспечения. HTML HyperText Markup Language - язык разметки гипертекста. HTTP HyperText Transfer Protocol - протокол передачи гипертекста. ICM ICC color management - управление цветом карты с интегральной микро- схемой. ICMP Internet Control Message Protocol - протокол управляющих (служебных) сообщений в Internet. ID идентификатор. IHAVE/SENDME Я имею/присылай - высокоуровневый протокол службы ново- стей, осуществляющий передачу сообщений между компьютерами (см. ко- манду innfeed). IMAP Interactive Mail Access Protocol - протокол интерактивного почтового до- ступа.
/уо Приложения INN InterNetNews - служба сетевых новостей. IPC interprocess communication - взаимодействие процессов. IРХ Internetwork Packet Exchange - протокол обмена пакетами в сетях, состоя- щих из подсетей, основной протокол обмена в сетях фирмы Novell. IRIX Unix от фирмы SGI. IRQ Interrupt Request Query - номер запроса на прерывание, или номер преры- вания. ISDN Integrated Services Digital Network - цифровая сеть интегрированных служб, использующая цифровую передачу данных вместо аналоговой. ISR International Standard Recording - международный стандарт записи (для ком- пакт-дисков). irtt initial round trip time - время задержки, необходимое для посылки сетевого пакета по указанному адресу (см. команду ping) и возвращения пакета об- ратно. JBIG Joint Bi-Ievel Image experts Group - объединение группы экспертов по двух- уровневому изображению, разработавшее стандарт компрессии изображе- ния. Компрессия по стандарту JBIG характеризуется высокой эффективно- стью без потерь данных от компрессии и декомпрессии. JPEG Joint Photographic Expert Group - графический формат объединенной ipyn- пы фотоэкспертов: сжатый 24-битный цветной формат. kdm KDE display manager - менеджер дисплея KDE. LED light-emitting diode светодиод клавиатуры. LF line feed - перевод строки. LMA load memory address - адрес загрузки в память (программных секций). LSB least significant bit/byte - младший (последний) значащий бит/байт. LUN Logical Unit Number - номер логического устройства. LVM Logical Volume Manager менеджер логических томов. MD5 Message Digesting Algorithm - один из алгоритмов подписи сообщения от фирмы RSA Data Security, Inc. М DA Mail Delivery Agent - агент доставки электронной почты. MIME Multipurpose Internet Mail Extensions многоцелевые почтовые расшире- ния имен файлов в Internet, для сообщений, приходящих в формате, отлич- ном от ASCII. ММС MultiMedia Compact (Disk) - мультимедийный компакт-(диск). Один из проектов по разработке CD большой емкости для записи мультимедийных программ (аудио, видео, компьютерная информация) предложен фирмами Sony и Philips.
Приложения МО Machine Object - машинно-зависимый объект. Файл формата МО привязан к компьютеру определенной архитеюуры. MSB most significant bit/byte - старший значащий бит. MSS Maximum Segment Size - максимальный размер сегмента протокола TCP. MTU Maximum Transfer Unit максимальное количество байт (пакет), передава- емых в сети за раз. NFS Network File System - Сетевая Файловая Система. NIS/YP Network Information System - Сетевая Информационная Система, старое название YP - Yellow Pages - Желтые Страницы. Основана на RPC. NL newline - символ новой строки. NLM Netware Loadable Module - загружаем!» модуль Netware. NNTP Network News Transport Protocol сетевой протокол передачи новостей. NTP Network Time Protocol - протокол сетевого времени, с помощью которо- го в Internet производится синхронизация системного времени компьютера пользователя с системным временем сервера. OSI Open System Interconnection - взаимодействие открытых систем, модель струюуры сетевого программного обеспечения, которая легла в основу стандартов ISO. PBM Portable bitmap - графический формат: черно-белое переносимое растро- вое изображение. PCF Portable Compiled Format - графический переносимый откомпилирован- ный формат. PCI Peripheral Component Interconnect - подсоединение периферийных компо- нентов (устройств). PDF Portable Document Format - мобильный формат документа для формати- рованного текста и графики. PGID parent group identifier - идентификатор группы родительского процесса. PGM Portable graymap - графический формат: переносимое изображение в гра- дациях серого. PID process identifier - идентификатор процесса. PMA Program Memory Area - программная область, второй участок SUA на ком- пакт-диске. Для аудиотреков в РМА хранятся отметки начала и конца, а для дорожек данных адрес начального сектора. Это своего рода временное оглавление диска, которое используется до момента закрытия диска нлн сессии (сеанса). PO Portable Object - переносимый объект. Файл формата РО - это мобильный файл.
798 Приложения POP Post Office Protocol - протокол почтового отделения; письма хранятся на отдельном компьютере и извлекаются оттуда при чтении. Для пересылки и приема почтовых сообщений может использоваться sendmail, хотя суще- ствуют и другие варианты. PPID parent process identifier - идентификатор родительского процесса. PPM Portable pixmap format - графический формат: цветное переносимое раст- ровое изображение. PPP Point-to-Point Protocol - протокол точка-точка. Протокол канального уров- ня, предназначенный для передачи через каналы связи типа точка-точка па- кетов в формате других протоколов. Протокол РРР может использоваться для передачи через модемные линии связи и каналы ISDN. PSF файл в формате PostScript(file). RAID Redundant Array of Inexpensive Disks - массив недорогих дисков, на каж- дом из которых в целях надежности помимо собственной информации хра- нится дополнительная (избыточная) информация, позволяющая заменить любой другой диск этого массива. RAM Random Access Memory - запоминающее устройство с произвольной вы- боркой (оперативная память). RAMDAC чип, конвертирующий содержимое видеопамяти в аналоговые сигналы, по- сылаемые на монитор. RARP Reverse Address Resolution Protocol - протокол обратного разрешения ад- реса. По адресу Ethernet определяет соответствующий IP-адрес Исполь- зуется в процессе загрузки. RCS Revision Control System - система управления версиями. RFC Request for Comments - запрос комментариев. Набор документов, содер- жащих описание многочисленных стандартов, применяемых в Internet. RGB red, green, blue (красный, зеленый, синий) - формат спецификации, иденти- фицирующей цвет текстовых или графических элементов окна. RGID Real Group ID - реальный (подлинный) идентификатор группы. RIP Routing Information Protocol - протокол информации о маршрутизации. ROM read only memory - (см. ПЗУ). RPC Remote Procedure Call - дистанционный (удаленный) вызов процедур. RPM Red Hat Package Manager менеджер пакетов Red Hat Linux; является од- ной из наиболее известных систем управления программными пакетами в мире Linux. RR Rock Ridge - это расширение предоставляет длинные имена файлов и Unix- подобные символические ссылки (ISO9660).
Приложения RSA RSA-шифрование от фирмы RSA Labs, предполагает алгоритм асимметрич- ного шифрования с открытыми ключами. RSS Resident sei size - размер (Кбайт) реальной памяти, используемой процес- сом. RTC real time clock - часы реального времени. RUID Real User ID - реальный (подлинный) идентификатор пользователя. SAG Session At Once - сеанс записи (CD-ROM) за один проход, работает только с устройствами ММС. SCSI small computer system interface - системный интерфейс малых компьюте- ров, служит для подключения быстродействующих периферийных уст- ройств. SFM screen-font-map - таблица отображения шрифтов на экране. SGI Silicon Graphic, Inc. - американская фирма, разрабатывающая высокопро- изводительные графические системы и рабочие станции. SGID Set Group ID - установить идентификатор группы. Бит полномочий (анало- гичен SUID), включение которого дает программе все права группы, владе- ющей самим исполняемым файлом. SI International System of Units - международная система единиц измерения. SID Session ID - идентификатор сеанса. SLIP Serial Line Internet Protocol - протокол, предназначенный для передачи па- кетов IP через последовательную линию связи. SMP Symmetric Multi Processing - симметричное мультипроцессирование. SMTP Simple Mail Transfer Protocol - простой протокол передачи электронной почты. Система, основанная на этом протоколе, обычно напрямую соеди- няется с машиной получателя и передает данные непосредственно демону SMTP. SSH Secure Shell - оболочка безопасного соединения. SSL Secure Sockets Layer - протокол безопасности уровня сокетов. Протокол с шифровкой по ключу, разработанный компанией Netscape Communications для Web-серверов и для использования в браузере Netscape Navigator. SUA System Use Area - системная область, согласно спецификации Orange Book записываемые и перезаписываемые компакт-диски содержат две области: системную и информационную. По своему назначению аналогична загру- зочному сектору жесткого диска н занимает полоску шириной 4мм в са- мом начале диска. Эта область, в свою очередь, разделена на два участка, второй из которых называется РМА.
800 Приложения SUID Set User ID - установить идентификатор пользователя. Обычно владель- цем исполняющейся программы является тот, кто запустил ее на выполне- ние. Но, если включен бит полномочий SUID (см. команду chmod), вла- дельцем программы будет собственник исполняемого файла. SUN Sun MicroSystem, Inc. - американская фирма, выпускающая мощные гра- фические станции, кластерные системы. SUSP System Use Sharing Protocol - протокол раздельного использования в сис- темах, записи которого указываются протоколом обмена RR (Rock Ridge) Эта особенность применяется для того, чтобы позже описать файлы из фай- ловой системы ISO9660 для хоста Unix, предоставляя информацию по длин- ным именам, UID/GID, полномочиям, символическим ссылкам, блочным и символьным устройствам. TAB символ табуляции. TCP Transmission Control Protocol - протокол управления передачей потока дан- ных через IP. тех тип файлов системы teTeX. TELNET teletype network - сетевой телетайп, сетевой печатающий терминал (назва- ние с историческими корнями). Эта служба Internet создает терминальный сеанс на дистанционном компьютере, позволяя пользователям подключить- ся и выполнять команды так, будто они работают на упомянутом дистанци- онном компьютере локально. Однако в этом случае пользователям придет- ся вместо системы X Window работать в терминальной среде. TeX язык верстки системы teTeX. TIFF Tagged Image File Format. Графический формат: изображение с тегами (мет- ками). teTeX система верстки текстов. TOC Table Of Contents - таблица содержания, каталог (компакт-диска). TOS Type of Service - тип обслуживания (сервиса), поле в заголовке 1Р-пакета. TPI twisted-pair interface - интерфейс витой пары. TTL Time То Live - время жизни. Обязательное поле, включенное в заголовок IP-пакета (см. traceroute) tty Teletype - телетайп (устройство) и одноименная компания, начавшая много лет тому назад производить первые терминалы для Unix. В настоящее вре- мя данная аббревиатура подразумевает любой алфавитно-цифровой терми- нал. UART Univercal Asynchronous Receiver/Transmitter универсальный асинхронный приемопередатчик, или УАПП. Микросхемы типа Intel 8251, 16450 и др., преобразующие данные, поступающие по параллельным линиям, в данные, передаваемые последовательно, и наоборот.
Приложения gQ j UDP User Datagram Protocol - протокол пользовательских дейтаграмм. UID user identifier идентификатор пользователя. Unicode стандарт кодирования, предусматривающий шестнадцатиразрядную коди- ровку символов национальных языков, что упрощает реализацию алфави- тов, отличных от латинского. URL Uniform Resource Locator унифицированный локатор ресурсов. Usenet одна из крупнейших систем обмена новостями. Первоначально была осно- вана на использовании UUCP, однако сейчас для обмена новостями исполь- зуют разнообразные технологии. UTC Coordinated Universal Time - согласованное (правомочное) универсальное время. U U Unix-Unix (кодирование). UUCP Unix-Unix-Copy - система взаимодействия между Unix-машинами, вклю- чающая пересылку файлов, дистанционный запуск заданий, эмуляцию тер- минала. UUID universally unique identifier - повсеместно уникальный идентификатор. UWIN University of Washington Information Navigator - навигатор службы инфор- мации Вашингтонского университета. VM A virtual memory address - виртуальный адрес памяти (секций объектных фай- лов). WAIS Wide Area Information Service - глобальная информационная служба. WWW World Wide Web - всемирная паутина. X11 многооконная система (см. X). X Window многооконная система (см. X). ХВМ XII bitmap (file) - графический формат: черно-белый растровый файл XII. XDMCP XDisplay Manager Control Protocol - стандартный протокол управления Х-дисплеями. ________________ xntpd демон синхронизации времени с использованием сети и/или радиоприемни- ков. ______________________________________ ХРМ X Window system pixmap - графический формат: цветной растровый файл X Window. _____________ _____ YUV формат представления данных цветного видеоизображения: "яркость-цвет- ность синето-цветность красного". Здесь U и V — цветоразностные сигна- лы. Применяется в видеоклипах MPEG.
ouz Приложения Русскоязычные аббревиатуры БД база данных. МЛ магнитная лента. НГМД накопитель на гибких магнитных дисках. НМЛ накопитель на МЛ. ПЗУ постоянное запоминающее устройство компьютера. ЦП центральный процессор. Приложение VII Файлы, упомянутые в описаниях команд active - список всех групп новостей, принимаемых локальным сайтом. active.times - отражает хронологию создания групп новостей; этот файл обычно модифицируется innd, когда выполняется одна из команд ctlinnd под на- званием newgroup, создающая группу новостей. amd.conf - файл конфигурации программы автоматического монтирования по имени amd, содержит директивы для каждой опции командной строки. components - в этом файле (mh, xmh) содержится предварительная форма сооб- щения. conf/httpd.conf - файл конфигурации Web-сервера Apache. dead.letter - файл "умерших” писем, обычно располагается в исходном каталоге пользователя; может содержать частичные сообщения, которые попада- ют сюда в результате аварийных ситуаций. def keymap. тар - принятая по умолчанию во многих системах Linux таблица транс- ляции клавиатуры, используемая драйвером клавиатуры. distcomps - в системе nmh (xmh) этот файл, находящийся в пользовательском ката- логе, используется в качестве взятой по умолчанию формы почтового сообщения. Distfile - альтернативный файл конфигурации команды rdist. Применение файла distfile указывается с помощью флага -f, а иначе команда rdist осуществляет поиск файла Distfile в текущем каталоге. distfile _ файл конфигурации команды rdist. Он содержит все определения и правила (см. описание rdist), которые требуются команде rdist для правильного распространения ваших файлов. encodings.dir - список известных кодировок и файлов, где они хранятся. Всякий раз, когда открывается шрифт с неизвестным набором символов, этот файл считывается Х-сервером и сервером шрифтов.
Приложения S03 fetchmailrc файл конфигурации для fetchmail, fonts.alias - список псевдонимов (новых имен) существующих шрифтов fonts.dir файл с описаниями шрифтов, должен обязательно присутствовать в каж- дом каталоге со шрифтами по маршруту сервера шрифтов fonts.scale список масштабируемых шрифтов указанного каталога. forwcomps - пользовательский файл, обычно располагается в каталоге <mh-dir>; в нем хранится основа стандартного почтового сообщения (см. forw). fstab см. файл /etc/fstab. fs/fat/misc С — общепринятое имя файла (в конкретных версиях I inux фактическое имя может и отличаться), содержащего перечень общеизвестных рас- ширений имен двоичных файлов. ftpaccess - файл конфигурации, используемый демоном ftpd. Записи файла выглядят следующим образом: class <class> <typelist> caddrglob>[<addcglob>____________] При этом параметр class указывает класс пользователей с исходными ад- ресами в форме <addrglob>. С помощью <addrglob>, используя симво- лы замещения, можно указать имя домена или числовой адрес Параметр < typelist> — это список разделенных запятыми ключевых слов: anonymous (анонимный), guest (гость со специальным счетом) и real (разрешен доступ к реальным счетам). GNUmakefile - аналог файла makefile (см. команду make), gmon.sum - итоговый профиль (см. gprof). gmon.out - профиль выполнения программ (см. gprof) на языках С, Pascal или Fortran77. history - протокол команд оболочки. history протоколирует сведения о всех статьях, в настоящее время хранящихся в службе новостей, а также и о тех, которые были ранее получены, но уже устарели. (makefile - временный входной файл для ерр (см. imake). Imakefile.C - см. файл Imakefile. Imake.tmpl - главный файл с образцом (шаблоном) для imake. inbOX - почтовая папка, принятая по умолчанию в ряде почтовых программ (на- пример xmh и др.). incoming.conf - содержит имена и адреса тех, кто подпитывает нас новостями, innfeed — каталог для собственных файлов регистрации npoi раммы inufeed. innfeed conf — файл конфи! урации программы (команды) inufeed. в котором описа- ны поддерживаемые сетевые узлы.
dU4 Приложен» innfeed.pid файл, в который innfeed записывает РЮ своего процесса. innfeed.status - файл регистрации состояния по каждому узлу и обработки в целом; заполняется программой innfeed. inn .COnf - конфигурационный файл для программ InterNetNews; каждая из строк фай- ла содержит имя, двоеточие, необязательные символы whitespace (про- белы, символы табуляции), некоторое значение; в этом файле может быть описано несколько десятков параметров InterNetNews. keymaps - это файлы, используемые loadkeys для модификации таблиц трансляции, применяемых драйвером клавиатуры (драйвер ядра); файлы генерируют- ся dumpkeys из этих таблиц трансляции. keysymdef.h - список имен кодов символов клавиатуры программы xmodmap. Может находиться в каталоге /usr/XHR6/include/Xll. Id .SO - динамический компоновщик для исполняемых файлов a.out; обычно заг- ружает разделяемые библиотеки. Id-linux.SO - динамический компоновщик для исполняемых файлов ELF; обычно за- гружает разделяемые библиотеки. lex.yy.C в этот файл записывается программа-сканер на языке С, сгенерированная flex. linux/fs/filesystems.c - общепринятое имя файла (в конкретных версиях Linux фак- тическое имя может и отличаться), содержащего перечень поддержива- емых типов файловых систем. lost+found - каждый раздел диска имеет такой каталог для сохранения "потерянных" файлов. lynx.cfg - файл конфигурации браузера WWW под названием lynx. Mail - подкаталог (по умолчанию) исходного каталога пользователя для почто- вых папок системы xmh (mh). mail - каталог (по умолчанию) для почтовых папок. mailcap - файл обычно содержит два столбца, в первом из которых через наклон- ную черту задается пара вид/подвид, описывающая тип MIME-сообще- ния, во втором столбце через пробелы перечисляются расширения имен файлов. Makefile - аналог файла makefile (см. make). makefile - описывает отношения между файлами программы и командами модифика- ции каждого из этих файлов. minicom. users - список пользователей, которым разрешен доступ к программе minicom и ее файлам конфигурации. modules.dep - файл зависимостей, с помощью которого осуществляется автома- тическая <агрузка всех основных модулей ядра
Приложения newsfeeds хранит описания узлов, куда вы отправляете новости; позволяет постро- ить специальные списки приемлемых групп новостей для каждого узла, который вы снабжаете новостями. nnrp access - файл, определяющий доступ для читателей тех NNTP-сайтов, кото- рые не поддерживаются главным демоном службы InterNetNews под на- званием innd, как только демон первый раз порождает nnrpd, последний считывает этот файл. nntpsend.Ctl - список сайтов, подпитываемых статьями новостей через nntpsend. nohup.Out — файл, в который команда nohup перенаправляет стандартный вывод и файл ошибок. Overview.ctl - файл конфигурации для унифицированного просмотра обзоров статей; состоит из набора текстовых строк, в каждой из которых хранится индекс (от 1до 255) и шаблон группы новостей. Overview.fmt — указывает формат организации БД обзоров новостей; если этот файл меняется, после удаления всех существующих обзорных файлов прихо- дится перестраивать существующую базу обзоров, используя expireover; формат БД, как правило, предусматривает следующие поля: тема, откуда пришла статья, дата, идентификатор пришедшего сообщения, ссылки, размер статьи (байты), количество строк. overview.index - индекс статей БД обзоров новостей. passwd.nntp - участвует в аутентификации клиентов, подключаемых к серверам NNTP; содержит триплеты вида имя_узла - имя_пользователя - пароль. pine.conf — системный конфигурационный файл для pine. printcap см. /etc/printcap quota, group — файл квотируемых групп, должен обязательно присутствовать в кор- невом каталоге той файловой системы, для которой определены квоты. quota.h — текстовый файл, в котором можно снять комментарий с нужной строки, чтобы задействовать подходящие (они пойдут по умолчанию) квоты. quota.user — файл квотируемых пользователей, должен обязательно присутство- вать в корневом каталоге той файловой системы, для которой определе- ны квоты. rgb.txt - БД RGB-имен цветов. Обычно находится в каталоге /usr/XHR6/lib/Xll. sudoers см. /etc/sudoers systemdict - системный словарь. tags - файл, предварительно построенный ctags, для редактирования оригиналь- ного файла. termcap см. файл /etc/termcap
«ио Прилсжчьмя terminfo - БД описаний терминалов: особенности, указания по выполнению экран- ных операций, символы-заполнители, управляющие последовательности troffrc _ файл инициализации troff (системы форматирования документов) userdict — пользовательский словарь. Utmp см. файл /var/run/utmp. wtmp - файл регистрации пользователей. XF86Config - файл конфигурации, используемый серверами системы X Window, по- дробнее см. /etc/Xll/XF86Config XKeysymDB - БД кодов символов клавиатуры для утилиты xmodmap. Может нахо- диться в каталоге /usr/XllR6/lib/Xlt Xservers — этот файл содержит по строке описания на каждый дисплей (не экран) локальной машины. В этих строках содержатся команды запуска Х-сервера на локальном дисплее. Xsetup_O - сценарий, содержащий перечень программ, которые запускаются при стар- те X. Обычно файл сценария находится в каталоге /usr/XHR6/lib/Xll/ xdm. xdm-config - файл конфигурации менеджера xdm системы X; менеджер дисплея, xdm, использует описания необходимых для запуска ресурсов. xferlog - журнал регистрации FTP-сервера. Обычно располагается в каталоге /usr/adm. Содержит подробные сведения о передаваемых файлах: время начала пересылки и ее продолжительность, направление передачи, размер файла, метод аутентификации и многое другое. xinitrc - содержит команды запуска выбранных пользователем клиентов системы X. xserverrc - файл инициализации, который содержит параметры запускаемого серве- ра системы X. /boot - каталог, содержащий загружаемое ядро и образ псевдодиска для RAID-устройств и SCSI-устройств. /boot/map - в этом файле содержится список ядер операционных систем и их мес- тонахождение. Необходим загрузчику LILO. /dev/log - специальное устройство регистрации, используемое ядром Unix и боль- шинством приложений, выполняющих регистрацию посредством syslog. /dev/mixer - файл микширующего устройства. /dev/null - файл псевдоустройства (нулевого устройства). Такое устройство полезно при отладке: скажем, позволяет выводить информационные потоки фик- тивно, а не в действительности. /dev/rmtO - файл НМЛ.
Приложения 897 /etC/at.allow - список пользователей, которым разрешен доступ к at и batch /etc/at.deny список пользователей, которым запрещен доступ к at и batch, /etc/aumixrc — файл, содержащий настройки микшера. /etc/cd record СОПТ — файл конфиг урации в котором могут быть установлены при- нятые по умолчанию значения некоторых переменных, имеющих отно- шение к записывающим устройствам CD на реальном или имитируемом SCSI-интерфейсе. /etC/COnfig/init - файл с параметрами запуска сервера X. /etC/COnf.getty — конфигурационный файл, используемый getty, чтобы установить некоторые параметры времени выполнения. /etc/conf.modules - файл конфигурации для загрузки модулей ядра. /etc/crontab - содержит инструкции для демона стоп, указывающие, какие коман- ды и когда следует запустить. /etc/diphosts - строки содержимого напоминают файл паролей и применяются для определения IP-адреса узла, используемого для входящего вызова неко- торого пользователя. /etc/dumpdates - содержит записи дат копирования (резервирования) информации. /etc/ethers - список оборудования Ethernet; каждая строка файла содержит Ethernet-адрес (48бит) и соответствующий ему 1Р-адрес. /etc/exports — перечень экспортируемых файловых систем и тех клиентов, которым они доступны. /etc/fstab - содержит статическую информацию о файловых системах. /etc/gettydefs - БД параметров терминальной линии передачи информации. /etc/group - содержит полный список имеющихся групп, их идентификаторы и паро- ли, а также перечень пользователей, входящих в состав каждой из этих групп. /etc/gshadOW - файл теневых паролей групп. /etc/hOStS - содержит набор строк, в каждой из которых указан IP-адрес, имя соот- ветствующего узла и необязательный псевдоним. Если вы не собирае- тесь использовать для определения имен службы DNS или NISA Р. не- обходимо поместить все имена узлов вашей cent в этот файл. /etc/hosts.allow - содержимое этого файла призвано санкционировать доступ узлов сети к затребованным сетевым службам. Файл содержит перечень имен демонов сетевых процессов и клиентов, последние представлены к к имена или адреса узлов, запрашивающих эти сетевые процессы тоАы узел получил запрашиваемую сетевую услугу, необхе шмо. чтооы в этом файле была определена соответствующая пара: демоп'клиент.
808 Приложения /etc/hosts.equiv — на дистанционном сервере этот конфигурационный файл управ- ляет доступом к нему и содержит строки доверительных хостов и пользо- вателей в следующем формате: hostname (username] Здесь hostname - это имя хоста, с кот орого разрешается дистанционная регистрация без пароля, a username - необязательное имя пользователя, которому разрешено регистрироваться с данного хоста. Для одного хос- та может быть указано несколько имен пользователей, а если они не ука- заны, значит регистрироваться без пароля разрешено всем пользовате- лям данного хоста. Единственным требованием для применения г-команд является соблюдение идентичности идентификаторов пользователей (UID) на обеих машинах. Для указания любого хоста или пользователя может быть использован знак плюс в полях имен хостов и пользователей и знак минус - для отказа в доступе с конкретного хоста или определен- ному пользователю. Правила доступа, указанные в файле/etc/hosts.equiv, распространяются на всех пользователей данной машины. Для дополни- тельной безопасности файл /etc/hosts.equiv должен принадлежать супер- пользователю. /etc/inetd.conf - файл конфигурации суперсервера Internet (см. inetd;. /etc/initscript — сценарий, используемый главным процессом init для выполнения команд из файла /etc/inittab. /etc/inittab содержит описания процессов, стартующих во время загрузки опера- ционной системы на указанном уровне (0-6) выполнения. /etc/iptOS - список символических имен типов IP-сервиса, если система это поддер- живает. /etc/issue net - текстовый файл, переменные которого определяют, что следует печатать в сеансе TELNET еще до вывода приглашения регистрации. /etc/ld.SO.COnf - список каталогов для поиска разделяемых (совместно использу- емых) библиотек. /etc/ld .SO.cache - упорядоченный список библиотек, найденных в каталогах, пере- численных в файле /etc/ld.so.conf. /etc/lilo.conf - файл конфигурации загрузчика LILO. /etc/localtime - файл, с помощью которого назначается часовой пояс системы. /etc/login defs - в этом файле определен максимальный срок существования паро- ля, минимальный срок между изменениями пароля, минимальная длина пароля, а также срок, начиная с которого выдаются предупреждения о скором истечении времени действия пароля. В нем еще указываются ми- нимальные и максимальные значения, автоматически выбираемые в ка- честве UID и GID.
Приложения 809 /etc/logrotate.conf - файл конфигурации утилиты logrotate. Информация, относя- гцаяся к каждому журналу и правилам его ротации, по умолчанию хранит- ся в этом файле. /etc/mail.rc файл конфигурации почтовой программы mail; обычно содержит на- бор бинарных опций (см. mail), используется также и команды mailto. /etc/minirc.dfl - файл конфигурации программы minicom. /etc/modllles.conf - необязательный файл конфигурации, содержащий список ка- талогов для поиска загружаемых модулей ядра. /etc/mtab - список текущих смонтированных файловых систем. /etc/named.boot — конфигурационный файл, содержит информацию, необходимую named для работы. В этом файле обязательно встретятся команды cache и primary. Первая из команд предписывает загрузить атрибуты корнево- го сервера имен из приведенного кэш-файла. Команда primary загружа- ет информацию о зоне для данного домена из указанного мастер-файла. /etc/nmh/components - в этом файле хранится стандартная форма почтового сообщения. /etC/nmh/forwcomps - системный файл, хранящий основу стандартного почтово- го сообщения (см. forw). /etc/по - этот файл создается командой shutdown в случае отсроченного заверше- ния работы системы и запрещает программам, таким, как login, регист- рировать новых пользователей. /etc/passwd - файл паролей, содержит полезную информацию для каждого из сче- тов: идентификаторы пользователя и группы, исходная оболочка, шиф- рованный пароль. /etc/printcap - каждый элемент этой БД описывает один принтер. /etc/procmailrc — системный файл инициализации почтового процессора procmail, /etc/profile - системный профиль; интерактивная регистрирующая оболочка bash в первую очередь выполняет команды из этого файла инициализации. /etc/protocols — ASCII-файл, описывающий стек протоколов TCP/IP; каждая стро- ка содержит наименование протокола, его официальный номер и псевдо- ним. /etc/raidtab - принятый по умолчанию файл конфигурации для RAID-инструментов (программа raidstart, raidadd и др.). /etC/rc[O-6].d - иерархия каталогов (конкретный номер в конце имени определяет уровень выполнения, или функционирования), содержащих многочислен- ные ссылки на системные службы конкретного уровня. /etc/ГС. d/init.d - каталог, содержащий полный перечень служб (сценариев) данной системы.
810 ' 1рит*.жет»..1 /etc/rc.d/rc.local см. файл letc/rc.local. /etc/ГС.d/rc.sysinit - один из основных системных сценариев. Когда стартует Linux, процесс init выполняет сценарий /etc/rc.d/rc.sysinit, который, в свою оче- оедь, выполняет самые разные сценарии. /etc/rc. local - выполняется после других системных сценариев инициализации; ваш собственный сценарий в стиле сценариев System V. /etc/rc.serial — вызывается во время обычной загрузки системы из сценария /etc/ rc.d/rc.sysinit. Соответствующую строку с командой setserial можно поместить в сценарий /etc/rc.serial или создать файл сценария. /etc/resolv.conf - в этом файле хранятся адреса серверов имен. /etc/rsyncd.conf - файл конфигурации, считываемый демоном пакета rsync (дис- танционное копирование файлов). /etc/securetty — содержит список имен терминальных устройств, на которых разре- шено регистрироваться суперпользователю. В каждой строке файла опи- сано одно устройство без префикса /dev/. /etc/services - перечень символьных имен сетевых служб. /etc/shadow - файл теневых паролей пользователей. Содержит шифрованные паро- ли для счетов пользователей и необязательную информацию о сроке действия ("время жизни”) паролей, /etc/share/magic - содержит описания существующих форматов файлов. /etc/shells - список доступных пользователю оболочек. /etc/shutdown.allow - список пользователей, которым разрешено закрывать сис- тему, корректно завершая ее работу. /etc/skel - каталог-образец, содержащий каталоги и файлы инициализации для ис- ходных каталогов пользователей. /etc/ssh/ssh._config - общесистемный файл конфигурации ssh. /etc/sudoers - файл конфигурации утилиты sudo. /etc/sysconfig - в этом каталоге находятся файлы, содержащие информацию по разным сетевым интерфейсам. /etc/sysconfig/hwconf - БД описаний устройств (шина, винчестеры, видеосисте- ма и т.д.). /etc/sysconfig/keyboard - файл, содержащий имя таблицы преобразования кла- виатуры, а также тип клавиатуры. /etc/sysconfig/network - в этом файле в переменной HOSTNAMF хранится имя вашего сетевого узла. /etc/sysconfig/network scripts каталог, содержащий сценарии запуска сете- вых интерфейсов.
Приложения /etc/sysctl conf - загружает из этого файла установки для команды sysctl, позво- ляющей отображать и менять во время выполнения параметры ядра. /etc/syslog.conf - файл конфигурации сервера syslogd, состоящий из пар селекто- ров и действий. Позволяет определить действия, которые следует вы- полнить относительно конкретных сообщений /etc/termcap - БД указателей типов терминалов. /etc/usertty - файл, содержащий дополнительные ограничения для пользователя в части занимаемых терминалов; используется в целях безопасности. /etc/utmp - системный файл, в котором регистрируются те, кто использует систему: пользователи и программы (команды). /etc/xi 1/fs/config - файл конфшурации для сервера шрифтов системы X. /etc/X11/gdm/gdm.conf - файл конфигурации менеджера дисплея под названием gdm из системы GNOME. /etc/X11/XF86Config - файл конфигурации системы X, содержащий секции описа- ния монитора, мыши, клавиатуры, Х-серверов (см. приложение IV). /fastboot - файл, создаваемый в корневом каталоге командой shutdown, использу- ется при быстрой перезагрузке системы, после чего удаляется. /forcefsck файл, создаваемый в корневом каталоге командой shutdown, использу- ется при перезагрузке с обязательной проверкой состояния файловой сис- темы с помощью fsck, после чего удаляется. /lib/modules - в этом каталоге располагаются другие подкаталоги, не зависящие от версии ядра. /ргОС - файловая псевдосистема, используемая как интерфейс к структурам дан- ных ядра /proc/bus/pci - файл, содержащий информацию по шине PCI. Содержит подката- логи с файлами конфигурации на каждую плату и файл устройств со спис- ком всех устройств PCI. /proc/ksyms — содержит определения экспортируемых идентификаторов ядра, ис- пользуемых инструментами, которые динамически компонуют и связы- вают загружаемые модули ядра.____________________ /proc/partitions — в этом файле перечислены имена устройств, их главные и допол- нительные номера, а также занимаемое количество блоков. /ргОС/Stat - файл устройства для получения статистической информации. /proc/swaps - содержит информацию об областях (файлах) своппинга вашей сис- темы. /sbin/update файл выполняет запуск демона bdflush. /usr/dict/web2 альтернативный словарь, используемый вместо /usr/dict/words. /usr/dict/words - системный орфографический словарь английского языка.
812 Приложения /usr/doc/at-3.1 7/timespeC - в файле с аналогичным названием можно найти спе- цификацию времени. /usr/include/linux/signal.h - список наименований сигналов. /usr/include/sys/mtio.h - в этом файле содержатся структуры и определения ко- манд ввода/вывода для НМЛ, константы, определяющие тип магнитной ленты, и пр. /usr/lib/groff/tmac - каталог, где обычно хранятся макроопределения groff. /usr/lib/kbd/consolefonts - по умолчанию используется в качестве каталога для хранения шрифтов. /usr/lib/kbd/consoletrans - по умолчанию используется в качестве каталога для хранения АСМ и SFM (см. consolechars). /usr/lib/kbd/keymaps/i386/qwerty - каталог, в котором хранятся различные таб- лицы отображения клавиатуры (для разных стран). /usr/lib/X11 /fonts - каталог шрифтов X. /usr/lib/X11/rgb.txt - список допускаемых наименований цветов в формате RGB (red, green, blue - красный, зеленый и голубой ), см. приложение III. /usr/share/hwdata/pci.ids - БД с идентификаторами PCI-устройств, включая про- изводителей, устройства, классы и подклассы устройств. /usr/share/magic см. файл /etc/magic. /usr/share/zoneinfo — каталог, под которым расположена БД часовых поясов. /usr/spool/news — в большинстве систем Linux выступает в качестве спул-катало- га новостей, если только не используется NNTP. /usr/src/linux/drivers/char/defkeymap.c - этот файл автоматически генериру- ется loadkeys, он указывает привязки клавиш, которые используются по умолчанию. /usr/X11R6/lib/X11/CardS - БД доступных видеокарт для всех четырех типов серверов X (см. приложение IV). Каждое описание поименованной видео- карты содержит обязательные описания чипсета и одного из серверов, для которого предназначается конкретная карта. /var/lib/logrotate/status - принятый по умолчанию в Red Hat Linux файл состоя- ния утилиты logrotate. Чтобы сохранить промежуточное состояние между запусками, logrotate сохраняет время последней ротации каждого жур- нала в файле состояния. Файл состояния гарантирует, что logrotate не будет выполнять смену журналов чаще одного раза в день, чтобы сис- темный администратор не сделал это случайно еще раз. /var/lib/news/active - этот файл в большинстве систем выступает в качестве фай- ла active (см. выше), если только не используется NNTP. /var/lock/minicom — местоположение (желательное) lock файла программы minicom.
Приложения /var/log/btrnp - БД, содержащая информацию о безуспешных попытках регистра- цин в системе. /var/log/messages в этом файле ОС регистрирует основную часть своей инфор- мации. /var/log/sa - каталог учетных файлов. /var/log/sa/sac/c/ —файл, куда накапливаются ежедневные учетные записи програм- мы sar, здесь dd - день месяца. /var/log/sa/sardd-файл, куда накапливаются учетные записи программы sa2, здесь dd - день месяца. /var/Iog/wtmp - содержит записи logins/logouts о регистрации и выходе пользова- телей из системы. /var/run/utmp - содержит информацию о всех (пользователях или программах), использующих систему в настоящее время. /var/spool/cron — в этом каталоге содержатся пользовательские файлы crontab (см. файл /etc/crontab). /var/spool/lpd/lp — каталог спула (временных файлов) печати, принятый по умол- чанию. /var/SpOOl/mail/L/sername — принятое по умолчанию имя файла, который содер- жит список поступлений почты; username — имя пользователя, задавае- мое при регистрации. /var/spool/mail/хххх — папка, принятая по умолчанию, для входящей почты. /var/Spool/news/, news - спул-каталог новостей (см. tin). /var/state/nfs/rmtab ~ содержит набор временных элементов, содержащих ин- формацию по запросам на монтирование. Эти элементы удаляются при демонтировании. .addressbook - адресная книга (см. pine). .addressbook, lu - индексный файл для адресной книги (см. pine). .aumixrc - файл, содержащий настройки аудиомикшера. .bashГС — когда запускается нерегистрирующая интерактивная оболочка, bash считы- вает и выполняет команды из этого файла. .bash login - bash считывает и выполняет команды из этого файла после обработки .bash_profile. .bash logout — считывает и выполняет команды из этого файла при выходе из bash. .bash profile — считывает и выполняет команды из этого файла после обработки /etc/profile. . cvsrc - файл инициализации системы CVS. .expect.ГС персональный файл инициализации для команды expect.
814 Приложения .fetchids - в файле, используемом fetchmail, хранятся идентификаторы пользовате- лей (при подключении по протоколу POP3). forward - такие файлы управляют доставкой сообщений (см. fetchmail и др.). .gdbinit файл инициализации, содержащий команды отладчика GDB (см. gdb). . lynxrc персональный файл инициализации браузера lynx. .mailcap - см. файл mailcap. mh_profile - каждый пользователь nmh (xmh), мощной почтовой системы, должен иметь в своем исходном каталоге этот профиль. В нем содержится набор пользовательских параметров, применяемых семейством программ xmh. .mkisofsrc - файл конфигурации программы mkisofs. . netre файл конфигурации, используемый ftp, обычно располагается в исходном каталоге пользователя, его местоположение по умолчанию задается пе- ременной НОМЕ. . newsrc - файл описания состояния групп новостей. .nslookuprc - пользовательский файл инициализации для iislookup, содержит на- чальные опции. . pinerc - персональный пользовательский файл конфигурации для программы pine. .pine-debug - в этот файл pine заносит свои отладочные диагностические сообще- ния. plan - этот файл пользователь может создать в своем исходном каталоге, чтобы добираться к информации программы finger. procmailrc - файл инициализации почтового процессора procmail из исходного каталога пользователя. .profile - оболочка bash считывает и выполняет команды из этого файла после обра- ботки .bashjogin. .pullnews — файл конфигурации для pullnews, обычно располагается в исходном ка- талоге пользователя; описывает входящие узлы подключений и группы новостей, от которых будут получены статьи. .rhosts — этот конфигурационный файл на дистанционном сервере управляет досту- пом к нему и содержит строки доверительных хостов и пользователей в следующем формате: hostname [username] Здесь hostname - это имя хоста, с которого разрешается дистанционная регистрация без пароля, a username - необязательное имя пользователя, которому разрешено регистрироваться с данного хоста. Файл .rhosts. на- ходящийся в исходном (домашнем) каталоге пользователя, управляет лишь доступом к конкретной учетной записи. Для дополнительной безо- пасности файл .rhosts должен принадлежа! ь пользователю, пытающему- ся получить доступ.
Приложения 815 •SIGNATURE - файл, содержащий подпись в MIME-формате (нетекстовая подпись; .Signature - файл, содержащий текстовую подпись. .SSh/config — пользовательский файл конфигурации ssh. .ssh/identity - удостоверяет личность пользователя по протоколу RSA версии 1. По умолчанию этот файл предлагается для секретного ключа. Этот файл не может быть прочтен никем другим кроме данного пользователя. .SSh/id_dsa - удостоверяет личность пользователя по протоколу DSA версии 2. По умолчанию этот файл предлагается для секретного ключа. Этот файл не может быть прочтен никем другим кроме данного пользователя. ,ssh/id_rsa - удостоверяет личность пользователя по протоколу RSA версии 2. По умолчанию этот файл предлагается для секретного ключа. Этот файл не может быть прочтен никем другим кроме данного пользователя. .telnetrc — пользовательский файл инициализации для telnet сеансо! .tin/.news - каталог для хранения индексных файлов группы новостей (см. tin). .toprc - файл конфигурации команды top. Xdefaults - в этом файле исходного каталога пользователя содержатся все ресурсы главного окна RESOURCE MANAGER. С помощью опции -load (см. xrdb) можно наполнить этот файл. .XPaintrC - файл инициализации программы xpaint .Xresources - файл ресурсов системы X (см. xrdb), обычно находится в вашем ис- ходном каталоге .Xinitrc — файл из исходного каталога пользователя, см. файл xinitrc. .xmodmaprc — файл инициализации утилиты xmodmap, обычно находится в исход- ном каталоге пользователя. Содержит выражения, предназначенные для исполнения .xserverrc - файл из исходного каталога пользователя, см. файл xserverrc. Приложение VIII Перечень команд с кратким описанием их функций ас - выводит статистику о продолжительности подключения пользователей к системе. access - определяет, доступен ли файл. addr2line - конвертирует программные адреса в имена файлов и номера строк. adduser — псевдоним команды useradd. adjtimex - выводит или устанавливает временные переменные ядра.
816 Приложения alias назначает псевдоним для длинной команды. amd автоматически монтирует файловые системы. amq инструмент, запрашивающий автоматическое монтирование. anacron - периодически запускает команды на машинах, которые не работают по- стоянно. animate - демонстрирует последовательность изображений на компьютерах под XII. answer - система транскрипции телефонных сообщений. appres дает список ресурсов системы X. apropos исследует базу данных whatis по ключевым словам. ar утилита упаковки. arch выводит тип (архитектуру) аппаратной платформы компьютера. arp манипулирует системным кэшем ARP. as вызов мобильного ассемблера GNU. asepu монитор загрузки ЦП, входящий в состав менеджера окон AfterStep. ash вызов оболочки. asload монитор загрузки ЦП, входящий в состав менеджера окон AfterStep. at планирует задания для последующего выполнения. atobm утилита конвертирования для системы X Window. atq выводит список заданий, поставленных в очередь командами at и batch. atrm удаляет задания из очереди запланированных заданий. audiOCOmpose - создает аудиофрагмент для включения в почтовое сообщение. audiosend - посылает звуковое сообщение по электронной почте. aumix регулирует установки аудиомикшера. autofs управляющий сценарий для автомонтирования. automount - конфигурирует точки монтирования для autofs. awk см. команду gawk. badblocks поиск "плохих” блоков на диске. banner - вывод заголовка. basename извлекает компоненты из полного имени файла, оставляя собственно имя файла. bash осуществляет запуск оболочки, или командного процессора GNU Bourne-Again Shell.
Приложения batch - выполняет последовательность запланированных команд batcher — готовит пакеты новостей для указанного узла сети. be - выполняет вычисления с произвольной точностью. bdflush - демон ядра, сбрасывающий содержимое грязных буферов на диск. bdftopcf - конвертирует шрифты формата BDF в формат PCF. bg запускает прерванный процесс в фоновом режиме. bison генерирует синтаксические анализаторы. bitmap - редактор монохромных растровых изображений в системе X window. bmptoppm - конвертирует ВМР-файл Microsoft Windows или OS/2 в мобильный pixmap. bmtoa утилита конвертирования для системы X Window. buffchan - буферизованный интерфейс для InterNetNews, осуществляющий запись в файлы. bunzip2 производит распаковку файлов. bzcat - распаковывает файлы и выводит результаты на стандартный вывод. bzip2 - утилита упаковки файлов. bzip2recover - восстанавливает информацию поврежденных архивных файлов, ра- нее упакованных утилитой bzip2. c++filt - преобразует символы C++. cal — выводит календарь. cat - конкатенирует (объединяет) файлы и направляет их на стандартный вы- вод. CCCp или Срр — запуск препроцессора, используемого компилятором С перед компи- ляцией программы. cdp - интерактивная программа для управления и воспроизведения аудио ком- пакт-дисков под Linux. cdrecord — выполняет запись информации или аудиоданных на компакт-диски. chage меняет информацию, связанную с паролем пользователя. chat автоматизирует взаимодействие компьютера с модемом. chattr - меняет атрибуты файла второй расширенной файловой системы Linux. chfn — меняет информацию о пользователе. Chgrp — переназначает группу для файлов и каталогов. chkconfig - управляет запуском системных служб и устанавливает уровень их ф) нк- ционирования.
818 Приложения Chkfontpath - упрощенный интерфейс для добавления, удаления и просмотра катало- гов со шрифтами по маршруту сервера шрифтов системы X. chmod - меняет полномочия на файлы и каталоги. chown меняет владельца файла или каталога, а также группу, к которой он при- надлежит. chroot - запускает программу или интерактивную оболочку, определив нестандар- тный корневой каталог системы. chsh меняет оболочку, или командный процессор. ci обновляет RCS-файл, создавая новые версии. cksum подсчитывает контрольную сумму и количество байт в файле. clear очищает экран вашего терминала. cmp сравнивает два файла. co проверяет RCS-версии. colcrt фильтр, позволяющий просматривать на экране дисплея выходные файлы nroff. colrm удаляет столбцы из файла. column - форматирует вводимую информацию. combine - создает комбинации изображений. comm выполняет построчное сравнение двух отсортированных файлов. comp создает сообщение для отправки по электронной почте. composite — создает смесь изображений. compress - - сжимает (подвергает компрессии) данные. consolechars - загружает экранные шрифты для EGA/VGA консоли. convert - преобразует графические файлы одного формата в графические файлы такого же или другого формата. ср копирует файлы. cpio копирует файлы в архив и обратно. cproto - генерирует прототипы функций языка С и преобразует определения ф> нк- ций. cron демон, выполняющий запланированные команды. crontab - обслуживает crontab-файлы пользователей. crosspost создает ссылки на перекрестно отправляемые статьи. cryptdir - производит шифрование всех файлов заданного каталога. csplit разбивает файл на части.
Приложения 819 Ctags (etags) - генерирует файлы тегов для исходных кодов. Ctlinnd - управляет сервером InterNetNews. Ctrlaltdel - устанавливается последовательность действий, аналогичных тем, кото- рые возникают при нажа тии клавиш Ctrl+Alt+Del. CU - устанавливает соединение с другой системой. cut - записывает на стандартный вывод выбранные части строк каждого задан- ного файла. CVS ос; ществляет управление версиями cvtbatch - конвертирует пакетные файлы Usenet в формат INN. Cxpm - осуществляет проверку файла формата ХРМ. date распечатывает и устанавливает системную дату и время, d d копирует файл, выполняя указанные преобразования, debugfs отладчик файловой системы ext2. debt igreiserfs - помогает разрешать проблемы, связанные с файловыми системами ReiserFS. decryptdir - выполняет дешифрирование всех файлов каталога. depmod - поддерживает описания зависимостей для загружаемых модулей ядра. df - выводит количество используемого и доступного дискового простран- ства в файловых системах. dialog - позволяет создавать диалоговые окна из сценариев оболочек. diff сравнивает содержимое двух файлов. diff3 - производит сравнение трех файлов. dip — программа поддержки IP- подключений по телефонным каналам, display - выводит изображение на любой экран рабочей станции под Х-сервером. dist - пересылает сообщение по дополнительным адресам. dmesg — распечатывает сообщения которые отображались в процессе начальной загрузки. dnsdomainname - выводит для текущего узла доменное имя DNS. domainname - устанавливает для текущего узла доменное имя службы NIS. du - выводит количество дискового пространства, используемого указанным файлом или каталогом. dump - создает резервную копию файловой системы ext2. dumpe2fs - выводит дамп, содержащий информацию о файловой системе, dumpkeys - выводит информацию о драйвере клавиатуры и о самой клавиатуре.
820 Приложения e2fsck проверяет вторую расширенную файловую систему Linux. e2image - сохраняет в файле критичные данные файловой системы ext2/ext3. echo записывает заданные строки на стандартный вывод. ed (red) - вызывает строковый редактор. edquota - редактирует пользовательские квоты. egrep одна из разновидностей команды grep, работающая с расширенными ре- гулярными выражениями. eject "выбрасывает" носители информации из устройств. elm интерактивная почтовая система. emacs запускает известнейший редактор GNU Emacs. env выполняет команду в измененном окружении. etags см. команду ctags. ex см. команду vim. expand - выводит содержимое указанных файлов, преобразуя символы табуляции в пробелы. expect запускает программируемый диалог с интерактивной программой. expire программа, оформляющая удаление статей новостей Usenet с истекшим сроком хранения. expireindex - удаляет элементы из индекса обзора новостей. expireover в связи с истечением срока хранения удаляет элементы из БД обзоров. expirerm - удаляет статьи с истекшим сроком хранения. expr вычисляет выражение. fastmail - быстрый почтовый интерфейс в пакетном режиме. fastrm служит для быстрого удаления набора файлов. fdformat - выполняет низкоуровневое форматирование гибких дисков. fdisk манипулирует таблицей разделов жесткого диска для Linux. fetchmail (fetchmailconf) - выбирает почту с серверов POP, IMAP или ETRN fetchmailconf см. команду fetchmail. fg запускает прерванный процесс в режиме переднего плана. fgrep одна из разновидностей поисковой команды grep. file определяет тип указанного файла. filechan - буферизованный интерфейс для InterNetNews, осуществляющий запись в файлы.
Приложения find производит поиск файлов в дереве каталогов. finger программа получения информации о пользователе. flex ускоренный генератор программ лексического анализа. fmt форматирует текстовые файлы. fold преобразует каждую входную строку файла в соответствии с указанной шириной. formail - форматирует (реформатирует) информацию в формат почтового ящика. forw пересылает перепорученные сообщения. free информирует об использовании памяти в системе. frm (nfrm) - выводит список тем и отправителей почтовых сообщений, находящихся в вашем почтовом ящике. fsck проверяет и исправляет файловую систему Linux. fsinfo выводит информацию о сервере шрифтов системы X. fslsfonts - выводит список шрифтов, поддерживаемых сервером шрифтов системы X. fstobdf - преобразует шрифт, полученный с сервера шрифтов системы X, в BDF- формат. ftp (pftp) - программа передачи файлов в IP-сетях. ftpcount - показывает текущее количество пользователей FTP-сервера. ftpd запускает демон Internet-сервера на протоколе FTP. ftpshut - закрывает FTP-сервер в указанное время. ftpwho - показывает текущий статус каждого FTP-пользователя. funzip фильтр, используемый в конвейере, для извлечения компонентов из ZIP- архива. fuser идентифицирует процессы, использующие указанные файлы или сокеты. g++ см. команду gcc. gawk GNU-версия языка программирования AWK. gcc (g++) - компилятор GNU языков программирования С н C++. gdb - вызывает отладчик GNU. gdm - менеджер дисплея GNOME. getfilename запрашивает у пользователя имя файла в заданном формате, getkeycodes - печатает таблицу соответствия скан-кодов клавиш их кодам getlist получает один из списков от NNTP-ссрвера.
ъл/. Приложения getty - устанавливает связь между Linux и указанным терминалом. gimp - вызывает одну из наиболее известных графических программ Linux. git - браузер файловой системы. g i taction - входит в состав GIT и выполняет определенное действие для каждого ука- занного файла. gitkeys - входит в состав GIT; выводит последовательность кодов клавиш клавиа- туры. gitmount - входит в состав GIT, позволяет монтировать любое блочно-специальное устройство. gitps — предназначена для вывода информации о процессах, а также может вы- дать сигнал об их завершении. gitrgrep - рекурсивная команда grep, входит в состав GIT. gitunpack унифицированный распаковщик архивов, входящий в состав GIT. gitview - входит в состав GIT и предназначена для вывода содержимого файла в шестнадцатеричном формате. gprof - определяет производительность программ на языке С, Pascal или Fortran 77. grep - печатает строки, совпавшие с шаблоном. grephistory выводит имена файлов из файла history службы Usenet. grodvi - преобразует вывод groff в формат ТеХ. groff (nroff) - обеспечивает интерфейс для работы с системой форматирования groff. grolj4 - вызывает специальный groff-драйвер для принтеров семейства HP Laserjet 4. groupadd - создает новую группу пользователей. groupdel - удаляет группу. groups - выводит список групп, членом которых является указанный пользователь, grpek - проверяет целостность файла групп. grpeonv - оперирует обычными и теневыми файлами групп. g rpunconv - оперирует обычными и теневыми файлами групп. gs - вызывает Ghostscript. gtk-config — позволяет получить информацию об инсталлированной версии GTK+. gunzip - распаковывает архивы, ранее созданные с помощью gzip или compress, gv - просматривает в X Window документы в формате PostScript и PDF. gview см. команду vim.
Приложения 823 gvim см. команду vim. gzexe упаковывает исполняемые файлы. gzip - сжимает файлы. halt - останавливает систему. head выводит начало файла. history манипулирует протоколом команд. host выводит информацию о заданном узле Internet, используя DNS. hostname - отображает информацию об имени текущего узла или устанавливает но- вые. httpd - запускает WEB-сервер Apache. hwclock - запрашивает и устанавливает аппаратные часы ЭВМ. id - печатает подлинные и действующие UID и G1D. ident идентифицирует в файлах ключевые строки RCS. identify описывает характеристики и формат изображений. ifeonfig - конфигурирует сетевой интерфейс. i make - интерфейс препроцессора С к утилите make. import - выполняет захват изображений экранов Х-сервера. inetd - суперсервер, предназначенный для запуска служб Internet. inews - направляет статью локальному серверу новостей Usenet для последую- щего распространения. info - считывает документацию в гипертекстовом формате GNU texinfo на за- данную тему или об указанной команде. init - инициализирует управление процессами. innd демон InterNetNews. inndstart упрощенный аналог innd. innfeed — осуществляет передачу новостей между компьютерами на протоколе NNTP. innstat печатает дамп системы INN. innxmit посылает статьи Usenet на дистанционный сервер NNTP. insmod инсталлирует загружаемый модуль ядра install копирует файлы, устанавливая режимы доступа, а также владельца груп- пу. ipchains выполняет администрирование 1Р-брандмау>рОВ.
824 Приложения ipchains-restore восстанавливает со стандартною ввода цепочки IP-брандмауэра ipchains-save - выводит цепочки правил IP-брандмауэра на стандартный вывод ispell — интерактивный орфографический корректор. jobs - выводит список выполняемых или остановленных заданий. join - сливает строки двух файлов в общее поле. kbd_mode - выводит и устанавливает текущий режим драйвера клавиатуры, kbdconf ig - несложный интерфейс для конфигурирования системной клавиатуры, kbdrate - переустанавливает для клавиатуры скорость повтора и время задержки, kdm - менеджер дисплея KDE. kill - завершает процессы. killall - завершает все процессы, запущенные указанной командой. ksyms - отображает экспортируемые символы (идентификаторы) ядра. kudzu обнаруживает новые или замененные устройства в системе и конфигури- рует их. last отражает все происшедшие в системе регистрации. Iastb - отражает все безуспешные регистрации. latex (tex) - позволяет создать форматированный текстовый файл, используя про- грамму ТеХ и пакет макроопределений LaTeX. Id компоновщик GNU. Idconfig - определяет связывание ссылок во время выполнения. Idd - распечатывает разделяемые библиотеки, необходимые каждой указанной программе. less — позволяет просматривать содержимое файла в прямом и обратном направ- лениях lilo - инсталлирует загрузчик Linux. listres - отображает ресурсы виджета (widget). In - создает ссылки на файлы. load keys - загружает таблицы трансляции клавиатуры. locate (Slocate) запускает GNU-версию программы locate, обеспечивающую быстрый поиск файлов системы. lockfile создает файл-семафор. logger - создаст элементы в заданном системном журнале. login регистрирует пользователей в I inux.
Приложения 825 lognarPB — печатает имя пользователя, вызвавшего эту команду. logrotate выполняет ротацию, сжимает и отправляет по почте системные журналы look - отображает строки, начинающиеся с указанных префиксов. losetup - связывает loop-устройства с обычными файлами или блочными устрой- ствами. !рс - управляет принтером. Ipd - демон построчной печати. Ipq - проверяет очередь печати. 1рг - передает задание принтеру, ставя его в очередь на печать. Iprm - удаляет задания из очереди печати. Is — выводит содержимое каталогов и информацию об указанных файлах. Isattr — печатает атрибуты файла второй расширенной файловой системы Linux, в том числе и ранее установленные chattr. Ismod выводит список загружаемых модулей. Isof - составляет список открытых процессами файлов в системах Unix. Ispci - выводит информацию о всех РС1-устройствах. lynx - запускает браузер WWW. mail - посылает и получает почту, mailpost - подпитывает группу новостей почтовыми сообщениями, mailq см. команду sendmail. mailto - программа отправки мультимедийных почтовых сообщений, mailto-hebrew - отправляет электронную почту в смешанном формате Hebrew/English. make — утилита, управляющая группой файлов, на основе которых создается про- грамма. makeactive - инструмент, который перекрывает существующий файл active для Usenet. makedepend создает зависимости в make-файлах. makehistory - инструмент, вносящий поправки в БД history для Usenet. man - форматирует и выводит страницы руководства по операционной системе Linux. me — запускает диспетчер файлов под названием Midnight Commander, mcookie создает magic cookies (магические числа) для xauth. rnd5sum - вычисляет и проверяет контрольную сумму, используя алгоршм MD5
826 Приложения merge - производит слияние изменений от двух файлов в третий. mesg - управляет доступом по записи к вашему терминалу. messages - подсчитывает количество сообщений в почтовом ящике или папке. metamail - инфраструктура для поддержки мультимедийных сообщений электронной почты. metasend интерфейс для отправки нетекстовых данных в мультимедийных сооб- щениях электронной почты mimencode - кодирует сообщения электронной почты в MIME-формат и декодиру- ет их в оригинальный формат. minicom - дружественная коммуникационная программа. mkbootdisk - создает отдельную загрузочную дискету для запуска системы. mkdir - создает каталоги с указанными именами. mke2fs - создает вторую расширенную файловую систему Linux. mkfifo - создает FIFO. mkfontdir создает в указанном каталоге индекс файлов-шрифтов системы X. mkfs - создает новую файловую систему Linux. mkfs.ext3 - создает файловую систему ext2/3. mkinitrd - создает образ начального псевдодиска (ramdisk) для предварительно заг- ружаемых модулей. mkisofs - создает образ файловой системы для использования на CD-ROM. mknod - создает специальные файлы. mkreiserfs - создает в Linux файловую систему ReiserFS. mkswap создает область своппинга в Linux. modinfo - выводит информацию о модуле ядра modprobe - осуществляет высокоуровневое управление загружаемыми модулями, mogrify - трансформирует изображения или последовательность изображений montage - выполняет монтаж изображения из других изображений. more - фильтр для вывода текста. mount - монтирует файловую систему. mountd см. команду rpc.mountd. msgfmt - создает двоичные МО-файлы. msgmerge выполняет слияние двух мобильных файлов в стиле llnifonim.
Приложения 827 mt - управляет операциями на магнитной ленте, установленной на соответству- ющем устройстве. m V перемещает или переименовывает файлы или каталоги. named запускает сервер службы доменных имен Internet. netcfg - помогает конфигурировать различные сетевые интерфейсы вашей систе мы на протоколе TCP/IP. netstat - проверяет состояние вашей сети. newaliases см. команду sendmail. newmail (wnewmail) - уведомляет о поступлении новой почты. news.daily - осуществляет регулярное системное администрирование в Usenet. newsrequeue - инструмент для перезаписи пакетных файлов службы новостей. nfrm см. команду frm. nfsd см. команду rpc.nfsd. nfsstat - распечатывает статистику NFS. nice - печатает или модифицирует планируемый приоритет заданий. nl - нумерует строки файлов. nlmconv - преобразует объектный код в формат NLM. пт - распечатывает символы (идентификаторы) из объектных файлов. nnrpd - сервер NNTP для узлов учебных заведений. nntpsend- посылает статьи Usenet на дистанционный сайт. nohup - запускает указанную пользователем команду, которая будет выполняться даже и после выхода пользователя из системы. nroff — вызывает команду groff, которая эмулирует стандартную команду Umix под названием nroff. nslookup - опрашивает серверы имен доменов в Internet. ntsysv — конфигурирует уровни функционирования системных служб. objeopy копирует и транслирует объектные файлы. objdump выводит информацию из объектных файлов. od - выводит дамп файлов в восьмеричном или других форматах. overchan обновляет базу обзоров новостей. passwd paste выполняет слияние файлов. устанавливает пароль пользователя для входа в систему.
0^-0 Приложения patch - накладывает "заплату", воплощающую отличия, на оригинальный файл, тем самым корректируя его. pathchk проверяет корректность указанных имен файлов. pftp см. команду ftp. pidof - определяет идентификатор процесса работающей программы. pine (pinef) - программа поддержки электронной почты и новостей Internet. pinef см. команду pine. ping - отправляет пакеты ICMP на сетевые узлы. Pnews - публикует статьи новостей. portmap - программа-сервер, конвертирующая номера программ RPC в номера пор- тов протокола DARPA. poweroff - отключает питание. рг - подготавливает текстовые файлы для печати, форматируя их. printenv - печатает все или часть окружения. printmail - форматирует почту для последующей печати. procmail - автономный почтовый процессор. ps - выдает полный отчет о состоянии процессов. psfaddtabl - добавляет таблицу символов в формате Unicode к шрифтам консоли. psfgettable - выделяет в файле шрифтов консоли ранее включенную таблицу симво- лов Unicode. psfstriptable - удаляет ранее включенную таблицу символов Unicode из файла шриф- тов консоли. pullnews "вытягивает" новости с одного компьютера и пере дает их другому. pwck - проверяет соответствие файлов /etc/passwd и /etc/shadow. pwconv — оперирует обычными и теневыми файлами паролей пользователей. pwd — печатает полное имя текущего каталога. pwunconv — оперирует обычными и теневыми файлами паролей пользователей. quota - отображает используемое дисковое пространство и лимиты, quotacheck - проверяет файловую систему на предмет использования диска, quotaoff - отключает использование квот для файловых систем. quotaon включает использование квот для файловых систем ranlib - формирует индекс для архива.
Приложения rarp - манипулирует системной таблицей RARP. гс р - копирует файл в дистанционную систему и из нее res - меняет атрибуты RCS-файла. rcsclean - удаляет рабочие файлы RCS. rcsdiff - сравнивает версии RCS rcsintro - введение в команды системы RCS. rcsmerge - выполняет слияние версий RCS. rdist readelf - клиентская программа распределения дистанционных файлов. - выводит информацию о файлах формата ELF. read msg - извлекает сообщения из почтовой папки. reboot - перезагружает систему. reconfig - преобразует старый файл Xconfig в новый XF86Config. red см. команду ed. redhat-config-date - устанавливает системные дату и время. redhat-config-keyboard конфигурирует клавиатуру. redhat-config-network конфигурирует ваш клиентский сетевой хост. redhat-config-securitylevel - создает сетевой заслон. red hat-config-services - управляет запуском системных служб и устанавливает уро- вень их функционирования. reiserfsck проверяет в Linux файловую систему ReiserFS. reiserfstune - выполняет настройку журнала файловой системы ReiserFS. renice - меняет приоритеты запущенных процессов. repquota— суммирует квоты по файловой системе. resize — устанавливает TERMCAP и терминальные установки, указывающие теку- щий размер окна xterm. _______________ restore восстанавливает файлы или файловые системы ранее зарезервированные с помощью dump rev - выводит строки файла в обратном порядке. ________ __ rgview см. команду vim.___________________________________ rgvim см. команду vim. richtext - позволяет просматривать почтовое сообщение в формате richtext. rlog — печатает информацию о RCS-файле. rlogin - разрешает пользователю зайти в дистанционную систему.
830 Приложения rm - удаляет файлы. rmdir — удаляет пустые каталоги. rmmod - выгружает загружаемые модули. rmt - программа, поддерживающая общение с дистанционным накопителем на магнитной ленте. rnews - принимает новости через UUCP-подключение. Rnmail - отвечает по электронной почте на статьи в группах новостей Usenet. route - отображает и манипулирует таблицей маршрутизации протокола IP. rpc.mountd (mountd) - демон монтирования NFS. rpc.nfsd (nfsd) - демон системы NFS. rpm - инсталлирует и управляет пакетами программного обеспечения. rsh - запускает на дистанционной системе оболочку для выполнения указан- ной команды. rstart — простейшая реализация клиента Remote Start (дистанционный старт). rsync - синхронизирует файлы. rup - отображает итоговое состояние системы, состоящей из одного или бо- лее узлов локальной сети. ruptime - отображает состояние машин локальной сети. rusers - выводит список пользователей, зарегистрированных на машинах локаль- ной сети. rview см. команду vim. rvim см. команду vim. rwho - показывает, кто зарегистрировался на машинах локальной сети. sal - накапливает и хранит двоичные данные в файле учетных записей ежед- невной жизнедеятельности системы. sa2 - записывает ежедневный отчет о жизнедеятельности системы. sadc - конечный интерфейс к команде sar. sar - накапливает, сообщает и сохраняет информацию о деятельности систе- мы. scanlogs - подводит итоги по записям журналов INN. scp - безопасно копирует дистанционные файлы. script - выполняет копию содержимого экрана терминала во время сеанса. sdiff - находит разницу между содержимым двух файлов и воплощает се в тре- тьем файле.
Приложения 831 sed - потоковый редактор, sendmail (newaliases. mailq) транспортный агент электронной почты service - управляет запуском служб. setkeycodes загружает элементы таблицы отображения скан-кодов в коды клавиш setserial - отображает характеристики последовательного порта и конфигурирует его. shlock - создает lock-файлы для использования в сценариях оболочек, showaudio воспроизводит звуковое сообщение электронной почты, showexternal выбирает и отображает тело почтового сообщения, включенного с помощью ссылки. showkey - печатает на стандартный вывод или код, или символ каждой нажатой кла- виши. showmount - выводит информацию о подключениях к серверу NFS. shownonascii выводит все или часть сообщения электронной почты не в ASCII-шрифте. Showpartial - собирает по частям большое сообщение MIME-формата, showpicture - выводит изображение, полученное по электронной почте, showrgb - декомпилирует БД RGB-имен. shrinkfile - усекает файл по линии границы, shutdown - завершает работу системы. size - сообщает информацию о размерах секций и общих размерах объектных файлов. __________________ sleep — задает задержку прежде, чем выполнять следующую команду, slocate см. команду locate. Sort - сортирует строки текстовых файлов. Source (.) — считывает и выполняет команды из указанного файла в окружении теку- щей оболочки. ________________________________ split -делит файл на части. _________________________ splitmail - делит большое почтовое сообщение на несколько сообщений в MIME- формате. ssh - клиент SSH для регистрации пользователей и выполнения команд на дис- танционной машине. __________ ssh-keygen — генерирует и управляет ключами аутентификации, startinnfeed запускает innfeed, установив для нес при этом setuid суперпольэовате- ЛЯ.
832 Приложения startx - инициализирует сеанс системы X. stat - распечатывает содержимое полей дескриптора файла. statserial предоставляет информацию о последовательных портах. strace - трассирует системные вызовы и сигналы. strip - отбрасывает из объектного файла все идентификаторы. stty — выводит и изменяет установки терминала. SU - позволяет одному пользователю временно стать другим пользователем. sudo - выполняет команды с привилегиями других пользователей. sum - подсчитывает контрольную сумму и количество блоков в файле. SuperProbe - распознает, идентифицирует и опробует установленное видеообору- дование компьютера. swap off - запрещает применять указанные устройства или файлы в качестве облас- ти своппинга. swapon - разрешает применять указанные устройства или файлы в качестве облас- ти своппинга. sync - сбрасывает буфера файловой системы. sysctl — настройка параметров ядра во время выполнения. tac - конкатенирует и печатает файлы в обратном порядке. tail - выводит конечные элементы файлов. talk — позволяет вести переговоры с другим пользователем. tar - утилита архивации. tcpdump - анализирует сетевой трафик. tee - одновременно копирует стандартный ввод на стандартный вывод и еще в некоторые файлы. telnet - интерфейс пользователя к протоколу TELNET. telnetd - программа-сервер, поддерживающая интерактивный протокол коммуни- каций DARPA TELNET. tex см. команду latex. time - подсчитывает использование системных ресурсов заданной командой. tin - программа чтения новостей Usenet. top - выполняет мониторинг и управление процессами. touch меняет время доступа и/или модификации указанных файлов. tr - выполняет преобразование текстового файла.
Приложения ______ 833 traceroute - обнаруживав г неполадки маршрутизации. trn - позволяет читать новости Usenet по цепочке, troff - форматирует тексты для печати. tty — печатаем имя файла терминала, подключенного в качестве стандартного ввода. tune2fs - выполняет регулировку настраиваемых параметров второй расширенной файловой системы Linux. umount — демонтирует файловые системы. unalias - удаляет псевдоним команды. uname - информирует о компьютере и операционной системе, запущенной на нем. uncompress - распаковывает сжатые файлы. uniq - удаляет дублирующиеся строки из отсортированного файла. unzip - распечатывает, тестирует и извлекает сжатые файлы из ZIP-архива, со- зданного также и под другими операционными системами. uptime - выводит информацию о работе системы. useradd - открывает счет для нового пользователя или меняет информацию о пользователе, заданную по умолчанию. userdel - удаляет счет пользователя из системы. users - выводит список пользователей, зарегистрировавшихся в настоящий мо- мент в системе. uudecode - декодирует файл, созданный с помощью uuencode. uuencode - кодирует бинарный (двоичный) файл. uuidgen создает новый UUID. view см. команду vim. _____ vim (ex, view, gvim, gview, rvim, rview, rgvim. rgview) - текстовый редактор. Visudo - редактирует конфигурационный файл sudoers. vmstat - выдает статистику по виртуальной памяти. w - показывает, кто зарегистрирован в системе и чем занят, wall — посылает сообщение на любой терминал. WC - подсчитывает слова, символы или строки в одном или более файлах, which - отображает полный маршрут к указанной команде, who - сообщает о пользователях, зарегистрировавшихся в настоящее время Whois осуществляет поиск официальной контактной информации из различных а в горитетпых jictomj шкоп.
834 Приложения wnewmail см. команду newmail. write посылает сообщение другому пользователю. writelog - добавляет элемент в журнал 1NN. X мобильная и позволяющая работать в сети оконная система. xbiff уведомляет о поступлении новой почты. xclipboard - накапливает и отображает содержимое CLIPBOARD (буфера обмена). xdm менеджер дисплея X Window, управляющий сеансами на локальных и ди- станционных системах. xev отображает суть событий системы X. xf86config создает файл конфигурации XF86Config. xfd выводит все символы указанного шрифта системы X в виде таблицы. xfs запускает сервер шрифтов системы X. xgettext - из заданных входных файлов извлекает строки, которые должны перево- диться (в целях интернационализации или локализации). xhost управляет доступом к Х-серверу. xinit инициализирует X Window. xlsclients- выводит список клиентских приложении X, запущенных на дисплее. xlsfonts - выводит список шрифтов сервера шрифтов. xmag - увеличивает части X экрана. xmh отправляет и читает электронную почту. xmkmf создает Makefile из Imakefile. xmodmap - - позволяет менять раскладку клавиатуры и кнопок мыши в X Window. xon |апускает Х-программу на дистанционной машине. xpaint несложная программа рисования. xpmroot - выводит в основном окне текущего Х-дисплея изображение в формате ХРМ. xrdb утилита БД ресурсов Х-сервера. xrefresh - обновляет весь экран или его часть. Xserver - сервер дисплея системы X Window. xset выполняет настройку параметров системы X Window. xsetroot - меняет настройки главного окна X. xterm эмулирует терминал в сис теме X. xwd создает дамп изображения и сохраняет его в файле.
Приложения 835 xwdtopnm конвергирует дамп окна XII или ХЮ в переносимый формат xwininfo — вывод информации об окнах системы X. xwud выводит изображение, ранее сохраненное командой xwd xxgdb графический интерфейс пользователя к отладчику gdb. yes автоматизирует процесс создания многократных ответов на запросы дру- гих программ. zcat распаковывает архивы, созданные gzip и compress zemp сравнивает содержимое упакованных (сжатых) файлов. Zdiff сравнивает содержимое упакованных файлов. Zforce добавляет к именам файлов, созданных с помощью gzip, расширение .gz. zgrep производит поиск по шаблону строк файлов в gzip-архивах. zipgrep - производит поиск строк файлов, соответствующих шаблону, в ZIP-архи- вах. zipinfo - сообщает детальную информацию о ZIP-архиве. zmore отображает текст упакованных файлов. znew - переупаковывает файлы формата .Z в формат .gz. . (точга) - считывает и выполняет команды из указанного файла в окружении теку- щей оболочки.
С.Л. Скловская и Команды Linux Справочник, третье издание, переработанное и дополненное Platinum Edition ГТТТИ издательство DiaSoft