ذكري المظهر

كيفية إعادة تسمية الملفات والدلائل في لينكس

Learn Kali Linux Episode #13: Command Line Essentials (Part 1)

Learn Kali Linux Episode #13: Command Line Essentials (Part 1)

جدول المحتويات:

Anonim

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

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

في هذا البرنامج التعليمي ، سنعرض لك كيفية استخدام أوامر mv وإعادة rename لإعادة تسمية الملفات والدلائل.

إعادة تسمية الملفات باستخدام أمر mv

يتم استخدام الأمر mv (قصير من النقل) لإعادة تسمية أو نقل الملفات من موقع إلى آخر. بناء جملة الأمر mv كالتالي:

mv source destination

يمكن أن يكون source واحدًا أو أكثر من الملفات أو الدلائل ، ويمكن أن تكون destination ملفًا أو دليلًا واحدًا.

  • إذا قمت بتحديد ملفات متعددة source ، فيجب أن تكون destination دليلًا. في هذه الحالة ، يتم نقل الملفات source إلى الدليل الهدف. إذا قمت بتحديد ملف واحد source ، والهدف destination هو دليل موجود ثم يتم نقل الملف إلى الدليل المحدد. لإعادة تسمية ملف تحتاج إلى تحديد ملف واحد source وملف واحد كهدف destination .

على سبيل المثال ، لإعادة تسمية الملف file1.txt باسم file2.txt ستقوم بتشغيل:

mv file1.txt file2.txt

إعادة تسمية ملفات متعددة مع القيادة ام

يمكن للأمر mv إعادة تسمية ملف واحد فقط في المرة الواحدة ، ولكن يمكن استخدامه بالاقتران مع أوامر أخرى مثل find أو bash داخل أو أثناء حلقات لإعادة تسمية ملفات متعددة.

يوضح المثال التالي كيفية استخدام Bash for loop لإعادة تسمية جميع ملفات .html في الدليل الحالي عن طريق تغيير ملحق .html إلى .php .

for f in *.html; do mv -- "$f" "${f%.html}.php" done

دعنا نحلل الشفرة سطرا:

  • يقوم السطر الأول بإنشاء حلقة للتكرار ويتكرر من خلال قائمة بجميع الملفات التي تتجه إلى الأعلى .html . يسري السطر الثاني على كل عنصر في القائمة وينقل الملف إلى عنصر جديد يستبدل .html بـ .php . يستخدم الجزء ${file%.html} امتداد المعلمة shell لإزالة الجزء .html من اسم الملف. يشير إلى نهاية مقطع الحلقة.

يمكننا أيضًا استخدام الأمر mv بالاشتراك مع find لتحقيق نفس الشيء على النحو الوارد أعلاه.

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

يقوم الأمر find بتمرير كافة الملفات التي تنتهي بـ .html في الدليل الحالي إلى الأمر mv واحدًا تلو الآخر باستخدام مفتاح التبديل -exec . السلسلة {} هي اسم الملف الجاري معالجته حاليًا.

كما ترون من الأمثلة أعلاه ، فإن إعادة تسمية ملفات متعددة باستخدام الأمر mv ليست مهمة سهلة لأنها تتطلب معرفة جيدة بالبرمجة النصية Bash.

إعادة تسمية الملفات مع إعادة تسمية الأمر

يتم استخدام الأمر rename لإعادة تسمية ملفات متعددة. هذا الأمر أكثر تقدماً من mv لأنه يتطلب بعض المعرفة الأساسية بالتعبيرات العادية.

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

  • تثبيت إعادة تسمية على أوبونتو وديبيان

    sudo apt install rename

    تثبيت إعادة تسمية على CentOS وفيدورا

    sudo yum install prename

    تثبيت إعادة تسمية على Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

بناء جملة أمر rename التسمية كما يلي:

rename perlexpr files

سيقوم أمر إعادة perlexpr بإعادة تسمية جميع files وفقًا للتعبير العادي المحدد في perlexpr . يمكنك حول بيرل التعبيرات العادية هنا.

على سبيل المثال ، سيغير الأمر التالي جميع الملفات ذات الامتداد .html إلى .php :

rename 's/.html/.php/' *.html

يمكنك استخدام الوسيطة -n لطباعة أسماء الملفات المراد إعادة تسميتها ، دون إعادة تسميتها.

rename -n 's/.html/.php/' *.html

سيظهر الإخراج بشيء من هذا القبيل:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

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

rename -f 's/.html/.php/' *.html

فيما يلي بعض الأمثلة الأكثر شيوعًا عن كيفية استخدام أمر إعادة التسمية:

  • استبدال المسافات في أسماء الملفات بالشرطات السفلية

    rename 'y/ /_/' *

    تحويل أسماء الملفات إلى أحرف صغيرة

    rename 'y/AZ/az/' *

    تحويل أسماء الملفات إلى أحرف كبيرة

    rename 'y/az/AZ/' *

استنتاج

الآن يجب أن يكون لديك فهم جيد لكيفية استخدام أوامر mv وإعادة rename لإعادة تسمية الملفات. بالطبع ، هناك أوامر أخرى لإعادة تسمية الملفات في Linux مثل mmv . يمكن لمستخدمي Linux الجدد الذين يتعرضون للترهيب من سطر الأوامر استخدام أدوات إعادة تسمية مجموعة واجهة المستخدم الرسومية مثل Métamorphose.

إعادة تسمية محطة mv