דף הבית » איך ל » כיצד להעתיק קובץ למספר ספריות עם פקודה אחת ב - Linux

    כיצד להעתיק קובץ למספר ספריות עם פקודה אחת ב - Linux

    העתקת קובץ באמצעות שורת הפקודה של Linux קלה. עם זאת, מה אם אתה רוצה להעתיק את אותו הקובץ למספר מיקומים שונים? גם זה קל, ואנחנו נראה לך איך לעשות את זה עם פקודה אחת.

    בדרך כלל, כדי להעתיק קובץ אחד, אתה משתמש cp הפקודה, המקשר לקובץ המקור ולספריית היעד:

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

    כדי להעתיק אותו לשני ספריות נוספות, אנשים רבים היו פשוט להפעיל את הפקודה פעמיים נוספות, עם יעדים שונים:

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

    עם זאת, אנו יכולים לעשות את אותה משימה עם פקודה אחת:

    echo dir1 dir3 dir3 xargs -n 1 cp file1

    הנה איך פקודה זו פועלת. ה הד הפקודה בדרך כלל כותב למסך. עם זאת, במקרה זה, אנחנו רוצים להאכיל את הפלט של הד הפקודה כקלט xargs פקודה. לשם כך, אנו משתמשים בסמל הצינור ( | ) אשר הזנות פלט מפקודה אחת כקלט אחר. ה xargs הפקודה תפעיל את cp פקודה שלוש פעמים, בכל פעם הוספת נתיב ספריה הבא צולב אליו מן הד הפקודה על סוף cp פקודה. ישנם שלושה טיעונים מועברים xargs , אבל ה -n 1 אופציה ב xargs הפקודה מספרת את זה רק כדי לצרף אחד מאותם טיעונים בכל פעם אל cp הפקודה בכל פעם שהוא פועל.

    אז, כדי להישאר עם הדוגמה שלנו קודם לכן, שלושת נפרד cp פקודות לעיל ניתן לשלב בפקודה אחת כזאת:

    הד ~ / TextFiles / ~ / Dropbox / מדיה / לורי / MYUSBDRIVE xargs -n 1 cp ~ / Documents / FileToBeCopied.txt

    שים לב שאם הקובץ המועתק קיים בכל אחת מספריות היעד שצוינו, הקובץ באותו יעד יוחלף באופן אוטומטי. לא תישאל אם ברצונך להחליף את הקובץ. (בדרך כלל, כאשר אתה משתמש cp הפקודה להעתיק קובץ למיקום אחד, אתה יכול להוסיף את -אני אפשרות לשאול אם ברצונך להחליף קובץ קיים. אולם, ה -אני אפשרות היא אפשרות אינטראקטיבית (זה גורם cp הפקודה לבקש קלט מהמשתמש) ואתה לא יכול להשתמש באפשרות אינטראקטיבית עם cp הפקודה בעת השימוש בו יחד עם xargs .)

    דבר אחד נוסף שיש לקחת בחשבון, הוא שאם אתה מעתיק קובץ גדול מאוד, ייתכן שתרצה להוסיף את no-clobber ( -n ) אופציה cp הפקודה בפקודה אחת מעל. אפשרות זו מונעת אוטומטית את החלפת הקובץ ביעד אם הוא כבר קיים שם. אם אתה מעתיק קובץ גדול מאוד ברשת, ייתכן שהוא יהיה איטי וייתכן שתרצה להימנע משימוש במשאבים הדרושים כדי להעתיק ולהחליף את הקובץ. הפקודה הבאה מוסיפה את -n , ולא להעתיק את הקובץ לכל יעד המופיע בארגומנטים להצהרת ההד, אם הקובץ כבר קיים באותו יעד.

    הד ~ / TextFiles / ~ / Dropbox / מדיה / לורי / MYUSBDRIVE xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt

    הקלד הד אדם, xargs אדם, או אדם cp בשורת הפקודה ב- Linux לקבלת מידע נוסף על כל פקודות אלה.