CP(1)

NAZWA
cp - kopiuje pliki i katalogi

SKŁADNIA
cp [opcja]... źródło przeznaczenie
cp [opcja]... źródło... katalog_docelowy

OPIS
Dokumentacja niniejsza nie jest już utrzymywana i może być niedokładna lub niekompletna. Autorytatywnym źródłem jest obecnie dokumentacja Texinfo. Dostęp do niej uzyskasz wpisując w wierszu poleceń:
    pinfo cp
lub
    info cp.

Ta strona podręcznika opisuje polecenie cp w wersji GNU.

cp kopiuje pliki (lub, opcjonalnie, katalogi). Kopia jest całkowicie niezależna od oryginału. Można kopiować jeden plik na inny albo też kopiować dowolną liczbą plików do katalogu docelowego. Istniejące docelowe pliki są nadpisywane.

Jeśli ostatni argument określa istniejący katalog, to cp cp kopiuje każdy z podanych plików źródłowych do tego katalogu (pod tymi samymi nazwami). W przeciwnym przypadku, gdy podano tylko dwa pliki program kopiuje pierwszy z nich na drugi. Jest błędem, jeśli ostatni argument nie jest katalogiem a podano więcej niż dwa argumenty. Zasadniczo, pliki są zapisywane tak, jak są odczytywane. Wyjątki opisano poniżej w opcji --sparse.

Domyślnie cp nie kopiuje katalogów (patrz opis opcji -r poniżej).

Ogólnie cp odmawia skopiowania pliku na ten sam plik, z następującym jednak wyjątkiem: jeśli użyto opcji --force --backup przy identycznym źródle i przeznaczeniu, odnoszących się do zwykłego pliku, cp utworzy kopię zapasową (backup) pliku (prostą lub numerowaną, w zależności od użytej opcji). Opcja ta jest przydatna do tworzenia kopii zapasowej istniejącego pliku przed jego zmianą. Zobacz `Opcje kopii zapasowych' w podręczniku fileutils(1).

OPCJE

-a ,  --archive
    Zachowuje w kopiach tyle ile możliwe ze struktury i atrybutów oryginalnych plików (ale nie próbuje zachować wewnętrznej struktury katalogów, tzn. ls -U może pokazywać pozycje w skopiowanym katalogu w innej kolejności). To samo co -dpR.

-b [metoda], --backup[=metoda]
    Tworzy kopie zapasowe tych plików, które mają być nadpisane lub usunięte. Zobacz opis opcji -V oraz sekcja `Opcje kopii zapasowych' w podręczniku fileutils(1).

-d, --no-dereference
    Kopiuje dowiązania symboliczne jako dowiązania, zamiast kopiowania plików, na które one wskazują i zachowuje połączenia dowiązań twardych (hardlinks) pomiędzy plikami źródłowymi w kopiach.

-f, --force
    Usuwa istniejące pliki docelowe.

-i, --interactive
    Pyta czy nadpisywać istniejące pliki docelowe.

-l, --link
    Tworzy dowiązania twarde zamiast kopii plików innych niż katalogi.

-p, --preserve
    Zachowuje atrybuty (właściciela, grupę, prawa i czasy) oryginalnych plików. Przy braku tej opcji każdy z plików docelowych jest tworzony z prawami odpowiedniego pliku źródłowego minus bity ustawione w umask. Zobacz `Prawa pliku' w podręczniku fileutils(1).

-P, --parents
    Kopiuje pliki do katalogu docelowego traktując go jako macierzysty; powiela strukturę katalogów, w której były pliki źródłowe. Ta opcja tworzy nazwę każdego z plików docelowych przez dodanie do katalogu docelowego ukośnika i podanej nazwy pliku źródłowego. Ostatni argument podany cp musi być nazwą istniejącego katalogu. Na przykład, polecenie:
        cp --parents miesiac/dzien/godzina rok
    kopiuje plik miesiac/dzien/godzina na plik rok/miesiac/dzien/godzina, tworząc wszystkie brakujące katalogi pośrednie (katalog `rok' musi istnieć przed kopiowaniem).

-r  Kopiuje rekurencyjnie całe poddrzewa katalogów wejściowych do katalogu docelowego. Kopiowane są wszystkie pliki inne niż katalogi i dowiązania symboliczne (tzn. nazwane potoki/FIFO i pliki specjalne) tak, jakby były zwykłymi plikami. Oznacza to próbę odczytu danych z każdego z plików źródłowych i zapisu w docelowych. Zatem, przy użyciu tej opcji cp może czekać w nieskończoność przy odczycie łącza nazwanego, póki coś innego do niego nie zapisze. Zwykle błędem jest zastosowanie `cp -r' do plików specjalnych jak potoki FIFO i inne znajdujących się w katalogu /dev. W większości przypadków `cp -r' zawiśnie próbując czytać z FIFO i plików specjalnych w rodzaju /dev/console/ i przepełni dysk docelowy jeśli użyje się go do skopiowania /dev/zero. Zamiast tego, jeśli chce się kopiować pliki specjalne, należy użyć opcji --recursive (-R). Zachowa to ich specyficzną naturę, zamiast czytania z nich w celu skopiowania zawartości.

-R, --recursive
    Kopiuje rekurencyjnie całe poddrzewa katalogów wejściowych zachowując nie-katalogi (w przeciwieństwie do -r).

--sparse=kiedy
    Określa sposób tworzenia "rzadkich" plików. Plik "rzadki" ("sparse file") zawiera "dziury" -- sekwencje zerowych bajtów, które nie zajmują żadnych fizycznych bloków na dysku; systemowa funkcja odczytu (read) czyta je jako zera. Oszczędza to znacząco miejsce na dysku jak i powiększa prędkość, gdyż wiele plików binarnych zawiera wiele kolejnych bajtów zerowych. Domyślnie cp wykrywa dziury w pliku źródłowym przy pomocy zgrubnych metod heurystycznych i tworzy odpowiedni plik wynikowy również jako rzadki. Argument kiedy opcji --sparse może mieć jedną z następujących wartości:

    auto
        Zachowanie domyślne. Plik wynikowy jest rzadki jeśli plik źródłowy jest rzadki.

    always
        Zawsze tworzy rzadki plik wynikowy. Przydatne, gdy plik źródłowy przechowywany jest w systemie plików nie obsługującym plików rzadkich (najistotniejszym przykładem są systemy `efs' w SGI IRIX 5.3 i wcześniejszych), ale plik wynikowy jest w innego typu systemie plików.

    never
        Nigdy nie tworzy rzadkich plików wynikowych. Daj nam znać jeśli znajdziesz zastosowanie dla tej opcji.

-s, --symbolic-link
    Tworzy dowiązania symboliczne zamiast kopii plików innych niż katalogi. Wszystkie nazwy plików źródłowych muszą być bezwzględne (zaczynające się od `/'), chyba że pliki docelowe są w bieżącym katalogu. Opcja ta wypisuje komunikat o błędzie na systemach, które nie obsługują dowiązań symbolicznych.

-S przyr_kopii, --suffix=przyr_kopii
    Dodaje przyrostek przyr_kopii do nazwy każdego pliku kopii zapasowej wykonanego przy pomocy -b. Jeśli opcja ta nie zostanie podana, to użyta zostanie wartość zmiennej środowiskowej SIMPLE_BACKUP_SUFFIX. Jeśli ona również nie jest określona, to użyty zostanie domyślny znak `~', jak w Emacsie.

--target-directory=katalog
    Określa katalog docelowy. Zobacz sekcja `Katalog docelowy' w fileutils(1).

-u, --update
    Aktualizacja. Nie kopiuje pliku (innego niż katalog), który ma już istniejący cel o tej samej lub nowszej dacie modyfikacji.

-v, --verbose
    Wypisuje nazwę każdego pliku przed jego skopiowaniem.

-V metoda, --version-control=metoda
    Zmienia typ kopii zapasowych wykonywanych za pomocą -b. Jeśli opcja ta nie zostanie podana, to użyta zostanie wartość zmiennej środowiskowej VERSION_CONTROL. Jeśli nie zdefiniowano również VERSION_CONTROL to użyta zostanie domyślny typ kopii zapasowej: `existing'. Opcja ta odpowiada zmiennej `version-control' Emacsa: używane są te same wartości dla typu kopii. Rozpoznają także bardziej opisowe synonimy. Prawidłowe wartości to (unikalne skróty są dopuszczalne):

    t, numbered
        Zawsze tworzy numerowane kopie zapasowe.

    nil, existing
        Tworzy numerowane kopie zapasowe plików, które już je mają, zwykłę kopie dla reszty.

    never, simple
        Robi zawsze zwykłe kopie zapasowe (uzyskiwane przez dodanie przyrostka wg opcji -S).

-x, --one-file-system
    Pomija podkatalogi, które znajdują się na innym systemie plików niż ten, na którym rozpoczęło się kopiowanie. Jednak katalogi stanowiące punkty montowania są kopiowane.

--help
    Wyświetla informację o stosowaniu programu i dostępnych opcjach, kończy działanie.

--version
    Wyświetla numer wersji programu i kończy działanie.

AUTOR
Napisane przez Torbjorna Granlund, Davida MacKenzie i Jima Meyering.

ZGŁASZANIE BŁĘDÓW
Błędy proszę zgłaszać, w jęz. ang., do <bug-fileutils@gnu.org>.

COPYRIGHT
Copyright © 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ZOBACZ TAKŻE
cpio(1), mcopy(1), ln(1), mv(1), rm(1), chmod(1), fileutils(1).

OD TŁUMACZA
Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzędzi plikowych GNU wersji 4.01.