1) ما هو أمر pwd ولماذا نستخدمه؟
أمر pwd اختصار لـ Print Working Directory
ومعناه: اطبع/اعرض مسار المجلد الحالي الذي تعمل بداخله الآن.
يعني إذا أنت “تائه” داخل النظام أو تريد تتأكد أنت في أي مجلد قبل تنفيذ أمر (مثل حذف/نسخ/إنشاء ملفات)، تستخدم pwd لتعرف مكانك بالضبط.
2) الصيغة العامة (Syntax)
pwdBash- الأمر لا يحتاج خيارات عادة.
- يطبع المسار الكامل للمجلد الحالي.
مثال:
pwdBashمخرجات متوقعة:
/home/labex/projectBashهذا يعني أن موقعك الحالي هو:
/home/labex/project
3) فهم “المجلد الحالي” (Working Directory) ببساطة
المجلد الحالي هو المجلد الذي تنفّذ داخله الأوامر.
مثلاً:
- إذا نفذت
touch test.txtسيتم إنشاء الملف داخل المجلد الحالي - إذا نفذت
lsسيعرض محتويات المجلد الحالي
ولذلك pwd يساعدك تتأكد قبل أي خطوة.
4) استخدام pwd في مجلدات مختلفة (مع التنقل)
أ) داخل مجلد مشروع
cd ~/project
pwdBashمخرجات:
/home/labex/projectBashب) إنشاء مجلد فرعي والدخول له
mkdir -p ~/project/subdirectory
cd ~/project/subdirectory
pwdBashمخرجات:
/home/labex/project/subdirectoryBashج) الرجوع للمجلد الأب
cd ..
pwdBashمخرجات:
/home/labex/projectBashد) الذهاب للجذر /
cd /
pwdBashمخرجات:
/Bashدائمًا
pwdيعطيك المسار الكامل “من أول الجذر إلى موقعك”.
5) الفرق بين المسار المطلق والمسار النسبي وعلاقته بـ pwd
- مسار مطلق (Absolute Path): يبدأ بـ
/مثل:
/home/labex/projectBash- مسار نسبي (Relative Path): يعتمد على مكانك الحالي، مثل:
cd subdirectoryBashوهنا تأتي أهمية pwd:
pwdيخبرك أين أنت الآن- فتفهم المسارات النسبية صح وتقلّل الأخطاء
6) دمج pwd مع أوامر ثانية (مهم جدًا)
أ) إنشاء ملف في “مكاني الحالي” باستخدام المسار الكامل
touch $(pwd)/new_file.txtBashالفكرة:
$(pwd)ترجع المسار الحالي- فيصير الأمر مثل:
touch /home/labex/project/new_file.txt
هذا مفيد جدًا في السكربتات (scripts) أو لما تحب تستخدم مسار كامل لتجنب اللبس.
ب) استخدام pwd مع ls لعرض محتويات نفس المجلد لكن بشكل صريح
ls -l $(pwd)Bashنفس نتيجة
ls -lعادة، لكن مفيد للتوضيح أو في سكربت.
ج) حفظ المسار الحالي داخل متغير (للشغل الاحترافي)
current_dir=$(pwd)
echo $current_dirBashثم تقدر تستخدمه:
touch "$current_dir/file_created_here.txt"Bashد) الرجوع لنفس المكان بعد التنقل
مثال عملي: تدخل مكان مؤقت تعمل شيء ثم ترجع لمكانك الأصلي:
original=$(pwd)
cd /etc
pwd
cd "$original"
pwdBash7) نقطة مهمة: pwd و “الروابط الرمزية” (Symlinks) بطريقة مبسطة
أحيانًا تكون داخل مسار “مرتبط” (رابط رمزي)، فتلاحظ فرق:
pwdقد يعرض المسار كما دخلته (logical).pwd -Pيعرض المسار الحقيقي الفعلي على القرص (physical).
مثال (قد يختلف حسب النظام):
pwd
pwd -PBashللمبتدئ: استخدم
pwdعادي، واعتبر-Pخيار متقدم عند الحاجة.
8) تدريب سريع للمبتدئين (Practice)
نفّذ بالتسلسل:
cd ~
pwd
mkdir -p ~/project/pwd_practice
cd ~/project/pwd_practice
pwd
cd /
pwd
cd -
pwdBashماذا تتعلم هنا؟
- تعرف موقعك في كل مرة
- تفهم
cd -يرجعك للمجلد السابق - تلاحظ كيف المسار يتغير مع التنقل
هل الشرح اللي عندك كافي؟
نعم كشرح مختصر ممتاز.
لكن التوسعة اللي فوق تضيف أهم الأشياء اللي يحتاجها المبتدئ فعلًا:
- لماذا
pwdمهم قبل تنفيذ أوامر خطيرة - كيف يستخدم في السكربتات عبر
$(pwd) - كيف تحفظ المسار وتعود له
- الفرق (الاختياري) بين
pwdوpwd -P