COPYFILERANGE(1)

الاسم
copyfilerange - نسخ نطاق (أو نطاقات) من المصدر إلى ملف الوجهة

موجز

copyfilerange [خيارات] source destination range...

الوصف

ينسخ الأمر copyfilerange نطاقات البايت من المصدر إلى ملف الوجهة. وهو عبارة عن غلاف حول استدعاء النظام ‎copy_file_range(2)‎.

يمكن استخدام الأمر لإنشاء ملفات ذات فجوات غير مخصصة (ملفات متفرقة) و/أو بكتل مشتركة بين ملفات متعددة (reflinks).

كل نطاق range يكون على الشكل التالي: source_offset:destination_offset:length، مع التعبير عن كافة القيم بالبايت. إذا كان الطول length هو 0، تُنسخ أكبر قدر ممكن من البيانات المتاحة. يمكن تقديم نطاقات متعددة.

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

الخيارات

-r, --ranges file
    يقرأ النطاق (أو النطاقات) المفصولة بأسطر جديدة من هذا الملف file.

-v، --verbose
    مخرجات مسهبة للنطاقات المنسوخة.

-h، --help
    اعرض نص المساعدة ثم اخرج.

-V، --version
    اعرض الإصدار واخرج.

حالة الخروج

0
    نجاح

1
    فشل غير محدد

ملاحظات

يحتوي استدعاء النظام ‎copy_file_range(2)‎ على بعض المحاذير الجدية: يجب أن يستخدم ملف المصدر والوجهة نفس نوع نظام الملفات، وبعض أنظمة الملفات الافتراضية (مثل procfs) لن تعمل. سيستخدم ‎copy_file_range(2)‎ روابط المراجع (reflinks) عندما يدعم نظام الملفات ذلك. لاستخدام روابط المراجع، يحتاج نطاق الملف في الغالب إلى المحاذاة مع حجم كتلة نظام الملفات في كل من ملف المصدر والوجهة.

المؤلفين

أمثلة

    copyfilerange original-file reflink ::
    copyfilerange original-file first-block ::4096
    copyfilerange original-file even-blocks -r <(seq 0 8192 40960|awk '{print $1"::4096"}')
    copyfilerange original-file sparse-file 0:1M:1
    copyfilerange original-file split-first-mb ::1M
    copyfilerange original-file split-remainder 1M::
    copyfilerange split-first-mb join ::
    copyfilerange split-remainder join :1M:

انظر أيضاً

copy_file_range(2)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم

التوفر

الأمر copyfilerange جزء من حزمة util-linux التي يمكن تنزيلها من