cp (Unix)

Z Wikipedii, wolnej encyklopedii

cp – polecenie UNIXowe służące głównie do kopiowania plików. Pliki mogą być skopiowane w tym samym katalogu, innym katalogu, a nawet innym systemie plików czy dysku twardym. Jeśli plik jest kopiowany do tego samego katalogu, musi mieć inną nazwę, niż plik pierwotny. W pozostałych przypadkach nazwa może być taka sama lub zmieniona. Oryginalny plik pozostaje wtedy bez zmian. Komenda cp ma wiele wariantów, dwa najważniejsze zawarte są w GNU i POSIX.

Składnia[edytuj | edytuj kod]

Skopiowanie pliku 'plik1' do pliku 'plik2' (nadpisanie jednego na drugi w tym samym katalogu):

cp plik1 plik2

Skopiowanie pliku 'plik' do katalogu 'katalog':

cp plik katalog

Skopiowanie katalogu 'katalog1' do katalogu 'katalog2':

cp -r katalog1 katalog2

Należy pamiętać, że pod pojęciem katalogu rozumiemy podanie pełnej ścieżki wraz z jego nazwą.

Opcje, z którymi można wykonać polecenie:

  • -F - plik docelowy zostanie usunięty, jeżeli nie będzie można wykonać na nim operacji zapisu.
  • -P - podczas wykonywania komendy, kopiowane są dowiązania symboliczne.
  • -i - użytkownik jest proszony o podanie nazwy pliku, który zostanie nadpisany.
  • -r lub -R - kopiowanie rekurencyjne
  • -p - kopiowanie charakterystycznych cech pliku i lokalizacji źródłowych wraz z cechami pliku docelowego oraz, gdy zachodzi taka potrzeba, lokalizacji docelowej. Kopiowane parametry to czas ostatniej modyfikacji, czas ostatniego korzystania z pliku, ID użytkownika oraz ID grupy (tylko jeśli mamy na to pozwolenie), bity ustawień dostępu do pliku, SUID i SGID.
  • -v - kopiowanie verbose, podczas którego na bieżąco dostajemy informacje o tym, jakie operacje są aktualnie wykonywane

Użyteczne przykłady[edytuj | edytuj kod]

Kopiowanie pliku 'plik' do katalogu 'katalog' zawartego w folderze domowym i zapisanie w nowym pliku czasu modyfikacji oraz ustawień dostępu z pliku źródłowego:

cp -p plik /home/katalog

Kopiowanie wszystkich plików z katalogu 'katalog1' do katalogu 'katalog2':

cp /home/katalog1/* /home/katalog2

Należy pamiętać, że kopiowane są jedynie pliki bez całej wewnętrznej struktury podkatalogów. Jeżeli chcemy wykonać kopię z katalogami, uruchamiamy komendę z opcją '-r' oraz usuwamy '*' ze ścieżki katalogu źródłowego:

cp -r /home/katalog1/ /home/katalog2

Kopiujemy kilka plików o nazwach 'plik1', 'plik2' oraz 'plik3' do katalogu 'katalog':

cp plik1 plik2 plik3 /home/katalog

Kopiujemy kilka plików o nazwach 'plik1', 'plik2' oraz 'plik3' do katalogu 'katalog', uruchamiamy komendę z opcją '-v':

cp -v plik1 plik2 plik3 /home/katalog

'plik1' -> '/home/katalog/plik1'
'plik2' -> '/home/katalog/plik2'
'plik3' -> '/home/katalog/plik3'

Powiązane hasła[edytuj | edytuj kod]

Inne komendy związane z kopiowaniem, plikami oraz katalogami:

  • cpio – kopiowanie całej struktury z katalogu do katalogu.
  • tar – tworzenie pliku archiwalnego zawierającego dany plik lub katalog.
  • ln – tworzenie ścieżki do pliku lub katalogu.
  • mv – przenoszenie pliku lub katalogu.
  • rm – usunięcie pliku lub katalogu.
  • chmod – zmiana ustawień dostępu dotyczących pliku lub katalogu.
  • chown – zmiana właściciela pliku lub katalogu.
  • chgrp – zmiana grupy pliku lub katalogu.
  • UUCP – kopiowanie pliku lub katalogu między różnymi wersjami systemu UNIX.
  • scp – bezpieczne kopiowanie za pośrednictwem protokołów SSH.

Linki zewnętrzne[edytuj | edytuj kod]