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.


Så här hittar du och tar bort Google Assistants lagrade röstdata

Så här hittar du och tar bort Google Assistants lagrade röstdata

Varje gång du använder Google Assistant laddas en inspelning av kommandot till Google - så gör det vad det gör. En kopia av den här inspelningen lagras också på ditt Google-konto, såvida du inte manuellt går in och tar bort den. RELATERAD: Det bästa som Google-assistenten kan göra på din Android-telefon Så varför är dessa data lagrad?

(how-top)

Så här sparar du en kommandos utdata till en fil i basen (även om Linux och MacOS-terminalen)

Så här sparar du en kommandos utdata till en fil i basen (även om Linux och MacOS-terminalen)

När du kör ett kommando vid bash-prompten skriver det normalt utdata från det Kommandot direkt till terminalen så att du kan läsa den direkt. Men bash tillåter dig också att "omdirigera" resultatet av ett kommando, spara det till en textfil så att du kan granska produktionen senare. Detta fungerar i bash på alla operativsystem, från Linux och MacOS till Windows 10: s Ubuntu- Alternativ One: Omdirigera utdata till enbart fil Om du vill använda bash-omdirigering kör du ett kommando, anger operatören > eller >> , och Ange sedan sökvägen för en fil som du vill att produktionen omdirigeras till.

(how-top)