28Jun

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

click fraud protection

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

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

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

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

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 בכל פעם שהיא מופעלת.

instagram viewer

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

הד ~ /TextFiles/ ~ / Dropbox /media/lori/ MYUSBDRIVE |xargs -n 1 cp ~ /Documents/ FileToBeCopied.txt

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

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

D ~ ~ /TextFiles/ ~ / Dropbox /media/lori/ MYUSBDRIVExargs -n 1 cp -n ~ /Documents/ FileToBeCopied.txt

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