وبلاگ دانشجویان مهندسی فناوری اطلاعات (IT) پیام نور کرمانشاه

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

وبلاگ دانشجویان مهندسی فناوری اطلاعات (IT) پیام نور کرمانشاه

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

آموزش کار با ترمینال در اوبونتو-قسمت دوم

در قسمت قبل یاد گرفتیم که علائم در ترمینال چه معنایی دارند،چگونه به دایرکتوری ها و درایوهای مختلف برویم،لیست دایرکتوری ها و فایل های آنجا را ببینیم و...

در قسمت دوم کار با فایل ها را یاد میگیریم...به قول نویسنده ی اصلی این مطلب: File fun!(بازی با فایلها)


توجه! توصیه میشود قبل از خواندن این مطلب،قسمت قبلی این آموزش را بخوانید.(لینک قسمت قبلی)


قسمت دوم - فایل ها

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

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

امیدوارم راهیابی در ترمینال را از یاد نبرده باشید،چون قرار نیست دوباره در مورد آن توضیح بدهیم.سه دستور اصلی برای کار با فایلها وجود دارد:  cp (کپی=copy) و mv (انتقال=move) و rm (حذف=remove که همان delete است)

cp و mv خیلی شبیه به هم عمل میکنند پس اول آنها را توضیح میدهیم.(امیر:فرق copy و move همان فرق copy و cut هست)

به دایرکتوری خانه میریم و ls میکنیم:

تعدادی فایل هست که من میخواهم با آنها کار کنم.(file1 ,file و...)

با کپی شروع میکنیم.دستور کپی به این صورت است:

<cp [options]  <location of file> <where you want the copy to be made

یا به فارسی:

                   <محلی که میخواهید رونوشتی از فایل در آنجا ذخیره شود> <محل فایل> [دستورات اختیاری] cp

مکان ها میتواند با آدرس دهی مستقیم یا نسبی باشد(یادتان که هست؟).ولی options(دستورات اختیاری) چه معنی دارد؟ این قسمت مربوط به دستورات اختیاری است!!! نه،این قسمت مشخص میکند که cp هنگام اجرا چگونه عمل کند و با یک علامت " - " نشان داده میشوند.چند نمونه از دستورات اختیاری روزمره عبارتند از:

i- (تعاملی=Interactive) که برای هر عمل از شما تایید میگیرد.

r- (بازگشتیRecurcive) که دستور را به تمام دایرکتوری ها برمیگرداند،یعنی تمام زیر دایرکتوری ها را هم کپی میکند،این دستور برای کپی دایرکتوری ها لازم است.

v- (سخنگو=Verbose) که تمام اعمالی که انجام میدهد را گزارش میکند.(ترجمه ی دقیق Verbose به معنی وراج و پرگو است! کسی که زیاد حرف میزند)

این دستورات را در قسمتی از دستور اصلی که نوشته بودم [options] باید بنویسید.خب،حرف زدن کافیه،بهتره یه مثال عملی بزنیم.من میخوام file1.png را کپی کنم و فایلی به نام file2.png تولید شود:

دقت کنید که من از دستور اختیاری v- استفاده کردم.اگر از دستور v- استفاده نمیکردم خط دوم نمایش داده نمیشد.این خط نشان میدهد که file1.png به file2.png کپی شد.دستور ls هم این موضوع را تایید میکند:

بله،فایل file2.png درست شده و آنجا قرار دارد.خب حالا میخواهیم آن را پاک کنیم.

دستور حذف به این شکل است:

[rm [options] <path to file

به فارسی:

<مسیر فایل> [دستورات اختیاری] rm

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

دستورات اختیاری روزمره  برای حذف به نظر من اینهاست:

i- که مانند کپی به صورت تعاملی است.ولی در اینجا این دستور اختیاری کارایی مهم تری دارد.

v-  و r- که دقیقا مانند کپی هستند.

f- (مجبور کردن=force) که فایل یا دایرکتوری را مجبور به حذف شدن میکند.برای حذف دایرکتوری ها لازم است.

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

/  rm  -rf 

بله،بعد از این کار فاتحه ی سیستم شما خوانده است!! آنرا ببوسید و کنار بگذارید!!! البته اگر به اندازه ی کافی سرعت عمل داشته باشید شاید بتوانید با Ctrl + c جلوی این کار را بگیرید.به طور کلی Ctrl + c هر پروسه و پردازش در حال اجرا را قطع میکند و شما را به خط فرمان برمیگرداند.به هر حال،بیاید از شر این فایل file2.png که یک کپی است راحت شویم:

برای امنیت بیشتر و گرقتن تایید برای حذف فایل از دستور i- استفاده کردیم.(البته نویسنده اصلی در پروفایل خود دستور rm را طوری تعریف کرده بود که همواره به صورت تعاملی اجرا شود،مگر در صورت استفاده از f-،این کار ضریب امنیت حذف اطلاعات را زیاد کرده بود،متاسفانه ایشان توضیح نداده بود چگونه این کار را انجام داده و من هم بلد نیستم!!)

حالا میرسیم به دستور mv برای انتقال.mv دقیقا مثل cp عمل میکند ولی به جای کپی و نسخه برداری فایل را جابجا میکند.این دستور همچنین نام فایل را هم عوض میکند.بله، Rename میکند.بیشتر فکر کنید،وقتی شما نام فایل را عوض میکنید،آن را به یک فایل با اسم دیگر کپی میکنید.دستور را بخوانید تا بیشتر متوجه شوید:

<mv [options] <location of file> <place you want to put it

به فارسی:

<محلی که میخواهید فایل را منتقل کنید> <محل فایل> [دستورات اختیاری] mv

دستور بسیار شبیه cp است.چون تقریبا همان است.این دستور بیشتر دستورات اختیاری cp را دارد(i- و v-) و همچنین f- را از rm دارد.این دستورات اختیاری دقیقا مانند قبل عمل میکنند.

وقت مثال زدن است! ببینیم:

عالیه،از الآن file1.png به نام file2.png شناخته میشود.

به یاد داشته باشید شما میتوانید این کار را با دایرکتوری ها هم انجام بدهید ولی برای cp و rm باید از دستوراختیاری r- استفاده کنید.

حالا چند چیز دیگر یاد بگیریم.راستش را  بخواهید یه راز بزرگ را از شما مخفی میکردم،چیزی که ترمینال را بسیار قدرتمند میکند...اسم آن Tab completetion است(کامل کردن با tab).میپرسید این چه معنی دارد و چکار میکند؟با این قابلیت شما چند حرف اول نام فایل,دایرکتوری یا دستور را مینویسید و کلید tab را میزنید,ترمینال خود سعی میکند که آن را کامل کند.اگر معلوم باشد و بتواند تشخیص بدهد که چکار میخواهید بکنید سریعا آن را انجام میدهد و در نوشتن صرفه جویی زیادی میکنید.اگر هم نتواند یا چند حرف دیگر بنویسید یا یک بار دیگر tab را بزنید تا یک لیست از مواردی که ممکن است منظور شما باشد را ببینید.دقت کنید که این قابلیت فقط فایل هایی که در مسیر شما هست را پیدا میکند.اگه متوجه نشدید مثال زیر را نگاه کنید.

میخواهم از ~ به etc/apt/ بروم.شروع به نوشتن میکنم,بعد از نوشتن cd /e یک tab میزنم.بعد از / تنها یک مسیر با حرف اول e وجود دارد و آن هم etc/ است,پس کامل میشود.حالا a را اضافه میکنیم تا etc/a/ را داشته باشیم و یک بار دیگر tab را میزنیم.اوه! صدای بوق میگوید که این مورد یکتا نیست،یعنی بیشتر از یک مورد وجود دارد که با a شروع میشود...پس یک بار دیگر tab را میزنیم:

دقت کنید مواردی که دایرکتوری هستند با یک علامت / بعدشان مشخص شده اند.به یاد داشته باشید که من هنوز دکمه ی enter را نزده ام و دستور را اجرا نکرده ام.خب،به نظر میرسد که باید حروف p و t را هم بنویسم(apt) تا به etc/apt/ برسم.منظور مطلب را متوجه شدید؟ وقتی که سعی کردم به وسیله ی tab عبارت etc/a/ را کامل کنم ترمینال قسمت /etc/ را برای پیدا کردن مکمل های قابل قبول جستجو کرد.

قابلیت تکمیل با tab با ٪99  نامهای فایلها و حتی دستورات کار میکند.مثلا:

دوحرف ca را تایپ کردیم و tab زدیم،تمامی دستوراتی که با ca شروع میشد را به ما پیشنهاد کرد.عالیه!


ترفند دیگری میخواهیم به شما یاد بدهیم! میخواهید ببینید محتوای یک فایل چیست؟ یک دستور برای این کار وجود دارد! با فرض اینکه شما قوانین و مجوز ها را میدانید میتوانید این کار را انجام دهید!(مجوزها یا Permissions یک چیز کاملا مجزا است) خب، من فایلی دارم به اسم file4 که در آن 8 خط نوشته وجود دارد.میخواهید آنرا ببینید؟ دوست ما، دستور cat این کار را انجام میدهد!

جالبه،نه؟ این دستور همه چیز را نشان میدهد،حتی اگر به صورت نوشته نباشد!

البته مثلا در حالتی که برای فایل های png آن را امتحان کنید با یک مشت کدهای نامفهوم رو به رو خواهید شد!!


در آخر بازهم در مورد فرمان های sudo یادآوری میکنم که sudo طرز انجام دادن کارها در اوبونتو است! این دستور به شما اجازه میدهید که با اختیارات کاربر root دستور خود را اجرا کنید.





نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد