To move files in Linux you need to use the mv command. Here are some examples:
# move file1 to file2 (what command actually does is renaming the file) $ mv file1 file2
# move file1 from dir1 to dir2 $ mv folder1/file1 folder2/
# move all files from folder1 to folder2 $ mv folder1/* folder2/
عند استخدامه لنقل ملف داخل نفس الدليل أو إلى دليل مختلف، يقوم mv بإعادة تسمية الملف بشكل فعال إذا كان مسارا المصدر والوجهة موجودين داخل المجلد نفس نظام الملفات.
Now when we touched the basics of the ‘mv’ command in Linux, lets explore more ways to efficiently move files and directories.
Mastering the “mv” command
نقل ملفات متعددة
لا يقتصر الأمر mv على نقل ملف واحد في المرة الواحدة. يمكنك نقل ملفات متعددة في وقت واحد باستخدام أحرف البدل. على سبيل المثال، لنقل جميع الملفات النصية من دليل إلى آخر، يمكنك استخدام الأمر التالي:
$ mv *.txt destination_directory/
This command selects all files with the “.txt” extension and moves them to the specified destination directory. The asterisk (*) acts as a wildcard, matching any characters.
الكتابة فوق الملفات
عند نقل الملفات، قد تواجه موقفًا حيث يوجد ملف يحمل نفس الاسم بالفعل في الدليل الوجهة. افتراضيًا، سيطالبك الأمر mv بالتأكيد قبل الكتابة فوق الملف. ومع ذلك، يمكنك تجاوز هذا السلوك باستخدام الخيار -f :
$ mv -f filename destination_directory/
كن حذرًا عند استخدام الخيار -f، لأنه سيحل محل الملفات الموجودة دون أي تأكيد.
الحفاظ على البيانات الوصفية للملف
لا يقوم الأمر mv بنقل الملفات فحسب، بل يسمح لك أيضًا بالحفاظ على بيانات التعريف الخاصة بها، بما في ذلك الطوابع الزمنية والأذونات. للحفاظ على الطوابع الزمنية الأصلية للملفات أثناء النقل، استخدم الخيار -p :
$ mv -p filename destination_directory/
يعد هذا مفيدًا بشكل خاص عندما تريد التأكد من احتفاظ الملفات المنقولة بالطوابع الزمنية الأصلية للإنشاء والتعديل.
وضع مطول
إذا كنت تفضل الاطلاع على معلومات تفصيلية حول الملفات التي يتم نقلها، فيمكنك استخدام الخيار -v لتمكين الوضع المطول:
$ mv -v filename destination_directory/
يوفر الوضع المطول تعليقات في الوقت الفعلي، ويعرض كل ملف أثناء نقله، مما يوفر فهمًا أوضح للعملية.
نقل الدلائل
يمكن للأمر mv التعامل مع حركات الدليل بسلاسة أيضًا. لنقل دليل بأكمله ومحتوياته، ما عليك سوى تحديد دليل المصدر والوجهة:
$ mv source_directory/ destination_directory/
يقوم هذا الأمر بنقل محتويات الدليل المصدر بالكامل إلى دليل الوجهة المحدد.
طرق بديلة لنقل الملفات في نظام التشغيل Linux
In addition to the mv command, Linux provides a few other commands and utilities for moving files and directories. Here are a couple of alternatives:
أمر cp (نسخ) مع الخيار -r
يُستخدم الأمر cp تقليديًا لنسخ الملفات، ولكن يمكن استخدامه أيضًا لنقلها عن طريق دمجه مع الخيار -r (العودي). يعد هذا الخيار ضروريًا عند التعامل مع الأدلة ومحتوياتها.
$ cp -r source_directory/ destination_directory/
يقوم هذا الأمر بنسخ محتويات الدليل المصدر إلى الدليل الوجهة بشكل متكرر ويحقق عملية النقل بشكل فعال.
أمر رسينك
يعد الأمر rsync أداة قوية لمزامنة الملفات ونسخها. ويمكن استخدامه أيضًا لنقل الملفات بين الدلائل. بناء الجملة الأساسي هو:
$ rsync -av --remove-source-files source_directory/ destination_directory/
يحافظ الخيار -a على أذونات الملف والسمات الأخرى.
يتيح الخيار -v الوضع المطول لإظهار الملفات التي تتم معالجتها.
The –remove-source-files option removes the files from the source directory after successful transfer.
يعد rsync مفيدًا بشكل خاص لنقل كميات كبيرة من البيانات والحفاظ على التزامن بين المصدر والوجهة.
البحث والأمر التنفيذي
يمكن استخدام أمر البحث، مع الأمر exec، لنقل الملفات بناءً على معايير معينة. على سبيل المثال، لنقل كافة الملفات النصية الموجودة في الدليل وأدلته الفرعية إلى موقع جديد:
$ find source_directory/ -type f -name "*.txt" -exec mv {} destination_directory/
This command finds all files (-type f) with the “.txt” extension and executes the mv command on each of them, moving them to the specified destination.
ملخص
Mastering the mv command in Linux is essential for efficient file and directory management. We’ve covered the fundamental usage of the mv command, from simple file renaming to moving entire directories. Additionally, we explored alternative commands like cp with the -r option, the rsync command, and the dynamic combination of find و exec for more specialized moves. By incorporating these commands into your Linux toolkit, you empower yourself to manage files seamlessly and make the most of the robust capabilities that the Linux command line provides.






