كيفية استخدام pushd و popd على Linux

لم يسمع الكثير من مستخدمي لينكس عن pushd و popdولكنها موجودة منذ زمن بعيد. كما يمكنها أيضًا تسريع عملية التنقل بين الدلائل على سطر الأوامر بشكل كبير. وسنوضح لك كيفية استخدامها.




ما هو pushd و popd؟

أحد الابتكارات بيل جوي تم دمجه في عام 1978 ج شل كان مفهوم مجموعة الدليل والوسائل المستخدمة للتعامل معها: pushd و popd. التقليد هو أصدق أشكال الإطراء، كومة الدليل، pushd، و popd تم دمجها قريبًا في قذائف أخرى (مثل Bash) وحتى أنظمة تشغيل أخرى.

مفهوم المكدس بسيط. يتم وضع العناصر في المكدس واحدًا تلو الآخر، مع احتلال العنصر المضاف حديثًا دائمًا للموضع العلوي. عند استرداد العناصر من المكدس، يتم إزالتها، بالترتيب، من الأعلى إلى الأسفل. غالبًا ما يشار إلى المكدسات من هذا النوع باسم آخر من دخل، أول من خرج طوابير (LIFO).

في الحقيقة، pushd و popd تعتبر أكثر مرونة من هذا بقليل، ولكن هذا نموذج جيد يجب وضعه في الاعتبار في الوقت الحالي.

نظرًا لأننا نشير إلى مجموعة من الأدلة، فربما لا يكون من المستغرب أن يكون الحرف “d” في pushd و popd تعني كلمة “directory” (الدليل). تتيح لك هذه الأوامر دفع الدلائل إلى مجموعة الدلائل أو إخراجها منها.


ولكن كيف نستفيد من ذلك؟

كيف يقوم pushd بملء المكدس

عندما تستخدم pushd، تحدث الأشياء الثلاثة التالية:

  • يمكنك تغيير الدليل بنفس الطريقة كما لو كنت قد استخدمته cd.
  • تمت إضافة اسم ومسار الدليل إلى المكدس.
  • يتم عرض المكدس كقائمة منفصلة بمسافات من الدلائل.

في الأمثلة التالية، لاحظ كيف ينمو كومة الدليل مع كل دليل جديد pushd لاحظ أيضًا أن الجزء العلوي من المكدس يقع على اليسار، وهذا هو المكان الذي تظهر فيه الإدخالات الجديدة.

بعد الأول pushd باستخدام الأمر، هناك إدخالان في المكدس: الدليل الذي تركته، والدليل الذي انتقلت إليه.

بالنسبة لمثالنا، نكتب ما يلي:

pushd ~/Desktop

pushd ~/Music

pushd ~/Documents

pushd ~/Pictures

pushd ~

pushd ~/Desktop في نافذة المحطة الطرفية


الاخير pushd أعادنا الأمر إلى دليلنا الرئيسي، لذا فإن الإدخالات الأولى والأخيرة في المكدس هي العلامة (~)، والذي يمثل دليلنا الرئيسي. يوضح هذا أنه على الرغم من وجود دليل بالفعل في المكدس، فسيتم إضافته مرة أخرى لملفات أخرى pushd الأوامر.

لاحظ أيضًا أن الإدخال الموجود في أقصى اليسار في المكدس، والذي يُعد الإدخال المُضاف مؤخرًا، هو الدليل الحالي.

الأمر dirs

يمكنك استخدام dirs الأمر، كما هو موضح أدناه، لعرض كومة الدليل:

dirs

التوجيهات في نافذة المحطة الطرفية

لا يؤثر ذلك على المكدس، بل يعرضه فقط. بعض الخيارات التي يمكنك استخدامها مع pushd يشير إلى موضع الدلائل في المكدس.


إذا كنت تريد رؤية الموضع الرقمي لكل دليل، يمكنك استخدام -v (الخيار (العمودي) كما هو موضح أدناه:

توجيهات -v

dirs -v في نافذة المحطة الطرفية

إذا كنت تفضل رؤية المسار الموضح إلى دليل منزلك بدلاً من العلامة (~), أضف -l خيار (التنسيق الطويل)، مثل هذا:

dirs -v -l

dirs -v -l في نافذة المحطة الطرفية

إضافة دليل إلى المكدس

كما رأينا، عندما تستخدم pushd باستخدام الأمر، فإنه يقوم بثلاثة أشياء: تغيير الدليل الخاص بك، وإضافة الدليل الجديد إلى المكدس، وعرض المكدس لك. يمكنك استخدام الأمر -n (بدون تدوير) خيار لإضافة دليل إلى المكدس دون تغيير الدليل الحالي.


وهنا مجموعة الدليل لدينا:

dirs -v -l

dirs -v -l في نافذة المحطة الطرفية

الآن سوف نستخدم pushd الأمر مع الخيار -n وPas في /home/dave الدليل كمعلمة. بعد ذلك، سنتحقق من مجموعة الدليل مرة أخرى.

نكتب ما يلي:

pushd -n /home/dave

dirs -v -l

pushd -n /home/dave في نافذة المحطة الطرفية

ال /home/dave تمت إضافة الدليل إلى المكدس في الفتحة 1، وهي المكان الثاني في المكدس. لا يمكنه احتلال الموضع العلوي لأن الفتحة صفر هي دائمًا الدليل الحالي.


لم نترك الدليل الحالي، ~/Videos، لذلك لم يتم تدويره إلى موضع آخر في المكدس.

تغيير الدليل عن طريق تدوير المكدس

يمكنك استخدام المعلمات الرقمية مع pushd للانتقال إلى أي دليل في المكدس، ويدور المكدس عند القيام بذلك. يصبح الدليل الذي اخترت نقله هو الإدخال الأول في المكدس.

يمكنك الرجوع إلى الدلائل الموجودة في المكدس من خلال رقم موقعها. يمكنك العد من أعلى أو أسفل المكدس. بالنسبة للأرقام الموجبة، مثل +3، قم بالعد من الأعلى؛ وبالنسبة للأرقام السالبة، مثل -2، قم بالعد من الأسفل.

يقع الدليل /home/dave/Documents في الموضع الثالث. يمكننا استخدام الأمر التالي لنقل هذا الدليل:

pushd +3

pushd +3 في نافذة المحطة الطرفية


يتم نقل الدلائل الموجودة في المكدس أعلى الدليل الذي اخترناه إلى أسفل المكدس. يشغل الدليل الذي اخترناه الآن الموضع العلوي ويتم نقلنا إلى هذا الدليل.

إذا أردنا الانتقال إلى الدليل الموجود في أسفل المكدس، فيمكننا استخدام الأمر التالي:

pushd -0

pushd -0 في نافذة المحطة الطرفية

يتم نقل الدليل الأخير إلى الفتحة الأولى، ويتم نقل جميع المجلدات الأخرى إلى أسفل في المكدس. يتم تغييرنا إلى ~/Pictures دليل.

الأمر popd

يمكنك استخدام popd أمر لإزالة الدلائل من المكدس.

إذا نظرنا إلى مجموعة الدليل، يمكننا أن نرى أن الدليل في الموضع 1 هو /home/dave. لإزالة هذا من المكدس، نكتب ما يلي لتمرير الرقم إلى popd:


dirs -v -l

popd +1

dirs -v -l في نافذة المحطة الطرفية

ال /home/dave تم إزالة الدليل، وتم نقل تلك التي كانت أسفله في المكدس إلى مكان واحد لأعلى.

كما يمكننا مع pushdيمكننا العد من أسفل المكدس باستخدام popd. لإزالة الدليل الأخير من المكدس، نكتب:

popd -0

popd -0 في نافذة المحطة الطرفية

ال ~/Music تمت إزالة الدليل من الموضع الأخير في المكدس.

لتغيير الدليل، أو القيام بشيء ما، ثم الرجوع إلى الدليل السابق، يمكنك استخدام pushd و popd معاً.


سوف نستخدم pushd للانتقال إلى دليل مختلف. سوف نستخدم popd للتخلص من الدليل الأعلى في المكدس والانتقال إلى الدليل في الموضع الثاني. هذا هو الدليل الذي انتقلت منه للتو، لذا ستعود إلى الدليل الذي كنت فيه في الأصل.

نكتب ما يلي:

pushd ~

popd

pushd ~ في نافذة المحطة الطرفية

لقد بدأنا في ~/Projects دليل، pushd إلى الدليل الرئيسي، ثم popd العودة الى ~/Projects دليل.

التدوير عبر المكدس بأكمله

سنوضح كيفية التدوير عبر كومة تحتوي على بعض الدلائل المتداخلة، ولكن يمكنك استخدام أي دلائل في أي مكان في نظام الملفات.

أعمق مستوى من التعشيش لدينا هو:

/home/dave/Projects/htg/articles


من الدليل الرئيسي، سننتقل تدريجيًا عبر كل دليل حتى نصل إلى دليل المقالات. بعد ذلك، سننظر إلى مجموعة الدليل.

نكتب ما يلي:

pushd ~/Projects

pushd htg

pushd articles

dirs -v -l

pushd ~/المشاريع في نافذة المحطة الطرفية

عندما تصدر بشكل متكرر pushd +1 باستخدام الأوامر، يمكنك التنقل ذهابًا وإيابًا عبر كومة الدلائل. إذا كنت تفعل هذا كثيرًا، pushd +1 سيكون مرشحًا جيدًا لاسم مستعار.

اكتب ما يلي:

pushd +1

pushd +1 في نافذة المحطة الطرفية


ختم فوق المكدس

من السهل العودة إلى العادات القديمة واستخدامها cd لتغيير الدليل. إذا قمت بذلك، فسوف تقوم بالختم فوق الدليل الأول في المكدس. وهذا أمر لا مفر منه، حيث يتم حجز الفتحة الأولى لدليل العمل الحالي – ولا يتغير موضع أي من المجلدات الأخرى.

للقيام بذلك، اكتب ما يلي:

dirs -v -l

cd ~/Music

dirs -v -l

dirs -v -l في نافذة المحطة الطرفية


بعد أن تعتاد على pushd و popd من خلال استخدام الأوامر البرمجية (وربما استخدامها لإنشاء بعض الأسماء المستعارة)، سيكون لديك طريقة سريعة للغاية للتنقل بين الدلائل.

هذا هو السبب الذي يجعلنا نتعامل مع سطر الأوامر. الكفاءة رائعة، أليس كذلك؟


أضف تعليق