Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Командная строка Linux. ПолноС руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 68

Автор Уильям Шоттс

ВСкст для Π½ΠΈΠΆΠ½Π΅Π³ΠΎ слоя Π½Π° страницС («водяной Π·Π½Π°ΠΊΒ»)


Π­Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список. Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° a2ps ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° a2ps ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ½Ρ‹Π½Π΅. Π’ Ρ…ΠΎΠ΄Π΅ Π΅Π΅ тСстирования я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π°Π·Π½Ρ‹Ρ… дистрибутивах. Π’ CentOS 4 Π²Ρ‹Π²ΠΎΠ΄ всСгда ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ производился Π² стандартный Π²Ρ‹Π²ΠΎΠ΄. Π’ CentOS 4 ΠΈ Fedora 10 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ использовался Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±ΡƒΠΌΠ°Π³ΠΈ A4, нСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ систСма Π±Ρ‹Π»Π° настроСна Π½Π° использованиС Π±ΡƒΠΌΠ°Π³ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° US-Letter. МнС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ явно ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π’ Ubuntu 8.04 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° a2ps дСйствуСт, ΠΊΠ°ΠΊ описываСтся Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° форматирования, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для прСобразования тСкста Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ PostScript. Она называСтся enscript ΠΈ способна Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π²ΠΈΠ΄Ρ‹ форматирования ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ a2ps, Π½ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ послСднСй, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкстовыС Π΄Π°Π½Π½Ρ‹Π΅.

НаблюдСниС Π·Π° заданиями ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ


ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ систСма ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Unix ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, соотвСтствСнно ΠΈ систСма CUPS ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ исходя ΠΈΠ· Ρ‚ΠΎΠΉ ΠΆΠ΅ прСдпосылки. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° создаСтся своя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ задания хранятся, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Ρƒ. Π’ составС CUPS имССтся нСсколько ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для управлСния состояниСм ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ² ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Подобно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ lpr ΠΈ lp, эти ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ создавались послС появлСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· систСм Berkeley ΠΈ System V.

lpstat β€” Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ состоянии ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°


ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ lpstat ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для опрСдСлСния ΠΈΠΌΠ΅Π½ ΠΈ доступности ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ² Π² систСмС. НапримСр, Ссли ΠΊ систСмС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π΄Π²Π° ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° β€” физичСский (с ΠΈΠΌΠ΅Π½Π΅ΠΌ printer) ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ, для Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ»Ρ‹ PDF (с ΠΈΠΌΠ΅Π½Π΅ΠΌ PDF), β€” ΠΈΡ… состояниС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

[ [email protected] ~]$ lpstat -a

PDF accepting requests since Mon 05 Dec 2011 03:05:59 PM EST

printer accepting requests since Tue 21 Feb 2012 08:43:22 AM EST

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ систСмы ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ:

[ [email protected] ~]$ lpstat -s

system default destination: printer

device for PDF: cups-pdf:/

device for printer: ipp://print-server:631/printers/printer

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ имя printer соотвСтствуСт систСмному ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Ρ‡Ρ‚ΠΎ это сСтСвой ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€, для взаимодСйствий с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ (Internet Printing Protocol, ipp://), физичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊ систСмС с ΠΈΠΌΠ΅Π½Π΅ΠΌ print-server.

Π’ Ρ‚Π°Π±Π». 22.5 пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ lpstat.

Π’Π°Π±Π»ΠΈΡ†Π° 22.5. НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ lpstat

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

ОписаниС

-a [ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€...]

ВывСсти состояниС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ состояниС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΈ Π΅Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ задания, Π° Π½Π΅ состояниС физичСского ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°. Если ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, выводится информация ΠΎΠ±ΠΎ всСх очСрСдях ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ

-d

ВывСсти имя систСмного ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

-p [ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€...]

ВывСсти состояниС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°. Если ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, выводится информация ΠΎΠ±ΠΎ всСх ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°Ρ…

-r

ВывСсти состояниС сСрвСра ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ

-s

ВывСсти ΡΠ²ΠΎΠ΄Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии

-t

ВывСсти ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ состоянии


lpq β€” Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ состоянии ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ


ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° lpq ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ состоянии ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ состояниС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ список Π·Π°Π΄Π°Π½ΠΈΠΉ Π² Π½Π΅ΠΉ. НиТС приводится ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ состоянии пустой ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ для систСмного ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ printer:

[ [email protected] ~]$ lpq

printer is ready

no entries

Если ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -P), выводится информация ΠΎΠ± ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ для систСмного ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈ Π·Π°Ρ‚Π΅ΠΌ вывСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, это Π·Π°Π΄Π°Π½ΠΈΠ΅ появится Π² спискС:

[ [email protected] ~]$ ls *.txt | pr -3 | lp

request id is printer-603 (1 file(s))

[ [email protected] ~]$ lpq

printer is ready and printing

Rank Owner Job File(s) Total Size

active me 603 (stdin) 1024 bytes

lprm ΠΈ cancel β€” ΠΎΡ‚ΠΌΠ΅Π½Π° Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ


Π’ составС CUPS имССтся Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈ удалСния ΠΈΡ… ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Одна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° β€” Π² стилС Berkeley (lprm), Π° другая β€” Π² стилС System V (cancel). Они нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π½ΠΎ, ΠΏΠΎ сути, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, рассматриваСмый Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ задания ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ:

[ [email protected] ~]$ cancel 603

[ [email protected] ~]$ lpq

printer is ready

no entries

ОбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС задания, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ задания, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ задания, содСрТащиСся Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ спискС Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Π·Π°Π΄Π°Π½ΠΈΠΉ. ВсС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ подробности Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° страницах справочного руководства (man) для этих ΠΊΠΎΠΌΠ°Π½Π΄.

23. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ


Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ посмотрим, ΠΊΠ°ΠΊ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, компилируя ΠΈΡ… исходный ΠΊΠΎΠ΄. Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ исходного ΠΊΠΎΠ΄Π° β€” основноС прСимущСство Linux, ΠΎΠ½ΠΎ обСспСчиваСт само сущСствованиС этой систСмы. Вся экосистСма Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Linux опираСтся Π½Π° свободный ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Для ΠΌΠ½ΠΎΠ³ΠΈΡ… рядовых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ компиляция β€” ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ искусство. Когда-Ρ‚ΠΎ эта ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π±Ρ‹Π»Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ±Ρ‹Π΄Π΅Π½Π½Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, Π½ΠΎ Π² настоящСС врСмя создатСли дистрибутивов ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ использования. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этих строк Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ дистрибутива Debian (ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ…) Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ 23 000 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Но Π·Π°Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄? ΠœΠΎΠ³Ρƒ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π΄Π²Π΅ основныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

β€’ Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ. НСсмотря Π½Π° большоС число ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² рСпозиториях дистрибутивов Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дистрибутивы ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ прилоТСния. Π’ этом случаС остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ способ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ: ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΈΠ· исходных ΠΊΠΎΠ΄ΠΎΠ².

β€’ Π‘Π²ΠΎΠ΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дистрибутивы ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΡƒΠ»ΡŒΡ‚Ρ€Π°ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСрсиях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ всС ΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ΡΡ‚Π°ΡŽΡ‚ ΠΎΡ‚ прогрСсса. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для получСния самой послСднСй вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ придСтся Π΅Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· исходных ΠΊΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ вСсьма спСцифичСским ΠΈ тСхничСски слоТным Π΄Π΅Π»ΠΎΠΌ, Π½Π΅ΠΏΠΎΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Однако ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ просто, всСго Π² нСсколько шагов. ВсС зависит ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ рассмотрим ΠΎΡ‡Π΅Π½ΡŒ простой случай, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ процСсса ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ знания, ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠ΅ смогут ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ исслСдования ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’ этой Π³Π»Π°Π²Π΅ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна ΠΎΠ΄Π½Π° новая ΠΊΠΎΠΌΠ°Π½Π΄Π°:

β€’ make β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° сопровоТдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компиляция?


Π’Ρ‹Ρ€Π°ΠΆΠ°ΡΡΡŒ простым языком, компиляция β€” это процСсс трансляции исходного ΠΊΠΎΠ΄Π° (тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π΅Π΅ дСйствия ΠΈ написанного программистом) Π½Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ язык, понятный процСссору ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (Computer Processor Unit, CPU) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, выполняя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ числовой ΠΊΠΎΠ΄, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнтарныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ эти Π΄Π²Π° Π±Π°ΠΉΡ‚Π°Β», Β«ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° эту ячСйку Π² памяти» ΠΈΠ»ΠΈ Β«ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот Π±Π°ΠΉΡ‚Β». КаТдая ΠΈΠ· этих инструкций выраТаСтся Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ (нулями ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ). Π‘Π°ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ писались Π½Π° числовом ΠΊΠΎΠ΄Π΅, поэтому программисты, писавшиС Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚, ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡƒΡ€ΠΈΠ»ΠΈ, ΠΏΠΈΠ»ΠΈ ΠΊΠΎΡ„Π΅ Π»ΠΈΡ‚Ρ€Π°ΠΌΠΈ ΠΈ носили ΠΎΡ‡ΠΊΠΈ с толстСнными Π»ΠΈΠ½Π·Π°ΠΌΠΈ.

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π° с появлСниСм языка ассСмблСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΌΠ΅Π½ΠΈΠ» числовыС ΠΊΠΎΠ΄Ρ‹ (слСгка) Π±ΠΎΠ»Π΅Π΅ простыми символичСскими ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ CPY (для обозначСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ копирования) ΠΈ MOV (для обозначСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСмСщСния). Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° языкС ассСмблСра прСобразовывался Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉΡΡ ассСмблСром. Π―Π·Ρ‹ΠΊ ассСмблСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π² наши Π΄Π½ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств ΠΈΠ»ΠΈ встраиваСмых систСм.

Π—Π°Ρ‚Π΅ΠΌ появились высокоуровнСвыС языки программирования. Они Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ программисту мСньшС Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± особСнностях Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСссора ΠΈ большС β€” ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, стоящСй ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ. К числу этих ΠΏΠ΅Ρ€Π²Ρ‹Ρ… языков (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 1950-Ρ…) относятся: FORTRAN (создавался для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΈ тСхничСских Π·Π°Π΄Π°Ρ‡) ΠΈ Π‘OBOL (для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ экономичСских Π·Π°Π΄Π°Ρ‡). Оба ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎ сию ΠΏΠΎΡ€Ρƒ.