نوشته شده توسط فرشید نوتاش حقیقت.
برای استفاده از ترمینال به غیر از تایپ کردن میبایست حرکت کردن در فایلسیستم لینوکس را آموخت.در این آموزش، فرمانهای زیر را معرفی خواهیم کرد:
فرمان pwd: نمایش نام دایرکتوری جاری
فرمان cd: تغییر دایرکتوری
فرمان ls: لیست کردن محتوای دایرکتوری
درک درخت فایلسیستم
همانند ویندوز، سیستمعامل لینوکس فایلهای خود را بهصورت سلسلهمراتبی در دایرکتوریها قرار میدهد که به آن ساختار دایرکتوری سلسلهمراتبی (hierarchical directory structure) گفته میشود. این بدین معنی است که فایلها در یک الگوی درختی از دایرکتوریها (که بعضاً به آنها Folder هم میگویند.) سازماندهی میشود.
اولین دایرکتوری موجود در فایلسیستم، دایرکتوری ریشه (root directory) نام دارد. دایرکتوری root که با علامت / نمایش داده میشود شامل تمامی فایلها و زیردایرکتوریها است که خود آنها نیز فایلها و دایرکتوریهایی را شامل میشوند.
توجه داشته باشید که در سیستمهای ویندوزی برای هر دستگاه ذخیرهسازی یک درخت فایلسیستم وجود دارد اما در سیستمهای مبتنی بر یونیکس از جمله لینوکس فقط یک درخت فایلسیستم بدون در نظر گرفتن تعداد درایوها و دستگاه ذخیرهسازی متصل به کامپیوتر موجود است.
دایرکتوری جاری (دایرکتوری کاری)
اکثر ما احتمالاً با یک مدیر گرافیکی که درخت فایلسیستم را نشان میدهد، آشنا هستیم. (همانند شکل زیر)
تصویر فوق گویای نمایش سلسلهمراتبی دایرکتوریها است اما باید توجه داشت که خط فرمان هیچگونه نمای بصری ندارد. بنابراین برای حرکت در درخت فایلسیستم باید از روش دیگری استفاده کرد. در خط فرمان و در هر زمان معین همیشه در یک دایرکتوری خاص هستیم و میتوان فایلهای موجود در دایرکتوری و مسیر دایرکتوری بالاتر (دایرکتوری والد) و زیردایرکتوریها را مشاهده کرد. دایرکتوری که در آن هستیم دایرکتوری جاری نام دارد که برای نمایش آن از فرمان pwd (سرنام واژگان print working directory) استفاده میشود:
هنگامی که ترمینالی را برای اجرای فرمانها میگشاییم دایرکتوری جاری در دایرکتوری home مستقر میگردد. هر حساب کاربری به دایرکتوری home خود ارجاع داده میشود.
لیست محتویات یک دایرکتوری
برای لیست کردن فایلها و دایرکتوریهای دایرکتوری جاری از فرمان ls استفاده میشود:
در واقع میتوان از فرمان ls برای لیست کردن محتویات هر دایرکتوری استفاده کرد.
تغییر دایرکتوری جاری
برای تغییر جاری از فرمان cd استفاده میشود. برای استفاده ابتدا cd را تایپ کرده و پس از آن نام دایرکتوری مورد نظر نوشته میشود. نام دایرکتوری در واقع مسیری است متشکل از شاخههای درخت فایلسیستم و دایرکتوری که میخواهیم به آن دسترسی داشته باشیم. به این مسیر اصطلاحاً Pathname میگویند که میتوان آن را با دو روش مطلق و نسبی مشخص کرد. ابتدا با روش مطلق شروع میکنیم.
Pathname مطلق
Pathname مطلق با دایرکتوری ریشه شروع شده و پس از آن زیرشاخههای مربوطه نوشته میشود تا مسیر دایرکتوری یا فایل تکمیل شود. به عنوان نمونه، یک دایرکتوری در سیستم وجود دارد که اکثر برنامههای سیستم در آن نصب شدهاند. Pathname این دایرکتوری /usr/bin میباشد. این بدین معناست که در دایرکتوری ریشه (علامت /) دایرکتوری دیگری با نام usr وجود دارد که حاوی دایرکتوری bin میباشد.
مشاهده میشود که دایرکتوری جاری به /usr/bin تغییر یافته است که حاوی فایلهای متعددی است. توجه داشته باشید اعلان پوسته چگونه تغییر یافته است به جای دایرکتوری home (علامت ~) دایرکتوری جاری یعنی bin قرار گرفته است.
Pathname نسبی
یک Pathname مطلق از دایرکتوری root شروع شده و به مقصد آن منتهی میشود اما Pathname نسبی از دایرکتوری جاری شروع میشود. برای این کار، از دو علامت خاص برای نشان دادن Pathname نسبی استفاده میشود. این علائم ویژه، نقطه (.) و دونقطه (..) میباشد. نماد نقطه به دایرکتوری جاری و نماد دونقطه به دایرکتوری والد دایرکتوری جاری اشاره میکند.
حال به چگونگی کارکرد آن خواهیم پرداخت. به عنوان نمونه دایرکتوری جاری را دوباره به /usr/bin تغییر دهید:
اکنون میخواهیم دایرکتوری کاری را از /usr/bin به والد آن یعنی /usr تغییر مسیر دهیم. برای این کار میتوان از دو روش استفاده کرد. روش Pathname مطلق:
یا بهوسیله Pathname نسبی:
در هر دو روش نتیجه، یکسان است. حال باید از کدام یک استفاده کنیم؟ از روشی که نیاز به تایپ کمتری دارد!
به همین ترتیب میتوان دایرکتوری جاری را از /usr به /usr/bin تغییر دهیم، روش Pathname مطلق:
و یا از طریق روش Pathname نسبی:
برخی از میانبرهای مفید
نتیجه |
میانبر |
دایرکتوری جاری را به دایرکتوری home سیستم شما تغییر میدهد. | cd |
دایرکتوری جاری را به آخرین دایرکتوری جاری تغییر میدهد. | cd – |
دایرکتوری جاری را به دایرکتوری home کاربر username تغییر میدهد. به عنوان مثال cd ~bob دایرکتوری جاری را به دایرکتوری home کاربر bob تغییر میدهد. | cd ~username |
منبع: کتاب The Linux Command Line نوشته William E. Shotts
نوشته آموزش خط فرمان: قسمت دوم، ناوبری در ترمینال اولین بار در لینوکس سیزن پدیدار شد.