كيفية إعادة تسمية الملفات في نظام التشغيل لينكس

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

في هذا البرنامج التعليمي، ستتعلم العديد من الطرق لإعادة تسمية الملفات المفردة والمتعددة في Linux، سواء عبر واجهة المستخدم الرسومية أو تشغيل الأوامر في الطرفية.

لنبدأ!

الشروط المسبقة

لمتابعة هذا البرنامج التعليمي، تأكد من أن لديك ما يلي:

  • يستخدم هذا البرنامج التعليمي Ubuntu 18.04 LTS، ولكن تعمل توزيعات Linux الأخرى.
  • حساب مع وصول sudo/administrator.

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

إذا كنت معتادًا على إدارة الملفات عبر واجهة المستخدم الرسومية، فلنبدأ هذا البرنامج التعليمي لإعادة تسمية الملفات باستخدام مدير الملفات. مديري الملفات GUI رائعة لأنه يمكنك رؤية الملفات بوضوح. أحد تلك المديرين المتاحين في Linux هو مدير الملفات السابق لـ GNOME، Nautilus. يوضح هذا البرنامج التعليمي كيفية إعادة تسمية الملفات باستخدام مدير الملفات Nautilus.

أدوات إدارة الملفات الأخرى في Linux هي Konqueror، Dolphin، Krusader، Thunar، مدير الملفات Nemo، و Sunflower ، وهذه الأدوات تؤدي نفس المهمة، ولكن قد يكون تغيير اسم الملفات أو الدلائل مختلفًا قليلاً.

افتح الطرفية الخاصة بك، ثم قم بتشغيل الأمر أدناه لتثبيت Nautilus (install nautilus) باستخدام apt إذا لم يكن مثبتًا بالفعل على جهازك. يقوم الأمر sudo برفع الأمر باستخدام صلاحيات sudo/المسؤول.

sudo apt install nautilus

إعادة تسمية ملف واحد

يستغرق إعادة تسمية ملف واحد في Nautilus بضع نقرات فقط، مثلما يحدث في مستكشف الملفات في نظام Windows.

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

يتم التركيز في هذا المثال على إعادة تسمية الملفات، ولكن العملية هي نفسها لإعادة تسمية كل من الملفات والمجلدات.

Renaming a Single File

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

Entering New File Name

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

مثل ويندوز، تمنحك أوبونتو مزيدًا من الخيارات حول كيفية إعادة تسمية عدة ملفات دفعة واحدة.

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

Renaming Multiple Files Using Nautilus.

أدناه، هناك خياران للاختيار من بينهما اعتمادًا على كيفية رغبتك في إعادة تسمية الملفات المحددة.

  • إعادة التسمية باستخدام قالب – يتيح لك هذا إعادة تسمية الملفات بتزايد تدريجي.
  • البحث واستبدال النص – يتيح لك البحث واستبدال نصوص معينة في أسماء الملفات.

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

لإعادة تسمية الملفات باستخدام قالب، حدد الخيار إعادة التسمية باستخدام قالب.

الآن أدخل اسم الاستبدال في الحقل الفارغ لإعادة تسمية الملفات بقالب، وانقر فوق الزر +إضافة واختر من القوالب. لهذا الدرس، حدد القالب الأول (1،2،3،4) وانقر إعادة التسمية. يضيف هذا الخيار أرقامًا متزايدة إلى كل ملف بعد اسم الملف البديل (نص1، نص2، …).

Renaming Files using a Template

لاحظ تغيير أسماء الملفات إلى نص، تليها أرقام متزايدة.

Verifying File Names Changed to “Text” with Incrementing Num

العثور على الكلمات واستبدالها في أسماء الملفات

لإعادة تسمية عدة ملفات بأسماء معينة، حدد الخيار العثور واستبدال النص.

أدخل النص في حقل النص الحالي والنص البديل في حقل الاستبدال بـ، ثم انقر فوق إعادة تسمية لاستبدال النص. يقوم هذا الخيار بالبحث واستبدال بعض النصوص في أسماء الملفات.

Replacing Texts in File Names

الآن، يمكنك أن ترى أنك قمت بتبديل الكلمة “نص” بـ “ملف” في كل اسم ملف.

Verifying the word “Text” was replaced with the word “File” on Each File

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

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

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

# إعادة تسمية ملف أو دليل في دليل العمل
mv <source> <destination>
# إعادة تسمية ملف باستخدام تحديد المسار الكامل
mv <~/mydir/source> <~/mydir/destination>

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

بينما تظل صيغة أمر “mv” حديثة في ذهنك، دعونا نحاول إعادة تسمية ملف واحد.

لنقم بعرض كيفية إعادة تسمية ملف واحد ودليل:

1. قم بتشغيل الطرفية الخاصة بك، ثم قم بتشغيل سلسلة الأوامر أدناه لإنشاء دليل وملفي نص.

# أنشئ دليل يسمى 'test'
mkdir test 
# قم بتغيير الدليل إلى ~/test
cd test 
# أنشئ ملفات نص تسمى 'file1.txt' و 'file2.txt'
touch file1.txt file2.txt 

2. بعد ذلك، قم بتشغيل أمر ls لعرض قائمة الملفات داخل الدليل الحالي. فيما يلي، يمكنك رؤية أن file1.txt و file2.txt موجودين في الدليل ~/test.

Listing Files in the Working Directory

3. قم بتشغيل أيًا من أوامر mv أدناه لإعادة تسمية file1.txt إلى file10.txt.

# إعادة تسمية ملف في الدليل الحالي
mv file1.txt file10.txt

# إعادة تسمية ملف عن طريق تحديد المسار الكامل
mv ~/test/file1.txt ~/test/file10.txt

إعادة تسمية دليل هو نفسه كإعادة تسمية ملف، كما في: mv ~/test ~/demo. يرمز الرمز ~ إلى دليل المنزل.

4. أخيرًا، أعد تشغيل أمر ls لعرض قائمة الملفات في الدليل الحالي.

فيما يلي، يمكنك رؤية أن file1.txt تمت إعادة تسميته الآن باسم file10.txt.

Confirming file1.txt is renamed as file10.txt

إعادة تسمية عدة ملفات باستخدام حلقة For

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

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

# يعلن متغيرًا بقيمة محددة على 1
i=1 
# يفحص كل ملف نصي في دليل العمل
for file in *.txt; 
# يكرر الأمر أدناه حتى يتم فحص جميع الملفات
do 
  # يعيد تسمية كل ملف بـ "File" تتبعها رقم تزايدي ($i)
	mv -- "$file" "File$i.txt"
  # يزيد قيمة رقم المتغير الحالي بمقدار 1
  i=$((i+1)) 
done

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

فيما يلي، يمكنك رؤية كيف يقوم الكود بإعادة تسمية جميع الملفات.

Renaming Files with a For Loop

إعادة تسمية الملفات في لينكس باستخدام أداة rename

إذا كنت تقوم بإعادة تسمية ملف واحد في روتينك اليومي، فسيكون الأمر `mv` كافيًا. ولكن ربما تهدف إلى إعادة تسمية ملفات متعددة بنفس النمط في آن واحد؟ على سبيل المثال، إعادة تسمية الملفات التي تبدأ بكلمة معينة (ملف). في هذه الحالة، قم بتثبيت أداة rename بدلاً من ذلك.

تقوم أداة إعادة التسمية بإعادة تسمية ملفات متعددة، وتغيير تنسيقات أسماء الملفات، والكتابة فوق الملفات.

لتثبيت أداة إعادة التسمية، قم بتشغيل أحد الأوامر أدناه اعتمادًا على توزيعة Linux التي تعمل عليها.

# قم بتثبيت أداة إعادة التسمية باستخدام مدير الحزم apt لـ Ubuntu و Debian و Linux Mint
sudo apt install rename
# قم بتثبيت أداة إعادة التسمية باستخدام مدير الحزم dnf لـ CentOS و Fedora و Red Hat
sudo dnf install prename
# قم بتثبيت أداة إعادة التسمية باستخدام مدير الحزم pacman لـ Arch Linux / Manjaro Linux
sudo pacman -S perl-rename

يمكنك أدناه رؤية بنية الأمر rename.

rename <options> <perlexpr> <files>

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

بفضل بنية أمر rename، يمكنك الآن إعادة تسمية الملفات التي تحمل نفس النمط. ما هو رائع بشأن أمر rename هو أنه لا يلزمك إعلان وظيفة دورة لإعادة تسمية ملفات متعددة كما فعلت في قسم “إعادة تسمية ملفات متعددة باستخدام حلقة تكرار For”.

ربما ترغب في إعادة تسمية الملفات باستخدام كلمات معينة عليها. إذا كان الأمر كذلك، فانظر إلى تعبير Perl العادي ('s/file/myfile/') في الأمر النموذجي أدناه. تحدد تعابير Perl العادية نمط سلسلة استنادًا إلى لغة البرمجة Perl.

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

rename -n 's/file/myfile/' *.txt
Listing Affected Files Before Renaming

قم الآن بتشغيل أحد أوامر rename أدناه لاستبدال كلمة file بـ myfile في اسم كل ملف نصي داخل دليل العمل أو دليل ~/test/*.txt.

في التعبير Perl ('s/file/myfile/'), يشير s إلى الاستبدال ، مما يعني أنك تقوم بإعادة تسمية الملفات. لاحظ أن الخيار -v تمت إضافته لإرجاع الملفات التي قام الأمر بإعادة تسميتها.

# استبدل 'file' بـ 'myfile' في اسم كل ملف في دليل العمل
rename -v 's/file/myfile/' *.txt
# استبدل 'file' بـ 'myfile' في اسم كل ملف في دليل ~/test
rename -v 's/file/myfile/' ~/test/*.txt

أدناه ، يمكنك رؤية أن كل كلمة “file” في ملفات النص تم إعادة تسميتها إلى “myfile.”

Renaming a Files with the rename Command

إذا كنت تفضل إعادة تسمية جميع الملفات بدلاً من ذلك، قم بإزالة امتداد الملف عند تحديد مسار الملف، على سبيل المثال، rename -v 's/file/myfile/' ~/test/*

تغيير امتدادات الملفات

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

قم بتشغيل أمر rename أدناه لتغيير امتداد جميع الملفات (*) من .txt إلى .html في دليل ~/test. يطابق الرمز $ في التعبير بيرل نهاية السلسلة (.txt) مع اسم كل ملف، لذا يقوم الأمر بتغيير امتدادات الملفات .txt فقط. ومثلما هو الحال مع إعادة تسمية عدة ملفات، أضف الخيار -v لتسجيل كل تغيير يقوم به الأمر.

rename -v 's/.txt$/.html/' *.txt

لإزالة جميع امتدادات الملفات بدلاً من ذلك، قم بإزالة سلسلة الاستبدال في التعبير بيرل، مثل هذا: rename -v 's/.txt$//' *.txt

كما ترى في الصورة أدناه، تم تغيير الامتدادات .txt إلى .html

Changing File Extensions from .txt to .html

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

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

لينكس حساس لحالة الأحرف، لذا دعنا نتأكد من أن لديك الحالة الصحيحة لكل اسم ملف. الحالة الصغيرة هي أساساً تمييز النصوص بين الأحرف الصغيرة والأحرف الكبيرة.

قم بتشغيل أي من أوامر rename أدناه لتغيير جميع أسماء الملفات الصغيرة (a-z) في دليل العمل (*) إلى أحرف كبيرة (A-Z) والعكس.

# تغيير اسم الملف من حالة صغيرة إلى حالة كبيرة
rename -v 'y/a-z/A-Z/' *
# تغيير اسم الملف من حالة كبيرة إلى حالة صغيرة
rename -v 'y/A-Z/a-z/' *

يمكنك أن ترى أدناه كلا النتيجتين لتغيير حالة حرف اسم الملف.

Changing File Name from Lowercase to Uppercase and Vice Versa

استبدال وإزالة المسافات في أسماء الملفات

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

قم بتشغيل أمر rename أدناه لاستبدال المسافات في جميع أسماء الملفات بشرطة سفلية (_) في دليل العمل. نظرًا لأن الشرطة السفلية هي علامة تعريف ميتاحرف، قم بتهريبها باستخدام شرطة عكسية (\\_) لتعريف الشرطة السفلية حرفيًا. الميتاحروفات هي عبارة عن أحرف خاصة بمعاني خاصة في برنامج الكمبيوتر.

لاحظ أن g في التعبير بيرل يخبر الأمر بأن يقوم بتبديل كافة الاطابق (الفراغات)، وليس فقط الأولى.

rename -v 's/ /\\_/g' *

أدناه، يمكنك رؤية أن الأمر قام بتبديل كافة الفراغات بشرطات سفلية.

Replacing spaces with underscores in a file name

لإزالة كافة الفراغات في اسم الملف بدلاً من ملئها بحرف، قم بتشغيل الأمر أدناه.

في التعبير بيرل أدناه، النجمة بعد الفراغ الفارغ (/ *) تطابق كافة حالات الفراغات في اسم الملف وليس فقط الأولى. الحرف المستبدل هو فارغ (//)، لذا يقوم الأمر بتصريف كافة الفراغات (g).

rename -v "s/ *//g" *

الآن يمكنك رؤية أن كافة الفراغات تمت إزالتها من كل اسم ملف.

Removing all spaces in filenames

تكبير الحرف الأول من كل كلمة في اسم الملف

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

التعبير بيرل أدناه يطابق أي حرف فردي (\\w) في حدود الكلمة (\\b) طالما أن الحرف ليس نقطة أو فاصلة (?<![.'\\'']). سيقوم الأمر rename بتحويل تلك الحرف إلى حرف كبير (u$&).

rename -v 's/(?<![.'\\''])\\b\\w*/\\u$&/g' *

أدناه، يمكنك رؤية أن كل كلمة في أسماء الملفات تبدأ بحرف كبير مع الاحتفاظ بامتدادات الملفات دون تغيير.

Capitalizing First Letter of Each Word in File Names

الختام

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

لماذا لا تتعلم برمجة قواعد Shell لينكس، وتنشئ نصًا لتلقيم إعادة تسمية الملفات في لينكس بشكل تلقائي؟

Source:
https://adamtheautomator.com/rename-files-in-linux/