Како копирати датотеку у више директоријума са једном командом у Линуку
Копирање датотеке са Линук командном линијом је једноставно. Међутим, шта ако желите да копирате исти фајл на неколико различитих локација? И то је лако, и ми ћемо вам показати како да то урадите једном командом.
Обично, да бисте копирали једну датотеку, користили бисте цп
наредбу, повезујући се на изворну датотеку и одредишни директориј:
цп ~ / Доцументс / ФилеТоБеЦопиед.ткт ~ / ТектФилес /
Да би га копирали у још два директоријума, многи би само покренули команду још два пута, са различитим дестинацијама:
цп ~ / Доцументс / ФилеТоБеЦопиед.ткт ~ / Дропбок /
цп ~ / Доцументс / ФилеТоБеЦопиед.ткт / медиа / лори / МИУСБДРИВЕ /
Међутим, можемо да урадимо исти задатак са једном командом:
ецхо дир1 дир2 | каргс -н 1 цп филе1
Ево како ради ова команда. Тхе одјек
наредба нормално пише на екран. Међутим, у овом случају, желимо да нахранимо излаз одјек
наредбу као улаз у каргс
команду. Да бисмо то урадили, користимо симбол цеви ( |
) који доводи излаз из једне команде као улаз у други. Тхе каргс
наредба ће покренути цп
наредите три пута, сваки пут додајући следећу путању директоријума до ње из одјек
наредите до краја цп
команду. Постоје три аргумента каргс
, али -н 1
опција на каргс
наредба каже да само додаје један од тих аргумената у исто вријеме цп
наредите сваки пут када се покрене.
Дакле, да се држимо нашег примера из ранијег, три одвојена цп
горе наведене команде могу се комбиновати у једну команду овако:
ецхо ~ / ТектФилес / ~ / Дропбок / медиа / лори / МИУСБДРИВЕ | каргс -н 1 цп ~ / Доцументс / ФилеТоБеЦопиед.ткт
Имајте на уму да ако датотека која се копира постоји у неком од одредишних директоријума, датотека у том одредишту ће бити аутоматски замењена. Нећете бити упитани да ли желите да замените датотеку. (Нормално, када користите цп
наредбу да копирате датотеку на једну локацију, можете додати -и
опцију да питате да ли желите да замените постојећу датотеку. Међутим -и
опција је интерактивна опција (изазива цп
наредбу за тражење уноса од корисника) и не можете користити интерактивну опцију са цп
команду када је користите заједно са каргс
.)
Још једна ствар коју треба размотрити је да ако копирате веома велику датотеку, можда ћете желети да додате "но-цлоббер" ( -н
) опцију за цп
команду у једној команди изнад. Ова опција аутоматски спречава преписивање датотеке на одредишту ако већ постоји. Ако копирате веома велику датотеку преко мреже, она може бити спора и можда ћете желети да избегнете коришћење ресурса потребних за копирање и замену датотеке. Следећа команда додаје -н
опцију, и неће копирати датотеку у било коју дестинацију наведену у аргументима у изразу ецхо, ако датотека већ постоји у том одредишту.
ецхо ~ / ТектФилес / ~ / Дропбок / медиа / лори / МИУСБДРИВЕ | каргс -н 1 цп -н ~ / Доцументс / ФилеТоБеЦопиед.ткт
Упишите ман ецхо, ман каргс или ман цп на командној линији у Линуку за више информација о било којој од ових наредби.