Zoeken op website

Hoe een bestand naar meerdere mappen in Linux te kopiëren


Tijdens het leren van Linux is het voor nieuwelingen altijd de norm om verschillende opdrachten te blijven typen om een eenvoudige taak uit te voeren. Dit is begrijpelijk, vooral als u net gewend bent aan het gebruik van de terminal.

Als je er echter naar uitkijkt om een hoofdgebruiker van Linux te worden, kan het leren van wat ik ‘snelkoppelingen’ zou noemen de neiging tot tijdverspilling aanzienlijk verminderen.

In dit artikel leggen we een eenvoudige manier uit, waarbij we één enkele opdracht gebruiken om een bestand naar meerdere mappen in Linux te kopiëren.

In Linux wordt de opdracht cp gebruikt om bestanden van de ene map naar de andere te kopiëren. De eenvoudigste syntaxis om deze te gebruiken is als volgt:

cp [options….] source(s) destination

Als alternatief kunt u ook de opdracht Advanced Copy gebruiken, die een voortgangsbalk toont tijdens het kopiëren van grote bestanden/mappen in Linux.

Overweeg de onderstaande opdrachten. Normaal gesproken typt u twee verschillende opdrachten om hetzelfde bestand als volgt naar twee afzonderlijke mappen te kopiëren:

cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp

Ervan uitgaande dat u een bepaald bestand naar maximaal vijf of meer mappen wilt kopiëren, betekent dit dat u vijf of meer cp-opdrachten moet typen?

Om dit probleem op te lossen, kunt u het echo-commando, een pipe, xargs-commando gebruiken samen met het cp-commando in het onderstaande formulier:

echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

In het bovenstaande formulier worden de paden naar de mappen (dir1,dir2,dir3…..dirN) herhaald en doorgesluisd als invoer voor het xargs commando, waarbij:

  1. -n 1 – vertelt xargs om maximaal één argument per opdrachtregel te gebruiken en naar het cp-commando te sturen.
  2. cp – gebruikt om een bestand te kopiëren.
  3. -v – schakelt de uitgebreide modus in om details van de kopieerbewerking te tonen.

Probeer de manpagina's van cp, echo en xargs commando's door te lezen om nuttige en geavanceerde gebruiksinformatie te vinden:

man cp
man echo
man xargs

Dat is alles, u kunt ons vragen over het onderwerp of feedback sturen via het onderstaande opmerkingenformulier. Misschien wilt u ook lezen over het voortgangscommando waarmee u de voortgang kunt volgen van (cp, mv, dd, tar, etc.) commando's die momenteel in Linux worden uitgevoerd.