כיצד להעתיק קובץ למספר ספריות עם פקודה אחת ב - 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 לקבלת מידע נוסף על כל פקודות אלה.