بخش ۱۰ – نمایش مسیر فعلی با دستور pwd در لینوکس

""

۱. مقدمه: چرا دانستن «من کجا هستم؟» مهم است

وقتی در محیط خط فرمان لینوکس کار می‌کنی، شبیه این است که در یک شهر بزرگ بی‌نهایت طبقه‌دار راه می‌روی.
هر «طبقه» یا «آدرس» در این شهر، یک دایرکتوری (پوشه) است و تو می‌توانی از یکی به دیگری بروی.

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

به همین دلیل، قبل از انجام کارهای حساس، باید از خودت بپرسی:

«الان دقیقاً کجا هستم؟»

این همان کاری است که دستور pwd انجام می‌دهد.


۲. pwd یعنی چه؟

pwd مخفف Print Working Directory است:

  • Print = چاپ (نمایش روی صفحه)
  • Working Directory = دایرکتوری جاری (مسیر فعلی)

پس وظیفه‌اش این است که مسیر کامل مکانی که الان در آن هستی را در خروجی چاپ کند.


۳. نحو کلی استفاده

ساده‌ترین حالت:

pwd

و خروجی:

/home/ali/Documents

این یعنی الان دایرکتوری کاری شما /home/ali/Documents است.


۴. ارتباط pwd با مسیر مطلق و نسبی

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

مثال:

cd /home/ali
cd Documents
pwd

خروجی:

/home/ali/Documents

حتی اگر Documents رو نسبی نوشته بودی، pwd مسیر کامل رو نشون میده.


۵. گزینه‌ها (Options) در pwd

دستور pwd خیلی ساده است، ولی دو گزینه مهم دارد:

۵.۱. -L (logical)

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

pwd -L

(این معمولاً رفتار پیش‌فرض pwd است.)


۵.۲. -P (physical)

این گزینه لینک‌های سمبولیک را دنبال کرده و مسیر واقعی را نشان می‌دهد.

فرض کن /shortcut یک لینک به /home/ali/Documents باشد:

cd /shortcut
pwd -L   # نشان می‌دهد: /shortcut
pwd -P   # نشان می‌دهد: /home/ali/Documents

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


۶. مثال واقعی از اهمیت pwd

تصور کن مدیر سیستم هستی و می‌خواهی یک پوشه موقتی را حذف کنی:

rm -rf test

خیالت راحت است که الان در /tmp هستی… ولی اشتباهی در / مانده‌ای.
با یک pwd ساده می‌توانستی ببینی:

/

و بفهمی داری جای اشتباهی این دستور خطرناک را می‌زنی.


۷. ترکیب pwd با دیگر ابزارها

pwd فقط برای نمایش نیست، می‌توانی خروجی‌اش را در دستورات دیگر استفاده کنی.

۷.۱. ذخیره مسیر در متغیر

MYDIR=$(pwd)
echo "I am in $MYDIR"

۷.۲. استفاده در کپی یا بکاپ

cp /etc/hosts $(pwd)

این فایل را در مسیر فعلی کپی می‌کند.


۸. pwd در اسکریپت‌ها

در اسکریپت‌نویسی Bash، دو چیز مهم است:

  • دایرکتوری کاری جاری → با pwd می‌گیری.
  • مسیر خود اسکریپت → با ترفند زیر می‌گیری:
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"

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


۹. نکات حرفه‌ای و ایمنی با pwd

  1. قبل از اجرای هر دستور حذف (rm -r) → pwd بزن.
  2. وقتی در مسیرهای پیچیده مثل /mnt/server1/data/shared/projects هستی، با pwd مطمئن شو هنوز در محل درست کار می‌کنی.
  3. در مسیرهای لینک سمبولیک، از pwd -P برای رسیدن به مسیر واقعی استفاده کن.

۱۰. تمرین‌های عملی

تمرین ۱ – گرفتن مسیر فعلی

  1. چند بار با cd بین پوشه‌ها برو.
  2. در هر مرحله pwd بزن و مسیر رو ببین.

تمرین ۲ – کار با لینک‌های سمبولیک

  1. بساز:
ln -s /etc /tmp/etc_link
  1. برو:
cd /tmp/etc_link
  1. بزن:
pwd -L
pwd -P

تا تفاوت رو ببینی.


تمرین ۳ – ذخیره مسیر در متغیر

CURRENT_PATH=$(pwd)
echo "We are in $CURRENT_PATH"

۱۱. جمع‌بندی

  • pwd مخفف Print Working Directory است.
  • همیشه مسیر مطلق محل فعلی شما را چاپ می‌کند.
  • دو گزینه مهم دارد:
  • -L مسیر منطقی (با لینک‌ها)
  • -P مسیر واقعی (بدون لینک)
  • در کار روزمره و مخصوصاً در اسکریپت‌ها کاربرد زیادی دارد.
  • یاد بگیر قبل از کارهای خطرناک همیشه یک pwd بزنی.
محمد وب‌سایت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *