درود، توی قسمت قبل در مورد مسیر های مطلق و نسبی یاد گرفتیم. و بیشتر با فایل سیستم آشنا شدیم. فهمیدیم که منظورمون از root یا ریشه و اون شکل درختی ای که در دو قسمت قبل خونده بودیم چی بوده و در نهایت دید بهتری نسبت به فایل سیستم پیدا کردیم.
امروز میخوایم دیگه بریم و شروع کنیم به نوشتن یک سری دستور و در نهایت کار با bash. به این منظور باید یک مهارت رو یاد بگیریم. و اون هم navigation یا جابهجا شدن در فایل سیستم هست. این کمک بزرگی به ما میکنه تا کم کم با این محیط بهتر آشنا بشیم و دست و ذهنمون بهش عادت کنه!
برای یادگیری این مهارت نیاز داریم تا با ۴ دستور آشنا بشیم :
cd : توضیحات
توضیحات : pwd
توضیحات : ls
توضیحات : exit
آماده اید؟ این " توضیحات " که گذاشتم به این خاطر هست که آخر این پست برگردید و برای خودتون توضیح بدید که هر دستور دقیقا چیکار میکنه.
پیشنهاد میکنم از الان کمر همت برای تمرین رو ببندید. چون این تازه شروعشه!
خب اول از همه باید بگم همونطور که میدونید ما میخوایم از شل استفاده کنیم و گفتیم توی قسمت های قبل که شل توی محیط ترمینال زندگی میکنه پس اولین کاری که باید بکنیم چیه؟
باید ترمینال رو باز کنیم! (البته همونطور که میدونید این شبیه ساز ترمینال هست که به اختصار بهش میگیم ترمینال) چطوری؟ اگر سیستمتون لینوکسه که خداروشکر میکنم تقریبا اکثر سیستم های لینوکسی ترمینال دارند. و کافیه یه سرچ کنید terminal و بعد ورود کنید. یا حتی میتونید از کلید ترکیبی : Ctrl + Alt + T استفاده کنید که تقریبا میشه گفت کلید ترکیبی استاندارد برای باز شدن ترمینال هست!
ممکنه این کلید براتون کار نکنه! که خب بستگی به توزیعتون میتونید سرچ کنید! کافیه توی گوگل بنویسید :
terminal open shortcut <your distro name> [optional: you could add your desktop name: KDE]
<distro name> : همون نام توزیعتون هست
[desktop name ] : همون نام دسکتاپی که استفاده میکنید مثلا گنوم یا kde یا هر چیز دیگه
مثلا من اینو سرچ میکنم :
terminal open shortcut for Arch linux - endeavouros
و نتیجه میشه این :

خب حالا که تونستیم ترمینالمون رو بیاریم بالا بیاید با فضای ترمینالمون آشنا بشیم.
ترمینال ها اصولا همچین فضایی دارند :

همونطور که میبینید یه صفحه سیاه یا تیره و یه محیط متنی ساده. که یک چیزی تو مایه های چیزی که توی عکس میبینید توش نوشته شده و منتظر این هست که شما یه چیزی بنویسید (اینو از کجا میفهمیم؟ از اون مستطیل پررنگ سفید که نشون دهنده این هست که الان میتونیم از کیبردمون استفاده کنیم و توی ترمینال بنویسیم.)
به این میگن پرامپت (prompt) یا بهتره بگم shell prompt این در حقیقت یه متن کوچول هست که یه سری اطلاعات به ما میده.
مثلا اینجا و توی کامپیوتر من shell prompt ام اینه :
[fix@staff ~]$
کلمه fix نام کاربری یا username من هنگام ورود به کامپیوترم هست.
نکته :
توی لینوکس ما موقع نصب سیستم عامل یک user name و یک Machine name یا نام کامپیوتر بعلاوه password یا رمز وارد میکنیم.
و هر بار که میخوایم به سیستممون ورود کنیم از username و password مون استفاده میکنیم.
بگذریم کلمه ای که بعد از @ میاد نام ماشین یا کامپیوتر ماست که در هنگام نصب من نام staff رو انتخاب کردم.
بعدش با یه فاصله یک علامت ~ (که بهش تیلد یا tilde میگیم) نشون داده شده. که در حقیقت این بخش تغییر میکنه . جلو تر بهتون میگم معنای ~ چی هست ولی اینو بدونید که این بخش در حقیقت داره جایی که شما هستید رو نشون میده. همون current working directory شما.
بعدش در آخر یه علامت $ ساین هست که این نشون دهنده اینه که shell آمادست تا شما دستور رو وارد کنید و به شما در لحظه پاسخ بده!
وقتی ترمینال رو باز میکنیم، به طور پیشفرض ترمینال یک شل رو برای ما بالا میاره. برای این که مطمئن بشیم که از bash استفاده میکنیم بهتره که اول از همه دستور bash رو بنویسیم این باعث میشه که اگر ترمینال از شل دیگه ای استفاده میکنه برامون bash رو باز کنه. و مطمعن باشیم که داریم از bash استفاده میکنیم :
[fix@staff ~]$ bash [fix@staff ~]$
خب اگر دستور bash رو زدید و شل پرامپت رو بهتون نمایش داد پس شما توی bash هستید و آماده ایم که کارمون رو شروع کنیم.
این قضیه رو در نظر داشته باشید که به هر بار که در شل یک دستور رو مینویسید شل به شما پاسخ میده و با نشون دادن شل پرامپت از شما درخواست دستور بعدی میکنه! و یه جورایی منتظر دستور بعدی میشه.
توی پست قبل گفتیم در فایل سیستم یه همچین ساختاری داریم :
/ |----directory1/ | |----subdirectory1/ | | |----file.html | |----file.txt |----directory2/
حالا فکر کنید میخوایم در محیط ترمینال و شل که یک محیط متنی هست جابهجا بشیم و به این ور و اون ور بریم تنها دو چیز برای این کار دست ما رو میگیره استفاده از یک سری دستورات و همینطور یک مفهوم کلی.
همونطور که تا الان میدونیم ما وقتی نام فایل سیستم میاد وسط همین شکل بالا رو تصور میکنیم. که یک root داریم و چند دایرکتوری، ساب دایرکتوری و فایل.
خب قبل از این که بریم سراغ دستوراتی که به ما در navigation کمک میکنند بهتره که اول با ساختار دستورات در bash اشنا بشیم.
ببینید به طور کلی دستورات برنامه هایی هستند که ما میتونیم با نوشتن نامشون در ترمینال اون ها رو اجرا کنیم همونطور که یکم بالا تر با نوشتن نام bash در حقیقت برنامه و شلی به نام bash رو اجرا کردیم.
پس به طور کلی برای استفاده از دستورات کافیه نام اون ها رو بدونیم
هر دستور میتونه یه سری ورودی هم بگیره که بهشون میگیم آرگومان یا argument بعضی از دستورات آرگومان دارند بعضی هاشون هم ندارند.
جلو تر با یه سری چیز باحال تر آشنا میشیم که میتونیم به قدرت عجیبی در هنگام استفاده از دستورات برسیم که اون ها در حقیقت آپشن یا flag نام دارند. (به طور استاندارد بهشون میگن آپشن) که یه جور ورودی یا آرگومان هستند که به واسطه اون ها میتونیم رفتار معمولی دستور رو دستخوش تغییر کنیم مثلا فکر کنید یه دستور هست که کلا هر متنی بهش بدید قرمزش میکنه شما میتونید به واسطه استفاده از یک آپشن رنگ، کاری کنید که دیگه رنگ متن قرمز نباشه و یه چیز دیگه باشه . اینجوری کاری کردید که اون دستور یه کار دیگه بکنه!
آشنا میشیم باهاشون نگرانش نباشید.

این دستور همونطور که از نامش پیداست مثل یک portal میمونه در حقیقت میتونیم به واسطه cd به مسیر های مختلفی که در فایل سیستممون هست بریم و جامون رو عوض کنیم و به دایرکتوری های مختلف سر بزنیم.
به این شکل هست که کافیه مثل تمام دستورات نامش رو بنویسیم و بعد مسیری که میخوایم به اونجا بریم رو به شکل یک آرگومان بهش بدیم.
[fix@staff ~]$ cd path
همونطور که دیدید بعد از cd من یک فاصله گذاشتم و آرگومان رو نوشتم (که اینجا همون مسیر یا path هست). پس آرگومان ها در حقیقت با یک فاصله از دستور قرار میگیرند.
برای مثال فکر کنید میخوام به آدرس usr/share/ برم پس مینویسم :
[fix@staff ~]$ cd /usr/share/
بعد از این که نوشتم کلید <enter> رو میزنم تا دستور رو به شل بدم.
خب حالا چی میشه؟ بوووممم شما از جایی که بودید به دایرکتوری share رفتید. یه جورایی الان اونجایید.
چیزی که shell prompt و بعد از وارد کردن این دستور به شما نمایش میده اینه :

اگر دقت کرده باشید جایی که قبلا ~ بود الان به share تغییر کرد در حقیقت الان shell prompt داره بهمون میگه که هی شما در دایرکتوری share قرار دارید. و بعد هم منتظره که دستور بعدی رو وارد کنید.
پس در حقیقت cd کار خاصی نمیکنه جز این که ما رو به مسیری که بهش میگیم میبره.

خب اگر دقت کرده باشید من توی مثال بالا از یک absolute path استفاده کردم (اگر نمیدونید چیه قسمت قبل رو بخونید) حالا اگر بخوام از یک relative path استفاده کنم چی؟ خیلی سادست کافیه جای این که یک absolute path رو به cd بدیم از relative path استفاده کنیم اما قبل از این که بریم این کار رو کنیم پیشنهاد میکنم بریم تا با دوتا دستور آشنا بشیم که خیلی در بحث استفاده از relative path برای cd کمکمون میکنن
اولین دستور pwd هست. این دستور همونطور که از نامش پیداست کل کاری که میکنه اینه که جایی که هستیم (دایرکتوری ای که درش هستیم) رو به شکل یک absolute path بهمون نمایش میده در حقیقت مسیر اون جایی که هستیم رو بهمون میده و میگه که دقیقا کجای جهان (فایل سیستم) هستیم.

pwd یک خصلت باحال داره هیچ وقت نمیخوابه و چشماشو نمیبنده چرا؟ چون شما در فایل سیستم مدام در حال تغییر جایگاه و جابهجا شدن هستید. و pwd مدام باید بدونه که کجا هستید به همین خاطر میتونید به شکل یک فرد خسته با چشمای قرمز تصورش کنید که از خستگی داره روانی میشه و توی یک کاغذ مدام current working directory شما رو یادداشت میکنه تا وقتی که با استفاده از دستور pwd ازش خواستید مسیر مطلق current working directory تون رو بهتون بده.
بریم یه کوچولو باهاش کار کنیم :
[fix@staff ~]$ pwd /home/fix [fix@staff ~]$ cd /usr/share [fix@staff share]$ pwd /usr/share [fix@staff ~]$
خب بزارید خط به خط توضیح بدم :
لحظه ای که به ترمینال ورود کردم با استفاده از دستور pwd دقیقا فهمیدم که کجای جهان هستم . که به من در خط دوم پاسخ داده شده /home/fix/ که یعنی اینجا هستم.
تو خط سوم با استفاده از cd جام رو عوض کردم و به دایرکتوری share رفتم و در خط ۵ ام با دستور pwd فهمیدم که دقیقا کجای جهان هستم : /usr/share/
تو خط ششم هم که طبق معمول شل منتظر هست که دستور بعدی رو بهش بدم.
همونطور که میبینید تمام پاسخ های pwd همون مسیر های مطلق یا absolute path ها هستند. مثلا ما توی خط چهار میدونیم که در دایرکتوری share هستیم چون توی shell prompt نوشته برامون.
اما اگر ندونیم که دقیقا در کجا هستیم میتونیم از pwd برای اطمینان استفاده کنیم.

راستی همونطور که دیدید ما برای استفاده از pwd نیازی دادن آرگومان نداریم. این دقیقا همون نکته ای هست که بالا گفتم ممکنه بعضی از دستورات آرگومان داشته باشند بعضیاشون هم نداشته باشند. یا حتی زیاد مهم نباشه استفاده ازشون!
نکته :
هر چند که pwd دوتا آپشن داره که اونا هم یه جور آرگومان هستند ولی خب کار خاصی نمیکنند. البته بعدا باهاشون آشنا میشیم. توی مقاله دوم یا سوم فصل ۲
این دستور از اون دستور باحالاست از اونا که تقریبا مدام ازش استفاده میکنید و یه جورایی یه کمک بزرگ برای cd هست. کارای خاصی میکنه ولی بزارید فعلا در همین حد بهتون بگم که ls برای لیست کردن محتویات جایی که هستیم استفاده میشه.
به این شکل که کافیه بنویسید ls و بعد بوم فایل ها و دایرکتوری های داخل current working directory تون براتون لیست میشه. و دیگه به راحتی میتونید به وسیله cd و البته relative path جا به جا بشید.
آخ که چقدر باحال و راحت میشه. جابهجا شدن دیگه نیازی نیست برای رفتن به یه ساب دایرکتوری که توی current working directory تون هست از absolute path استفاده کنید.
بیاید برای این که این مطلب رو جا بندازم براتون از همون ساختار فایل سیستم استفاده کنیم :
/ |----directory1/ | |----subdirectory1/ | | |----file.html | |----file.txt | |----subdirectory2/ |----directory2/
خب فکر کنید ما در / هستیم پس :
[fix@staff /]$ pwd /
حالا تصور کنید که با استفاده از cd و یک absolute path رفتیم به /directory1 :
[fix@staff /]$ cd /directory1/ [fix@staff directory1]$
حالا فکر کنید از اینجا میخوام به /subdirectory1 برم، خب دو کار میتونم بکنم میتونم از absolute path استفاده کنم و یا این که از relative path استفاده کنم.
اگر از absolute path استفاده کنم باید بنویسم :
[fix@staff directory1]$ cd /directory1/subdirectory1/ [fix@staff subdirectory1]$
یه جورایی باید کل مسیر رو بنویسم و یا حفظ باشم. حالا اگربخوام از مسیر relative استفاده کنم چی؟
کافیه که اول محتویات داخل /directory1 رو لیست کنیم، که برای این کار از دستور ls استفاده میکنیم :
[fix@staff directory1]$ ls subdirectory1/ file.txt subdirectory2/
همونطور که میبینید برامون لیست شد. الان میدونیم که در جایی که هستیم دو subdirectory داریم و یه دونه فایل. حالا اگر بخوایم به هر کدوم از اون subdirectory ها بریم میتونیم با خیال راحت از relative path و دستور cd استفاده کنیم : (realtive path رو که میدونید چیه و حتی میتونید از پست قبل بشناسیدش اگر نمیدونید پست قبل رو بخونید )
به این شکل :
[fix@staff directory1]$ cd ./subdirectory1 [fix@staff subdirectory1]$
این رو میتونید با اون بالایی که مجبور بودید از absolute path استفاده کنید. مقایسه کنید.
حتی میتونید با زدن pwd بفهمید که دقیقا باید از چه absolute path ای استفاده میکردید تا به اینجا برسید :
[fix@staff directory1]$ cd ./subdirectory1 [fix@staff subdirectory1]$ pwd /directory1/subdirectory1 [fix@staff subdirectory1]$
میبینید اینجا relative خیلی ساده تر و راحت تره. تازه توی فصل های آینده چیزایی در مورد ls و ترمینال و خلاصه این مباحث یاد میگیرید که هر لحظه براتون همه چیز منطقی تر و واضح تر میشه.

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

توی توضیح براتون نوشتم inode ببینید این خیلی مهمه که بهتون بگم که ls کامل نشده یعنی چیزی که اینجا در مورد ls یاد گرفتید چیز خیلی خیلی خیلی کوچیکی هست. توی پاراگراف بالا هم یه اشاره ریز کردم و گفتم که ls تمامی اطلاعات مربوط به محتویات یک دایرکتوری رو همراه خودش داره. که خب توی این پست صرفا در همین حد کافیه توی پست اول فصل ۲ که یه جورایی یه مرور کلی و بحث تکمیلی در مورد فصل اول هست . کلا براتون بازش میکنم و بهتون از inode ها هر چیزی که در ls هست میگم.
خب تا الان فهمیدیم که میتونیم از cd استفاده کنیم و دایرکتوریمون رو تغییر بدیم و بریم یه جای دیگه ولی خب اگر بخوایم برگردیم عقب چی؟ برگردیم جایی که بودیم!
برای پاسخ دادن به این سوال اول باید یه نکته رو بگم :
ببینید تا زمانی که inode ها رو نگم نمیتونم براتون کاملا این قضیه رو جا بندازم پس بیاید اینجا یه لطفی به من و خودتون بکنید و این بخشی که این پایین میگم رو بدون دلیل بپذیرید.
ببینید در هر کجای فایل سیستم که باشید تاکید میکنم هر کجا که باشید حتی اگر در یک دایرکتوری باشید که هیچ دایرکتوری یا فایلی داخلش نیست . به طور پیشفرض دو دایرکتوری پنهان وجود دارند.
میدونم یکم مسخرست که بگم شما داخل یه دایرکتوری هستید که هیچی توش نیست و بعد سریع بگم نه ببین دوتا دایرکتوری پنهان هست.
ولی کلا برای سادگی و درک این موضوع این قضیه رو بپذیرید هیچ دایرکتوری ای کاملا خالی نیست و همیشه دوتا دایرکتوری مخفی تو خودش داره اوکی؟
حالا این دایرکتوری مخفی ها چیا هستند؟ یکیشون در حقیقت آدرس خود اون دایرکتوری هست. و دیگری آدرس دایرکتوری قبلیش. یعنی دایرکتوری پدرش.
بزارید برای جا انداختن این موضوع باز از اون ساختار فایل سیستم استفاده کنم :
/ |----directory1/ | |----subdirectory1/ | | |----file.html
ببینید توی ساختار بالا ما یه دایرکتوری داریم داخل روت به اسم directory1 که داخلش یه دایرکتوری و یه فایل هست، که میتونم با دستور ls ثابتش کنم :
[fix@staff directory1]$ ls subdirectory1/ file.txt
حالا من گفتم تمام دایرکتوری ها در فایل سیستم به طور پیشفرض دوتا دایرکتوری تو خودشون دارند که پنهان هست.
و گفتم یکیشون ادرس خود دایرکتوری رو نشون میده و دیگری آدرس دایرکتوری قبلی یا پدر. حالا این یعنی چی؟
توی ساختار بالا .( که میارمش این پایین راحت ببینیدش) :
/ |----directory1/ | |----subdirectory1/ | | |----file.html
تصور کنید من در /subdirectory1 هستم. دایرکتوری پدر میشه دایرکتوری قبلی یعنی همون /directory1 اگر مسیر مطلق subdirectory1 رو براتون بنویسم میتونید این قضیه رو بهتر بفهمید :
/directory1/subdirectory1/
که الان میتونید قشنگ ببینید مثلا پدر directory1 روت یا / هست و خود directory1 پدر subdirectory1 هست.
خب برگردیم به اون دوتا دایرکتوری پنهان که توی همه دایرکتوری ها هستند :
این دو دایرکتوری به این شکل دیده میشن :
اونی که به آدرس خود دایرکتوری اشاره میکنه با نقطه . نشون داده میشه
و اونی که به آدرس دایرکتوری پدر اشاره میکنه با دو تا نقطه .. نمایش داده میشه
حالا شاید براتون جالب باشه که بگم اون نقطه ای که در relative path استفاده میکردیم دقیقا نشون دهنده اینه که ما از جایی شروع میکنیم که هستیم. که اینو قبلا بهتون گفتم الان میفهمید که چرا از نقطه استفاده میکنیم. چون این نقطه همون دایرکتوری پنهانی هست که به آدرس خود دایرکتوری اشاره میکنه.
یعنی اگر بتونیم اینا رو ببینیم به این شکل هست که اگر در directory1 باشیم که پدرش / هست :
[fix@staff directory1]$ pwd /directory1/ [fix@staff directory1]$ ls ../ ./ subdirectory1/
اگر فرض کنیم که ls بهمون این دایرکتوری های پنهان رو نمایش میده میونیم به این شکل بالا ببینیمشون. و در حقیقت /. همون directory1 هست که داخلش هستیم و /.. همون دایرکتوری قبلی.
نکته :در حقیقت بچه ها ls با یه آپشن میتونه تمامی فایل های مخفی رو به ما نشون بده. توی لینوکس هر فایلی که مخفی باشه نامش با یک نقطه شروع میشه مثلا اگر یه دایرکتوری مخفی به اسم pics داشته باشید در لینوکس باید با یه نقطه شروع بشه یعنی اینجوری pics. خلاصه از اونجایی که هنوز در مورد آپشن ها توضیح ندادم . و میخوام توی قسمت بعد توضیح بدم. فعلا بیاید تصور کنید که نمایش میده.
برای اونایی که با فلگ و آپشن آشنا هستند نام این آپشن a هست که میتونید استفاده اش کنید تا اینو ببینید.
پس اگر ما در directory1 باشیم و بخوایم به عقب برگردیم کافیه که این کار رو کنیم :
[fix@staff directory1]$ cd ../ [fix@staff /]$ pwd /
همونطور که میبینید به واسطه این یه دایرکتوری برگشتیم عقب ما میتونیم به هر اندازه که دلمون میخواد عقب برگردیم مثلا اگر در یک همچین مسیری باشیم :
/dir1/dir2/dir3/dir4
و بخوایم از dir4 به dir2 برگردیم نیاز نیست که از cd و absolute path استفاده کنیم کافیه که از همینجایی که هستیم بنویسیم :
[fix@staff dir4]$ cd ../ [fix@staff dir3]$ cd ../ [fix@staff dir2]$ pwd /dir1/dir2/
من برای سادگی در چند مرحله این کار رو کردم وگرنه میتونستیم بنویسیم :
[fix@staff dir4]$ cd ../../ [fix@staff dir2]$ pwd /dir1/dir2/
که یه جورایی انگار دوبار برگشتیم عقب.
حالا که کارمون با ترمینال و بش تموم شد میخوایم که از ترمینال خروج کنیم . این کار رو با دستور exit انجام میدیم و بومم چه اتفاقی میوفته؟ ترمینال بسته میشه!

خب امیدوارم براتون این قضایا جا افتاده باشه. در مورد ~ tilde که بالا بهتون گفتم و خیلی چیزای دیگه توی قسمت بعد صحبت میکنیم. یعنی در واقع توی بخش اول فصل دوم.
توی این مقاله کلی چیز یاد گرفتیم واقعا از دلیل استفاده از نقطه در relative path و اهمیت دونستن این دو نوع مسیر و خلاصه جابهجا شدن و لیست کردن محتویات و فهمیدن این که کجای فایل سیستم هستیم و خلاصه کار با دستورات و آشنایی جزئی باهاشون و کلی چیز دیگه.
ترمینال رو باز میکنید
ls میزنید.
با استفاده از cd به دایرکتوری های مختلف میرید
هم از مسیر نسبی و هم مسیر مطلق استفاده میکنید.
برای بازگشت به جایی که بودید pwd میزنید و مسیر مطلق رو میبینید و یک بار برای بازگشت از cd و مسیر مطلق تا اونجا استفاده میکنید.
و یک بار هم از .. و مسیر نسبی.
و اینقدر این کار رو میکنید تا خسته شید و در نهایت exit رو بزنید و خروج کنید. مدام از pwd و ls و cd استفاده کنید. هی سعی کنید بیشتر کشف کنید که چطوری کار میکنن.بعد از تقریبا ۵ یا ۶ بار استفاده از cd و ls و pwd تقریبا براتون تمام این مطالب جا میوفتند
حتما این تمرین رو انجام بدید خیلی مهمه وگرنه رسما هیچ ارزشی نداره این نوشته . بدون تمرین صرفا یه مشت حرف هست!
ممنونم که یه فصل رو با من بودید. یه فصل یعنی ۵ تا بخش از فصل اول کتاب bash۲۰۰۳ و کلی چیز یاد گرفتیم. دوستون دارم و فصل بعدی رو از ۲ روز دیگه نوشتنش رو شروع میکنم. البته توی این مدت بیکار نمیشینم و سعی میکنم یه ویدیو کلی از فصل اول درست کنم و همه چیز رو اون تو توضیح بدم. اینجوری کتاب کامل تر هستش.
حتما انتشارات فاک د کد رو دنبال کنید تمام این کتاب اونجا منتشر میشه.
کتاب bash2003 تحت لایسنس CC-BY-SA منتشر میشه و میتونید آزادانه و با خیال راحت استفاده کنید.
حالا که به اتمام فصل اول رسیدیم و یه جورایی یه session رو قراره ببندیم بهتره که منم از exit استفاده کنم و از خدمتتون مرخص شم پس اره فعلا! تا فصل دوم
