Przejdź do głównej zawartości

cp


  • cp – podstawowe narzędzie systemowe służące do kopiowania plików i katalogów.
  • Umożliwia proste kopiowanie danych z jednego miejsca do drugiego, zarówno lokalnie, jak i w ramach różnych struktur katalogów.
  • Powszechnie dostępna we wszystkich systemach Linux i uniksopodobnych.

Okno terminala
cp [opcje] źródło cel
  • Może kopiować pojedyncze pliki, wiele plików lub całe katalogi.
  • Wymaga praw dostępu do plików źródłowych i katalogów docelowych.

ParametrOpis
-r, -R, --recursiveKopiuje katalogi rekurencyjnie.
-i, --interactivePyta o potwierdzenie przed nadpisaniem pliku.
-u, --updateKopiuje tylko jeśli plik źródłowy jest nowszy.
-v, --verboseWyświetla szczegółowy przebieg kopiowania.
-f, --forceNadpisuje pliki bez pytania.
-a, --archiveZachowuje struktury katalogów, prawa, metadane itp.
--preserve=ATTRZachowuje wybrane atrybuty (czas, właściciel, itd.).

Okno terminala
# Przykład 1: Kopiowanie pojedynczego pliku
cp plik.txt kopia.txt
# Przykład 2: Rekurencyjne kopiowanie katalogu
cp -r katalog1 katalog2
# Przykład 3: Kopiowanie z potwierdzeniem nadpisania
cp -i dane.txt /backup/
# Przykład 4: Archiwalne kopiowanie z zachowaniem atrybutów
cp -a projekt/ /mnt/backup/

  • Komenda cp nie kopiuje katalogów domyślnie – trzeba użyć -r.
  • Przy kopiowaniu przez cp nie są zachowywane uprawnienia specjalne (np. ACL), chyba że użyjesz opcji --preserve lub -a.
  • cp nie pokazuje żadnych komunikatów, chyba że użyjesz -v.

Błąd / KomunikatPrzyczynaRozwiązanie
cp: cannot stat 'plik': No such file or directoryPlik źródłowy nie istniejeSprawdź ścieżkę do pliku.
Permission deniedBrak uprawnień do pliku lub kataloguUżyj sudo lub zmień uprawnienia.
cp: omitting directoryPróba skopiowania katalogu bez opcji -rDodaj opcję -r lub -a.