62
نشگاه کابل دا دانشکدهءاینس کمپیوتر س بنتومل اویستم عا رهنمود سUbuntu Operating System Guide ویرایش دومیه وترتیب: تهمان" محب بهارسال4931 دی خورشی هجری

(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

Embed Size (px)

Citation preview

Page 1: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

دانشگاه کابل

کمپیوتر ساینسدانشکدهء

رهنمود سیستم عامل اوبنتو

Ubuntu Operating System Guide ویرایش دوم

محب هللا "امان"تهیه وترتیب: هجری خورشیدی 4931بهارسال

Page 2: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

2

به نام خداوند بخشاینده و مهربان

عامل لینوکس اوبنتوسیستم

Kenneth Thompson, Dennis Ritchieتوسط AT&Tدر البراتوار 4391-4393سیستم عامل لینوکس بین سالهای

بنابر اهداف زیر ساخته شد: افراد ، وغیره

Single User را بهMultiuser .تبدیل کند

Batch Mode را به محیطinteractive environment .تبدیل میکند

.آسان شریک ساختن فایل ها

.Shellو kernel ،File Systemسیستم عامل لینوکس متشکل از سه قسمت عمده می باشد که عبارت است از

Kernel یاهستهء سیستم عامل بخش مرکزی سیستم عامل می باشد که وظیفهءboot کردن سیستم عامل و مدیریت حافظه و پراسه

userها وظیفهء تفسیر و ترجمهء دستورهایی Shellبرای تنظیم دیتا استفاده میگردد. و File Systemهارا دارا می باشد. درحالیکه

را دارا می باشد.

مشخصات لینوکس

لینوکسOpen Source .بوده و رایگان است

.قابلیت اجرای چندین پراسه را در یک زمان دارا می باشد

چندینuser باهم کار کنند. سیستمدریک میتوانند در اوقات مختلف

.مستقل از هاردویر بوده و با انواع مختلف سخت افزار ها سازگاری داشته و میتواند نصب شود

دستور ها درلینوکس از قسمت های زیر ساخته شده است:

Page 3: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

3

Prompt این دستور نظر به نوع :shell استفاده شده فرق میکند و بهuser را می باشد.می فهماند که کدام پراسه درحال اج

Command توسط :user تایپ شده و شامل دستور می باشد کهuser انجام دهد. وحیثیت "فعل" را در یک جمله دارا میخواهد آنرا

می باشد که مشخص می کند کدام عمل باید انجام داده شود.

Option توسط :user انجام میدهد ویابه عبارت دیگر روش انجام دستور تایپ میشود که جزییات مربوط به یک کماند را

(command) توسطOption .ومعموال به شکل تک حرفی هایی که به نظر می رسد از شرطیه هایی مشخص میگرددSwitch

( ویا هم )+( نوشته می شود.-به تعقیب ) درآن کار گرفته بوده که اکثرا

Argument: این بخش از کماند هم توسطuser تایپ میگردد که نشان میدهد دستور یا کماند باالی کدام فایل ؛ هاUser ها ؛ ویا

می باشد که درصورت مشخص نکردن ارگومنت دستور باالی default argumentدایرکتوری تطبیق گردد. واکثر کماند ها دارای

آن اجرا میگردد.

وهمچنان بخاطر باید داشت که لینوکس مطلقا جدامی گردد. white spaceحداقل یک د که ذکر شد توسطنوت: هر بخش از کمان

Case sensitive .می باشد

Login شدن از طریق یکUser

مربوطه استفاده می کنیم وپس از userوبه تعقیب آن ازنام Loginهایی مشخص از کماند Userشدن از طریق loginبرای

authentication کاررا باهمانuser .ادامه میدهیم

استفاده میکنیم. Exitوهمچنین از Logoutاولی برگردیم ازکماند Userمذکور دوباره به Userبرای اینکه از

شدن هم باید فوق العاده محتاط loginداخل سیستم نشوید ودرصورت root userبه خاطر داشته باشید هیچ وقت ازطریق نوت:

قبل از sudoنیاز دارد ازکماند rootصالحیت انجام هرکاری رادارد. وبرای انجام هرکاری که به صالحیت userباشید زیرا این

لینوکس تغییرات می آورد( configurationرا قبل ازکماند ها )دستورات که در sudoی اصلی استفاده کنید. زمانیکه کماندها

اجرا میگردد. administratorرصورت درست بودن آن همان کمانداز طرف درا خواسته و root userاستعمال میکنیم ازما پسورد

Page 4: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

4

بعضی کماندهایی ابتدایی که زیاد استفاده میگردد:

PWD این دستور مخفف :Print Working Directory .می باشد که دایرکتوری که درآن قرارداریم را نشان می دهد

ls این کماند وظیفهء دستور :dir درDOS ،لیست را دارا می باشد یعنی محتویات دایرکتوری را که درآن قرار داریم

رانیزمشخص کنیم که محتویات همان دایرکتوری ذکرشده در Pathمیکند. وهمچنان میتوانیم به تعقیب این دستور یک

path .را لیست میکند

Cd این دستور برگرفته از :change directory می باشد که به کمک آنuser می تواند از یک دایرکتوری به

دیگر رود. های دایرکتوری

more با استفاده از این دستور میتوانیم محتویات یک فایل را بخوانیم وکماندهای :less, cat, nano , head, tail وغیره

نیز برای این مقصد استفاده میگردد.

Passwd با استفاده از این دستور می توانیم پسورد :User .با استعمال این کماند درنخست پسورد فعلی خودرا تغییر دهیم

هارا نیز به تعقیب Userوبه همین ترتیب میتوانیم نام سایر می دهیم. userوسپس پسورد جدید را به فعلی مطالبه میگردد

این دستور نوشته وبه آن پسورد بدهیم.

Page 5: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

5

File :با استفاده ازاین دستور نوعیت یک فایل را دیده می توانیم. نوعیت های ممکنه فایل ها درلینوکس عبارت از :

وغیره می باشد. ASCII Text ،Executable file ،ZIP Fileدایرکتوری ،

rm

هر فایل را که میخواهیم حذف کنیم. removeمیتوانیم فایل ها ویا دایرکتوری ها را rm (remove)با استفاده از دستور

شود منحیث ارگومنت دراین دستور وضع نموده و سپس حذف میگردد.

Cp

از یکجا به جای دیگر انتقال دهیم.میتوانیم نمونهء یک فایل را cp (copy)با استفاده از دستور

Mv

تقال دهیم.میتوانیم یک فایل را از یکجا به جای دیگر ان mv(move)با استفاده از دستور

Mkdir

برای ساختن دایرکتوری استفاده میگردد. mkdir (make direcoty)این دستور

Rmdir

Rmdir (remove directory) .برای حذف دایرکتوری استفاده میگردد

Page 6: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

6

Getting Helpدرخواست کمک

درصورت که خواهان دانستن کماندهای زیاد موجودی در سیستم عامل لینوکس باشید ویاهم بخواهید درباره یک کماند معلومات بدست

را برای تمام کماندهای موجودی ، تهیه نموده است که با استفاده از کماندهای ذیل بدست Local Helpبیاورید سیستم عامل لینوکس

می آید.

Man <<command>>

هر کماند را باز نماییم که این صفحه شامل معلومات مفصل دربارهء manual pageما میتوانیم manبا استفاده از دستور

استفاده کنیم معلومات Man tarهای آن می باشد. مثال درصورتیکه از کماند Optionو argumentکماند ذکر شده ،

می دهد. tarمکمل دربارهء کماند

Man –k <<keyword>>

های کماندها جستجو می نماید وسپس manual pageبه آن داده میشود درتمام keywordاین کماند کلمهء راکه منحیث

شان همان کلمه شامل بوده است را لیست می کند. استفاده از این دستور زمانی descriptionلیست از کماندهای راکه در

وبرای به دست آوردن نام دقیق آن از کماند فوق استفاده میکنیم. نیم.موثر است که ما نام دقیق یک کماند راندا

استفاده نموده man –kکنم از hibernateبطور مثال درکماند ذیل من راجع به کماند که توسط آن میتوانیم کمپیوترم را

ام.

Apropos <<keyword>>

را در dosدارا می باشد ولی با استفاده از این کماند می توانیم نام مترادف یک دستور در را man –kوظیفهء مشابه به

لینوکس دریافت کنیم.

Info <<command>>

این دستور معلومات مفصل راجع به یک کماند رابه ما می دهد.

<<Command>> --help

یگردد.این دستور نیز برای گرفتن معلومات درباره یک کماند استفاده م

Scriptکماند و با تایپ کماند یگردد در یک فایل به ثبت برسانیم. استفاده م userبا استفاده از این دستور می توانیم که تمام دستورات که توسط

Exit .رسد یالبته درصورتیکه نام فایل را که دستورات استفاده شده درآن به ثبت مدرترمینل میتوانیم این عملیه را متوقف کنیم

خواهدبود. typescriptمشخص نکرده باشیم دراینصورت نام فایل

Page 7: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

7

بعدا خواهیم خواند که چطور یک کماند دروقت معین و ها دراوقات مختلف اهمیت دارد. که userاین دستور برای ثبت فعالیت های

های مختلف اجراشده می تواند. userمشخص در

Tar command ( کنیم.combineمی توانیم دو ویا چندین فایل را باهم یکجا ) Tar (tape archive)کماند با استفاده از

شده را ببینیم. zipped( یک فایل contentبا استفاده از کماند ذیل میتوانیم محتویات )

Page 8: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

8

کنیم. extractشده را دوباره zippedوبا استفاده از کماند ذیل میتوانیم فایل

) verboseبرگرفته از extract ،Vبرگرفته از table of content ،xبرگرفته از create ،Tته از برگرف cدرکماندهای فوق

می باشد. fileبرگرفته از fو (فایل هارا با جزییات آن نشان میدهد

Unix Directory Structure or File system parentطوری که هر سلسله دارای ترتیب گردیده است. ( hierarchicalدر لینوکس تمام دایرکتوری ها به شکل تسلسی )

directory وchild directory و می باشند .parent ( عمومیtop level directory)/( عبارت از دایرکتوری ) می باشد(root

directory).که تمام دایرکتوری های دیگر یک دایرکتوری فرعی آن محسوب میگردد .

قرار دارند هر کدام حاوی محتویات مختلفی است که در یک بخش مشخص ازآن استفاده میگردد.که /ر دایرکتوری های که د

دراینجا چند دایرکتوری مشهور آنرا معرفی میکنیم.

/etc ( را دارا می باشد.serviceهایی تمام خدمات ) configuration fileاین دایرکتوری وظیفهء نگهداری

Page 9: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

9

/bin

یا سکریپت تمام کماند هارا دارامیباشد. یعنی زمانیکه ما کماندی را در ترمینل تایپ میکنیم executableوظیفهء نگهداری فایل های

executableمامیتوانیم فایل های می شوند. runجستجو گردیده و سپس bin/کماند مذکور در دایرکتوری مربوط به سکریپت

ا در طریقهء ساختن دستورها بعدیرکتوری شامل بسازیم وسپس منحیث یک کماند ازآن استفاده کینم. که بسازیم وسپس آنرا در این دا

بخش سکریپت نویسی ، واضح میگردد.

/dev

فایل محسوب میگردند دراین دایرکتوری نام تمام وسایل که به فولدرها وفایل ها همه وهمه،با توجه به اینکه در لینوکس وسایل ،

وغیره لیست گردیده )نام وسایل منحیث یک فایل نشان داده می شود( که ما می USB ،CD_ROMل میگردند از قبیل کمپیوتر وص

از محتویات آن استفاده کنیم. mountتوانیم با استفاده از دستور

/home

معلومات شخصی شانرا ها می توانند userیک دایرکتوری ایجاد میگردد که home/در userطور عموم در لینوکس برای هر

می باشد. rootعبارت از root userدایرکتوری homeونام درآن ذخیره نمایند.

قواعد نام ها و دستورات مربوط به دایرکتوری ها

به نام home directoryدایرکتوری مربوطه اش میگردد و دراین حالت homeشدن وارد loginپس از userبطور عادی هر

current directory .دایرکتوری به ولی ما می توانیم با استفاده از شکل تسلسلی دایرکتوری ها به آسانی از یک یاد میگردد

دایرکتوری دیگر برویم. که دراین جا به بعضی حاالت ممکنه اشاره میکنیم.

Cd /dirname/dirname2/dirname3 یعنی اوال به )/( دایرکتوری رفته وسپس داخلdirname یک کهchild از / می

میگردد. dirname3وبه تعقیب آن داخل dirname2باشد رفته وسپس داخل

Ls ./this/that/ دراینجا ).( قبل از / معنیcurrent directory رامیدهد یعنی دایرکتوریthis

شده ومحتویات آنرا thatداخل را باز کرده و سپس Current directoryاز

لیست کند.

Ls ../this/that درینجا )..( تعیین میکند که اوال یک قدم به دایرکتوری باالیی(parent directory) رفته و سپس داخل دایرکتوری موجود درparent به نامthis شده

شده و محتویات آنرا لیست کند. thatو به تعقیب آن داخل دایرکتوری

Ls ~/this/that یعنی ازhome directory ده و محتویات دایرکتوری های مشخص شروع نمو

شده را لیست کند.

Ls ~User1/this/that یعنی ازhome directory مربوطه بهUser1 شروع نموده وسپس محتویات

فولدرهای مشخص شده را لیست کند.

/this/filename. ( یعنی از دایرکتوری فعلیcurrent directory.شروع کند )

Meta Characters بصورت عموم درلینوکس حروفی که غیر از یک حرف دارای معنی دیگر نیز می باشند ودرصورت استفاده از آن در کماندها

یاد میکنند. یعنی این حروف غیر ازینکه یک حرف را ارایه میکنند دارای معنی meta charactersوظایف مشخص را دارند به نام

یادمیگردد. meta characterمی باشد. که به نام home directory( به معنی ~) tildeخاص دیگری نیز می باشند مثال حرف

تا کرکتری شامل باشد به استثنای /()بصورت عموم درنام فایل ها میتواند هر می

Wildcards Characters میتاکرکترهای اند که به عوض یک و یاچندین حروف استفاده میگردد. ودرمواردی مختلفی مثال زمانی که بخواهیم یک فایل را

search فایل را ندانسته بلکه قسمتی از نام آنرا بخاطر داشته باشیم به عوض حروف که آنرا نمیدانیم از این حروف کنیم ونام مکمل

استفاه میکنیم.

ها و موارد استفاده از آن اشاره میکنیم. wildcardsذیل به بعضی از در جدول

Page 10: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

10

نام

wildcards

مثال از موارد استفاده وظیفه

؟تنها یک کرکتر را بجای عالمهء ؟

جاگزین میکند.

Ls a?b bوحرف آخر آن aیعنی فایل سه حرفی راکه حرف اول آن

وحرف وسط آن تنها میتواند یکی از حروف باشد را لیست کند.Ls ????

دستور فوق تمام فایل های که نام شان دارای چهار حرف است را لیست میکند.

Ls /a?? دایرکتوری / بوده childرا که دایرکتوری محتویاتدستور ذیل

شروع می شود aبه لیست میکند طوریکه نام این دایرکتوری

ی سه حرف است. ودوحرف دیگر آن یکی از حروف دارا میتواند باشد.

* صفر و یا چندین کلمه میتواند در جاییکه

استفاده شده جانشین گردد. *

Wheris a*b bشروع شده و به aدستور فوق موقعیت تمام فایل های راکه به

ختم می گردد را لیست میکند ممکن فایل ها دوحرفی باشد و ممکن نام فایل ها بیشتر از دوحرف باشد.

*x

ختم میگردد xنام فایل های که به حرف

/*a* را درنام خود aفایل راکه در / دایرکتوری قرار دارد و حرف

را aدارا میباشد. ویاتمام فایل های داخل / دایرکتوری که حرف

رکیب خویش دارد.در ت

[]

راکه در داخل این حروفتنها یکی از دوقوس نوشته می شود شامل نام فایل

میکند. مثال درصورت که فایل را به نام you.txt داشته باشیم ولی در حرف

است you.txtوسط آن مطمین نباشیم که

است بناء طور ذیل عمل yuo.txtویاکه

میکنیم. Locate y[ou]u.txt

A[xyz]b شروع شده و به تعقیب آن یکی از حروف Aیعنی نام فایل که به

x ,y ویاZ آمده وبهb .ختم میگردد

[abc]x

xشروع شده و به Cویا a ,bنام فایل راکه به یکی از حروف ختم میگردد./[a-z][A-Z]

نام فایل دو حرفی که در داخل دایرکتوری / قرار داشته و حرف به حروف کوچک انگلیسی و حرف دوم آن zتا به aاول آن از

میباشد. uppercaseو zتا به Aهم از

/[ac-eg][1-5]

که دقیقا دو حرف داشته و حروف اول آن یکی root childیک

بوده در حالیکه gو یا eالی cویا حروف بین aاز حروف

می باشد. 5حرف دوم آن یکی از اعداد یک الی

{} ءکلمهخود نام که در ترکیب به فایل های

درداخل این قوس نوشته میشود راکه اطالق میگردد.

A{xxx,yyy}b ختم میگردد bشروع شده و به حرف aنام فایل راکه به حرف

.yyyمی باشد ویاهم xxxو بین آن یا

{f1,g2}x ختم Xشروع شده و به g2ویا f1نام فایلی می باشد که به

میگردد./{ahmad,ali}{jan,Khan}

شروع شده ahmadویا aliنام فایل راکه توسط یکی از کلمات

ختم شده باشد را khanویا janوبه تعقیب آن یکی از کلمات

نشان میدهدالبته این فایل در داخل /دایرکتوری قرار دارد.

Page 11: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

11

که meta characterشدن interpreteها در نام یک فایل باشیم ما باید از meta characterدرصورتیکه خواهان استفاده از

شدن میتا کرکتر موجود است و استفاده interpretدرنام فایل بکار رفته جلوگیری کنیم. بطور عموم چندین روش برای جلوگیری از

یم . بناء:را بساز *fileیکی از روش های آن است. مثال میخواهیم فایل quotation ”“از

Sudo touch “file*”

( قبل از میتا کرکتر ها نیز خاصیت میتا کرکتری را خنثی میکند.back slash) \وهمچنان استفاده از

Sudo touch file\*

جدول ذیل بعضی حاالت ممکنه را نشان میدهد.

More /“file*” محتویات فایل را به نامfile* که در داخل / دایرکتوری قرار دارد را با استفاده از

نشان میدهد. moreدستور

more ‘file*’ محتویات فایل را به نامfile* که در داخل / دایرکتوری قرار دارد را با استفاده از

نشان میدهد. moreدستور

more file\* محتویات فایل را به نامfile* رار دارد را با استفاده از که در داخل / دایرکتوری ق

نشان میدهد. moreدستور

More a\?a محتویات فایل راکه نام آنa?a .است میخواند

More ?\?? و حروف یک نمبر بوده رف اول آن یکی از حروف الفبا و یامحتویات فایل راکه ح دوم آن ؟ بوده و حرف سوم آن هم یکی از حروف الفبامیباشد.

more ?\*\?* به تعقیب آن حرف شروع شده و که به یکی ازحروف الفبا ویانمبر محتویات فایل * ویاچندین حرف باشد ، را با ومتباقی آن میتواند هیچ حرف نباشد ؟ سپس حرف

نشان میدهد. moreاستفاده از دستور

(File Permissionتعیین دسترسی درفایل ها )

ها userها و گروپ ها باالی یک فایل تا چه اندازه بوده و userدرلینوکس ما به بسیار آسانی میتوانیم تعیین کنیم که میزان دسترسی

میتواند باالی فایل انجام دهد عبارت از userعموما عملیات راکه یک تا چه سرحدی از فایل ما استفاده ویا تغییر واردکرده میتوانند.

( owner( است. که عملیات مذکور میتواند توسط شخص سازندهء فایل )execute( و اجرا نمودن )write( ، نوشتن )readخواندن )

،user ( هایی همگروپGroup( و سایرین )other.اجرا شود )

م تعیین دسترسی باالی های فوق الذکر بدهیم که این عملیه به نا userما میتوانیم جواز اجرای این سه عملیه را باالی سه گروپ از

( استفاده میکنیم که مخفف chmodباالی فایل ها ما از دستور ) permission. وبرای تعیین یادمیگردد(file permissionفایل ها )

change mode .می باشد

، وسایل ورودیمتباقی تمام فایل ها ، دایرکتوری ها و با توجه به اینکه در لینوکس تنها پراسه است که فایل محسوب نمیگردد

باالی تمام اجزای مذکور به شکل یکسان تطبیق میگردد. بطور Permissionوخروجی وغیره همه وهمه فایل محسوب میگردد پس

محدود کنیم. Userرا تنها به یک DVDمثال ما میتوانیم استفاده ازمحتویات یک

عمل باالی آنان مثل فایل های عادی permissionوظایف فراتر از فایل را دارا میباشند ولی در تعیین البته فایل هایی هستند که

.Directory ،Named Pipe, Sockets, Linksمیکنیم این نوع فایل ها عبارتند از

Permission تطبیق شده باالی فایل هارا میتوان با استفاده از دستورls –l نمایش داد به صورت عادی این دستور جزُییات دیگری

را نیز نمایش میدهند که درشکل ذیل به مشاهده میرسد.

Page 12: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

12

که این جزییات فایل عبارتند از :

Type درصورتیکه نوعیت فایل دایرکتوری باشد درین ستون :d ظاهر گردیده و درصورتیکه فایل های عادی باشد–

ظاهر میگردد.

Permission :( ستون دوم که درشکل فوق به خط آبی ظاهر گردیده است نشاندهندهء حق دسترسیpermission است )

readها اجازهء userبه معنی این است که rتطبیق گردیده است. که حرف othersویا owner ،Groupکه باالی

، ownerباشد. که برای هر کدام از را دارا می executeاجازهء xو writeاجازهء wداشته باشند وبه همین ترتیب

Group وOthers حروفrwx میتواند نمایش داده شود درصورتیکهfull permission صالحیت کامل ( به هر سه(

های فوق الذکر داده شود. userگروپ

Number of Links این ستون همیشه قیمت های مثبت به خودرا گرفته ونشان میدهد که فایل مذکور به چند جای ویا نام :

دهیم. linkفایل را به چندین نام lnارتباط داشته وبه چند طریق باز میگردد. و ما میتوانیم با استفاده از دستور

دریک قسمت از حافظه link1.testو link2.test؛ link.testفایل استفاده کنیم میبینیم که هر سه ls –iدرصورتیکه از دستور

ذخیره است.

Owner ID نشاندهندهء نام :Owner ویاuser می باشدکه فایل مذکور را باراول ساخته است ومیتواند با استفاده از

را تغییر دهیم. ownerنام chownدستور

Group Name نام گروپ است که :user یل به آن تعلق دارد و توسط دستور سازندهء فاchgrp میتوانیم فایل را به

گروپ دیگری منسوب کنیم.

Page 13: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

13

Size in byte ستون دیگری است که با استفاده از دستور :ls –l .سایز فایل را بر حسب بایت به ما نشان میدهد ،

Modification Date and Time وایجاد گردیده است.: نشاندهندهء تاریخ است که فایل تعریف

chmodدستور ها تعیین کنیم. Userیک فایل را برای accessیا سرحد permissionهمانطوریکه قبال ذکر کردیم با استفاده از این دستور میتوانیم

را مشخص نموده و permissionاست به دو ارگومنت نیاز دارد که ارگومنت اولی change modeاین دستور که مخفف

argument دومی فایل راکه بایدpermission .روی آن تطبیق گرددمشخص میکند

به اساس حرف باشد ویاهم میتواند به اساس Userارگومنت اولی که صالحیت را برای فایل تعیین میکند میتواند برای هر طبقهء از

w، حرف readصالحیت rاده کنیم. حرف باشد. درصورت که از حروف به خاطر تعیین صالحیت استف Octalارقام به سیستم

g، از ownerبرای صالحیت دادن به Uوهمچنین درین روش از رانشان میدهد. executeصالحیت xو حرف write صالحیت

استفاده میگردد. وبرای اضافه کردن صالحیت از othersبرای صالحیت دادن به Oو از Group userبرای صالحیت دادن به

( وبرای مکمل تغییر دادن صالحیت از )=( استفاده میگردد.بطور مثال درجدول ذیل بعضی از -رای گرفتن صالحیت از ))+( ، ب

حاالت ممکنه استفاده گردیده است.

شکل دستور تشریح

درصورتیکه بخواهیم اجازهء صالحیت

و ownerرا به Writeو readهای

group .بدهیم

Sudo chmod ug+rw filename rw?rw????

executeدرصورتیکه بخواهیم صالحیت

حذف کنیم. othersرا از

Sudo chmod o-x filename ????????-

درصورتیکه بخواهیم از تمام استفاده را حذف کنیم. executeکنندگان صالحیت

Sudo chmod a-x filename

all userدردستور فوق به معنی aحرف

میباشد.

??-??-??-

درصورتیکه بخواهیم صالحیت کامل به group وOthers بدهیم

Sudo chmod go+rwx ???rwxrwx

ها تمام userدرصورتیکه بخواهیم ازتمام

صالحیت ها حذف گردیده وبه عوض آن

داده شود. readتها صالحیت

Sudo chmod ugo=r filename

Sudo chmod a=r filename r- -r- -r--

هیچ othersدرصورتیکه بخواهیم

صالحیتی نداشته باشد.

Sudo chmod o-rwx filename ??????- - -

درصورتیکه بخواهیم به تمام فایل های که تحت یک دایرکتوری قرار دارند تعیین

به تعقیب r–صالحیت کنیم از حرف

chmod .استفاده میکنیم

Sudo chmode 777 –r /home/muhib/

Page 14: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

14

رابه سیستم باینری فرض کرده ومیدانیم که هر رقم از octalرقم برای تعیین صالحیت استفاده کنیم octalدرصورتیکه از ارقام

( میگردد 444اکتال سه رقم باینری دارد که ارقام باینری میتواند صفر باشد ویا یک. درصورتیکه صالحیت کامل بدهیم هرسه رقم )

صالحیت کامل است. 999. بناء 1x21+1x221x2+70=1+2+4=با توجه به عملیه

rootنمیتواند محدودیت استفاده از فایل هارا باالی userتوانایی انجام هر کاری را دارا میباشد وهیچ root userقابل ذکر است که

user .وضع کند

VI Introduction VI یکvisual text editor و ایجاد فایل های متنی استفاده میگردد. و با استفاده از می باشدکه به منظور ویرایش ، تغییراتvi هر

با داشتن خاصیت که درآن هم میتوانیم متن VIآمده و تغییرات وارد شده بعدا ثبت میگردد. bufferفایل متنی به صورت موقت در

یت زیاد برخوردار است. بناء گفته میتوانیم ( استفاده کنیم از اهمcommandsهارا تایپ کنیم و هم میتوانیم از یک سلسله دستورات )

دارای سه حالت است. viکه محیط

Insert modeقبول نموده و آنرا در فایل های متنی اضافه از کیبورد را منحیث حروف ورودی : حالت است که حروف

میکند.

Command modeن آنان توسط کیبورد را منحیث دستور قبول نموده و حین وارد شد ورودی : حالت است که حروف

آنرا اجرا میکند. دستورهای مربوطه

Last line mode حروف در کماند الین منحیث متن عادی نوشته شده وپس از فشردن کلید : حالت است کهenter از

کلمهء تایپ شده لغو میگردد. modeازکیبورد درین escکیبورد منحیث دستور اجرا میگردد. وبا فشردن دکمهء

وبه تعقیب آن از نام فایل استفاده میکنیم. viاز دستور viبرای باز کردن یک فایل با استفاده از

به مود دیگر: modeبرای رفتن از یک

برای رفتن ازcommand mode بهlast line mode ):( کرس از شارحه ):( ر بطور اتومات استفاده میکنیم. با تایپ

دستور اجرا enterو به تعقیب آن منتظر یک دستور می باشد که با تایپ دستور و فشردن کلمهء در آخرین الین رفته

استفاده کرده ام که دستور exitمثال در شکل ذیل به تعقیب : از دستور گردیده و دوباره به محیط کماندالین برمیگردیم.

Page 15: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

15

ب میآید.چهار حرفی است حاالنکه در کماند مود هر کرکتر یک دستور به حسا

برای رفتن ازLast line Mode بهcommand mode دکمهءenter ویاesc .را از کیبورد فشار میدهیم

برای رفتن ازinsert mode بهcommand mode از کلیدesc .استفاده میکنیم

رفتن ازcommand mode بهinsert mode به اشکالی مختلف وبا استفاده از حروف مختلف صورت میگیرد که

عبارت انداز:

i برای وارد شدن به :insert mode .وتایپ متن قبل از موقعیت فعلی کرسر استفاده میگردد

a : برای وارد شدن بهinsert mode .وتایپ متن بعداز موقعیت فعلی کرسر استفاده میگردد

I برای وارد شدن به :insert mode .و تایپ متن قبل از الینی که کرسر درآن قرار دارداستفاده میگردد

A برای وارد شدن به :insert mode .وتایپ متن بعد ازالینی که کرسر درآن واقع است استفاده میگردد

O برای داخل شدن به :insert mode رآن و تایپ متن در الین جدید که درقسمت باالیی الین فعلی که کرسر د

قرار دارد استفاده میگردد.

o: برای وارد شدن بهinsert mode و تایپ متن در الین جدید که درالین جدید که در قسمت پایین الین فعلی

که کرسر درآن قرار دارد استفاده میگردد.

از دستورات ذیل استفاده میکنیم: VIبرای ترک کردن وخارج شدن از محیط

(:q)ل تغییر نیاورده باشیم از این دستور برای خارج شدن استفاده میکنیم.: درصورتیکه در فای

(:q! با استفاده از این دستور میتوانیم :)VI .را بدون ثبت تغییرات وارد شده در فایل ، ترک کنیم

(:wq) برای ثبت وذخیرهء تغییرات در فایل و خارج شدن از محیط :VI .استفاده میگردد

(ZZ)ت واردشده در فایل و خارج شدن از محیط : برای ثبت تغییراVi استفاده میگردد. ومشابه به:wq .است

میتوانیم کرسررا به ترتیب به چپ ، پایین ، باال و راست ببریم. lو h ،j ،kبا استفاده از دکمه های

میگردد:استفاده command modeدرکردن حرف ، کلمه ، ویا الین ها از دستورات ذیل deleteبرای

x.برای حذف تنهایک کرکتر که کرسر باالی آن قرار دارد استفاده میگردد :

dd.برای حذف مکمل الین که کرسر باالی آن قرار دارد. استفاده میگردد :

dw.برای حذف یک کلمهء که کرسر باالی آن قرار دارد استفاده میگردد :

J:(برای یکجا ساختنjoinکردن دوالین استفاده میگ ) ردد یعنی این دستور نشانهء را که دوالین را ازهم جداکرده حذف

میکند که باعث میشود دوالین منحیث یک الین استفاده شود.

استفاده صورت میگیرد: rو Rکلمات از حروف (Replace)برای جاگزین کردن

R برای :replace کردن حروف استفاده میگردد البته با فشردن همزمانShift+r پراسه شروع شده و تازمانیکه اینesc را

که از کیبورد تایپ شود جاگزین حرف که کرسر باالی آن قرار دارد خواهد شد.یعنی پس از فشار نداده باشیم هر دکمهء

برمیگردد. command modeبه escفشردن

Page 16: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

16

r با فشردن :r درcommand mode ما میتوانیم حرفی را که کرسر باالی آن قرارداردreplace نموده و دوباره به

command mode .برمیگردد

چندین روش موجوداست : viبرای بازکردن

Vi filename

برای بازکردن فایل استفاده میگردد.

View filename

استفاده میگردد. read onlyبرای بازکردن فایل به شکل

Vi –R filename

گردد.استفاده می read onlyبرای بازکردن یک فایل به شکل

Vi –r filename

بازمی کند. recovery bufferفایل را با استفاده از

Vi

را شروع مینماید. viتنها پروگرام

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

(:w برای :)write .کردن ویا ذخیرهء تغییرات درفایل استفاده میگردد

(:w filename برای ذخیره کردن :)buffer .در نام فایل که در اینجا منحیث ارگومنت مشخص میگردد استفاده میگردد

(.save asباز شده به یک نام جدید ثبت میکند )مشابه به bufferیعنی فایل راکه در

(:w! filename) مشابه به دستور باالیی به منظور ذخیرهء :buffer تفاده میگردد.به یک نام جدید اس

(:w >>filename) محتویات :buffer که دراینجا منحیث ارگومنت مشخص میگردد ذخیره میکند را در قسمت آخرفایل

بدون اینکه محتویات فایل فعلی حذف گردد.

(:address w filename)ص: طوریکه میبینید این دستور از سه ارگومنت ساخته شده است ارگومنت اولی الین هارا مشخ

است که وظیفهء ثبت تغییرات را دارد و ارگومنت سومی نام فایل را مشخص میکند پس با استفاده wمیکند، ارگومنت دومی

از این دستور میتوانیم الین های مشخص را در فایل جدید به ثبت برسانیم. الین ها میتواند به اشکال مختلف ذیل مشخص گردند.

:50 w thisfile.txt

ذخیره کن. thisfile.txtرا در فایل به نام 51ین یعنی تنها ال

:5,10 w thatfile.txt

ذخیره کن. thatfile.txtرا در فایل به نام 41الی 5یعنی الین های

:1,. w toplines.txt

ذخیره کن. toplines.txtیعنی از الین یک تا موقعیت فعلی کرسر را در فایل به نام

:.,72 w belowlines.txt

ذخیره کن. belowlines.txtرا در فایل به نام 97ی از موقعیت فعلی کرسر الی الین یعن

:.,$ w currenttoEnd.txt

ثبت گردد. currenttoEnd.txtیعنی از موقعیت فعلی الی الین آخر در فایل به نام

:1,$ w All_lines.txt

ثبت میگردد. all_lines.txtمیباشدکه از الین اول الی به آخر در فایل به نام w all:مشابه به دستور

:.,.+9 w ten.lines.txt

به ثبت برسان. ten.lines.txtالین بعدی دیگرآن در فایل به نام 3یعنی الین فعلی را همراه با

بیم.میتوانیم نمبر الین فعلی را دریا f:ویا CTRL+Gنوت: با استفاده از دستور

Page 17: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

17

طورذیل عمل میکنیم. viبرای جستجوکردن در

وسپس کلمهء که میخواهیم /میتوانیم کلمات را در یک فایل جستجو کنیم. با استعمال command modeدر ?و /با استفاده از

علی کرسر جستجو میکند.و سپس کلمه ، کلمه را قبل از موقعیت ف ?جستجوکنیم از موقعیت فعلی کرسر به بعد جستجو میکند در حالیکه

را قبل از موقعیت فعلی کرسر جستجو میکنیم. historyبطور مثال در شکل ذیل میخواهیم کلمهء

ولی بعضی میتاکرکترهای اند که به خاطر جستجو به طریقه های خاص استفاده میگردند که عبارتند از:

/\<b یعنی کلمهء راکه به :b .شروع شده باشد جستجو نماید

/\>c یعنی کلمهء راکه به :c .ختم شده باشد را جستجو می نماید

/^K یعنی الینی راکه با حرف :K .شروع شده باشد جستجو کند

/t$ یعنی الینی را که به حرف :t .ختم شده باشد جستجو میکند

/.abc یعنی کلمهء را که حرف اول آن یکی از حروف بوده و متباقی آن :abc .می باشد جستجو کند

/^[aeiou].یعنی الینی راکه با یکی از حروف واول شروع شده باشد جستجو میکند :

/debian* کلمهء راکه با :debian .شروع شده و متباقی آن را میتواند صفر ویاچندین حرف تشکیل دهد جستجو میکند

هارا دریافت خواهد کرد. تصویر ذیل را دیده و بگویید که دستورات فوق کدام کلمات و الین

همچنان میشود میتاکرکترهای فوق را بصورت ترکیبی نیز استفاده کنیم که درذیل چند نمونهء از آن ذکر میکنیم.

Page 18: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

18

/\<[abc].b*k\>

دین ، به تعقیب آن میتواند یک ویاچن bشروع شده وبه تعقیب آن می تواندهرحرفی باشد وسپس cویا a ,bکلمهء که به یکی از حروف

ختم شده باشد. kحرفی باشد که به

/[abcd]$

جستجو میکند.ختم شده باشد dویا a, b, cالینی راکه به یکی از حروف

/b.*o

ختم شده oشروع شده باشد وبعدازآن یکی از حروف بوده وبه تعقیب آن میتواند صفر ویا چندین حروف باشد که به bکلمهء راکه به

باشد.

کلمهء بعدی را در مسیر مشابه n( را جستجو کنیم. که find nextمیتوانیم کلمهء بعدی ) shift+n (N)و nنوت: با فشردن دکمه های

(.looking forward or backwardکلمهء بعدی را در مسیر مخالف جستجو میکند. )مسیر مشابه یعنی Nجستجو کرده و

Utilities and Filters of UNIX بخش به طور اختصار به بعضی از دستورهای ابتدایی ودرعین حال مهم می پردازیم. درین

Apropos <command>

این را داشته باشند لیست میگردد. passwordشان کلمهء short descriptionبا استفاده از دستور فوق لیست از دستورات که در

man ) وظیفهء مشابه به aproposمیتواند هر کلمهء دیگری باشد. یعنی دراینجا منحیث ارگومنت وضع شده که Passwordکلمهء

–k .این دستور زیاد تر زمانی استفاده میگردد که نام دقیق یک کماند را درخاطر نداشته باشیم.( را دارا میباشد

Whatis <command>

( رادارد.man -fرا ببینیم. یعنی این دستور وظیفهء ) commandیک short descriptionمیتوانیم whatisبا استفاده از دستور

Whereis <command>

وسایر فایل های که حاوی هدایات برای یک manual page ،Binary fileبا استفاده از این دستور میتوانیم که دربارهء موقعیت

نشانداده شده است. lsدستور executable fileو manual pageمعلومات حاصل کنیم. مثال در شکل فوق موقعیت دستور میباشد

Which <command>

Page 19: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

19

میشود معلومات حاصل کنیم. مثال در executeبا استفاده از دستور فوق میتوانیم راجع به موقعیت دستور واینکه ازکدام موقعیت

می باشد. usr/bin/در دایرکتوری touchدستور executableشکل فوق نشان داده شده که موقعیت فایل

Date

تاریخ را تنظیم date –sبا استفاده از دستور فوق میتوانیم تایم و تاریخ فعلی را مشاهده نماییم. وهمچنان میتوانیم با استفاده از دستور

کنیم. قرار شکل:

Cal

رتیکه خواسته باشیم ترتیب روزهای سال را میتوانیم جنتری را در روی ترمنیل نشان دهیم وهمچنین درصو calبا استفاده از دستور

استفاده میکنیم. cal –jببینم از دستور

User Information ها از دستورهای ذیل استفاده میگردد: Userبرای گرفتن معلومات در بارهء

Who

Loginکه این معلومات شامل هستند نمایش میدهد. loginهایی که فعال به سیستم Userای دستور معلومات مشخصی را درباره

name ،Terminal line وتاریخ که قبالlogin .شکل فوق نشان میدهد که شده می باشدuser به نامmuhib از سه ترمینل استفاده

شده اند. loginمیکنند که در اوقات مختلف

Page 20: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

20

Whoami

( می باشد.id –unمشابه به ) یعنیشده ایم را نشان میدهد. loginرا که از طریق آن به سیستم userاین دستور نام

Hostname

در می باشد. rootتنها صالحیت Hostبا استفاده ازاین دستور میتوانیم نام کمپیوتر فعلی را دیده وهم آنرا تنظیم نماییم. البته تنظیم نام

نام جدید را مینویسیم. etc/hostname/را تغییر بدهیم در فایل hostصورتیکه بخواهیم به طور دایمی نام

Finger <user Name>

finger درحالت عادی در کمپیوتر ها نصب نمی باشد و ما میتوانیم با استفاده از دستور ) پروگرام است کهsudo apt-get install

finger.و ( آنرا در کمپیوتر نصب کنیمuser ها از آن برای دریافت معلومات دربارهءuser خودشان استفاده میکنند.وهمچنین با

ها نیز میدهد. userمنحیث ارگومنت در پیشروی آن معلومات در بارهء سایر usernameوضع یک

ChFN

می باشد. change first nameاستفاده میگردد و مخفف userمعلومات یک دستور است که برای تغییر وتنظیم

Page 21: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

21

W

هستند همراه با فعالیات وکارهایی که میکنند را بدست آوریم. loginهایی راکه userبا استفاده از این دستور میتوانیم لیست از

W <login ID>

مشخص را نشان میدهد. userدستور است که معلومات وفعالیات یک

WC

wordمیگردد. وبرگرفته از کلمات داخل یک فایل استفادها و حروف ها در از این دستور برای شمارش تعداد الین ها ، کلمه ه

count و درصورتیکه بخواهیم تنها تعداد الین ها رادریابیم از .می باشدwc –l وبه همین ترتیب برای دریافت تنها تعداد کلمات و

استفاده میکنیم. wc –cو wc –wحروف به ترتیب از دستور های

Sort

فایل های متنی را به اساس حروف الفبا و یا اعداد تنظیم میکند. وسپس نشان میدهد. الین هایاین دستور

Uniq

Page 22: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

22

با استفاده از این دستور میتوانیم از نمایش الین هایی مسلسل که به شکل تکراری است در صفحهء ترمینل جلوگیری کنیم وهمچنین با

هیم.رانشان د duplicateدرآن تنها الین های d–وضع ارگومنت

Cut

با استفاده از این دستور میتوانیم بایت ها ، کرکتر ها و یا فیلدهای مشخصی را از هرالین یک فایل متنی انتخاب نموده و در ترمینل

فیلد ها مشخص میشوند. f–( ها و delimiterجداکننده ها ) d–بایت ها و b-کرکتر ها ، c–که با وضع ارگومنت نمایش دهیم.

در روی ترمینل etc/passwd/را از فایل userهای مربوط هر home directoryو usernameمن میخواهم تنها بطور مثال

می باشد. لذا: home directory 9یک بوده و از Usernameنمایش دهم دراین فایل شماره ستون

) یعنی تنها را نشان میدهد که درآن تنها کرکترهای مشخصی در ترمینل نمایش داده میشود. cutاین هم یک مثال دیگری استفاده از

(.41و 3الی 9واز 9؛ 7کرکترهای

انتخاب نموده ونشان میدهد. file.txtدستور ذیل حرف اول هر الین را از داخل فایل

Colrm

Page 23: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

23

و وظیفهء مشابه به کنیم. remove ویا Extract به اساس ستونیل رابا استفاده از دستور فوق میتوانیم قسمت های مشخص از فا

اکه باید حذف شوند را نشان دوعدد منحیث ارگومنت درآن شروع وختم ستون نمبرهای ررا دارد ولی فیلد را نمیشناسد. cutدستور

میدهد که ارگومنت دومی هم اختیاری میباشد.

طور ذیل استفاده میکنیم colrmستون ششم انرا حذف کنیم. بناء از دستور text.fileمثال: میخواهیم از فایل

$colrm 6 <file.txt

شش را حذف حرفاز ستون ششم به بعد یعنی colrmدستور راداشته باشد درینصورت 479159913درصورتیکه فایل متن

وآنرا طور ذیل نشان خواهد داد.میکند.

47915

به دستور Pipرانشان میدهد که محتویات دایرکتوری را لیست میکند وسپس با استفاده از colrmتور شکل ذیل هم استفاده از دس

colrm 44آنرا حذف نموده و تنها حروف که اندیکس نمبر شان پایین تر از 11الی 44سپرده شده ودستور مذکور هم از ستون های

م فایل.و نا permissionاست لیست میگردد یعنی 11و بزرگتر از

Grep

global regular expression printکنیم ومخفف searchبا استفاده از این دستور میتوانیم کلمات مشخصی را در داخل فایل ها

می باشد.

جستجو کنم و هر فایلیکه کلمهء مذکور را شامل باشد ها را درتمام فایل Afghanistanبطور مثال: درشکل ذیل من میخواهم کلمهء

طور ذیل استفاده میکنم. grepلیست کنم بناء از دستور

Page 24: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

24

نام فایل را نوشته میکنیم. *به همین ترتیب میتوانیم یک کلمه را در داخل یک فایل مشخص جستجو نماییم که درآن صورت بجایی

ها استفاده کنیم. meta characterاین دستور را میتوانیم با انواع

ها نشان داده شده است. meta characterبا grepکه ذیال چند مثال استفاده از

Grep ‘[abc].4’ filename.txt را که به یکی از حروف سه حرفی این دستور کلمهءa, b ویاc شروع شده باشد

میباشد را درداخل فایل به نام 4میتواند یک کرکتر بوده وسپس وبه تعقیب آن

filename.txt .جستجو میکند

Grep –w ‘Afghan’ filename.txt این دستور کلمات را که بطور کامل باafghan مشابهت باشد را در داخل فایل

filename.txt جستجو میکند. یعنی درصورتیکه–w استفاده شود درینصورت

را Afghanکه در ترکیب خود کلمهء afghantimeویا Afghanistanکلمات

دارند انتخاب نمیگردد.

Grep ^’.[nf]*’ filename.txt این دستور کلمهء را که درابتدای الین می باشد و شروع آن بایکی از حروف شدهمیباشد وبه تعقیب آن میتواند fویا nدر حالیکه حرف دوم آن یکی از حروف

جستجومیکند. filename.txtا چندین حرف باشد را در داخل فایل به نام صفر وی

^ در اینجا شروع الین را مشخص میکند.

Grep –w ‘[abc].a*’$ filename.txt این دستور کلمهء را که بهa یاb ویاC شروع شده و سپس یکی از حروف دیگر

آخر الین باشد را صفر ویا چندین حروف دیگریکه دربه تعداد وسپس aو سپس

در اینجا اخیر الین را مشخص $در داخل فایل مذکور جستجو میکند.

کند. whole matchاستفاده شده بناء کلمهءمذکور w–چون درینجا میکند.

redirectionو Pipingاستفادهء دستورات که به منظور تجزیه استفاده کردیم همراه با بسیار خالصه یک الینی ویا دوالینی هستیم ولی درصورت استفاده از دستورات تعدادی outputدربسیاری از مواقع ما خواهان

etc/زیادی الین ها نشانداده میشوند ویاهم دستورات باالی تعداد زیاد از آنها اثر میکنند. بطور مثال درصورتیکه داخل دایرکتوری

نکند. چون در این برای دیدن محتویات این دایرکتوریهایی هیچ کمکی استفاده کنیم شاید این دستور به تن lsشویم و از دستور

بناء نیاز حس میشود که نتیجه هر چه خالصه شود. وبدین منظور ما با استفاده دایرکتوری تعداد فایل ها بسیار زیاد می باشد.

یاهم به منظور بهتر نمایش دادن به میتوانیم نتیجه یک دستور را به منظور هر چه خالصه تر شدن و redirectionو Pipingاز

دستور دیگر ارسال کنیم.

Piping (|)

با استفاده از این نشانه، نتیجهء یک دستور قبل از اینکه در صفحهء ترمینل نمایش داده شود به دستور بعدی ارسال میگردد که توسط

جهء دستور اولی به دستور دومی داده میشود.همیشه بین دودستور استفاده میگردد که نتی |معرفی میگردد یعنی |عالمهء

( مشاهده نمایم. ومعلومات دربارهء ورژن این debian package) dpkgرا در لیست از firefoxبطور مثال میخواهم پکیج به نام

میتوانیم لیست کنیم ولی در این dpkg –lرا با استفاده از دستور dpkgهایی packageبدین منظور پکیج حاصل کنم .

repository ممکن بیش از هزارpackage باشد. که دریافت فایرفاکس ازoutput این دستور کار مشکل است. پس با استفاده از

Pip .ها طور ذیل نتیجه را خالصه میکنیم

Page 25: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

25

با ترکیب سایر کماند ها نشان داده شده است. Pipدرموارد مختلفی استفاده میگردد که در ذیل چند مثال از استفاده pipingاز

تشریح دستور

Who | more این دستور اوال لیست تمامuser هایی را که به سیستمlogin

داده و با moreشده اند را دریافته و نتیجهء آنرا به دستور

دستوری است که moreنمایش میدهد.) moreاستفاده از

محتویات را به اساس فیصدی در روی ترمینل نمایش میدهد(.

Cat file1.txt | more این دستور محتویات فایلfile1.txt را با استفاده از دستورcat

نمایش moreدریافت نموده وسپس آنرا با استفاده از دستور

میدهد.

Sort file1.txt | uniq |more حتویات فایل این دستور اوال مfile1.txt را به اساس حروف

میدهد که دستور uniqالفبا تنظیم نموده ونتیجه را به دستور

مذکور هم به نوبت خویش الین های مسلسل تکراری (duplicate را حذف نموده ونتیجه را به دستور )more داده

و سپس نمایش داده میشود.

Who | grep debian | sort | uniq | more این دستور لیستuser هاییlogin شده را در یافت نموده

grepدر آن با استفاده از دستور debianوسپس کلمهء

را شامل می debianجستجو میگردد و الین های که کلمه

از بین duplicateباشد به اساس حروف الفبا تنظیم شده و

رفته وسپس در ترمینل نمایش داده میشود.

Redirection درصورتیکه بخواهیم لیست از یک دستور را در فایل های متنی راجع سازیم. مثال outputمیتوانیم که (<)با استفاده از دستور

کماندهارا دریافت نموده تاریخچهء historyک فایل ذخیره کنیم اوال با استفاده از دستور دستورات استفاده شده در ترمینل را در ی

روان میکنیم. cmdhistory.txtبه فایل بنام (<وآنرا توسط نشانه )

Page 26: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

26

ارسال میکنیم. loginuser.txtبه فایل بنام redirectionشده درسیستم را با استفاده از loginهای userدر مثال ذیل نام

یک فایل که قبال موجود بوده باشد کنیم طوریکه ( یک دستور را ضمیمهءoutputمیتوانیم که نتیجه ) >>به همین ترتیب با استفاده از

تغییرات در اخیر فایل ها اضافه گردد.

Tee

واستفاده از این یک دستور را هم میتواند در یک فایل ذخیره کند و هم میتواند آنرا در ترمینل نمایش دهد. outputدستور است که

اهیم نتیجهء یک کماند را دفعتا ببینیم و درعین حال آنرا در یک فایل ذخیره نیز نماییم. یعنی این دستور زمانی موثر است که ما بخو

را خوانده و who.listرا به تنهایی پیش میبرد. بطور مثال درشکل ذیل اوال محتویات فایل redirectionو PIPدستور وظیفهء

ذخیره میکنیم ، در ترمینل نیز نمایش میدهیم. who.list2سپس درضمن اینکه آنرا در فایل دیگری به نام

Page 27: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

27

کنترول پراسه هاطوریکه میدانیم هر پروگرام و یا دستور که در کمپیوتر درحال اجرا می باشد به نام پراسه یاد میگردد. ومعموال این پراسه ها از

را میتوانیم در یک وقت اجرا کنیم.یعنی ما یک دستور را در ترمینل نوشته و پس ترمینل شروع میگردد وبطور عادی تنها یک پراسه

.نشدن دستور اولی دستور دیگری بدهیماز تکمیل آن دستور دستوری دیگری میدهیم ونمیتوانیم تا تکمیل

بدانیم.ولی میتوانیم همزمان چندین پراسه را به کار اندازیم فقط کافی است که حاالت پراسه ها را

حاالت پراسه ها:

طور عموم پراسه ها میتواند چهارحالت را بخود بگیرند که با استفاده از دستورات مختلف میتوانیم پراسه هارا از یک حالت به حالت

دیگر راهنمایی کنیم.

4. Foregroundیبورد و ترمینل باز: پراسهء است که کنترول ترمینل را در اختیار داشته و سایر پراسه هارا از استفادهء ک

باشد. وبطور عادی زمانیکه یک دستور را تایپ میکنیم foregroundمیدارد. ودر یک وقت تنها یک پراسه میتواند در

میباشد. foregroundپراسه در حالت

7. Backgroundیار : پراسه ها درین حالت درحال اجرا بوده و متوقف نگردید اند ولی کنترول ترمینل وسکرین را در اخت

قرار داده و تاتکمیل شدن آن سایرپراسه هارا اجرا نماییم. backgroundندارد. یعنی میتوانیم یک پراسه را در حالت

9. Stoppedی اند که درحالت اجرا نبوده بلکه درحالت تعلیق : پراسه هایsuspend و درصورتیکه ده اند.در آورده ش

میگردد یعنی از همان مرحلهء که در آن متوقف resumeبیاوریم پراسه بخواهیم چنین پراسه هارا دوباره به حالت اجرا

گردیده دوباره شروع میکند.1. Killedپروگرام یا بطور موفقانه ویا غیر موفقانه ختم شده رند وجود نداردیعنی: یعنی پراسه های که درین حالت قرار میگی

را قبل از stopوالزم است که پراسه های حالت میکند.شود از مرحلهء اول شروع startو درصورتیکه پراسه دوباره

شوند. killآورده تا تکمیل گردد ویاهم foregroundشویم یا به logoutاینکه

jobsو ps) باتایپ دستور قرار داده و شروع کنیم. backgroundو یا foregroundپراسه هارا میتوانیم در ابتدا به دوحالت

میتوانیم پراسه ها را مشاهده نماییم.(

Foreground : برای قراردادن پراسه به حالتforeground کافیست که دستوررا درترمینل همراه با ارگومنت های مورد نیاز آن

ور تازمان قرار میگیرد وقسمیکه قبال گفتیم پراسهء مذک foregroundشدن دستور پراسه در حالت interpretتایپ نموده و پس از

مثال درصورتیکه در را از تایپ سایر دستور ها باز میدارد. userتکمیل شدنش کنترول ترمینل و کیبورد را در اختیار گرفته و

سایر دستور ها را اجرا باز میگردد و تازمانیکه این پروگرام رابسته نکرده ایم xlogoاستفاده کنیم پروگرام xlogoترمینل از دستور

نشاندهندهء لوگوی گرافیکی سیستم میباشد دراینجا به خاطر سایز خورد آن برای مثال مناسب دیده شده است. xlogo) توانیم.کرده نمی

)

Background: برای قراردادن یک پراسه به حالتbackground به تعقیب دستورو ارگومنت های مورد نیاز آن در ترمینل از&

(ampersand) .مثال پروگرام استفاده میکنیمxlogo باز میکنیم درینصورت این پروگرام باز شده ولی کنترول &را همراه با

) پراسه دیگری راه اندازه شده است.(.باز شده است geditترمینل را دراختیار نمیگیرد و طوریکه میبینیم به تعقیب آن پروگرام

Page 28: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

28

همان پراسه در ترمینل نمایش داده Process IDو Job IDقرار گرفتن پراسه backgroundطوریکه دیده میشود پس از بحالت

کنیم )کنترول کنیم(. killقرار داده ویا stopمیشد که ما با استفاده از این دومشخصه میتوانیم پراسه هارا در حالت

Stop پراسهء راکه در :foreground درحالت اجرا است با فشردن کلیدهایCTRL+Z بورد میتوانیم به حالت از کیstop یاتعلیق

بوده و کنترول ترمینل را دراختیار گرفته مگر foregroundدرحالت اجرا و در xlogoدر آوریم. بطور مثال:درشکل ذیل پروگرام

بحالت تعلیق در آورده شده است. CTRL+Zبا فشردن

Kill پراسهء راکه در :foreground در حال اجرا است با فشردن کلیدهایCTRL+C از کیبورد میتوانیمKill ویاterminate .کنیم

Tracking Your Processesپیگردی پراسه ها

هر پراسه را با jobsمیتوانیم پراسه های موجود در سیستم را مشاهده و پیگردی نماییم. دستور jobsو psبا استفاده از دستورهای

job number مشخص آن نشان میدهد که معموال ازjob no .وبا استعمال این دستور پراسه هاییکه به حالت از یک شروع میشود

background وپراسه های حالت –قراردارند توسطstop ولی دستور قابل تشخیص اند. +توسطps هر پراسه را به اساس

Process ID .آن نشان میدهد

Page 29: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

29

Switching processes between different states وغیره استفاده میگردد که در fg, bg, &, %,job noبرای انتقال دادن یک پراسه از یک حالت به حالت های دیگر از دستورات

jobرا به اجرا درمیاورم که دارای gedit)به عنوان مثال در ینجا من پروگرام جدول ذیل تمام حاالت ممکنه واضح گردیده است.

number شمارهء 95832یک وPID ).آن می باشد

دستور تغییر حالت از ــــــــــــــــــــــــ به ــــــــــــــــــــــــــــ

foreground $ geditبرای بردن یک پراسه از ابتدا به حالت & background $ geditبرای قرار دادن یک پراسه از ابتدا به حالت

Stop $CTRL+Zبه foregroundبرای بردن یک پراسه از

kill $CTRL+Cبه foregroundبرای انتقال یک پراسه از حالت foreground $fg %2به stoppedبرای انتقال یک پراسه از حالت background $bg %2 در stoppedبرای انتقال یک پراسه از حالت killed $kill %2به stoppedبرای انتقال یک پراسه از حالت foreground $fg %2به backgroundبرای انتقال یک پراسه از حالت killed $kill %2به backgroundبرای انتقال یک پراسه از حالت stopped $stop %2به حالت backgroundبرای انتقال یک پراسه از حالت

سایر Job IDپراسهء است که در باال اشاره کردیم و میتوانیم جای آن Job IDعبارت از 2%ناگفته نباید گذاشت که دراینجا

آنرا در یافت مینماییم. jobsپراسه ها اوال با استفاده از دستور JOB IDکه برای دریافت پراسه هارا نیز نوشته کنیم.

شکل ذیل انتقال یک پراسه به حاالت مختلف را به شکل تصویری نشان میدهد.

Page 30: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

30

ATدستور

در حقیقت دستور دیگری است که برای کنترول پراسه ها استفاده میگردد وبا استفاده ازاین دستور میتوانیم اجرای یک دستور را به

قرار دهیم. queueیعنی یک دستور را در وقت معین شده اجرا کنیم ویا دستورات مختلفی را به شکل قطار تاخیر بیاندازیم.

مثال:

Nice

بوده ومیتواند چندین پراسه را همزمان اجرا کند. که باالی multitaskingانیم یکی از مشخصات لینوکس این است که طوریکه مید

یا اولویت پراسه هارا در زمان شروع priorityمیتوانیم niceدستور از با استفادههر پراسه تقسیمات وقت پراسسر صورت گرفته و

لند می که درینصورت پراسهء دارای اولویت ب دین پراسه درحال اجرا تقسیم میگرددپراسسرکمپیوترباالی چنآن تعیین کنیم. یعنی وقت

71تنظیم کنیم. که 20-و 71ما میتوانیم این اولویت را توسط یک ازاعداد بین باشد وقت زیاد تر پراسسر را بخود اختصاص میدهد.

را به geditبطور مثال من درشکل ذیل اولویت پروگرام ویت را به صفر تنظیم میکند.اول 20-( و high priorityبلندترین اولویت )

استفاده میکنیم. niceبه تعقیب کماند 19 - -از دستور 19-تعیین نمودم. وبرای تعیین اولویت 43

ببینیم. NIپراسه هارا درستون priorityمیتوانیم ps –alوبا استفاده از دستور

را برای یک پراسه تنظیم کنیم. priorityمیتوانیم در اولویت یک پراسه تغییرات بیاوریم یعنی دوباره reniceبا استفاده از دستور

Page 31: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

31

Cron

یعنی این سرور بطور پیوسته برای خدمات است که با استفاده از آن دستورات برنامه ریزی شده برای اوقات مختلف ، اجرا میگردد

مامیتوانیم cronرا دارد اما با استفاده از Atقت فعلی اجرا شود جستجو می نماید. وظیفهء مشابه به دستور پراسه هایی که باید در و

userبرای لیست از دستورات را که باید در اوقات مشخص فایل مذکور درآن userیک فایل را داشته باشیم که userبرای هر

معرفی میکنند.اجرا شوند

crontab –eکه با استفاده از دستور معرفی کنیم. cronرا به scheduledمامیتوانیم این دستورات crontabبا استفاده از دستور

وشته کنیم.نآن اوقات مشخص میتوانیم دستورات مختلفی را همراه بافایل مربوط به دستورات زمان بندی شده باز میگردد که ما

فارمت جدول دستورات که باید زمان بندی شود را مشخص میکند. که درآن Crontabقسمیکه درشکل فوق میبینید الین آخر فایل

جدید را طور ذیل معرفی taskو دستور به ترتیب ذکر شده است. وما day of month ،month ،day of week، دقیقه، ساعت

میکنیم.

Page 32: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

32

Package Management Package ها عبارت از فایل های قابل نصب که در ویندوز به نامapplication .یاد میگردد میباشدPackage management

system ، عبارت از مجموعهء از دستورات است که برای نصبupdate .و حذف این پروگرام ها استفاده میگرددPackage

Management system نوع می باشد که مهمترین آنها عبارتند از: درلینوکس چندین

Debian Package Management Package هاییکه دارای پسوندdeb می باشند با استفاده ازdpkg که مخففdebian package .است نصب میگردند

Dpkg –update

ها استفاده میگردد. packageلیست repositoryنمودن ذخیره گاه و یا updateبرای

Dpkg –i <package name>

مشخص استفاده میگردد. packageبرای نصب نمودن

Dpkg –l

برای لیست نمودن تمام پکیج ها استفاده میگردد.

Dpkg –r <package name>

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

APT Package management APT (Advanced package tools) تی پکیج های دیگری است که میتواند از یک سیستم مدیریsource های مختلفی پروگرام هارا

، لیست کردن، جستجوکردن و حذف کردن پکیج ها updateبرای نصب ، apt-getگرفته و آنرا در کمپیوتر نصب کند. واز

استفاده مینماید.

تشریح دستور

Apt-get update لیست پکیج هارا با استفاده ازsource های محلی و انترنتی

update میکند

Apt-get install .برای نصب کردن پکیج مشخص استفاده میگردد

Apt-get remove .برای حذف یک پکیج مشخص استفاده میگردد

Apt-get upgrade برایupgrade .کردن یک پکیج مشخص میگردد

Apt-get –purge remove برای حذف نمودن یک پکیج با تمامconfiguration file های

آن استفاده میگردد.

زیاد ازآن استفاده میگردد. SUSEو Red Hatدیگری است که در package management systemدو yumو rpmهمچنان

The Shell Shell عبارت از انترفس هایی است که ما با استفاده از آن میتوانیم با کمپیوتر گفتگو نماییم یعنی به کمپیوتر دستور بدهیم و نتیجهء ها

دستور خودرا ببینیم. که سیستم عامل لینوکس هم مثل اکثر انسان ها که میتوانند به چندین لسان تکلم کنند امر کنند و یا تحت امر قرار

ها دارای انواع مختلف اند. که عبارت اند از: shellبگیرد بناء userد به چندین قسم دستورات را از بگیرند میتوان

Sh

Csh

Bash

Page 33: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

33

Tcsh

Ksh

شامل میباشد.میکند را supportکه سیستم هایی shellلیست از etc/shells/فایل

از shellرا در ترمینل منحیث دستور تایپ میکنیم و برای خارج شدن از یک shellنام همان shellمعموال برای شروع نمودن هر

استفاده میکنیم. بطور مثال: exitاز دستور ویا هم CTRL+Dکلید های

استفاده صورت میگیردد که chshمی باشد از دستور bashکه در سیستم عامل اوبنتو معموال default shellsبرای تغییر دادن

قراردادم که پس از شروع مجدد سیستم این تغییرات shرا default shell.بطور مثال: من درینجا میباشد change shellsمخفف

تاثیر میکند.

Alias های زیادی argumentو optionدستوراتی طوالنی ویا دستوراتی که ها این است که ما میتوانیم shellیگی از ویژگیهای دیگر

aliasصورت میگیرد. پس aliasنیاز دارند را یک نام آسان وساده داده و از آن بار بار استفاده کنیم. واین عمل با استفاده از دستور

بطور مثال: دراین جا اوال من با استفاده از آن میتوانیم برای دستورات مختلف ما یک نام دلخواه خودرا بدهیم. دستوری است که

داده ام وسپس از نام مستعار آن برای اجرای دستور whomuhibرا یک نام ساده who | grep muhibر نسبتا طوالنی دستو

مذکور استفاده کرده ام.

Page 34: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

34

فعلی که روی آن کار میکنیم مدار اعتبار است و بسته شدن ترمینل ویا shellدستورات مستعار تنها در قابل یاد آوری است که

restart اینکه وبرای ستم وغیره عوامل باعث میگردد تا این نام مستعار از بین رفته و ما مجبور استیم دوباره معرفی کنیم.شدن سی

استفاده میکنیم. unaliasنام داده شده به یک دستور را دوباره حذف کنیم از دستور

سکریپت نویسیاکثرا ما با مجموعهء از دستورات مسلسلی سروکار داریم که بار بار اجرای آنراتکرار میکنیم. ویابعضی اوقات ما میخواهیم با استفاده

مجموعهء از دستورهارا به طور مسلسل در اوقات مشخص اجرا نماییم. که تایپ نمودن دستورات باربار cronویا atاز دستور

و امکان وقوع اشتباهات را افزایش میدهد. لذا بدین منظور ما دستورات رابه همان شکلی که در شده ع وقت بطور جداگانه باعث ضیا

یاد میگردند. scriptکه این فایل ها به نام ترمینل تایپ میکنیم در داخل یک فایل متنی جدید نوشته میکنیم و سپس آنرا یک نام میدهیم.

این .ات داخل فایل اجرا میگردداستفاده کنیم وباهر بار اجرای این سکریپت ها تمام دستورات وعملیبار بار میتوانیم این نوع فایل هارا

bash. وسپس برای اجرای این سکریپت نوشته شده از دستور )به منظور شناسایی( ذخیره میگردند sh فایل ها معموال با پسوند

را نشان میدهد که در آن دستورات مختلفی نوشته شده است. بطور مثال: شکل ذیل یک سکریپت ساده استفاده صورت میگیرد.

وغیره را if conditions ،loop ،switch caseهمچنان در سکریپت ها میتوانیم تمام مفاهیم لسان های پروگرام نویسی را از قبیل

تطبیق کنیم.

اجرای سکریپت ها:

فایل های متنی که درآن دستورات را نوشته ییم درحالت عادی هیچ فرقی با سایر فایل های متنی ندارند. برای اینکه این نوع فایل هارا

ها طوری معرفی کنیم که بداند فایل های مذکور سکریپت بوده ونوشته های داخل آن دستورات اند از روش های ذیل استفاده shellبه

صورت میگیرد.

سکریپت ها مانند هردستور دیگر فقط با تایپ نام آن در ترمینل اجرا گردد باید سکریپت مذکور را در یکی از ای اینکه بر .4

قرار میدهیم. bin/قرار دهیم. مثال فایل سکریپت را در دایرکتوری PATHدایرکتوری های متحول

Page 35: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

35

$PATH متحول است که آدرس تمام دایرکتوری های کهShell به منظور تحلیل واجرای دستور وارده در ترمینل ها از آن

استفاده میکند را درخود ذخیره میکند.

قرار دارد را اجرا کنیم. current directoryهم میتوانیم سکریپت که در script_name.sh/.با تایپ دستور .7

ها همرای نام سکریپت نیز سکریپت هارا میتوانیم اجرا کنیم. shellبا ذکر نام .9

فایل سکریپت را داشته باشیم و درصورت لزوم باید این executeکنیم که صالحیت runنوت: زمانی میتوانیم سکریپ هارا

صالحیت را بدهیم.

مشخصات یک سکریپت خوب:

یک سکریپت خوب دارای مشخصات ذیل میباشد:

( بدون اشتباهاتerrors.اجرا شود )

برآورده کند.هدف که بخاطر آن ایجاد شده بخوبی

دارای شفافیت درlogic .و قواعد پروگرامی باشد

کارهای غیر ضروری را انجام ندهد

Reusable .باشد

scriptمثالی از

Page 36: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

36

Script شروع میشوند وبه تعقیب آن نام !#نشانهء هاهمیشه باshell که باید سکریپت مذکور درآنrun .گردد نوشته میشود

وبرای اینکه سکریپت ها فقط با تایپ نام آن در ترمینل اجرا در سکریپت معرفی کنیم. #هارا با استفاده از Commentما میتوانیم

echoکاپی گردند. واین دایرکتوری هارا میتوانیم با استفاده از دستور PATH searchگردند باید دریکی از دایرکتوری های

$PATH .ببینیم

Using conditions in scripسکریپت نویسیاستفاده از شرطیه ها در بررسی میکنیم که آیا دو ارگومنت وضع شده است ویاخیر! درصورتیکه if conditionمثال اول: درین سکریپت اوال با استفاده از

نشان userدو ارگومنت وضع شده بود اعداد راباهم جمع میکند ودر غیر آنصورت پیامی را مبنی بر وضع نشدن ارگومنت ها به

دهد.

Page 37: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

37

If [ $# -ne 2 ] ( نشان میدهد که اگر تعداد ارگومنت ها مساوی :not equal به )نباشد درینصورت پیام فوق رانشان دهد و در 7

)ارگومنت دومی ( را باهم جمع کند. وماباید به روش ذیل سکریپت فوق را اجرا کنیم. 2$)ارگومنت اولی( و 1$غیر آن

ها را نشان میدهد که در یک دستور وضع میگردد. تعداد ارگومنت #$

Exit 1 ختم ناموفق یک سکریپت رانشان میدهد. وexit 0 .نشاندهندهء ختم موفقانه یک سکریپت اجراشده است

دادن نمبر مثال دوم: درین مثال میخواهم پس از اجرا شدن سکریپت دو نمبر را از ما بخواهد که از طریق کیبورد داده شود. وپس از

ها آنهارا مقایسه نماید.

Page 38: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

38

در سکریپت ها switch caseاستفاده از

را در زمان اجرای دستور نوشته کند وسپس مطابق نوع عملیه userمثال اول: درین مثال میخواهم ماشین حساب را بسازیم که درآن

درین مثال کوشش شده است تا حد امکان طرز استفاده وهمچنین تفریق ، ضرب وتقسیم( محاسبه صورت گیرد. به نوع عملیه )جمع ،

باراول دستور userیعنی درصورت که .ل درست وارد نمیکنند واضح شوداز سکریپت برای کسانیکه باراول ارگومنت هارا به شک

کمک کند تا بار دیگر به شکل درست دستور را اجراکند. userغلط را تایپ کند درآنصورت سکریپت مذکور به

Page 39: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

39

باشد درینصورت پروگرام وارد 9قسمیکه دیده میشود در این سکریپت درصورت که تعداد پارامترهای وضع شده مساوی به

عملیات 2$شرط بندی شده که نوع عملیات را نشان میدهد. و درهر حالت نظربه 2$میگردد که باالی switch caseشرطیهء

یکی از 2$ذخیره میگردد ودرصورتیکه قیمت resultمربوط بین ارگومنت اولی وسومی انجام شده ونتیجهء آن در متحول به نام

اشتباه وارد شده است. operatorنشان میدهد که user( نباشد درینصورت به + ,- ,x ,/عملیه های )

نباشد درینصورت یک پیام مناسبی مبنی بر چگونکی استفاده از دستور نشان 9وهمچنان درصورتیکه تعداد ارگومنت ها مساوی به

داده میشود. که حاالت ذیل نشاندهنده طریقه های استفاده از سکریپت فوق میباشد.

به شکل ذیل می باشد. error messageدرصورتیکه ارگومنت ها وضع نگردد .4

درصورتیکه ارگومنت ها به شکل درست وضع گردد. .7

Page 40: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

40

یا عملیه اشتباه وضع گردد درینصورت: operatorدرصورتیکه .9

ها برای تکرار دستورات loopاستفاده از

را روی ترمینل پرینت میکند. /hom/muhib/ها سایز تمام فایل های دایرکتوری loopدرین مثال با استفاده از مثال:

Page 41: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

41

Useful expression

را بررسی کنیم از این دستور و حروف ها استفاد ه میکنیم.برای اینکه حاالت مختلف یک فایل

test { -w , -r , -x, -s …} filename

-، r=readable ،-x=executable–است ویاخیر ؟ به همین ترتیب writableنشان میدهد که فایل w–که درینجا

s=empty .را بررسی میکند

برای اینکه دوعدد راباهم مقایسه نماییم از–gt ،-ne وeq .استفاده میکنیم

Test number1 { -eq, -ne, -gt, =, !=} number 2

–eq بررسی میکند که آیاnumber1 وnumber2 ،باهم مساوی آند-ne مساوی نیستند؟-gt بررسی میکند که آیا

number1 ازnumber معادل به =!بزرگ است ویاخیر. وبه همین ترتیبnot equal .است

Linux Networking را باالی یک انترفس مشخص IP Addressراببینیم وهم متیوانیم TCP/IPمیتوانیم هم تنظیمات ifconfigبا استفاده از دستور

عیارسازی نماییم.

آی پی آدرس ها به dynamicهارا نصب نماییم.در روش IP addressمیتوانیم dynamicو staticطوریکه میدانیم به دوروش

مشخص نصب میگردد ولی برای rangeوبا استفاده از یک DHCP Serverشکل اتوماتیک در زمان روشن شدن کمپیوتر توسط

استفاده صورت میگیرد. البته این دستور آدرس هارا به شکل موقت باالی ifconfigنصب آدرس ها به شکل ستاتیک از دستور

شدن کمپیوتر آدرس تنظیم شده از بین میرود.شکل ذیل طرز نصب آدرس آی پی را restartت کمپیوتر نصب میکند و درصور

نشان میدهد. ifconfigبا استفاده از دستور eth0باالی انترفس

Page 42: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

42

همانطوریکه عرض کردم آدرس نصب شدهء فوق دایمی نمی باشد وبرای اینکه بصورت دایمی یک آدرس را باالی کمپیوتر نصب

آی پی آدرس های انترفس ها عبارت از configuration fileید در فایل عیارسازی آن تغییرات بیاوریم که نماییم با

/etc/network/interfaces .می باشد

استفاده ifupو ifdownکنیم و بدین منظور از دستور restartوبرای اینکه تغییرات مذکور تطبیق شود نیاز است تا انترفس ها را

میکنیم.

$sudo ifdown eth0

$sudo ifup eth0

را باز نموده و تغییرات ذیل را درآن etc/network/interfaces/بگیرد بازهم فایل IPسرور DHPCوبرای اینکه کمپیوتر از

میاوریم.

Page 43: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

43

Commands to test network connectivity

Ping

به آدرس که به تعقیب این دستور مشخص میگردد ICMPمعمولترین دستور برای چیک کردن ارتباط در شبکه ها می باشد که پاکت

میاید. replyآدرس مذکور ازدرصورت در دسترس بودن روان شده و

Tracerout or Tracepath

و sourceهای موجود بین hopر لیست تمام روتر ها یا دستور دیگری است که برای بررسی ارتباط استفاده میگردد. این دستو

designation .را نشان میدهد

Mtr

یکجا را tracepathو pingو بررسی ارتباط استفاده میگردد و قابلیت های troubleshootingدستوری است که اکثرا به منظور

نموده است.

Page 44: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

44

DHCP (Dynamic Host Configuration Protocols) DHCP عبارت از سرور می باشد که برای نصب نمودن آدرس های آی پی بطور اتوماتیک باالیClient یا وسایل در شبکه استفاده

نموده و به محض وصل شدن یک جلوگیری Staticاز نصب نمودن آدرس های آی پی به شکل DHCPاستفاده میشود. میگردد

Client به نیتورک آنراIP یعنی درصورت باعث جلوگیری از ضیاع وقت و بیکارشدن آدرس آی پی میگردد.این پروتوکول دهد. می

آدرس ها بسیار بوده ویک آدرس مختص به یک وسیله میگردد خواه وسیلهء مذکور conflictتایپ کردن آدرس های آی پی امکان

به تمام وسایل address poolتفاده از محدودهء تعریف شده در آدرس ها با اس DHCPفعال باشد خواه غیر فعال! ولی با استفاده از

نصب شده و پس از استفاده وسیلهء مذکور آدرس ها رهاشده وقابل استفاده در وسیلهء conflictکه به شبکه وصل میگردد بدون کدام

جدید دیگری میباشند.

ا استفاده از لیست آدرس های دردست داشته اش که به نام عمل کند ب DHCP Serverروتر ویا سویچ که میتواند منحیث کمپیوتر ،

Address pool یاد میگردد بهDHCP Client آدرس هایIP را توزیع میکند. وقت استفاده ازIP address ها توسطDHCP

Client ها مشخص بوده و پس از اتمام وقت مذکورClient برای ادامه کار باید برایIP جدید ازDHCP Server .درخواست کند

DHCP که تمام این معلومات و مشخصات در یر را باالی کالینت ها نصب میکندسرور ها بطور اتوماتیک آدرس ها و مشخصات ز

ذخیره میگردد: DHCP Serverدیتابس

IP Address and Netmask

Default Gateway IP Address

DNS IP Address

Hostname

Ethernet encapsulation

Domain Name

Time Server

Print Server

تغییر بخورد مجبور نیستیم تا ازتمام کالینت هارا بطور جداگانه تنظیم Default Gatewayو یا DNSدرصورت که آدرس آدرس

کنیم بلکه از طریق این سرور به تمام کالینت ها نصب میگردد.

DHCP Server ها به دوطریقهء زیر به کالینت هاIP ع میکند:توزی

4. Manual Allocation

(یک آدرس مشخص شده نصب میگردد. وزمانیکه کالینت مذکور غیر فعال است MAC Address) NICدراین روش برای هر

مذکور به شبکه وصل گردد آدرس متعلق به آن نیز باالی آن نصب Clientآدرس مختص به آن نیز بیکار است و به مجرداینکه

میگردد.

7. Dynamic or automatic Allocation:

به هر کالینت توزیع شده و کالینت مذکور تا وقت مشخص از Rangeدراین روش آدرس ها بطور اتوماتیک با استفاده از یک

آن استفاده میکند. و زمانیکه کالینت غیر فعال باشد آدرس مذکور میتواند باالی سایر کالینت ها نصب گردد.

وقت استفاده از یک کالینت را نامحدود انتخاب کرده و بدین ترتیب یک آدرس را بطور همیشگی همچنان میتوانیم دراین روش،

در یک وسیله نصب کنیم.

Page 45: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

45

DHCPمراحل نصب آدرس آی پی با استفاده از تکمیل میگردد. Clientو DHCPبا تبادل چهار پاکت بین سرور Clientنصب یک آدرس آی پی دریک

4. DHCPDISCOVER شامل آدرس مک کالینت می باشدکه باراول از کالینت ارسال گردیده و از سرور : این پاکت

تقاضای آی پی می نماید.

7. DHCPOFFER زمانیکه :DHCP Server پیامDHCPDISCOVER را دریافت میکند درصورت در دسترس

وسایر معلومات می باشد Server Informationداشتن آی پی دوباره پاکت دیگری را که شامل آدرس آی پی ،

یادمیگردد. DHCPOFFERبه کالینت ارسال میکند که این پاکت به نام

9. DHCPREQUEST درصورتیکه در یک نیتورک چندین :DHCP Server موجود باشد درینصورت ممکن چندین

DHCP OFFER به کالینت برسد که درین حالت کالینت تنها به یکی از سرور ها دوبارهDHCP REQUEST را

روان میکند.

1. DHCPACK سرور :DHCP پاکتDHCPREQUEST به دیتابس آدرس ها ذخیره نموده را دریافت نموده و سپس

را که ازطریق آن آدرس به کالینت توزیع میشود را روان DHCPACKپاکت و پس از مشخص کردن آدرس ها

ینت می فرستد.را به کال DHCPNAKآدرس در اختیار نداشت پاکت ودرصورتیکه میکند.

اختصاص داده شده توسط سرور به مشکل بربخورد پاکت IP Addressکالینت هم درصورتیکه در نصب .5

DHCPDECLINE .را ارسال میدارد و درغیر آن آدرس را نصب میکند

Page 46: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

46

در اوبنتو DHCP Serverعیار سازی برای نصب این سرور از کماند زیر استفاه میکنیم.

Sudo apt-get update

Sudo apt-get install isc-dhcp-server

Or

Sudo apt-get install dhcp3.server

می باشد در حالیکه isc-dhcp-serverتحت نام DHCPسرور Ubuntu 12.4فرق بین دو کماند فوق در این است که در نمونهء

استفاده میکند. dhcp3.serverاز پکیج به نام Ubuntu 14.04در

DHCP Server Configuration File برای احتیاط بیشتر اوال یک نمونهء از فایل می باشد. etc/dhcp/dhcpd.conf/عبارت از DHCPفایل عیار سازی سرور

فایل مذکور از آن استفاده کنیم برای این منظور: syntaxمذکور را نزدخود نگه میداریم. تا در صورت تغییر خوردن

cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.back

عمل میکند که درآن ما تمام معلومات آدرس ها و سایر مشخصات که سرور DHCPاین فایل درحقیقت منحیث دیتابس سرور

DHCP :ازآن استفاده میکند را معرفی میکنیم وبرای باز کردن آن

Sudo nano /etc/dhcp/dhcpd.conf

انترفس را مشخص کنیم تا از طریق به کالینت ها گوش داده و آدرس هارا توزیع کند نیاز است DHCP Serverبرای اینکه برای

گوش میدهد. eth0کنیم. بطور عادی این سرور به انترفس editرا etc/default/isc-dhcp-server/تا فایل

nano -w /etc/default/isc-dhcp-server

INTERFACES="wlan0 eth0"

فایل درست است وهمچینین (structureآی پی آدرس ها برای اینکه مطمین شویم ساختار ) rangeبعد از ختم کارو مشخص کردن

از کماندهای زیر استفاده میکنیم.DHCPبه منظور آغاز نمودن خدمات

Page 47: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

47

Sudo isc-dhcp-server check-syntax

sudo service isc-dhcp-server restart

ویا

Sudo Inictl start isc-dhcp-server

( قبل از dhcpd.confرا ) DHCPنوت! قابل یاد آوری است که بنابر احتیاط هر چه بیشتر بهتر است که فایل عیارسازی سرور

بگیریم. backupآوردن تغییرات یک

DHCP Clientعیار سازی etc/network/interfaces/بگیرند کافیست تا فایل serverها طوریکه بتوانند آدرس های شانرا از Clientبرای عیارسازی

را باز کرده و تغییرات ذیل را درفایل مذکور بیاوریم

Auto lo eth0

Iface eth0 inet dhcp

Iface lo inet loopback

کردن آن : restartوبرای

Sudo /etc/init.d/networking restart

نمایند از کماند زیر استفاده میکنیم.برای اینکه کالینت ها ادرس آی پی را مطالبه

Sudo dhclient

Or

Tail –n 15/var/lib/dhcp3/dhclient.leases

Address Reservation بعضی اوقات درشبکه نیاز است تا بعضی وسایل مانند پرینتر ، سرور ها وغیره دارای یک آدرس مشخص باشد که برای این

کنیم. reserveوسایل مذکور منظور ما باید آدرس های مشخص را برای

مذکور را دریافته وطور ذیل عیار سازی می کنیم. deviceآدرس ها نیاز است تا اوال باید مک آدرس Reservationوبخاطر

subnet 192.168.10.0 netmask 255.255.255.0{ max-lease-time 7200;

host printer {

hardware ethernet 00:DD:HD:66:55:9B;

fixed-address 192.168.100.50;

}

host camera {

hardware ethernet 00:KK:HD:44:55:22;

fixed-address 192.168.100.90;

Page 48: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

48

DNS (Domain Name System) تبدیل میکند. بدین IP addressرا به domain nameو domain nameرا به IP addressعبارت از خدمات می باشد که

واضح استفاده domain nameسرورها که کار مشکل است باز میدارد. وبجای آن از numericرا از حفظ آدرس userترتیب

تبدیل میگردد. IPمیگردد که به کمک این پروتوکول نام مذکور به

DNSطریقهء عیارسازی سرور نام یک پروژه ویک تیم BIND ( Barkley Internet Name Domain)استفاده میگردد که Bindاز DNSبرای عیارسازی

معروف است که وظیفهء namedمی باشد که یکی از خدمات که توسط این تیم ایجاد گردیده به نام Barkleyدر دانشگاهی

DNS را دارا می باشد. کهbind9 بصورت عادی نیاز به دانلود کردن از انترنت ندارد و درmain repository موجود می

باشد.

برای این را نصب نماییم وبرای این منظور از کماند ذیل استفاده میکنیم. bind9ماباید DNSبناء برای استفاده از خدمات

کنیم.منظوراز دستورهای ذیل استفاده می

Sudo apt-get update

Sudo apt-get install bind9* -y

استفاده میگردد. ممکن است این پروگرام از DNSکردن و عیار سازی testبرای dnsutilsهمچنین برنامهء دیگری به نام

قبل در کمپیوتر نصب باشد ولی اگر نصب نباشد از دستور ذیل استفاده میکنیم.

sudo apt-get install dnsutils

Page 49: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

49

dnsutilsنصب

وهمچنین را عیار سازی نماییم. cashing name serverو Master name serverما نیازداریم تا DNSبرای عیارسازی

کنیم. که بصورت عموم تمام configureرا نیز secondary master name serverبه منظور احتیاط بیشتر باید

configuration file های این سروردر دایرکتوری/etc/bind/ .ولی ما باید سه فایل ذیل را قرارداردedit .نماییم

/etc/bind/named.conf

/etc/bind/named.conf.options

/etc/bind/named.conf.local

Page 50: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

50

/etc/bind/ contents:

که بصورت عموم در داخل این فولدر لیست از میباشد. etc/bind/named.conf/عبارت از DNSفایل اصلی عیارسازی سرور

شامل می گردند. includeمیگردند با استفاده از دستور DNSفولدرهایی که مربوط به سرور

$ sudo nano /etc/bind/named.conf

Page 51: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

51

Master Name Server Master Name Server عبارت از کمپیوتر می باشد که تمامIP Address ها و نام هایzone های مختلف را درخود ذخیره

عمل میکند و در مواقع name serverماستر backupمیباشد که منحیث slave name serverدارای zoneمیکند وهر

استفاده میکند. slave name serverمیگردد از Downغیرقابل دسترس ویا Master name serverاضطراری که

از آن میتوانیم بدانیم که آیا یک پکیج نصب شده است ویاخیر ودرصورت که نصب شده است کدام تاسک های کماند را که با استفاده

آن نصب شده است عبارت است از:

tasksel --task-packages dns-server

.که نتیجه کماند فوق طور ذیل خواهد بود

bind9-doc

bind9utils

bind9

.میتوانیم پروگرام را نصب کنیموهمچنان با استفاده از دستور ذیل

sudo tasksel install dns-server

( باشید میتوانید فایل configurationبخاطر عیار سازی ) temporary DNS Serviceدرصورتیکه خواهان استفاده از

/etc/resolve.conf را تغییرات بیاورید. که موقتی بوده و بعد ازreboot .که میشود در آن شدن دوباره حذف میگرددdns

سیستم فعلی خودرا داده و به آن یک نام بدهیم. تا IP Addressسرورهای دیگر مثل گوگل ، وغیره را عیار کنیم وهم میتوانیم آنرا

عمل کند. بسیار به سادگی DNSمنحیث

Nameserver 8.8.8.8

Nameserver 8.8.4.4

Or

Nameserver 192.168.1.1

nameserver muhib.com

Page 52: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

52

Master name server configuration ها را ایجاد میکنیم. وقرار zoneرا بازنموده ودرآن named.conf.localها فایل master name serverبرای عیار سازی

ها ایجاد میکنیم. reverse lookup zoneو forward lookup zoneذیل در آن

Forward lookup zone and Reverse Lookup Zone

Forward Lookup zone file Configuration (/etc/bind/zones/db.muhib.com)

کاپی میکنیم وسپس آنرا باز نمودو مطابق db.muhib.com( را در فایل جدیدی db.local) templateاوال محتویات فایل

شکل ذیل تغییر میدهیم.

Sudo cp /etc/bind/db.local /etc/bind/zones/db.muhib.com

Sudo nano /etc/bind/zones/db.muhib.com

Page 53: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

53

Reverse lookup zone file (/etc/bind/db.192)

استفاده میکنیم. مثال named-checkzoneبرای مطمین شدن از درست بودن دستورات نوشته شده در داخل فایل ها از دستور

named-checkzone muhib.com /etc/bind/db.muhib.com

نمایید تا تغییرات شما اجرا شود. واین restartرا DNSقابل ذکر است که پس از هربار تغییرات آوردن در فایل ها بای سرور

عملیه با دستور ذیل صورت میگیرد.

Page 54: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

54

Sudo service bind9 restart

Caching name servers به عبارت از سرور است که کیوری ها را تجزیه نموده و درصورت دسترسیdomain name به آن پاسخ داده و درغیر

ها ذخیره میکند. که برای cashesآنصورت از سایر سرورها پیدا میکند و برای استفاده دوباره آدرس مذکور را در

و انترنت های ضعیف بسیار مناسب می باشد. bandwidthجلوگیری از ضایع شدن

Configuring DNS Client کالینت شده و سپس آنرا مطابق شکل ذیل تغییر میدهیم. etc/network/interfaces/داخل فایل DNS Clientبرای عیار سازی

iface eth0 inet static

address 192.168.1.11

netmask 255.255.255.0

gateway 192.168.1.1

dns-search IT.com

dns-nameservers 192.168.1.50 192.168.8.10

داشته باشیم مطابق به شکل ذیل کالینت را عیار می سازیم. Domain Nameدرصورتیکه چندین

iface eth0 inet static

address 192.168.3.3

netmask 255.255.255.0

gateway 192.168.3.1

dns-search example.com

dns-nameservers 192.168.3.45 192.168.8.10

نام هارا mappingکمگ گرفته و master name serverکه از را عیار می سازیمDNSما طوری secondary Name serverدر

اجراکند.

Page 55: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

55

SSH (Secure Shell) Server می باشد remotelyدو پروتوکول شناخته شده و مشهوری برای انتقال فایل ها بین وسایل مختلف به شکل FTPو Telnetهرچند که

( بین کمپیوتر ها انتقال میدهد که به آسانی میتواند plain-textولی این دو پروتوکول دیتا و معلومات را به شکل متن قابل خوانش )

که مشکالت امنیتی زیاد را به بار می آورد.گردد. captureتوسط سایر اشخاص درشبکه و انترنت

SSH (Secure Shell) اجازه می دهد تا به کامپیوتر سرور به صورت ریموت یا از راه ام پروتکلی است که به

, می, جابجا کن مکنی نمونه برداری مفایل های داخل سرور را بتوانیم از سرور نگهداری کنی متا بتوانیم متصل شوی دور

یم وغیرهاجرا کنهارا و اسکریپت مجدید ایجاد کنی های جدید و شاخه فولدر, مکنی حذف

openssh یک نمونه ازSSH Server وده وبclient-server relationship که با استفاده از آن میتوانیم از طریق میباشد

ssh client بهssh server به شکل محفوظ ، ایمن وremotely .امنیت بهتری را برای این ابزار قدرتمند، وصل گردیم

ل تهیه مینماید. که دراین نوع ارتباط اوال دیتا انکریپت گردیده و انتقال فایل ها ومعلومات درشبکه های ریموت بین وسای

یعنی این خدمات شامل چندین نوع خدمات می باشد:سپس انتقال پیدا میکند

SSH ضامن قایم نمودن ارتباط مستحکم و ایمن با :Host دیگر درشبکه به شکل ریموت می باشد. که با استفاده از آن

User انی تمام ها میتوانند به آسRemotely commands درسایر وسایل هارا run .کنند

SCP مخفف :Secure copy می باشد که استفاده ازاین دستور برای انتقال فایل ها از یکhost به هاست دیگر اوال فایل

.تبادله میکند ssh serverویاهم بین دو ssh serverو ssh clientنموده وسپس بین encryptهارا

SFTP مخفف :Secure FTP میباشد که وظیفهءFTP Server .را با امکانات و امنیت بهتر انجام می دهد

نرم از طریق ل خود به این پروتک root پسورد و usernameبا نندمدیران سرورها می توا، SSHبا استفاده از

کردند در صورت هماهنگی با شرکت خریداری Hostکه هایی User, وصل گردندپوتی افزارهای مخصوصی از قبیل

Web Hosting فعال سازی به منظورمورد نظر می توانندSSH یا پشتیبانی شرکت ان سروربا مدیرweb hosting

.به بسیار راحتی عملیات مختلفی را انجام دهندخود پسورد و usernameتماس بگیرند و با

SSH Serverنصب ذیل استفاده میکنیم. اتبرای نصب نمودن این سرور از دستوررنت بررسی کرده وسپس در نخست ارتباط تان را با انت

((yesکه درجریان انستالیشن به تمام کیوری های الزمه پاسخ مثبت بدهد ) بدین معنی است فوقدرآخر کماند های y–حرف )نوت :

ssh serverراداشته باشیم ولی برای کالینت ها نصب ssh-clientوهم ssh-serverبصورت عادی میتوانیم دریک سیستم هم

الزمی نیست.

Page 56: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

56

SSHعیارسازی سرور میباشد که هردو sshd_configعبارت از SSH Serverو فایل عیارسازی ssh_configعبارت از SSH Clientفایل عیارسازی

برمی داریم تا درصورت ازبین backupقبل از انجام هر کار درنخست از دوفایل مذکور یک قراردارد. /etc/ssh/در دایرکتوری

آن مجبور نگردیم تا دوباره سرور مذکور را از شروع نصب کنیم. ات در عیارسازیرفتن فایل ها ویا اشتباه

این فایل با استفاده از دستور ذیل کمک میگیریم. manual pageبرای کسب معلومات دربارهء فایل مذکور از

Sshd_config File در داخل فایل فوق پارامتر های زیادی وجود دارد که هرکدام آن یک قیمت بخود میگیرد و چگونگی عملکرد این سرور را تعیین

میکند.

Page 57: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

57

عبارتند از: عضی از پارامتر های مهم وعمدهء فایل فوقب

Port 22 :

ازطریق آن پورت به کالینت ها گوش داده و درخواست ssh serverنمبر پورت را مشخص میکند که attributeاین

ما میتوانیم به منظور امنیت بهتر نمبر پورت را استفاده میکند که 77از پورت ssh serverبطور عادی هارا اخذ مینماید.

و پسوردهای مختلف سعی میکنند usernameتغییر بدهیم زیرا اکثر هکرها این پورت نمبرهارا چیک نموده و با استعمال

وصل گردند. ssh serverبه

PermitRootLogin

rootباشد بدین معنی که از طریق yesآن را بخود میگیرد درصورتیکه قیمت Noویا Yesاین مشخصه تنها دو قیمت

user بهssh server وصل شده بتوانیم و درصورتیکهno باشد از طریقroot user به سرور وصل نشده بلکه کارهای

انجام دهند. sudoمیتواند آنرا انجام دهند ، با استعمال دستور root userکه تنها

کند.( accessباشد تا محیط سرور را unlockهم root userید باشد با yes)درصورتیکه قیمت مشخصه فوق

AllowUsers AllowGroup:

رابدهیم. sshهای مشخص ویاگروپ های مشخص اذن وصل شدن به سرور userبا استفاده از این دومشخصه میتوانیم به

را DNS Serverفاده میگردد که ما ها و یا گروپ ها می باشد.وزمانی است userنام attributeومعموال قیمت های این

عیار کرده باشیم.

LoginGraceTime 2:

در دودقیقه وصل نشد userمیباشد مشخص میکند درصورتیکه یک 7این مشخصه که بصورت پیش فرض قیمت آن

user مذکور را دوبارهdisconnect .کند

ListenAddress:

با استفاده از این مشخصه میتوانیم تمام انترفس های را که سرور به آن گوش داده و درخواست هارا قبول کند را تعیین

ازتمام اداپتر ها درخواست را sshفعال باشد میتوانیم تعیین کنیم که Network adopterکنیم. یعنی درصورتیکه چندین

Accept .کند

Page 58: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

58

PrintLastLog yes:

شدن قبلی را نشان میدهد. Loginها زمان Userباشد به yesقیمت آن درصورتیکه

X11 forwarding:

کنیم. accessباشد درینصورت میتوانیم محیط گرافیکی سرور را از طریق کالینت yesدرصورتیکه قیمت این مشخصه

میگیرد.ودراخیر برای تاثیر تغییرات وارد آمده در فایل از دستور ذیل استفاده صورت

sudo /etc/init.d/ssh restart

sudo service ssh restart ویا

Login To SSH Server وصل شویم: ssh serverما میتوانیم بدوطریقه به سرور

درصورتیکه از طریق یکRegular User داخلssh .شویم از کماند ذیل استفاده میکنیم

Ssh <ip address> -l <username>

Ssh 192.168.1.5 –l muhib

درصورتیکه از طریقroot user داخلssh server : گردیم ازدستور

Ssh root@<ip address>

ssh root@<192.168.1.5>

کنیم که روت اوال accessرا ssh serverمحیط root userته باشیم که درصورتی میتوانیم ازطریق البته بخاطر باید داش

(unlock بوده و ثانیا مشخصهء )permitRootLogin در فایل(sshd_config) قیمتyes .داشته باشد

وصل شدیم میتوانیم تمام عملیات ودستورات را میتوانیم در سرور اجرا کنیم مثال: ssh serverبه clientبعدازینکه از طریق

( درآن MKFolderByClientسرور میشویم و یک دایرکتوری را به نام ) Desktopاز طریق کالینت اوال داخل دایرکتوری

میسازیم.

داخل محیط سرور هستیم

وارد سرور میشویم. muhibبا استفاده از

Page 59: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

59

کتاپ وجود دارد ویاخیر.بخاطر مطمین شدن داخل محیط سرور شده و میبینیم که آیا واقعا در دیس

استفاده میکنیم. logoutشویم از دستور logoutدوباره ssh serverو برای اینکه از

وصل شوید درینصورت شما نیاز به نرم افزارهای ssh serverممکن است شما از طریق سیستم های عامل دیگر مثل ویندوز به

نصب است استفاده کرده ام. Windows XPه سیستم عامل دارید که درین جا من از کالینت ک puttyمثل

آدرس آی پی بگیرد(. rangeاز یک SSH Serverو Client)قبل از انجام هر کار باید

را مشخص میکنیم. من درینجا آدرس SSHرا در کالینت اجرا کرده و درآن آدرس سرور ، نمبر پورت و پروتوکول puttyپروگرام

( می باشد داده ام :437.491.4.5سرور را که )

Page 60: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

60

و کلمهء userصورت میگیرد)نام authenticationکلیک کرده و پنجرهء ذیل ظاهر میگردد که در نخست openباالی دکمهء

وسپس به سرور وصل شده می توانیم.عبور مربوطه آن را میخواهد.(

homeتیب تمام دستورات لینوکس را در محیط فوق انجام داده میتوانیم بطور مثال من میخواهم درین قسمت داخل به همین تر

directory .شده و درآن یک فایل را ایجاد میکنم

Page 61: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

61

کاپی ونمونه برداری فایل ها از کالینت به سرور و از سرور به کالینت

ور کاپی کنیم از دستور ذیل استفاده میکنیم.درصورتیکه بخواهیم یک فایل را از کالینت به سر

Scp <filename> root@<ip address> /var/ali

اگر بخواهیم بیشتر از یک فایل را همزمان از کالینت به سرور کاپی کنیم بازهم از کماندscp :طور ذیل استفاده میکنیم

Scp file1,file2,file3 [email protected] /home/muhib/Desktop

:اگر بخواهیم یک فایل را از سرور به سرور کاپی کنیم از طریق کالینت دستور ذیل را اجرا میکنیم

Scp root@<server1 IP>: /home/ root@<server2 IP): /home/

میکنیم.اگربخواهیم یک فایل را ازسرور به کالینت کاپی کنیم از دستور ذیل استفاده

Scp root@<server IP>: /var/filename /mnt/mhib

Page 62: (Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب الله امان

امانمحب هللا -رهنمود سیستم عامل اوبنتو

62

SAMBA Server همانطوریکه میدانیم شبکه های کمپیوتری روز به روز پیچیده شده و وسیع میگردند و اکثرا درشبکه ها از سیستم های عامل مختلف

یکی از SAMBAای عامل مختلف شریک گردند. به کار گرفته میشوند که درینصورت نیاز حس میشود تا منابع شبکه بین سیستم ه

میباشد که به منظور شریک نمودن منابع بین سیستم های عامل لینوکس و ویندوز استفاده میگردد. open sourceاپلیکیشن های