Pwd Command

1) ما هو أمر pwd ولماذا نستخدمه؟

أمر pwd اختصار لـ Print Working Directory
ومعناه: اطبع/اعرض مسار المجلد الحالي الذي تعمل بداخله الآن.

يعني إذا أنت “تائه” داخل النظام أو تريد تتأكد أنت في أي مجلد قبل تنفيذ أمر (مثل حذف/نسخ/إنشاء ملفات)، تستخدم pwd لتعرف مكانك بالضبط.

2) الصيغة العامة (Syntax)
pwd
Bash
  • الأمر لا يحتاج خيارات عادة.
  • يطبع المسار الكامل للمجلد الحالي.

مثال:

pwd
Bash

مخرجات متوقعة:

/home/labex/project
Bash

هذا يعني أن موقعك الحالي هو: /home/labex/project

3) فهم “المجلد الحالي” (Working Directory) ببساطة

المجلد الحالي هو المجلد الذي تنفّذ داخله الأوامر.

مثلاً:

  • إذا نفذت touch test.txt سيتم إنشاء الملف داخل المجلد الحالي
  • إذا نفذت ls سيعرض محتويات المجلد الحالي

ولذلك pwd يساعدك تتأكد قبل أي خطوة.

4) استخدام pwd في مجلدات مختلفة (مع التنقل)
أ) داخل مجلد مشروع
cd ~/project
pwd
Bash

مخرجات:

/home/labex/project
Bash
ب) إنشاء مجلد فرعي والدخول له
mkdir -p ~/project/subdirectory
cd ~/project/subdirectory
pwd
Bash

مخرجات:

/home/labex/project/subdirectory
Bash
ج) الرجوع للمجلد الأب
cd ..
pwd
Bash

مخرجات:

/home/labex/project
Bash
د) الذهاب للجذر /
cd /
pwd
Bash

مخرجات:

/
Bash

دائمًا pwd يعطيك المسار الكامل “من أول الجذر إلى موقعك”.

5) الفرق بين المسار المطلق والمسار النسبي وعلاقته بـ pwd
  • مسار مطلق (Absolute Path): يبدأ بـ / مثل:
/home/labex/project
Bash
  • مسار نسبي (Relative Path): يعتمد على مكانك الحالي، مثل:
cd subdirectory
Bash

وهنا تأتي أهمية pwd:

  • pwd يخبرك أين أنت الآن
  • فتفهم المسارات النسبية صح وتقلّل الأخطاء
6) دمج pwd مع أوامر ثانية (مهم جدًا)
أ) إنشاء ملف في “مكاني الحالي” باستخدام المسار الكامل
touch $(pwd)/new_file.txt
Bash

الفكرة:

  • $(pwd) ترجع المسار الحالي
  • فيصير الأمر مثل: touch /home/labex/project/new_file.txt

هذا مفيد جدًا في السكربتات (scripts) أو لما تحب تستخدم مسار كامل لتجنب اللبس.

ب) استخدام pwd مع ls لعرض محتويات نفس المجلد لكن بشكل صريح
ls -l $(pwd)
Bash

نفس نتيجة ls -l عادة، لكن مفيد للتوضيح أو في سكربت.

ج) حفظ المسار الحالي داخل متغير (للشغل الاحترافي)
current_dir=$(pwd)
echo $current_dir
Bash

ثم تقدر تستخدمه:

touch "$current_dir/file_created_here.txt"
Bash
د) الرجوع لنفس المكان بعد التنقل

مثال عملي: تدخل مكان مؤقت تعمل شيء ثم ترجع لمكانك الأصلي:

original=$(pwd)
cd /etc
pwd
cd "$original"
pwd
Bash
7) نقطة مهمة: pwd و “الروابط الرمزية” (Symlinks) بطريقة مبسطة

أحيانًا تكون داخل مسار “مرتبط” (رابط رمزي)، فتلاحظ فرق:

  • pwd قد يعرض المسار كما دخلته (logical).
  • pwd -P يعرض المسار الحقيقي الفعلي على القرص (physical).

مثال (قد يختلف حسب النظام):

pwd
pwd -P
Bash

للمبتدئ: استخدم pwd عادي، واعتبر -P خيار متقدم عند الحاجة.

8) تدريب سريع للمبتدئين (Practice)

نفّذ بالتسلسل:

cd ~
pwd

mkdir -p ~/project/pwd_practice
cd ~/project/pwd_practice
pwd

cd /
pwd

cd -
pwd
Bash

ماذا تتعلم هنا؟

  • تعرف موقعك في كل مرة
  • تفهم cd - يرجعك للمجلد السابق
  • تلاحظ كيف المسار يتغير مع التنقل
هل الشرح اللي عندك كافي؟

نعم كشرح مختصر ممتاز.
لكن التوسعة اللي فوق تضيف أهم الأشياء اللي يحتاجها المبتدئ فعلًا:

  • لماذا pwd مهم قبل تنفيذ أوامر خطيرة
  • كيف يستخدم في السكربتات عبر $(pwd)
  • كيف تحفظ المسار وتعود له
  • الفرق (الاختياري) بين pwd و pwd -P