da.phhsnews.com


da.phhsnews.com / Sådan kopieres en fil til flere mapper med en kommando i Linux

Sådan kopieres en fil til flere mapper med en kommando i Linux


Kopiering af en fil med Linux-kommandolinjen er let. Men hvad hvis du vil kopiere den samme fil til flere forskellige steder? Det er også nemt, og vi viser dig, hvordan du gør det med en kommando.

Normalt vil du bruge kommandoencpfor at linke til kildefilen og destinationen katalog:

cp ~ / Dokumenter / FileToBeCopied.txt ~ / TextFiles /

For at kopiere den til to andre mapper, ville mange mennesker bare køre kommandoen to gange med forskellige destinationer:

cp ~ / Dokumenter /FileToBeCopied.txt ~ / Dropbox /
cp ~ / Dokumenter / FileToBeCopied.txt / media / lori / MYUSBDRIVE /

Vi kan dog gøre den samme opgave med en kommando:

echo dir1 dir2 dir3 | xargs -n 1 cp file1

Sådan fungerer denne kommando. Kommandoenechoskriver normalt til skærmen. Men i dette tilfælde ønsker vi at føje output fra kommandoenechosom input til kommandoenxargs. For at gøre dette bruger vi pipesymbolet (|), som feeds output fra en kommando som input til en anden. Kommandoenxargskører kommandoencptre gange, hver gang der tilføjes den næste katalogvej, der er ledet til den fra kommandoenechotil slutningen af ​​cpkommando. Der er tre argumenter, der sendes tilxargs, men kommandoen-n 1på kommandoenxargsfortæller det kun at tilføje et af disse argumenter ad gangen tilcpkommandoen hver gang den køres.

Så for at holde fast ved vores eksempel fra tidligere kan de tre separatecpkommandoer ovenfor kombineres til en kommando som denne:

echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp ~ / Dokumenter / FileToBeCopied.txt

Bemærk, at hvis filen, der kopieres, findes i en af ​​de angivne destinationsmapper, vil filen i den pågældende destination automatisk blive erstattet. Du bliver ikke spurgt, om du vil erstatte filen. (Normalt, når du bruger kommandoencptil at kopiere en fil til et enkelt sted, kan du tilføje optionen-ifor at spørge om du vil erstatte en eksisterende fil.-ier en interaktiv mulighed (det får kommandoencptil at bede om input fra brugeren), og du kan ikke bruge en interaktiv mulighed medcpkommando, når du bruger den i forbindelse medxargs.)

En anden ting at overveje, er at hvis du kopierer en meget stor fil, vil du måske tilføje den no-clobber (n) til kommandoencpi kommandoen ovenfor. Denne indstilling forhindrer automatisk, at en fil overskrives i en destination, hvis den allerede findes der. Hvis du kopierer en meget stor fil via et netværk, kan det være langsomt, og du vil muligvis undgå at bruge de nødvendige ressourcer til at kopiere og erstatte filen. Følgende kommando tilføjer valgmuligheden-nog vil ikke kopiere filen til en destination, der er angivet i argumenterne til ekkooversigten, hvis filen allerede findes i den pågældende destination.

echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp -n ~ / Dokumenter / FileToBeCopied.txt

Skriv man ekko, mand xargs eller man cp på kommandolinjen i Linux for mere information om nogen af ​​disse kommandoer.


Hvorfor NVIDIA gemmer gigabyte af installationsfiler på harddisken?

Hvorfor NVIDIA gemmer gigabyte af installationsfiler på harddisken?

Hvis du er en gamer (eller bare en pc-bruger) med NVIDIA-grafik, spilder NVIDIA's drivere sandsynligvis spilde gigabyte på din harddisk. NVIDIA efterlader gamle installationsfiler begravet på harddisken, indtil du bliver irriteret og manuelt sletter dem ... hvis du selv er klar over, at du skal bruge.

(how-top)

Ikke alle Ethernet-kabler er ens: Du kan få hurtigere LAN-hastigheder ved at opgradere

Ikke alle Ethernet-kabler er ens: Du kan få hurtigere LAN-hastigheder ved at opgradere

Kablede forbindelser, der bruger Ethernet-kabler, er generelt hurtigere og har lavere latency end Wi-Fi-forbindelser. Men ligesom moderne Wi-Fi-hardware er avanceret, kan moderne Ethernet-kabler kommunikere hurtigere. RELATERET: Opgrader din trådløse router til hurtigere hastigheder og mere pålidelig Wi-Fi For en typisk hjemmenetværk, er det ikke så meget, da din internetforbindelse er flaskehalsen.

(how-top)