پرش به محتویات

درسنامه ۱: دستورات pwd و cd

دایرکتوری چیست؟

دایرکتوری (Directory) در سیستم‌عامل‌های شبه یونیکس همان پوشه‌ای است که مجموعه‌ای از فایل‌ها و دایرکتوری‌های دیگر را در خود نگه می‌دارد. دایرکتوری‌ها فضای فیزیکی جدیدی ایجاد نمی‌کنند، بلکه ساختاری منطقی برای سازمان‌دهی و جست‌وجوی فایل‌ها هستند. به کمک این ساختار می‌توانیم مسیر هر فایل را به صورت دقیق مشخص کنیم.

برای درک بهتر می‌توانید ساختار یک دایرکتوری را با دستور tree مشاهده کنید:

$ tree ~/projects/demo
/home/user/projects/demo
├── README.md
├── src
   └── main.py
└── docs
    └── guide.md

دایرکتوری فعلی (Current Directory)

هر جلسه‌ای که در ترمینال باز می‌کنیم، درون یک دایرکتوری مشخص شروع می‌شود که به آن «دایرکتوری فعلی» یا «پوشهٔ کاری کنونی» می‌گوییم. به طور پیش‌فرض، ترمینال‌های لینوکسی در دایرکتوری خانگی کاربر (/home/<USERNAME>) اجرا می‌شوند.

دستور pwd

دستور pwd مخفف Print Working Directory است و مسیر کامل دایرکتوری فعلی شما را نمایش می‌دهد. این دستور هیچ ورودی دیگری نیاز ندارد و خروجی آن همواره یک مسیر مطلق (Absolute Path) است.

$ pwd
/home/<USERNAME>

دستور cd

دستور cd مخفف Change Directory است و برای جابه‌جایی بین دایرکتوری‌ها استفاده می‌شود. مسیر مقصد را می‌توان به دو شکل مشخص کرد:

مسیر مطلق (Absolute Path)

در مسیر مطلق، مسیر کامل از ریشهٔ سیستم فایل (/) تا مقصد را می‌نویسیم. این روش مستقل از دایرکتوری فعلی است.

$ cd /home/<USERNAME>/Desktop
$ pwd
/home/<USERNAME>/Desktop

مسیر نسبی (Relative Path)

در مسیر نسبی، مقصد را نسبت به دایرکتوری فعلی مشخص می‌کنیم. چند نکته کلیدی:

  • . به معنای دایرکتوری فعلی است.
  • .. به معنای دایرکتوری والد (یک پله بالاتر) است.
  • مسیرها می‌توانند چندین بار از .. استفاده کنند، مانند ../../logs.

اگر ترمینال در دایرکتوری /home/<USERNAME> قرار دارد، دستورات زیر همگی شما را به دسکتاپ می‌رسانند:

$ cd Desktop
$ pwd
/home/<USERNAME>/Desktop

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

$ cd ../Downloads
$ pwd
/home/<USERNAME>/Downloads

میانبر ~

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

$ cd /home/<USERNAME>/Desktop
$ cd ~/Desktop
$ cd "$HOME/Desktop"

توصیهٔ تکمیلی

  • برای تأیید تغییر مسیر پس از هر cd، بلافاصله pwd اجرا کنید.
  • دستور cd - شما را به دایرکتوری قبلی بازمی‌گرداند.
  • اگر مسیر شامل فاصله باشد، آن را درون کوتیشن قرار دهید یا از کاراکتر \ برای فرار دادن فاصله استفاده کنید، مانند cd "My Projects".

با تسلط بر pwd و cd، پیمایش در ساختار فایل‌ها و مدیریت پروژه‌ها در ترمینال بسیار ساده‌تر خواهد شد.