هل لا تستطيع العثور على ملف قمت بنقله إلى Linux؟ قد يكون السبب هو Slash

عادةً، يعد الأمر mv أحد أوامر Linux الأولى التي تتعلمها. ولكن خطأً بسيطًا، وقد تصبح الأمور مربكة بشكل مفاجئ للمستخدم. في بعض الأحيان يبدو الأمر وكأن الملفات المنقولة قد اختفت ببساطة.




كيف تؤثر هذه المشكلة على الناس

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

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

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


الجزء الذي يتم تشغيله بواسطة Slash في الأمر mv

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

لدينا ملف في الدليل ~/Downloads/src. نقوم بنقله إلى الدليل ~/Documents/backup. وكما هو متوقع، فهو موجود الآن في دليل النسخ الاحتياطي، وتمت إزالته من دليل src.

ls ~/Downloads/src
mv ~/Downloads/src/important-file.dat ~/Documents/backup
ls ~/Documents/backup/
ls ~/Downloads/src
نقل ملف باستخدام الأمر mv

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


ملف منقول في الدليل الجديد.

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

mv ~/Downloads/src/important-file.dat ~/Documents/backpu

محاولة استخدام الأمر mv مع وجود خطأ مطبعي في اسم الدليل النهائي.

لقد ارتكبوا خطأ مطبعيًا في اسم الدليل المستهدف، لكن mv يخرج بصمت ويعود إلى موجه الأوامر. في ظاهر الأمر، يبدو أن نقل الملف نجح.

دعونا نتحقق من ذلك.


ls ~/Downloads/src
ls ~/Documents/backup/
استخدام ls للبحث عن الملف في الدليل الأصلي والجديد.

المجلد الأصلي والمجلد المستهدف فارغان. أين ذهب الملف؟

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

ls -l ~/Documents

موقع الملف المفقود والمهجأ بشكل خاطئ.

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


mv ~/Documents/backpu ~/Documents/backup/important-file.dat 
ls ~/Documents/backup
نقل وإعادة تسمية الملف الذي به خطأ إملائي

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

mv ~/Downloads/src/important-file.dat ~/Documents/backpu/

تشير الشرطة المائلة الموجودة في سطر أوامر mv إلى وجود أخطاء في اسم الدليل النهائي

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


هذه نتيجة أفضل في حالة الفشل. يتم تنبيهك بالخطأ، ويظل الملف الأصلي كما هو.

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

إنه ليس خطأ سلاش بالضبط

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

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

أضف تعليق