الصفحة الرئيسية » howto » كيفية نسخ ملف إلى دلائل متعددة مع أمر واحد في لينكس

    كيفية نسخ ملف إلى دلائل متعددة مع أمر واحد في لينكس

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

    عادة ، لنسخ ملف واحد ، يمكنك استخدام حزب المحافظين الأمر ، بالارتباط بالملف المصدر ودليل الوجهة:

    cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /

    لنسخه إلى دليلين إضافيين ، سيقوم الكثير من الأشخاص بتشغيل الأمر مرتين أخريين ، مع وجهات مختلفة:

    cp ~ / Documents / FileToBeCopied.txt ~ / Dropbox /
    cp ~ / Documents / FileToBeCopied.txt / media / lori / MYUSBDRIVE /

    ومع ذلك ، يمكننا القيام بالمهمة نفسها باستخدام أمر واحد:

    صدى dir1 dir2 dir3 | xargs -n 1 cp file1

    وإليك كيف يعمل هذا الأمر. ال صدى صوت الأمر يكتب عادة إلى الشاشة. ومع ذلك ، في هذه الحالة ، نريد تغذية مخرجات صدى صوت الأمر كمدخل إلى xargs أمر. للقيام بذلك ، نستخدم رمز الأنبوب ( | ) التي تغذي الإخراج من أمر واحد كمدخل إلى آخر. ال xargs سوف القيادة تشغيل حزب المحافظين الأمر ثلاث مرات ، في كل مرة إلحاق مسار الدليل التالي المنقولة إليه من صدى صوت الأمر إلى نهاية حزب المحافظين أمر. هناك ثلاث حجج يتم تمريرها إلى xargs , لكن ال -ن 1 الخيار على xargs الأمر يخبرها فقط لإلحاق واحدة من تلك الحجج في وقت ل حزب المحافظين أمر في كل مرة يتم تشغيلها.

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

    صدى ~ / TextFiles / ~ / دروببوإكس / وسائل الإعلام / لوري / MYUSBDRIVE | xargs -n 1 cp ~ / Documents / FileToBeCopied.txt

    لاحظ أنه إذا كان الملف الذي يتم نسخه موجودًا في أي من الدلائل الوجهة المحددة ، فسيتم استبدال الملف الموجود في تلك الوجهة تلقائيًا. لن يتم سؤالك عما إذا كنت تريد استبدال الملف. (عادة ، عند استخدام حزب المحافظين أمر لنسخ ملف إلى موقع واحد ، يمكنك إضافة -أنا خيار ما إذا كنت تريد استبدال ملف موجود. ومع ذلك ، فإن -أنا الخيار هو خيار تفاعلي (يتسبب في حزب المحافظين الأمر لطلب إدخال من المستخدم) ولا يمكنك استخدام خيار تفاعلي مع حزب المحافظين الأمر عند استخدامه بالاقتران مع xargs .)

    شيء آخر يجب أخذه بعين الاعتبار ، هو أنك إذا كنت تنسخ ملفًا كبيرًا جدًا ، فقد تحتاج إلى إضافة no-clobber ( خيار ل حزب المحافظين الأمر في أمر واحد أعلاه. يمنع هذا الخيار تلقائيًا استبدال الملف في وجهة ما إذا كان موجودًا بالفعل. إذا كنت تنسخ ملفًا كبيرًا للغاية عبر شبكة ، فقد يكون بطيئًا وقد ترغب في تجنب استخدام الموارد المطلوبة لنسخ الملف واستبداله. الأمر التالي يضيف الخيار ، ولن ينسخ الملف إلى أي وجهة مدرجة في الوسيطات إلى بيان الارتداد ، إذا كان الملف موجودًا بالفعل في تلك الوجهة.

    صدى ~ / TextFiles / ~ / دروببوإكس / وسائل الإعلام / لوري / MYUSBDRIVE | xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt

    اكتب man echo أو man xargs أو man cp في سطر الأوامر في Linux للحصول على مزيد من المعلومات حول أي من هذه الأوامر.