Det er absolut let at kopiere en fil i alle moderne styresystemer, herunder Linux. Ligesom Windows og Mac kan du nemt kopiere en fil fra GUI-kommandoen ved at højreklikke på filen og vælge kopimuligheden.
Men hvad nu, hvis du ønsker at kopiere en fil til flere mapper med en enkelt kommando. Det kan du kun gøre ved hjælp af kommandolinjen.
Normalt ville vi bruge cp-kommandoen til at kopiere en fil i Linux. Men denne kommando kan kun bruges til at kopiere en fil til en bestemt mappe. Hvis du tænker på at kopiere en fil til mere end én destination, skal du lede efter et andet alternativ.
Glædeligt nok er Linux udstyret med så mange kommandoer. Når vi udforsker dybere over en kommando, kan vi en gøre en masse ting ved hjælp af det. I dette tilfælde vil vi tale om “echo”.
Denne kommando bruges grundlæggende til at skrive på skærmen. Men vi kan også bruge denne kommando til at kopiere en fil med yderligere muligheder. Før vi udfører kommandoen, er det bedre at forstå, hvordan kommandoen fungerer.
Nedenfor er syntaksen for den kommando, vi skal bruge.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp file1
I dette tilfælde ønsker vi at fodre output fra kommandoen echo som input til xargs kommandoen. For at gøre dette bruger vi pipe-symbolet ( | ), som indfører output fra en kommando som input til en anden. xargs-kommandoen vil køre cp-kommandoen tre gange, idet den hver gang tilføjer den næste mappesti, som den har fået i pipen fra ekko-kommandoen, til slutningen af cp-kommandoen. Der overføres tre argumenter til xargs , men indstillingen -n 1 i xargs-kommandoen fortæller den, at den kun skal tilføje et af disse argumenter ad gangen til cp-kommandoen, hver gang den køres.
Forstået?
Nedenfor er et eksempel på kommandoen.
echo dir_1 dir_2 dir_3 | xargs -n 1 cp copythisfile.txt