دستور pwd در لینوکس: راهنمای نمایش مسیر دایرکتوری فعلی
اگر موقع کار کردن با ترمینال یک لحظه به خود آمده اید و می بینید که نمی دانید کجا هستید و در حال کار با کدام دایرکتوری هستید، می توانید از دستور pwd در لینوکس برای مسیریابی استفاده کنید.
دستور pwd در لینوکس مخفف print working directory است. این دستور برای نمایش مسیر دایرکتوری فعلی ترمینال استفاده می شود.
در صورت علاقمندی به انعطاف و قدرت لینوکس که با دستورات کاربردی لینوکس هم چندبرابر می شود، می توانید با خرید سرور مجازی لینوکس، یک زیرساخت قدرتمند برای پیاده سازی پروژه های رویایی خود ایجاد کنید.
دستور pwd در لینوکس
دستور pwd برای نمایش کامل مسیر از ریشه ( / ) تا دایرکتوری فعلی که ترمینال با آن سروکار دارد، استفاده می شود.
این دستور در تمام توزیع های لینوکس موجود است و یکی از ابزارهای داخلی محسوب می شود. به همین خاطر دیگر نیاز به نصب و راه اندازی آن نیست.
سینتکس و آپشن های دستور pwd
سینتکس اصلی این دستور به صورت زیر است:
pwd -[options]
این دستور بدون آپشن هم می تواند مسیر را نشان دهد ولی با استفاده از آپشن ها هم می توانید رفتار آن را به شکل دیگر تغییر دهید.
آپشن های اصلی دستور pwd
آپشن | کاربرد |
L | نمایش مسیر نمادین دایرکتوری (با symlink) |
P | نمایش مسیر واقعی دایرکتوری (بدون symlink) |
help | نمایش اطلاعات کمکی |
version | نمایش نسخه pwd |
برای آشنایی با نحوه استفاده و کاربرد دستور pwd در لینوکس، بهتر است با مثال های عملی جلو برویم.
مثال های کاربردی برای دستور pwd
اگر دستور pwd را در ساده ترین حالت ممکن و بدون هیچ آپشنی اجرا کنید، خروجی به صورت زیر خواهد بود:
pwd
ولی وقت بحث symlink می شود، آپشن های L و P وارد عمل می شوند.
Symlink مخفف Symbolic Link است و برای ایجاد یک لینک نمادین برای مسیر موردنظر استفاده می شود.
به عنوان مثال اگر به طور مدام با دایرکتوری /var/log/ سروکار دارید و از نوشتن مسیر آن در دستور cd خسته شده اید، می توانید با دستور زیر یک لینک تحت عنوان log_link برای آن ایجاد کنید:
ln -s /var/log log_link
از این به بعد هر موقع خواستید با دستور cd به این مسیر وارد شوید، کافیست دستور زیر را اجرا کنید:
cd log_link
اینجاست که آپشن های L و P دستور pwd وارد عمل می شوند.
اگر برای مسیر موردنظر خود مسیر نمادین ایجاد نکرده اید، کارتان راحت است چون خروجی دستور pwd بدون آپشن و با آپشن (L و P ) یکی است. ولی در غیر این صورت خروجی ها تفاوت خواهند داشت.
نمایش مسیر دایرکتوری با آپشن L
این آپشن برای نمایش مسیر Symlink مربوط به دایرکتوری فعلی استفاده می شود:
pwd -L
خروجی این دستور به صورت زیر خواهد بود:
/home/user/log_link
در صورت وجود symlink برای مسیر فعلی، خروجی دستور ساده pwd با دستور pwd آپشن L یکی است. هر دو دستور، مسیر symlink را نشان می دهند.
نمایش مسیر فعلی ترمینال با آپشن P
این آپشن کاری با لینک نمادین ندارد و مسیر فیزیکی و واقعی دایرکتوری فعلی را نشان می دهد.
pwd -P
#Output
/var/log
تغییر شکل خروجی دستور pwd
اگر می خواهید خروجی این دستور را تغییر دهید و با استفاده از دستور echo پیام های دیگری را به خروجی اضافه کنید، می توانید مراحل زیر را طی کنید:
با ویرایشگر vi، یک اسکریپت جدید ایجاد کنید:
vi directory.sh
متن زیر را به آن اضافه کنید:
#!/bin/bash
p=$(pwd)
echo "You are currently in: $p"
با وارد کردن دستور زیر wq: این فایل را ذخیره کرده و آن را ببندید.
مجوز فایل را تغییر دهید تا این اسکریپت قابل اجرا باشد:
chmod +x directory.sh
با استفاده از دستور زیر، اسکریپت را اجرا کنید:
./directory.sh
در این صورت، متن :You are currently in به ابتدای مسیر اضافه می شود.
یا اگر می خواهید یک اسکریپت pwd ایجاد کنید که حالت تعاملی تر داشته باشد، اسکریپت زیر هم نمونه خوبی است:
#!/bin/bash
echo "I need to see:"
echo "1 - My current physical directory path."
echo "2 - My current directory path, including symlinks."
echo "3 - My previous directory"
read directory
case $directory in
1) echo "Your current physical location is: $(pwd -P)";;
2) echo "Your current directory, including symlinks, is: $(pwd -L)";;
3) echo "You were previously in: $OLDPWD";;
esac
بعد از اینکه این فایل را هم مثل نمونه قبل ذخیره کردید و مجوز اجرا را هم برای آن لحاظ کردید، می توانید آن را اجرا کنید:
خروجی این اسکریپت به صورت زیر خواهد بود:
با وارد کردن عدد ۱ می توانید خروجی دستور pwd -P که همان مسیر فیزیکی است را ببینید.
با وارد کردن عدد ۲ می توانید خروجی دستور pwd -L که حاوی symlink است را ببینید.
با وارد کردن عدد ۳ هم می توانید خروجی مربوط به OLDPWD$ که نشاندهنده مسیر دایرکتوری قبلی است را ببینید.
ایجاد یک alias برای دستور pwd در لینوکس
اگر از تکرار مداوم دستور pwd خسته می شوید و دوست دارید یک جایگزین کوتاه تر برای آن ایجاد کنید، می توانید از alias ها استفاده کنید.
کافیست alias های موردنظر خود را به صورت زیر به فایل bashrc اضافه کنید:
alias pw='pwd -P'; echo "alias pw='pwd -P'" >> ~/.bashrc
بعد از اجرای این دستور، دیگر نیازی نیست برای مشاهده مسیر فیزیکی دایرکتوری فعلی، دستور pwd -P را اجرا کنید. دستور pw جایگزین این دستور شده است و خروجی مربوط به آن را نمایش می دهد.
بررسی ورژن pwd
اگر می خواهید از نسخه pwd سیستم خود مطلع شوید، می توانید از دستور زیر استفاده کنید:
pwd --version
نمایش فایل کمکی pwd
برای آشنایی بیشتر با آپشن ها و سایر امکانات دستور pwd می توانید از دستور زیر استفاده کنید:
pwd --help
سخن آخر
دستور pwd در لینوکس برای مشاهده مسیر دایرکتوری فعلی ترمینال استفاده می شود. این دستور دارای آپشن های دیگری مثل L و P است که خروجی آنها مطابق با symlink های اعمال شده، تغییر می کند.