كيفية استخدام الأمر cd على Linux

بعض أوامر لينكس مألوفة للغاية، حتى أننا لا نلاحظ أننا نستخدمها. cd يعد الأمر الخاص بتغيير الدلائل أحد هذه الأوامر. هناك بعض الحيل التي يمكن أن تساعدك على أن تصبح أكثر كفاءة في cd—أو يمكنك التخلص منه تماما.




CD هو أمر نادرًا ما تفكر فيه

أنت ترمش طوال اليوم، كل يوم، ولكنك في أغلب الوقت لا تدرك ذلك. ما لم يدخل شيء في عينك، نادرًا ما تفكر في تلك الحركة الصغيرة المنتظمة. بعض أوامر لينكس تشبه ذلك. فهي تحوم على محيط وعيك. ورغم أنك تستخدمها يوميًا، إلا أنها لا تلفت انتباهك لأنها صغيرة وبسيطة للغاية.

خلال الساعة الأولى من استخدام جهاز كمبيوتر يعمل بنظام Linux، ستتعلم كيفية استخدام cd أمر متضمن مع Bash وأغلفة أخرى. ربما كانت لديك خبرة سابقة في استخدامه على نظام تشغيل آخر ولم تكن بحاجة إلى شرح. إنه يغير دليل العمل الحالي، أليس كذلك؟ ما الذي يجب معرفته أيضًا؟

حسنًا، أكثر مما تظن. إليك بعض التلميحات والنصائح التي قد تساعد في تحسين كفاءتك.

عمليات القرص المضغوط القياسية

من أجل أن نكون كاملين، دعونا نلقي نظرة سريعة على الاستخدامات القياسية لـ cd.


إذا كنا في الدليل الرئيسي، ولكننا نريد التغيير إلى الدليل الموجود في “/usr/lib/firefox/browser” بدلاً من ذلك، ثم العودة إلى الدليل الرئيسي، فيمكننا استخدام الأوامر التالية:

cd /usr/lib/firefox/browser/

cd /home/dave

cd /usr/lib/firefox/browser/ في نافذة المحطة الطرفية

لا يلزمك كتابة مسار الدليل بالكامل؛ يمكنك استخدام الإكمال التلقائي. لكل جزء من المسار، بعد كتابة عدد كافٍ من الأحرف لتمييز اسم الدليل عن غيره، اضغط على Tab لإكمال اسم الدليل تلقائيًا.

على سبيل المثال، اكتب ما يلي على سطر الأوامر:

cd /usr/lib/fire

الآن، اضغط على Tab وسيقوم shell بملء بقية مجلد “firefox” نيابةً عنك. إذا أضفت “/b” إلى المسار ثم ضغطت على Tab مرة أخرى، فسيؤدي ذلك إلى إضافة مجلد “browser” إلى الأمر.


تضيف shell شرطة مائلة للأمام حتى تتمكن من تكرار عملية إكمال علامة التبويب. وهذا هو السبب أيضًا وراء وجود شرطة مائلة للأمام في الأمر الأول. ولا يوجد واحد في الأمر الثاني لأنه تم كتابته.

يمكنك استخدام العلامة (~) كطريقة مختصرة للعودة بسرعة إلى الدليل الرئيسي من أي مكان في نظام الملفات؛ فقط اكتب ما يلي:

قرص مضغوط ~

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

هذه أمثلة على المسارات المطلقة، حيث توفر المسار بالكامل من جذر نظام الملفات إلى الدليل المستهدف، cd.

يتم الرجوع إلى المسارات النسبية من دليل العمل الحالي. في الدليل الرئيسي، يوجد دليل يسمى work.يمكنك استخدام tree أمر إلى انظر شجرة الدليل داخل work الدليل—فقط اكتب ما يلي:


tree

أمر الشجرة في نافذة المحطة الطرفية

ال work يحتوي الدليل على دليل يسمى dev . هناك أيضًا دليل يسمى dev في الدليل الجذر لنظام الملفات. يمكنك استخدام ls مع -d (الدليل) للنظر في كل منها. -hl يخبرك الخيار (القابل للقراءة من قبل الإنسان، القائمة الطويلة) ls لاستخدام وحدات سهلة القراءة لأحجام الدليل، وقائمة التنسيق الطويلة.

إذا كتبت devيفترض shell أنك تقصد “dev” في الدليل الحالي. لإجباره على النظر إلى “dev” في الدليل الجذر، ما عليك سوى إضافة شرطة مائلة للأمام لتمثيل جذر نظام الملفات، كما هو موضح أدناه:

ls -d dev -hl

ls -d /dev -hl


ls -d dev -hl في نافذة المحطة الطرفية

ال cd الأمر يتصرف مثل ls في هذا الصدد. إذا قمت بالإشارة إلى الدليل على أنه devكما هو موضح أدناه، يفترض أنك تقصد الدليل الموجود في work دليل:

cd dev

cd dev في نافذة المحطة الطرفية

بدون شرطة مائلة للأمام، يُفترض أن المسارات الأطول تبدأ من دليل العمل الحالي أيضًا، كما هو موضح أدناه:

cd dev/mobile/android

cd dev/mobile/android في نافذة المحطة الطرفية


تغيير الدليل باستخدام النقطة المزدوجة

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

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

اكتب ما يلي:

cd ..

cd ../..

cd .. في نافذة المحطة الطرفية

يمكنك أيضًا إنشاء مجموعة من الأسماء المستعارة لأداء هذه المناورات نيابةً عنك، وذلك عن طريق كتابة ما يلي:

alias .2="cd ../.."

alias .3="cd ../../.."


الاسم المستعار .2="قرص مضغوط ../.." في نافذة المحطة الطرفية

يمكنك استخدامها بنفس طريقة استخدام الأوامر نفسها.

الاسم المستعار .2="قرص مضغوط ../.." يتم استخدامه لتغيير الدليل في نافذة المحطة الطرفية

لجعل الأسماء المستعارة متسقة عبر عمليات إعادة تشغيل الكمبيوتر، يجب عليك إضافتها إلى .bashrc أو .bash_aliases ملف.

التنقل بسهولة بين دليلين

الواصلة (-) هو رمز آخر له وظيفة خاصة. فهو يغير الدليل الخاص بك إلى الدليل الذي أتيت منه للتو.

في هذا المثال، لنفترض أنك موجود في الدليل “c”. يمكنك استخدام cd للتغيير إلى الدليل “forth”. بعد ذلك، يمكنك استخدام cd - للتنقل ذهابًا وإيابًا بين الدليلين.


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

cd ../forth
cd -
cd -
تشغيل الأمر 'cd ../forth' متبوعًا بأوامر 'cd -'.

يظهر اسم الدليل الذي تنتقل إليه قبل أن تنتقل إليه.

نوع آخر من الأقارب

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

دعونا نكتب ما يلي لإنشاء work/dev/projects الدليل الأساسي للمسارات النسبية:

export CDPATH=/home/dave/work/dev/projects


تشغيل 'export CDPATH=/home/dave/work/dev/projects' في المحطة الطرفية.

الآن، في كل مرة تستخدم فيها dc الأمر، الموقع في CDPATH يتم فحص متغير البيئة أولاً للتأكد من مطابقة أسماء الدليل. إذا تطابق أي منها مع الهدف الذي قدمته في cd بمجرد تنفيذ الأمر، سيتم نقلك إلى هذا الدليل.

الآن، بغض النظر عن مكان وجودك في نظام الملفات، عندما تستخدم cd باستخدام الأمر، يتحقق shell مما إذا كان الدليل المستهدف موجودًا في الدليل الأساسي. إذا كان الأمر كذلك، فسيتم نقلك إلى هذا الدليل المستهدف.

إذا كان دليل الهدف الخاص بك يبدأ بعلامة مائلة للأمام (/)، مما يجعله مسارًا مطلقًا، ولن يتأثر بـ CDPATH متغير البيئة.

ولإثبات ذلك، نكتب ما يلي:

cd c

cd prolog

cd /usr

cd forth


تشغيل عدد قليل من أوامر القرص المضغوط المختلفة.

ال CDPATH متغير البيئة هو في الواقع مسار، تمامًا مثل PATH متغير البيئة. عند كتابة أمر، يبحث shell عن المواقع في PATH للمباراة. عندما تستخدم CDPATH، تبحث القذيفة عن المواقع في CDPATH متغير البيئة للمطابقة. أيضًا، نفس الشيء PATH, CDPATH يمكن أن تحتوي على مواقع متعددة.

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

export CDPATH=.:/home/dave/work/dev/projects 

لجعل إعداداتك دائمة، عليك إضافتها إلى ملف تكوين، مثل .bashrc.


هناك أمر يجب الانتباه إليه: إذا قمت بتعيين دليل أساسي، فسيؤثر ذلك أيضًا على تغييرات الدليل التي يتم إجراؤها داخل البرامج النصية. لتجنب ذلك، يمكنك استخدام مسارات مطلقة في البرامج النصية الخاصة بك أو اختبار في .bashrc الملف عندما تحدده CDPATHكما هو موضح أدناه:

if test "${PS1+set}"; then CDPATH=.:/home/dave/work/dev/projects; fi 

يؤدي هذا إلى إجراء اختبار لمعرفة ما إذا كان متغير موجه سطر الأوامر، $PS1 ، تم تعيينه. CDPATH سيتم تعيين متغير البيئة فقط في حالة نجاح الاختبار.

استخدام shopt مع القرص المضغوط

مع shopt يأمريمكنك تعيين خيارات معينة للواجهة. يمكن لبعض هذه الخيارات تحسين استخدامك لـ cd. لتعيينها، يمكنك استخدام -s خيار (تمكين) مع shopt لتمرير اسم الخيار إليه.

ال cdspell يتحقق الخيار من أسماء الدليل ويصحح بعض الأخطاء الشائعة في الكتابة، بما في ذلك الأحرف المنقولة أو المفقودة، أو الأسماء التي تحتوي على عدد كبير جدًا من الأحرف. إذا وجد دليلًا يتطابق مع أي من التصحيحات، فسيتم طباعة المسار المصحح، cd يحدث الفعل.


على سبيل المثال، نكتب ما يلي لتعيين cdspell الخيار وأخطأ في كتابة “Desktop” لمعرفة ما إذا كان shell يصححها لنا:

shopt -s cdspell

cd Desktpo

قم بتشغيل 'shopt -s cdspell' لتمكين مدقق التهجئة في Shell.

اكتشفت القشرة الخطأ وقامت بتصحيحه، ثم قامت بتغييره إلى دليل “سطح المكتب”.

آخر shopt الخيار الذي يمكنك استخدامه مع cd يكون autocd. فهو يلغي الحاجة إلى الكتابة cd على الإطلاق. أي شيء تكتبه ليس أمرًا أو نصًا برمجيًا أو ملفًا قابلاً للتنفيذ (مثل الاسم المستعار) يتم استخدامه كدليل مستهدف. إذا كان بإمكانك النقل إلى هذا الدليل، فسيتم طباعته في نافذة المحطة الطرفية، ويتم تغييرك إلى هذا الدليل.

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

shopt -s autocd

/usr/local/games

/etc

~


يجعل الأمر autocd عملية التنقل أسرع.

انظر! يمكنك التنقل عبر نظام الملفات بأكمله دون حتى استخدام cd!

الإعدادات التي يمكنك تغييرها باستخدام shopt يؤثر فقط على الأصداف التفاعلية، وليس البرامج النصية.

مجموعة الاسطوانات المضغوطة

ربما لن تتبنى كل هذه الطرق. ولكن من المحتمل أنك وجدت هنا شيئًا مثيرًا للاهتمام أو مفيدًا. ففي النهاية، أي شيء يعمل على تسريع أو تبسيط عملية التنقل عبر سطر الأوامر هو أمر جيد!

أضف تعليق