user@linux-tutorials: ~/tutorials/03-navigation — linux-tutorials

tutorials / linux / chapter-03.md · utf-8 ⬇ download chapter-03.md

فصل سوم: پیمایش در ترمینال لینوکس

Linux Navigation

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

یک کاربر لینوکس باید بتواند به راحتی میان پوشه‌ها حرکت کند، مسیر فعلی خود را تشخیص دهد، فایل‌ها و دایرکتوری‌های مختلف را پیدا کند و محیط کاری خود را مدیریت کند.

در محیط گرافیکی، کاربران معمولاً با باز کردن پنجره‌ها و کلیک کردن میان پوشه‌ها جابه‌جا می‌شوند.

اما در ترمینال، تمام این عملیات با استفاده از دستورها انجام می‌شود.

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

مفهوم Current Directory

در هر لحظه، ترمینال در یک مسیر مشخص قرار دارد.

به این مسیر:

Current Directory

یا:

Working Directory

گفته می‌شود.

به زبان ساده، Current Directory همان پوشه‌ای است که در حال حاضر در آن قرار دارید.

برای مثال، اگر ترمینال در مسیر زیر باشد:

user@linux-tutorials: ~/ch-03BASH
/home/username/projects

هر دستوری که اجرا می‌کنید، به صورت پیش‌فرض نسبت به همین مسیر انجام می‌شود.

دستور pwd

برای مشاهده مسیر فعلی از دستور:

user@linux-tutorials: ~/ch-03BASH
pwd

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

pwd مخفف:

Print Working Directory

است.

این دستور مسیر کامل پوشه‌ای که در آن قرار دارید را نمایش می‌دهد.

مثال:

user@linux-tutorials: ~/ch-03BASH
pwd

خروجی:

user@linux-tutorials: ~/ch-03BASH
/home/username

یعنی کاربر در پوشه home خود قرار دارد.

دستور cd

مهم‌ترین دستور برای حرکت در فایل سیستم لینوکس:

user@linux-tutorials: ~/ch-03BASH
cd

است.

cd مخفف:

Change Directory

است.

این دستور برای تغییر مسیر فعلی استفاده می‌شود.

رفتن به یک پوشه مشخص

برای ورود به یک پوشه، مسیر آن را بعد از cd قرار می‌دهیم.

مثال:

user@linux-tutorials: ~/ch-03BASH
cd Documents

اگر پوشه Documents در مسیر فعلی وجود داشته باشد، وارد آن می‌شویم.

رفتن به مسیر کامل

می‌توانیم از مسیر Absolute نیز استفاده کنیم.

مثال:

user@linux-tutorials: ~/ch-03BASH
cd /home/username/Documents

در این حالت بدون توجه به مسیر فعلی، مستقیماً وارد مسیر مشخص شده می‌شویم.

بازگشت به پوشه قبلی

برای بازگشت به پوشه والد از علامت:

user@linux-tutorials: ~/ch-03BASH
..

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

مثال:

اگر در مسیر زیر باشیم:

user@linux-tutorials: ~/ch-03BASH
/home/username/Documents

و دستور زیر را اجرا کنیم:

user@linux-tutorials: ~/ch-03BASH
cd ..

به مسیر زیر منتقل می‌شویم:

user@linux-tutorials: ~/ch-03BASH
/home/username

بازگشت به Home Directory

یکی از کاربردی‌ترین حالت‌های cd، بازگشت سریع به Home کاربر است.

برای این کار می‌توان نوشت:

user@linux-tutorials: ~/ch-03BASH
cd ~

علامت:

user@linux-tutorials: ~/ch-03BASH
~

نمایانگر Home Directory کاربر فعلی است.

برای مثال:

user@linux-tutorials: ~/ch-03BASH
cd ~

کاربر را به مسیر:

user@linux-tutorials: ~/ch-03BASH
/home/username

منتقل می‌کند.

اجرای cd بدون مسیر

اگر فقط دستور:

user@linux-tutorials: ~/ch-03BASH
cd

را وارد کنیم، بدون هیچ مسیر اضافی، به Home Directory منتقل می‌شویم.

مثال:

user@linux-tutorials: ~/ch-03BASH
cd

نتیجه:

user@linux-tutorials: ~/ch-03BASH
/home/username

تفاوت مسیر Absolute و Relative در پیمایش

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

Absolute Path

مسیر از Root شروع می‌شود.

مثال:

user@linux-tutorials: ~/ch-03BASH
cd /usr/bin

این مسیر همیشه به همان مکان مشخص اشاره می‌کند.

Relative Path

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

مثال:

اگر در مسیر:

user@linux-tutorials: ~/ch-03BASH
/home/username

باشیم:

user@linux-tutorials: ~/ch-03BASH
cd Projects

ما را به مسیر:

user@linux-tutorials: ~/ch-03BASH
/home/username/Projects

می‌برد.

مشاهده محتویات مسیر

قبل از ورود به یک پوشه، معمولاً می‌خواهیم بدانیم چه فایل‌ها و پوشه‌هایی داخل آن وجود دارد.

برای این کار از دستور:

user@linux-tutorials: ~/ch-03BASH
ls

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

مثال:

user@linux-tutorials: ~/ch-03BASH
ls

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

user@linux-tutorials: ~/ch-03BASH
Documents

Downloads

Pictures

Projects

ترکیب دستورات ls و cd

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

روند معمول:

ابتدا مشاهده محتویات:

user@linux-tutorials: ~/ch-03BASH
ls

سپس ورود به پوشه مورد نظر:

user@linux-tutorials: ~/ch-03BASH
cd Projects

و دوباره بررسی محتویات:

user@linux-tutorials: ~/ch-03BASH
ls

این چرخه پایه اصلی کار با فایل سیستم در ترمینال است.

مشاهده مسیر هنگام کار

در بسیاری از ترمینال‌ها، مسیر فعلی در Prompt نمایش داده می‌شود.

مثال:

user@linux-tutorials: ~/ch-03BASH
username@computer:~/Projects$

در این مثال:

user@linux-tutorials: ~/ch-03BASH
username

نام کاربر است.

user@linux-tutorials: ~/ch-03BASH
computer

نام سیستم است.

user@linux-tutorials: ~/ch-03BASH
~/Projects

مسیر فعلی است.

user@linux-tutorials: ~/ch-03BASH
$

نشان‌دهنده اجرای Shell توسط یک کاربر معمولی است.

تفاوت / و ~

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

user@linux-tutorials: ~/ch-03BASH
/

و:

user@linux-tutorials: ~/ch-03BASH
~

هستند.

user@linux-tutorials: ~/ch-03BASH
## /

به Root Directory اشاره می‌کند.

مثال:

user@linux-tutorials: ~/ch-03BASH
cd /

کاربر را به بالاترین سطح فایل سیستم منتقل می‌کند.

user@linux-tutorials: ~/ch-03BASH
## ~

به Home Directory کاربر اشاره می‌کند.

مثال:

user@linux-tutorials: ~/ch-03BASH
cd ~

کاربر را به پوشه شخصی خود منتقل می‌کند.

پیمایش چند مرحله‌ای

می‌توان در یک دستور چندین پوشه را طی کرد.

مثال:

user@linux-tutorials: ~/ch-03BASH
cd Documents/Projects/Python

این دستور ابتدا وارد Documents می‌شود، سپس Projects و در نهایت Python.

خطاهای رایج هنگام پیمایش

کاربران تازه‌کار معمولاً با چند خطای رایج مواجه می‌شوند.

وارد کردن نام اشتباه پوشه

مثال:

user@linux-tutorials: ~/ch-03BASH
cd Document

در حالی که نام واقعی:

user@linux-tutorials: ~/ch-03BASH
Documents

است.

لینوکس به حروف بزرگ و کوچک حساس است.

یعنی:

user@linux-tutorials: ~/ch-03BASH
Documents

با:

user@linux-tutorials: ~/ch-03BASH
documents

متفاوت است.

رفتن به مسیر غیر موجود

اگر مسیری وجود نداشته باشد:

user@linux-tutorials: ~/ch-03BASH
cd example

با خطا مواجه می‌شود.

در این حالت باید ابتدا مسیر را بررسی کنید.

اهمیت یادگیری Navigation

پیمایش در ترمینال فقط یادگیری چند دستور ساده نیست.

این مهارت پایه بسیاری از فعالیت‌های حرفه‌ای لینوکس است.

مدیران سیستم، برنامه‌نویسان، متخصصان امنیت و مهندسان DevOps دائماً با مسیرها و فایل‌ها کار می‌کنند.

بدون تسلط بر Navigation، مدیریت سیستم بسیار دشوار خواهد بود.

تمرین‌های فصل سوم

[01]مسیر فعلی خود را مشاهده کنید.

دستور:

user@linux-tutorials: ~/ch-03BASH
pwd

[02]به Home Directory بازگردید.

دستور:

user@linux-tutorials: ~/ch-03BASH
cd ~

[03]محتویات Home Directory را مشاهده کنید.

دستور:

user@linux-tutorials: ~/ch-03BASH
ls

[04]وارد پوشه /etc شوید.

دستور:

user@linux-tutorials: ~/ch-03BASH
cd /etc

[05]به Home Directory بازگردید.

دستور:

user@linux-tutorials: ~/ch-03BASH
cd

جمع‌بندی

در این فصل یاد گرفتیم:

  • مفهوم Current Directory چیست.
  • چگونه مسیر فعلی را مشاهده کنیم.
  • چگونه میان پوشه‌ها حرکت کنیم.
  • تفاوت Absolute Path و Relative Path چیست.
  • چگونه از علامت‌های / ، ~ و .. استفاده کنیم.
  • چگونه با ترکیب pwd، ls و cd فایل سیستم را مدیریت کنیم.

تسلط بر پیمایش در ترمینال، پایه‌ای برای تمام مهارت‌های بعدی لینوکس است.

[→]در فصل بعد، یاد می‌گیریم چگونه فایل‌ها و پوشه‌ها را ایجاد، حذف، انتقال و مدیریت کنیم.