W Linuksie za kopiowanie plików odpowiada polecenie cp(1). Użytkownicy DOSa zauważą podobieństwa tej nazwy do nazwy polecenia copy. Polecenie cp posiada wiele opcji, dlatego też przed jego użyciem warto zajrzeć na strony manuala.
Najoczywistszy sposób użycia polecenia cp to oczywiście skopiowanie pliku z jednego miejsca w drugie. Przykładzik:
% cp hejaz /tmp |
Spowoduje to skopiowanie pliku hejaz: z katalogu w którym aktualnie się znajdujemy do katalogu /tmp.
Wielu użytkowników chciałoby przy kopiowaniu pozostawić niezmienione czasy pliku, jak w poniższym przykładzie:
% cp -a hejaz /tmp |
Takie użycie polecenia cp zapewnia, że czasy dostępu, modyfikacji itp. pozostaną niezmienione przy kopiowaniu.
By rekursywnie skopiować zawartość jednego katalogu do drugiego, trzeba wykonać następujące polecenie:
% cp -R mydir /tmp |
Zaowocuje to skopiowaniem katalogu mydir do katalogu /tmp.
Jeżeli życzysz sobie skopiować katalog bądź plik, ale chcesz pozostawić bez zmian wszystkie jego czasy oraz prawa dostępu, użyj cp -p.
% ls -l file -rw-r--r-- 1 root vlad 4 Jan 1 15:27 file % cp -p file /tmp % ls -l /tmp/file -rw-r--r-- 1 root vlad 4 Jan 1 15:27 file |
cp posiada jeszcze wiele innych opcji, szczegółowo opisanych na stronach manuala.
mv(1) przenosi pliki z jednego miejsca w drugie. Brzmi raczej łatwo, co nie?
% mv oldfile /tmp/newfile |
mv posiada kilka użytecznych opcji, opisanych w manualu. Niemniej jednak bardzo rzadko bywają one używane w praktyce.