cp (Unix)
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]cp(1)
– strona podręcznika systemu Linux