Het kopiëren van een bestand is in elk modern besturingssysteem, dus ook in Linux, heel eenvoudig. Net als in Windows en Mac kunt u een bestand eenvoudig kopiëren via een GUI-opdracht door met de rechtermuisknop op het bestand te klikken en de optie kopiëren te kiezen.
Wat echter als u een bestand naar meerdere mappen wilt kopiëren met een enkele opdracht. Dit kunt u alleen doen via de opdrachtregel.
Normaal gesproken gebruiken we in Linux de opdracht cp om een bestand te kopiëren. Maar, dit commando kan alleen worden gebruikt om een bestand naar een specifieke map te kopiëren. Als je een bestand naar meer dan een bestemming wilt kopiëren, moet je een ander alternatief zoeken.
Gelukkig zijn er in Linux zoveel commando’s. Als we dieper ingaan op een commando, kunnen we er een heleboel dingen mee doen. In dit geval, gaan we praten over “echo”.
Dit commando wordt in principe gebruikt om op het scherm te schrijven. Maar, we kunnen dit commando ook gebruiken om een bestand te kopiëren met extra opties. Voordat we het commando uitvoeren, is het beter om te begrijpen hoe het commando werkt.
Hieronder staan de syntaxis van het commando dat we gaan gebruiken.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp file1
In dit geval willen we de uitvoer van het echo commando als invoer naar het xargs commando voeren. Om dit te doen, gebruiken we het pipe-symbool ( | ) dat uitvoer van een opdracht als invoer naar een andere opdracht voert. De opdracht xargs voert de opdracht cp drie keer uit, waarbij telkens het volgende directorypad dat door de opdracht echo is doorgegeven, aan het eind van de opdracht cp wordt toegevoegd. Er worden drie argumenten doorgegeven aan xargs, maar de -n 1 optie op het xargs commando vertelt het om slechts een van deze argumenten tegelijk toe te voegen aan het cp commando elke keer dat het wordt uitgevoerd.
Krijgt u het?
Hieronder is het voorbeeld van het commando.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp copythisfile.txt