ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

خنده

groff مجموعه ای از برنامه ها است که شامل پیاده سازی troff گنو است. همچنین شامل یک اسکریپت است که برای شبیه سازی nroff و بقیه خانواده roff نیز استفاده می شود.


در حالی که راف و فرزندان آن برای ساخت اسناد قالب بندی شده استفاده می شوند، آنها این کار را به گونه ای انجام می دهند که برای کاربران مدرن نسبتاً غریبه است. امروزه اکثر اسناد با استفاده از پردازشگرهای کلمه تولید می شوند که قادرند هم ترکیب و هم چیدمان یک سند را در یک مرحله انجام دهند. قبل از ظهور واژه‌پرداز گرافیکی، اسناد معمولاً در یک فرآیند دو مرحله‌ای تولید می‌شد که شامل استفاده از یک ویرایشگر متن برای انجام ترکیب و یک پردازشگر، مانند تپه، برای اعمال قالب بندی. دستورالعمل‌های برنامه قالب‌بندی با استفاده از زبان نشانه‌گذاری در متن ساخته شده تعبیه شد. آنالوگ مدرن برای چنین فرآیندی، صفحه وب است که با استفاده از یک ویرایشگر متنی ساخته شده و سپس توسط یک مرورگر وب با استفاده از HTML به عنوان زبان نشانه گذاری برای توصیف طرح بندی صفحه نهایی ارائه می شود.

ما قرار نیست پوشش دهیم خنده در کل، بسیاری از عناصر زبان نشانه گذاری آن با جزئیات نسبتاً محرمانه تایپوگرافی سروکار دارند. در عوض ما بر روی یکی از آن تمرکز خواهیم کرد بسته های ماکرو که در استفاده گسترده باقی می ماند. این بسته‌های ماکرو بسیاری از دستورات سطح پایین خود را در مجموعه کوچک‌تری از دستورات سطح بالا متراکم می‌کنند که استفاده از خنده بسیار ساده تر.

یک لحظه بیایید صفحه مرد فروتن را در نظر بگیریم. زندگی می کند در / usr / share / man دایرکتوری به عنوان یک از gzip فایل متنی فشرده اگر بخواهیم محتویات فشرده نشده آن را بررسی کنیم، موارد زیر را مشاهده خواهیم کرد (صفحه مرد برای ls در بخش 1 نشان داده شده است:


[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | سر

.\" این فایل را تغییر ندهید! این فایل توسط help2man 1.35 ایجاد شده است.

.TH LS "1" "April 2008" "GNU coreutils 6.10" "User Commands"

.SH NAME

ls \- فهرست محتویات دایرکتوری

خلاصه .SH

.B ls

[\fIOPTION\fR]... [\fIFILE\fR]...

.SH توضیحات

.\" هر گونه توضیحات اضافی را اینجا اضافه کنید

.PP

[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | سر

.\" این فایل را تغییر ندهید! این فایل توسط help2man 1.35 ایجاد شده است.

.TH LS "1" "April 2008" "GNU coreutils 6.10" "User Commands"

.SH NAME

ls \- فهرست محتویات دایرکتوری

خلاصه .SH

.B ls

[\fIOPTION\fR]... [\fIFILE\fR]...

.SH توضیحات

.\" هر گونه توضیحات اضافی را اینجا اضافه کنید

.PP


تصویر

در مقایسه با صفحه man در ارائه معمولی آن، می‌توانیم شروع به مشاهده همبستگی بین زبان نشانه‌گذاری و نتایج آن کنیم:


[me@linuxbox ~]$ مرد ls | سر

LS(1) دستورات کاربر

LS (1)

[me@linuxbox ~]$ مرد ls | سر

LS(1) دستورات کاربر


نام

نام


ls - فهرست محتویات دایرکتوری

ls - فهرست محتویات دایرکتوری


خلاصه

ls [OPTION]... [FILE]...

خلاصه

ls [OPTION]... [FILE]...


دلیل این موضوع این است که صفحات man توسط رندر می شوند خنده، با استفاده از مرد-دکتر بسته ماکرو در واقع، ما می توانیم شبیه سازی کنیم مرد دستور با خط لوله زیر:



[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc -T ascii | سر

دستورات کاربر LS(1) LS(1)


نام

ls - فهرست محتویات دایرکتوری


خلاصه

ls [OPTION]... [FILE]...

[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc -T ascii | سر

دستورات کاربر LS(1) LS(1)


نام

ls - فهرست محتویات دایرکتوری


خلاصه

ls [OPTION]... [FILE]...


در اینجا ما از خنده برنامه با گزینه های تنظیم شده برای مشخص کردن ماندوک بسته ماکرو و درایور خروجی برای ASCII. خنده می تواند خروجی در چندین فرمت تولید کند. اگر هیچ قالبی مشخص نشده باشد، PostScript به طور پیش فرض خروجی می شود:



[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc | سر

%!PS-Adobe-3.0

%%Creator: groff نسخه 1.18.1

%%تاریخ ایجاد: پنجشنبه 5 فوریه 13:44:37 2009

%%DocumentNeededResources: فونت Times-Roman

%%+ فونت Times-Bold

%%+ فونت Times-Italic

%%DocumentSuppliedResources: Procset grops 1.18 1

%% صفحات: 4

%%PageOrder: صعود

%% جهت: پرتره

[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc | سر

%!PS-Adobe-3.0

%%Creator: groff نسخه 1.18.1

%%تاریخ ایجاد: پنجشنبه 5 فوریه 13:44:37 2009

%%DocumentNeededResources: فونت Times-Roman

%%+ فونت Times-Bold

%%+ فونت Times-Italic

%%DocumentSuppliedResources: Procset grops 1.18 1

%% صفحات: 4

%%PageOrder: صعود

%% جهت: پرتره


ما به طور خلاصه به PostScript در فصل قبل اشاره کردیم و در فصل بعد مجدداً خواهیم گفت. پست اسکریپت یک زبان توصیف صفحه است که برای توصیف محتویات یک صفحه چاپ شده در دستگاهی شبیه به حروفچینی استفاده می شود. اگر خروجی دستور خود را گرفته و در یک فایل ذخیره کنیم (با فرض اینکه از یک دسکتاپ گرافیکی با دسکتاپ فهرست راهنما):


[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc >

~/Desktop/foo.ps

[me@linuxbox ~]$ zcat /usr/share/man/man1/ls.1.gz | groff -mandoc >

~/Desktop/foo.ps


یک نماد برای فایل خروجی باید روی دسکتاپ ظاهر شود. با دوبار کلیک کردن روی نماد، یک نمایشگر صفحه باید راه اندازی شود و فایل را به شکل رندر شده آن نشان دهد:


تصویر

شکل 4: مشاهده خروجی پست اسکریپت با نمایشگر صفحه در گنوم


آنچه می بینیم یک صفحه مرد با حروفچینی زیبا برای آن است ls! در واقع، امکان تبدیل فایل Post-Script به PDF (قالب سند قابل حمل) با این دستور فایل کنید:



[me@linuxbox ~]$ ps2pdf ~/Desktop/foo.ps ~/Desktop/ls.pdf

[me@linuxbox ~]$ ps2pdf ~/Desktop/foo.ps ~/Desktop/ls.pdf


La ps2pdf برنامه بخشی از اسکریپت ارواح بسته، که بر روی اکثر سیستم های لینوکس که از چاپ پشتیبانی می کنند نصب شده است.


تصویر

نکته: سیستم های لینوکس اغلب شامل بسیاری از برنامه های خط فرمان برای فرمت فایل هستند


تصویر


تصویر

تبدیل. آنها اغلب با استفاده از قرارداد نامگذاری می شوند قالب2قالب. از دستور استفاده کنید ls /usr/bin/*[[:alpha:]]2[[:alpha:]]* برای شناسایی آنها. همچنین سعی کنید برنامه های نامگذاری شده را جستجو کنید قالببهقالب.


تصویر

برای آخرین تمرین ما با خنده، ما دوباره با دوست قدیمی خود ملاقات خواهیم کرد distros.txt یکبار دیگر. این بار ما از tbl برنامه ای که برای قالب بندی جداول برای تایپ کردن لیست توزیع های لینوکس ما استفاده می شود. برای انجام این کار، ما قصد داریم از قبل خود استفاده کنیم SED اسکریپت برای اضافه کردن نشانه گذاری به یک جریان متنی که به آن تغذیه می کنیم خنده.

ابتدا باید خودمان را اصلاح کنیم SED اسکریپت برای افزودن عناصر نشانه گذاری لازم (نامیده می شود درخواست ها in خنده) که tbl نیاز دارد. با استفاده از یک ویرایشگر متن، ما تغییر خواهیم کرد distros.sed به موارد زیر:


# sed اسکریپت برای تولید گزارش توزیع لینوکس


1 من\

.TS\

جعبه مرکزی؛\ cb ss\

cb cb cb\ ln c.\

گزارش توزیع لینوکس\

=\

# sed اسکریپت برای تولید گزارش توزیع لینوکس


1 من\

.TS\

جعبه مرکزی؛\ cb ss\

cb cb cb\ ln c.\

گزارش توزیع لینوکس\

=\


نام

_

نسخه

منتشر شد\

نام

_


s/\([0-9]\{2\}\)\/\([0-9]\{2\}\)\/\([0-9]\{4\}\)$/\3-\1-\2/

$ a\

TE

s/\([0-9]\{2\}\)\/\([0-9]\{2\}\)\/\([0-9]\{4\}\)$/\3-\1-\2/

$ a\

TE


تصویر

توجه داشته باشید که برای اینکه اسکریپت به درستی کار کند، باید دقت کرد که کلمات "Name Version Released" با زبانه ها جدا شوند، نه فاصله. ما فایل حاصل را به عنوان ذخیره می کنیم distros-tbl.sed. tbl با استفاده از .TS و TE درخواست برای شروع و پایان جدول. ردیف های زیر .TS درخواست خصوصیات کلی جدول را تعریف می کند که، برای مثال ما، به صورت افقی روی صفحه قرار گرفته و توسط یک کادر احاطه شده است. خطوط باقی مانده از تعریف، طرح بندی هر ردیف جدول را توصیف می کند. حال، اگر خط لوله تولید گزارش خود را دوباره با جدید اجرا کنیم SED اسکریپت، موارد زیر را دریافت خواهیم کرد:


[me@linuxbox ~]$ مرتب سازی -k 1,1 -k 2n distros.txt | sed -f distros-tbl

.sed | groff -t -T ascii 2>/dev/null

+------------------------------+

| گزارش توزیع لینوکس |

+------------------------------+

[me@linuxbox ~]$ مرتب سازی -k 1,1 -k 2n distros.txt | sed -f distros-tbl

.sed | groff -t -T ascii 2>/dev/null

+------------------------------+

| گزارش توزیع لینوکس |

+------------------------------+



تصویر

| نسخه نام منتشر شد |

+------------------------------+


| فدورا

5

2006-03-20

|

| فدورا

6

2006-10-24

|

| فدورا

7

2007-05-31

|

| فدورا

8

2007-11-08

|

| فدورا

9

2008-05-13

|

| فدورا

10

2008-11-25

|

| SUSE

10.1

2006-05-11

|

| SUSE

10.2

2006-12-07

|

| SUSE

10.3

2007-10-04

|

| SUSE

11.0

2008-06-19

|

| اوبونتو

6.06

2006-06-01

|

| اوبونتو

6.10

2006-10-26

|

| اوبونتو

7.04

2007-04-19

|

| اوبونتو

7.10

2007-10-18

|

| اوبونتو

8.04

2008-04-24

|

| اوبونتو

8.10

2008-10-30

|

+------------------------------+


اضافه کردن -t گزینه ای برای خنده به آن دستور می دهد تا جریان متن را با آن پیش پردازش کند tbl. به همین ترتیب ، -T گزینه برای خروجی به ASCII به جای رسانه خروجی پیش فرض PostScript استفاده می شود.

اگر به قابلیت‌های صفحه پایانه یا چاپگر به سبک ماشین تحریر محدود باشیم، فرمت خروجی بهترین چیزی است که می‌توانیم انتظار داشته باشیم. اگر خروجی PostScript را مشخص کنیم و خروجی را به صورت گرافیکی مشاهده کنیم، نتیجه بسیار رضایت‌بخش‌تری دریافت می‌کنیم:



[me@linuxbox ~]$ مرتب سازی -k 1,1 -k 2n distros.txt | sed -f distros-tbl

.sed | groff -t > ~/Desktop/foo.ps

[me@linuxbox ~]$ مرتب سازی -k 1,1 -k 2n distros.txt | sed -f distros-tbl

.sed | groff -t > ~/Desktop/foo.ps


تصویر

شکل 5: مشاهده جدول تمام شده


برترین سیستم عامل Cloud Computing در OnWorks: