Примеры использования наиболее интересных программ UNIX

В составе вашей операционной системы находится более тысячи UNIX-программ. Некоторые из них, например cal, cp, ls, cd, мы уже рассмотре­ли — это программы, которые выполняют наиболее важные функции фундаментального характера. Сейчас же рассмотрим применение бо­лее экзотических программ, которые многие пользователи могут най­ти интересными.


Использование возможностей UNIX 377

Команда bc

При помощи команды bc можно воспользоваться простеньким каль­кулятором, за невзрачным интерфейсом которого — а скорее даже за отсутствием интерфейса — скрывается действительно огромный функ­ционал. Под силу калькулятору bc не только вычисление арифметиче­ских операций, но и выполнение различных функций, в том числе и ло­гических. При этом все операции также производятся прямо в консоли.

Выражение, которое вы хотите вычислить, необходимо набирать в одну строку. Например, вот так: (2+2) *4. После нажатия клавиши Enterв следующей строке консоли вам будет выведен результат вычислений. Для обозначения арифметических операций используются символы +, —, *, /. Что соответствует знакам сложения, вычитания, умножения и деления. Также можно использовать скобки. Для обозначения фор­мул используются особые конструкции, например sqrt (25) позволя­ет посчитать квадратный корень из 25. При использовании десятичных дробей отделяйте целую часть от дробной при помощи символа точки. Об остальных особенностях программы читайте в справке: man bc.

Команды top и kill

При помощи программы top вы можете быстро просмотреть, какие программы и процессы сейчас запущены в операционной системе (рис. 10.5). При этом по каждому процессу вы получите дополнитель­ные параметры, такие как нагрузка на центральный процессор, время работы, приоритет, объем занимаемой оперативной памяти и другие. Все эти параметры занесены в удобную таблицу. Что особенно полезно, при помощи программы top можно обнаружить различные фоновые и системные процессы. Обратите внимание на первый столбец табли­цы процессов — это PID-идентификатор. По этому коду можно четко указать на какой-либо конкретный процесс — это бывает необходимо при использовании некоторых функций и программ.

Если к команде top добавить ключ —u,таблица процессов будет отсорти­рована по степени нагрузки приложений на центральный процессор. Если ваш компьютер начал странно себя вести, притормаживать, очень медленно выполнять все действия — при помощи команды top —u вы можете посмотреть, какие процессы используют много процессорного времени. Это позволит вам выяснить, какая программа может являться причиной проблем.


Глава 10

 

 

 

 

 

 

e n n       £ username — top - 90x33     г"
Processes: 64 total, 3 running, 61 sleeping, 249 threads       11:57:45 ■
LDad Avu: B.1B. 8 19. 1 22 CPU usage: 1.33% user. 6.25* sys, 92.41* i  
5haredLibs: 16M resident, 5328К data , < В linkedit.          
MemRegions: 6162 total 2B3M resident, 29M private, ЦВМ shared.      
PhysMem: 227M wired, 549M active, 161M inactive, 937M used, I62IM free.    
VM: 14BG vsize, 111BM Fra nework vsize, 59473(8) pageins, 848) pageouts.    
Networks: packets 16973/14M in 15393/1327K out.          
Disks: 13399/B44M read 128953/1372M written.            
PID COMMAND «сто TIME гТН #WO #PDR #MRE RPRVT R5HRD RSIZE VPRVT VSIZE
top IB.2 61.32 1/1 916K 224K 1636K 17M 237ВМ
CVMCompiler 8.8 ее Вв. 24 e зе 7192K 24 BK 16M 25M 239ВМ
taskgated 8.8 BB вв.87 41- 52- 92BK- 373BK 2733K- 3BM- 24в6М-
iCal 8.1 ее В1.73 2 ие 12B 3592K + 17M 25M+ 2BM 2457М
bash 8.8 eg 88.86 e 2B 336K 216K 11B8K 17M 237ВМ
4B3 login B.B ее 88.89 l 664K 224K 1964K 38M 2391М
4B1 Terminal B.2 ее В4.64 9233K 19M 24M 27M 2492М
mdworker 8.8 ее вв.16 l И 1B32K 12M 5144 К 23M 2411М
25B mdworker 8.1 BB В3.14 4 l MS 5338K 12M 3BM 44M 2424М
AppleSpell 8.8 8.В 8.8 ее вв.61 88.86 88.52 2 2 2 l 44 35 91 2548K 476K 2388K 12M 216K 11M 6652K 1692K ИМ 3BM 22M 32M 2416М 239ВМ 24 IBM
IBB com.apple, do ее i 1B1
TI5witcher 8.8 BB 88.31 i BB 1196K IBM 563BK зам 2425М
175- vmware-tools 8.3 ее 27.37 l 47M 9616K 55M 65M 633М
AirPort Base 8.8 ее 88.85 l 43BK 223K 1332K 22M 2391М
imagent 8.8 ее 88.53 i 30 1148K B672K 48B3K I5M 24 IBM
librariand 8.8 вв вв.17 i И 1363K B952K B663K 41M 2417M
ubd 8.8 ее вв.31 l И 1B52K 624K 9672K 25M 2395M
warmd_agent 8.8 вв 88.84 464K 223K 1732K 23M 2391M
fontd 8.8 ее в1.7в 25B4K 3596K 428BK 54M 2433M
pboard 8.8 вв 88.82 e 324K 264K 952K 2 BM 23BBM
coreaudiod 8. В ее 88.35 l 2388K 256K 4272K 32M 2395M
Finder 8.2 ее 86.91 7933K- 2BM 24M- 22M 2474M|

Рис. 10.5.Результаты выполнения в консоли команды top

При помощи команды kill вы можете завершить работу какого-либо процесса. При этом в качестве параметра вы должны указать РЮ-идентификатор, который можно узнать при помощи команды top.

Команда open

При помощи команды open можно быстро запустить любое установ­ленное в операционной системе приложение. При этом вам совершен­но не требуется знать и задумываться о том, где установлено приложе­ние, — команда правильно сработает в любом случае.

Если ввести в консоли команду open с единственным параметром — именем программы, то операционная система попытается найти эту программу в текущей директории. Однако к команде можно добавить ключ —a, что приведет к тому, что программа будет выполнена вне за­висимости от ее расположения на жестком диске.

В качестве дополнительного параметра вы также можете указать имя документа, который будет открыт в программе, например open —a textedit document.docx.


Использование возможностей UNIX 379

Польза от команды open на первый взгляд неочевидна, однако ее ис­пользование может быть оправданно при создании автоматизирован­ных сценариев — вместо указания десятков строк кода, достаточно будет одной.

Команда Say

Команда Say позволяет запустить одну из наиболее интересных про­грамм — ваш компьютер может разговаривать с вами. В качестве пара­метра команды укажите строку, которую ваш Mac должен произнести, и нажмите клавишу Enter.Например, вот так: say Hello, my name is Mac OS X Lion!

Строка будет немедленно прочитана голосом робота из старых фанта­стических фильмов. Развлекаться с командой Say можно долго и весе­ло, ведь программа скажет все, что вы пожелаете.