table of contents
CP(1) | Narzędzia plikowe GNU 4.0l | 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ń:
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:
- -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.
FSF | grudzień 1999 |