CP(1)

NAZWA
cp - kopiuje pliki i katalogi

SKŁADNIA
cp [OPCJA]... [-T] ŹRÓDŁO CEL
cp [OPCJA]... ŹRÓDŁO... KATALOG
cp [OPCJA]... -t KATALOG ŹRÓDŁO...

OPIS

Kopiuje ŹRÓDŁO do CELU lub wiele ŹRÓDEŁ do KATALOGU.

Argumenty, które są obowiązkowe dla długich opcji, są również obowiązkowe dla krótkich.

-a, --archive
    równoważne -dR --preserve=all

--attributes-only
    nie kopiuje danych, lecz same atrybuty pliku

--backup[=METODA]
    tworzy kopię zapasową każdego istniejącego pliku docelowego

-b  jak --backup, lecz nie przyjmuje argumentu

--copy-contents
    podczas kopiowania rekursywnego kopiuje zawartość plików specjalnych

-d  równoważne --no-dereference --preserve=links

--debug
    tłumaczy, jak plik jest kopiowany. Wymusza -v

-f, --force
    jeśli istniejący plik docelowy nie może zostać otwarty, usuwa go i próbuje ponownie (opcja ta jest ignorowana, jeśli użyto też opcji -n)

-i, --interactive
    pyta przed nadpisywaniem (ma pierwszeństwo przed wcześniejszą opcją -n)

-H  podąża za dowiązaniami symbolicznymi z wiersza poleceń w ŹRÓDLE

-L, --dereference
    zawsze podąża za dowiązaniami symbolicznymi w ŹRÓDLE

-P, --no-dereference
    nigdy nie podąża za dowiązaniami symbolicznymi w ŹRÓDLE

--keep-directory-symlink
    podąża za istniejącymi dowiązaniami symbolicznymi do katalogów

-l, --link
    tworzy dowiązania twarde zamiast kopii

-n, --no-clobber
    (przestarzałe) po cichu pomija istniejące pliki. Zob. też --update

-p  równoważne --preserve=mode,ownership,timestamps

--preserve[=LISTA-ATRYB]
    zachowuje podane atrybuty

--no-preserve=LISTA-ATRYB
    nie zachowuje podanych atrybutów

--parents
    używa pełnej nazwy pliku źródłowego pod KATALOGIEM

-R, -r, --recursive
    kopiuje katalogi rekurencyjnie

--reflink[=KIEDY]
    kontroluje klonowanie/kopiowanie przy zapisie. Patrz niżej

--remove-destination
    usuwa każdy istniejący plik docelowy przed próbą otwarcia go (w odróżnieniu od opcji --force)

--sparse=KIEDY
    kontroluje tworzenie tzw. rzadkich plików. Patrz niżej

--strip-trailing-slashes
    usuwa końcowe ukośniki z każdego argumentu ŹRÓDŁO

-s, --symbolic-link
    tworzy dowiązania symboliczne zamiast kopii plików

-S, --suffix=PRZYROSTEK
    używa podanego przyrostka kopii zapasowej zamiast domyślnego

-t, --target-directory=KATALOG
    kopiuje wszystkie argumenty ŹRÓDŁA do KATALOGU

-T, --no-target-directory
    traktuje CEL jako zwykły plik

--update[=AKTUALIZUJ]
    kontroluje, które z istniejących plików mają być aktualizowane; AKTUALIZUJ={ all (wszystkie), none (żadne), none-fail (żadne-przerwij), older (starsze-domyślnie) }

-u  równoważne --update[=older]. Zob. niżej

-v, --verbose
    wypisuje bieżące działania

-x, --one-file-system
    pozostaje na tym systemie plików

-Z  ustawia kontekst bezpieczeństwa SELinux pliku docelowego na domyślny

--context[=KONTEKST]
    jak -Z lub jeśli poda się KONTEKST - ustawia kontekst bezpieczeństwa SELinux lub SMACK na KONTEKST

--help
    wyświetla ten tekst i kończy pracę

--version
    wyświetla informacje o wersji i kończy działanie

LISTA-ATRYB jest rozdzieloną przecinkiem listą atrybutów. Istnieją następujące atrybuty: mode w przypadku uprawnień (w tym uprawnień atrybutów rozszerzonych i ACL), ownership w przypadku użytkownika i grupy, timestamps w przypadku znaczników czasu pliku, links w przypadku dowiązań zwykłych, context w przypadku kontekstu bezpieczeństwa, xattr w przypadku atrybutów rozszerzonych, natomiast all dotyczy wszystkich atrybutów.

Domyślnie, tzw. rzadkie pliki ŹRÓDŁOWE są wykrywane przez prymitywną heurystykę i powiązane pliki w CELU są również tworzone jako rzadkie. Jest to zachowanie, które można wybrać opcją --sparse=auto. Wybranie opcji --sparse=always spowoduje utworzenie pliku CELU jako rzadkiego, bez względu na to, czy plik ŹRÓDŁOWY zawiera wystarczająco długą sekwencję bajtów zerowych. Opcja --sparse=never zabroni tworzenia rzadkich plików.

AKTUALIZUJ kontroluje które z istniejących plików w celu mają być zastąpione. all jest domyślną operacją, gdy nie poda się opcji --update i powoduje zastąpienie wszystkich istniejących plików w lokalizacji docelowej. none zachowuje się jak opcja --no-clobber tj. żaden z plików w celu nie jest zastępowany, a pomijane pliki nie prowadzą do niepowodzenia programu. none-fail również zapewnia, że pliki w celu nie są zastępowane, lecz informacja o pomijanych plikach jest diagnozowana i skutkuje niepowodzeniem. older jest domyślną operacją, gdy poda się --update i powoduje zastępowanie plików, gdy są starsze niż odpowiadającym im plik źródłowy.

Domyślnie, lub w przypadku podania opcji --reflink=auto, cp spróbuje utworzyć lekką kopię, w której bloki danych są kopiowane tylko, gdy zostały zmodyfikowane; jeśli nie jest to możliwe, program wykonuje kopię standardową. W trybie --reflink[=always] cp zawiedzie, jeśli kopiowanie przy zapisie (CoW) nie jest obsługiwane, natomiast opcja --reflink=never wymusza wykonanie kopii standardowej.

Przyrostkiem kopii zapasowej jest ~, chyba że ustawiono inny opcją --suffix lub SIMPLE_BACKUP_SUFFIX. Metoda kontroli wersji może zostać wybrana opcją --backup lub zmienną środowiskową VERSION_CONTROL. Dostępne opcje:

none, off
    nigdy nie tworzy kopii zapasowych (nawet jeśli podano opcję --backup)

numbered, t
    tworzy kopie numerowane

existing, nil
    numerowane jeśli istniejące kopie są numerowane, w przeciwnym wypadku proste

simple, never
    zawsze tworzy proste kopie zapasowe

Jako szczególny przypadek cp tworzy kopię zapasową ŹRÓDŁA, jeśli podano opcje force i backup, a ŹRÓDŁO i CEL są tą samą nazwą istniejącego, zwykłego pliku.

AUTOR
Napisane przez Torbjorna Granlunda, Davida MacKenzie i Jima Meyeringa.

ZGŁASZANIE BŁĘDÓW
Zgłoszenia błędów proszę wysyłać na adres bug-coreutils@gnu.org
Strona internetowa GNU coreutils: <https://www.gnu.org/software/coreutils/>
Ogólna pomoc dotycząca oprogramowania GNU: <https://www.gnu.org/gethelp/>
O błędach tłumaczenia programu prosimy poinformować przez <https://translationproject.org/team/pl.html>

PRAWA AUTORSKIE
Copyright © 2026 Free Software Foundation, Inc. Licencja GPLv3+: GNU GPL w wersji 3 lub późniejszej <https://gnu.org/licenses/gpl.html>.
Jest to wolne oprogramowanie: można je zmieniać i rozpowszechniać. Nie ma ŻADNEJ GWARANCJI, w granicach określonych przez prawo.

ZOBACZ TAKŻE
install(1)

Pełna dokumentacja: <https://www.gnu.org/software/coreutils/cp>
lub lokalnie, za pomocą info '(coreutils) cp invocation'

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Wojtek Kotwica <wkotwica@post.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.