Přeskočit na obsah
@365tipu
  • Domů
    • Práce na dálku
    • Twitter for dummies
    • Jak na Mastodon
    • Facebook a marketing
    • Návod pro Instagram
    • Jak na LinkedIn
    • Bezpečný Internet
    • Bezpečnost pro novináře
    • Soukromí na Facebooku
    • Pomocník webdesignera
    • Jak na WordPress
    • Nepostradatelné software
      • Jak na Windows 11
      • Jak na Windows 10
      • Jak na iPhone/iPad
      • Jak na Mac OS
      • Jak na Apple TV/TV+
      • Jak na Apple Watch
      • Jak na Apple AirTag
      • Microsoft Office
      • Linux
    • Jazykový koutek
    • GTD
    • Filmy a TV seriály
    • Recenze
    • Chytrá domácnost
      • Chytrá domácnost
      • Jak na Google Home
      • Amazon Echo a Alexa
      • Apple HomePod
      • Jak na Raspberry Pi
      • Jak na QNAP NAS
      • Netatmo
    • Jak na Home Assistant
  • Všechny štítky
  • Odběr e-mailem
  • RSS/XML
  • Kontakt
    • Kontakt
    • Twitter
    • Facebook
    • BlueSky
    • Mastodon
      • Threads
    • Zásady Cookies (EU)
31. 10. 2025 podle 365tipů
Linux, Software

TIP#3092: Jak v Linuxu kopírovat soubory a složky? Naučte se cp

cp je základní příkaz v Linuxu pro kopírování souborů, stejně jako copy ve Windows. Ostatně je zkratka právě z oné delší verze. 

Funguje klasicky, tedy napíšete cp odkud kam a systém vytvoří kopii. V odkud je možné uvádět jméns souborů ale používat i zástupné znaky (* a ?) pro výběr více souborů. Pozor na to, že skryté soubory (ty co začínají tečkou) to bude ignorovat. 

Vtip s tečkovanými soubory je, že

  • cp -a zdroj/* cil/ # nekopíruje je
  • cp -a zdroj/. cil/ # je kopíruje
  • cp cp -a zdroj cil/ # je kopíruje

Základní příklady použití

Základní kopie jednoho souboru

cp foto.jpg /mnt/usb/

Více souborů do adresáře (ano, jako zdroj jde uvádět víc věcí, cíl je pak ten poslední)

cp *.png *.jpg /mnt/usb/obrazky/

Kopie včetně skrytých souborů (nepoužívat hvězdičku)

cp -a projekt/. /mnt/backup/projekt/

TIP: Chcete návod? V Linuxu prostě zkustei man cp. Na webu třeba v cp(1) — Linux manual page

Kopírování složek

Umí kopírovat i složky (tedy jejich obsah), ale tam musíte použít -r jako parametr. Tedy něco jako cp -r vychozislozka/ cilovaslozka/

MImochodem, místo -r se doporučuje používat -R. 

Hodit se alespíše může -a (-dR –preserve=all) což je kombinace rekurze (tedy obsahu složek) a zachování práv, vlastníka, časů, symlinků, ACL, xattr atd

Rekurzivní kopie adresáře (doporučeně -a)

cp -a projekt/ /mnt/backup/

Aby toho nebylo málo, tak je tu ještě –parents, které v cíli vytvoří i cestu. Tedy tu původní cestu ke zdroji, pro názornost:

cp –parents a/b/c.txt /backup/ → /backup/a/b/c.txt (tedy v /backup vytvoří ony složky)

Zachovat cestu (parents)

cp –parents src/app/config.yaml /backup/

“Synchronizace” pouze nových/novějších souborů

cp se v základní podobě dá použít pro zálohování/synchronizaci, ale tam je vhodné využít -u. Zajistí, že se budou kopírovat pouze novější soubory+ty co v cíli chybí  a ne tedy vše co ve výchozí složce máte. Pochopitelně tedy v kombinaci jako -ru

Kopie pouze novějších souborů (rychlé „přisypání“)

cp -a -u zdroj/ cil/

TIP: pokud chcete opravdu synchronizovat, naučte se používat rsync

Ochrana proti blbosti

cp prostě spustíte a ono kopíruje a klidně přepíše cokoliv, co v cílovém místě je a nebude se na nic ptát. Pokud chcete aby se ptalo, použijte -i (interaktivně).

Užitečné  je -n (no-clobber) které zajistí, že pokud v cíli už soubor existuje, nepřepíše ho. Opak je -f (force) s vynuceným přepsáním. 

Bezpečně – nepřepisuj existující

cp -a -n zdroj/ cil/

Šikovné je -b (–backup) kde případné přepsání vytvoří zároveň zálohu. Původní jméno souboru doplněné o příponu (tu lze určit pomocí –suffix)

Při přepisu dělej zálohu s příponou .bak

cp -a –backup –suffix=.bak zdroj.cfg /etc/zdroj.cfg

Podrobně vidět co se děje

Podobně užitečné je -v (verbose) kde probíhající cp bude vypisovat co kopíruje (odkud kam). 

Včetně atributů

Pokud chcete aby v cílovém podobě byly zachovány atributy (vlastnosti), tak použijte -p. Bez přidání budou mít kopie nový timestamp, vlastníka i mode podle toho kam kopírujete. S -p timestamp zůstane. Pro zachování vlastnictví bude třeba spouštět přes sudo (či jiný odpovídající spůsob)

Symlinky

Také dost důležité:

  • -d (kopíruj symlinky jako symlinky)
  • -L (následuj symlinky)
  • -P (nenásleduj).

Jde i nevytvářet kopie, ale vytvořit symlinky s pomocí -l (hardlinky), -s (symlinky). Což vám ale neudělá duplikát (kopii) ale jen “odkaz” na originál.

Další tipy týkající se Linuxu (a podobných věcí)

  • TIP#3233: Jak se připojit k souborům sdíleným na Macu přes síť

    TIP#3233: Jak se připojit k souborům sdíleným na Macu přes síť

    V Jak na MacOS zpřístupnit soubory pro další počítače přes síť můžete zjistit jak na Macu zpřístupnit složky pro sdílení přes síť. A v tomto tipu, jak k nim přistupovat z dalších…

  • TIP#3213: Jak na MacOS, Windows i jinde mít snadného a praktického SSH klienta? 

    TIP#3213: Jak na MacOS, Windows i jinde mít snadného a praktického SSH klienta? 

    SSH klient, terminál, prostě cokoliv co vám umožní přístup na stroje co mají “linuxový shell” je vesmírně užitečná věc. A je dost jisté, že si nevystačíte s tím co má daný systém…

  • TIP#3197: Jak stáhnout video z Instagramu?

    TIP#3197: Jak stáhnout video z Instagramu?

    Už se to tu vlastně probíralo v Jak z YouTube v terminalu (Mac, Linux, atd) stáhnout video z youtube? A získat zvukovou stopu? a nepřekvapivě úplně stejný nástroj, tedy yt-dlp je možné…

  • TIP#3165: Jak uspat/hibernovat Ubuntu z terminalu (příkazové řádky)

    TIP#3165: Jak uspat/hibernovat Ubuntu z terminalu (příkazové řádky)

    Pokud máte počítač s displejem, klávesnici a myší, tak uspání či hibernace bývají jednoduché. Prostě je to tam někde v menu a stačí kliknout. Nebo použít zapínací tlačítko. Co když ale máte…

  • TIP#3164: Acemagic Mini PC jako alternativa k velké PC krabici

    TIP#3164: Acemagic Mini PC jako alternativa k velké PC krabici

    Pořídil jsem Acemagic A3A i3-1215U (16+512GB) Silver, mám v plánu u z toho udělat “homelab server” pro nějaké věci, které nechci páchat na QNAP NAS ani na “klasickém PC”, natož na Mac…

  • TIP#3160: Jak v terminálu v Linuxu hledat v souborech. Grep a ripgrep

    TIP#3160: Jak v terminálu v Linuxu hledat v souborech. Grep a ripgrep

    Něco co budete potřebovat často, zjistit zda v nějakém textovém souboru je něco obsaženo (a kde). Případně ve kterém ze souborů ve složce to něco jeho.  Související příspěvky TIP#3213: Jak na MacOS,…

  • TIP#3126: Aplikace pro Chromebook? To nejlepší ze tří světů. Vlastní, pro Android a pro Linux

    TIP#3126: Aplikace pro Chromebook? To nejlepší ze tří světů. Vlastní, pro Android a pro Linux

    Pro Chromebooky existují tři hlavní typy aplikací. Nativní, pro Android a pro Linux. Dává to dost velké možnosti najít nejen ty rozšířené a oblíbené, ale přesně to co potřebujete. Související příspěvky TIP#2805: Historie…

  • TIP#3123: Jak na používání Chromebooku a iPhone? Platí i na používání čehokoliv, co není od Apple a k tomu iPhone

    TIP#3123: Jak na používání Chromebooku a iPhone? Platí i na používání čehokoliv, co není od Apple a k tomu iPhone

    Co když máte iPhone a k tomu Chromebook? Jak tohle vhodně skloubit? Prakticky stejně, jako když máte iPhone a k tomu Windows či Linux. Prostě něco co není uzavřený jablečný svět.  Související…

  • TIP#3119: Jak v ChromeOS mít terminál (shell). Jak na virtuální stroj s Linuxem. Vývojářský režim a co je to VT2 shell

    TIP#3119: Jak v ChromeOS mít terminál (shell). Jak na virtuální stroj s Linuxem. Vývojářský režim a co je to VT2 shell

    Chromebooky umí normální linuxový terminál – stačí v nastavení zapnout Vývojové prostředí Linux. Tím se vytvoří virtuální stroj s Debianem (Crostini) a dostanete plnohodnotný shell, aniž byste museli zapínat Developer Mode. Související…

  • TIP#3115: Jak v příkazové řádce spustit více příkazů než jeden

    TIP#3115: Jak v příkazové řádce spustit více příkazů než jeden

    Příkazovou řádku znáte. Ve Windows je CMD (a nově PowerShell), v Linuxu/Macu je to terminál zpřístupňující shell, v různých provedeních (bash, zsh, atd). Je velmi snadné tam prostě spustit jeden příkaz, ale…

  • TIP#3113: K čemu použít starší Chromebook? Ale i starší notebook či počítač

    TIP#3113: K čemu použít starší Chromebook? Ale i starší notebook či počítač

    Pokud jste si pořídili něco novějšího či jiného a zbyl vám Chromebook, je řada možností jak ho začít používat na něco trochu jiného, než byla práce či zábava. Související příspěvky TIP#3131: Chromebook:…

  • TIP#3111: Umíte používat rouru/pipe (|)? Jaké další podobné operátory můžete využívat? 

    TIP#3111: Umíte používat rouru/pipe (|)? Jaké další podobné operátory můžete využívat? 

    Rouru (|) znáte? A co < a >? Víte jak tyhle věcí fungují a k čemu je můžete použít? Liší se to nějak mezi operačními systémy? Související příspěvky TIP#3115: Jak v příkazové…

  • TIP#486: Jak zkontrolovat otevřené TCP/IP porty ve Windows. Poznejte příkaz netstat a další možnost jak na to

    TIP#486: Jak zkontrolovat otevřené TCP/IP porty ve Windows. Poznejte příkaz netstat a další možnost jak na to

    Po vysvětlení k čemu slouží ve Windows příkaz ipconfig je čas na další související příkaz (spustitelný z příkazové řádky). Jmenuje se netstat a můžete si ho nejprve vyzkoušet jako netstat /? (případně…

  • TIP#3092: Jak v Linuxu kopírovat soubory a složky? Naučte se cp

    TIP#3092: Jak v Linuxu kopírovat soubory a složky? Naučte se cp

    cp je základní příkaz v Linuxu pro kopírování souborů, stejně jako copy ve Windows. Ostatně je zkratka právě z oné delší verze.  Funguje klasicky, tedy napíšete cp odkud kam a systém vytvoří…

  • TIP#3091: Jak na MacOS mít (spustit) Linux?

    TIP#3091: Jak na MacOS mít (spustit) Linux?

    MacOS je “tak trochu” Linux, ale se záplavou změn a omezení vytvořených Apple. Pokud potřebujete skutečný Linux, tak je na to třeba jít trochu jinak. Související příspěvky TIP#3226: Jak na Macu s…

1 2 3 … 18
Další stránka»

Související příspěvky

TIP#2989: Jak na (nejen) Raspberry Pi (rychle) vidět chyby/problémy, ke kterým v systému došlo?
TIP#2950: Ve Windows je NET VIEW. Je něco podobného v Linuxu? Jak zjistit jaké servery v síti mají jaké síťové disky?
TIP#2944: Jak v Linuxu zjistit kde se nachází (a odkud se spustí) konkrétní příkaz? Použijte which

Jak na Raspberry Pi? Linux Raspberry Pi Software

Předchozí článekTIP#3091: Jak na MacOS mít (spustit) Linux?Další článek TIP#486: Jak zkontrolovat otevřené TCP/IP porty ve Windows. Poznejte příkaz netstat a další možnost jak na to

Nejnovější příspěvky

  • TIP#3253: Co je to latence a proč to hraje roli (nejen) při hraní her
  • TIP3252: Chladit notebooky podložkou? Co byste měli vědět
  • TIP#3251: Kouzelná meteostanice ATMOS řeší problém, o kterém ani nevíte
  • TIP#3250: Jak zabránit tomu, aby se Mac po restartu znovu otevřel se všemi aplikacemi z poslední relace
  • TIP#3249: Zálohovat počítači či NAS? Rozhodně ano. Ale kam a jak? Včetně velkého přehledu cloudových služeb

Nejčtenější

Přispět na provoz můžete

Přispějte. 500 Kč můžete změnit dle vlastního uvážení. Z částky zaplatíme DPH a pochopitelně daně platbou na účet 331049001/5500, spec. symbol 365. Částku si můžete změnit. Z platby odvádíme DPH a daníme ji.

Zdejší tipy na zajímavé/užitečné věci obsahují affialiate odkazy na Alzu/Aliexpres

... nebo placeným odběrem

Staňte se platícím odběratelem newsletteru. 5 USD/měsíc, 50 USD/rok nebo dle vlastního uvážení od 100 USD/rok. Každou středu a neděli nálož informací.

Kontakt a tak

Kontakt: 365tipu@gmail.com

Veškerý obsah zde uveřejněný je CC-BY-NC-SA

Oznámení