كيفية التعامل مع تمرير أسماء الملفات باستخدام مسافات في Bash

يحتوي نظام Linux على shell الافتراضي Bash (المعروف أيضًا باسم Bourne مرة أخرى shell) لتنفيذ الأوامر للنظام. يفضل معظم المبرمجين bash على cmd بسبب المرونة وقوة مترجم سطر الأوامر الذي يوفره bash. ومع ذلك ، سيظل معظم المستخدمين يواجهون مشكلات أثناء محاولة التعامل مع أسماء الملفات المارة بمسافات في bash. هذا لأن المسافات لا تعتبر هي نفسها في bash كما هي في أسماء الملفات.

لماذا لا يتعرف Bash على اسم الملف الذي يحتوي على مسافات؟

في باش، إذا قمت بكتابة كلمات متعددة دون هروب حرف (\) أو الاقتباسات ، فإنه سيتم النظر في جميع الكلمات والحجج. ينطبق هذا على جميع العمليات ، سواء كنت تقوم بتغيير الدليل باستخدام " cd " أو تحاول الوصول إلى الملفات باستخدام أوامر " cat ". أي شيء تكتبه بعد استخدام هذه سيتم اعتباره حجة. فمثلا:

اسم ملف cat.txt

ملاحظة : يمكن أن يكون اسم الملف الخاص بك أي شيء ولكن بالنسبة لهذه المقالة ، سنستخدم " file name.txt " كمثال.

هنا ' القط و"القيادة تنظر ملف و اسم واثنين من الحجج بدلا من حجة واحدة. ومع ذلك ، إذا كنت تستخدم حرف الهروب أو الاقتباسات ، فستعتبر bash shell ذلك كوسيطة واحدة ، والتي ستكون " file name.txt ".

اسم الملف مع المسافات في Bash

هناك طرق قليلة يمكن استخدامها للمسافات في الاسم. أفضل ممارسة هي تجنب المسافات لأسماء الملفات في المستقبل. تتمثل إحدى الطرق البسيطة في إعادة تسمية الملف الذي تحاول الوصول إليه وإزالة المسافات. بعض الطرق الأخرى تستخدم اقتباسات مفردة أو مزدوجة على اسم الملف بمسافات أو تستخدم رمز الهروب (\) قبل الفراغ. سنقدم طرقًا مع أمثلة تطبيقية لتوضيح كيفية عملها.

الطريقة الأولى: استخدام الاقتباسات الفردية والمزدوجة

  1. اضغط مع الاستمرار على مفاتيح Ctrl + Alt واضغط على T لفتح Terminal .
  2. الآن قم بتغيير الدليل إلى حيث يوجد الملف.

    (يمكنك أيضا سحب و إسقاط الملف في محطة بعد "الأمر القط "، والتي سوف يضع الاقتباسات تلقائيا على مسار الملف / الدليل)

    سطح المكتب cd

    ملاحظة : يمكن تغيير سطح المكتب إلى الموقع الذي تحاول الوصول إليه.

  3. اكتب الأمر التالي لقراءة ملف نصي به مسافات في الاسم:
    القط "اسم ملف. xt"

    أو

    القط "file name.txt"
  4. ستؤدي الاقتباسات المفردة والمزدوجة إلى نفس النتيجة. في بعض الحالات ، تحتاج إلى تجربة كليهما ومعرفة أيهما يعمل.

الطريقة الثانية: استخدام حرف الهروب من رد الفعل العكسي

  1. اضغط مع الاستمرار على مفاتيح Ctrl + Alt واضغط على T لفتح Terminal .
  2. قم بتغيير الدليل إلى حيث يوجد الملف باستخدام الأمر التالي.
    سطح المكتب cd

    ملاحظة : ضع اسم موقعك في مكان سطح المكتب.

  3. اكتب الآن الأمر واستخدم حرف الهروب في أي مكان توجد به مساحة في الاسم:
    ملف القط \ name.txt

المكافأة: استخدام الاقتباسات والهروب

في بعض الأحيان عندما تستخدم الدليل في الأمر ، يمكن أن تكون هناك عواقب لاستخدام الاقتباسات في المسار العام. هذا لأن بعض الأوامر مثل " mv " أو " cp " ستعتبر المسار كمصدر للملف إذا تم استخدام الاقتباس ككل. تحتاج إلى توفير الاقتباسات لكل من مصدر و جهة على حدة بحيث الأوامر مثل " حزب المحافظين " يمكن أن تعمل بشكل صحيح. يمكنك أيضًا التحقق من المثال أدناه الذي سيوضح لك أن استخدام حرف الهروب للمسار أكثر تعقيدًا ويمكن للمستخدمين أن يخطئوا فيه.