sv.phhsnews.com


sv.phhsnews.com / Hur man kopierar en fil till flera kataloger med ett kommando i Linux

Hur man kopierar en fil till flera kataloger med ett kommando i Linux


Det är enkelt att kopiera en fil med Linux-kommandoraden. Men, om du vill kopiera samma fil till flera olika platser? Det är också enkelt och vi visar hur du gör det med ett kommando.

Normalt, för att kopiera en fil, skulle du använda kommandotcp, länka till källfilen och destinationen katalog:

cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /

För att kopiera den till ytterligare två kataloger, skulle många bara skicka kommandot två gånger med olika destinationer:

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

Vi kan dock göra samma uppgift med ett kommando:

echo dir1 dir2 dir3 | xargs -n 1 cp file1

Så här fungerar det här kommandot. Kommandotechoskriver normalt på skärmen. I det här fallet vill vi emellertid mata utmatningen från kommandotechosom ingång till kommandotxargs. För att göra detta använder vi rörsymbolen (|) som matar utmatning från ett kommando som inmatning till en annan. Kommandotxargskör kommandotcptre gånger, varje gång du lägger till den nästa katalogvägen som piped till den från kommandotechotill slutet avcpkommandot. Det finns tre argument som skickas tillxargs, men alternativet-n 1på kommandotxargsberättar att det bara lägger till en av dessa argument i tagetcp-kommandot varje gång det körs.

Så, för att hålla fast vid vårt exempel tidigare, kan de tre separatacpkommandona ovan kombineras i ett kommando så här:

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

Observera att om filen som kopieras existerar i någon av de angivna målkatalogerna, kommer filen i den destinationen att ersättas automatiskt. Du kommer inte bli frågad om du vill ersätta filen. (Normalt när du använder kommandotcpför att kopiera en fil till en enda plats kan du lägga till alternativet-iför att fråga om du vill ersätta en befintlig fil. alternativet-iär ett interaktivt alternativ (det får kommandotcpatt be om inmatning från användaren) och du kan inte använda ett interaktivt alternativ medcpkommando när du använder den i kombination medxargs.)

En annan sak att tänka på är att om du kopierar en mycket stor fil kanske du vill lägga till no-clobber (- n) till kommandotcpi kommandot ovan ovan. Detta alternativ förhindrar automatiskt att en fil skrivs över i en destination om den redan finns där. Om du kopierar en mycket stor fil via ett nätverk kan det vara långsamt och du kanske vill undvika att använda de resurser som krävs för att kopiera och ersätta filen. Följande kommando lägger till alternativet-noch kopierar inte filen till någon destination som anges i argumenten till ekotillståndet, om filen redan existerar i den destinationen.

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

Skriv man echo, man xargs eller man cp på kommandoraden i Linux för mer information om någon av dessa kommandon.


Hur man byter namn på dina Amazon-ekoapparater

Hur man byter namn på dina Amazon-ekoapparater

Om du bara har en eller två Echos, kan det inte hända att de kallas tråkiga och repetitiva namn som "John's Echo" och "John's Second Echo "i Alexa-appen. Men ju mer Echos du har desto mer kan det betyda, speciellt om du använder funktioner som Amazons "drop in" intercom-system och andra samtalsfunktioner.

(how-top)

Så här ställer du in en timer för dina Philips Hue Lights

Så här ställer du in en timer för dina Philips Hue Lights

Kanske vill du stänga av dina Philips Hue-lampor efter en viss tid har gått, eller få dem att blinka som en påminnelse. Oavsett dina behov, här är hur du ställer in en timer för dina Philips Hue-lampor så att de automatiskt slås på eller av efter en viss tid. Varför ställa in en timer? Det finns många anledningar till att du kanske vill Ställ in en timer för dina ljus.

(how-top)