Kopiowanie oraz przenoszenie plików i katalogów

Damian Stelmach

Kopiowanie danych, kolejna prosta czynność, a jak często stosowana i wykorzystywana. W Linux'ach do kopiowania plików i katalogów wykorzystać możemy polecenie cp. Składania tego polecenia jest bardzo prosta i składa się tak naprawdę z 3 elementów: polecenia, nazwy (plus ewentualnie lokalizacji pliku lub katalogu) oraz miejsca docelowego. Takie polecenie np:

cp dokumenty/2018/faktura1.txt zupa

Przekopiuje plik faktura1.txt, znajdujący się w lokalizacji dokumenty/2018 do katalogu zupa, znajdującego się w lokalizacji bieżącej.

cp ma kilka ciekawych opcji. Jedną z nich jest możliwość zmiany nazwy pliku w nowej lokalizacji, już na etapie przenoszenia. Jeśli wydamy takie polecenie:

cp dokumenty/2018/faktura1.txt zupa/nowa_faktura1.txt

plik faktura1.txt zostanie przekopiowany do katalogu zupa, z jednoczesną zmianą nazwy na nowa_faktura1.txt

cp służy nie tylko do kopiowania plików, ale również całych katalogów. Aby jednak przekopiować zawartość danego katalogu do nowej lokalizacji, musimy użyć parametru r, który pozwala na kopiowania całych struktur katalogów, nie tylko plików. Wykonanie takiego polecenia np:

cp -r dokumenty romana/kopia_dokumenty

spowoduje skopiowanie zawartości katalogu dokumenty do katalogu kopia_dokumenty znajdującego się w katalogu romana

Inny ciekawy parametr polecenia cp to u, który kopiuje tylko te pliki, które zostały zmienione od daty ostatniej kopii. Wykonanie takiego polecenia np:

cp -ru dokumenty romana/kopia_dokumenty

przekopiuje tylko pliki zmienione, zmodyfikowane od czasu wykonania ostatniej kopii.

A teraz mały hack. Jeśli chcemy przekopiować cała zawartość bieżącego katalogu, to możemy zamiast nazwy czy też ścieżki użyć po prostu kropki. Kropka w powłoce bash oznacza aktualny katalog, tak więc jeśli chcemy skopiować cała zawartość lokalizacji, w jakiej się znajdujemy możemy wykonać np. takie polecenie:

cp -r . /cala_kopia

Analogicznie do polecenia cp kopiującego pliki i katalogi działa polecenie mv, które owe pliki i katalogi przenosi. Jego składnia jest dokładnie taka sama jak przy poleceniu cp. Pamiętać musicie tylko o tym ze cp tworzy kopie, a mvprzenosi zasoby z jednej lokalizacji do innej.