Polecenie przenoszenia mv, kopiowania cp


meta: polecenie, przenoszenia, mv, kopiowania, cp


Polecenie przenoszenia mv, kopiowania cp

Jeżeli przeczytałeś/aś wszystkie poprzednie działy i dotarłeś/aś, aż tutaj to sporo już za Tobą. Jesteśmy coraz bliżej materiałów dla których myślę, że i Ty tu jesteś. Przyznam nie mogę się sam doczekać. Jednak nim zajmiemy się tymi sprawami jeszcze trochę musimy się nauczyć systemu z którego korzystamy. Oczywiście nie ma takiej możliwości by wiedzieć wszystko, zawsze znajdzie się coś co może nas zaskoczyć. Podstawowych komend pozostało już nie za dużo i mogę śmiało powiedzieć, że jest to ostatni dział, który uczy podstaw.

Polecenie mv

Na samym początku zajmijmy się przenoszeniem i zmianą nazwy plików. W systemie Linux do obu tych czynności służy jedna komenda. W przypadku gdy chcemy przenieść plik do miejsca gdzie istnieje już plik o tej samej nazwie to zostaje on zastąpiony przez ten kopiowany. Tak zachowa się polecenie w przypadku wybrania podstawowej składni. Dzięki niemu mamy możliwość przenoszenia większej liczby plików jak i również szereg innych właściwości. Poznajmy te najważniejsze.

Zmiana nazwy pliku

mv [nazwa istniejącego pliku] [nazwa pliku na jaką ma być zmieniona]

kali@kali:~$ touch testmv
kali@kali:~$ ls -l testmv 
-rw-r--r-- 1 kali kali 0 Oct  6 17:03 testmv
kali@kali:~$ mv testmv mvtest
kali@kali:~$ ls -l testmv 
ls: cannot access 'testmv': No such file or directory
kali@kali:~$ ls -l mvtest 
-rw-r--r-- 1 kali kali 0 Oct  6 17:03 mvtest
kali@kali:~$ 

Pierwsze trzy linijki chyba nie muszę tłumaczyć. Jeżeli jednak masz problem to zapoznaj się z artykułami polecenia: touch, rm, mkdir, rmdir oraz polecenia: pwd, ls, cd. Natomiast my skupmy swoją uwagę na linijkę trzecią. W ten sposób zmieniamy nazwę pliku z testmv na mvtest co pokazuje kilka następnych linijek.

Przenoszenie plików

Teoretycznie przenoszenie pliku nie różni się niczym innym od zmiany nazwy z tym wyjątkiem iż musimy podać ścieżkę z której pliki pochodzą oraz ścieżkę docelową, czyli taką do której chcemy przenieść dane pliki. Zobaczmy to na przykładzie.

mv [źródło pliku/plików] [miejsce docelowe plików]

kali@kali:~$ touch testmv
kali@kali:~$ mkdir testowy
kali@kali:~$ mv testmv mvtest testowy
kali@kali:~$ ls -l testowy
total 0
-rw-r--r-- 1 kali kali 0 Oct  6 17:03 mvtest
-rw-r--r-- 1 kali kali 0 Oct  6 17:09 testmv
kali@kali:~$ 

Dwie pierwsze linijki wydają się dość jasne, jeżeli jednak nie to zapraszam do zapoznania się z artykułem polecenia: touch, rm, mkdir, rmdir. Kolejna czynność przenosi pliki mvtest oraz testmv do wcześniej stworzonego folderu testowy co z kolei obrazuje przy pomocy polecenia ls -l.

Opcje polecenia mv:

Popatrzmy teraz na opcje polecenia:

-b – tworzy kopie zapasową

-f – usuwa pliki bez jakiegokolwiek pytania

-i – nie pozwala zastąpić pliku bez potwierdzenia

-u – zastępuje pliki nowszymi

-v – wyświetla komunikaty

-S [rozszerzenie] pozwala na zmianę rozszerzenia plików

Ciekawą opcją z wyżej wymienionych jest pierwsza. Dzięki temu poleceniu mamy możliwość wykonania kopi zapasowych. Najprawdopodobniej w jednym z późniejszych artykułów zajmiemy się tą tematyką.

Polecenie cp


meta: polecenie, przenoszenia, mv, kopiowania, cp


Kolejną niezbędną umiejętnością w konsoli jaką należy poznać jest umiejętność kopiowania plików. Niejednokrotnie będziemy chcieli skopiować coś gdzieś i temu zadaniu posłuży nam polecenie cp.

Opcje polecenia cp

Przyjrzyjmy się dostępnym opcjom:

-a – łączy opcje -d oraz -p

-b – tworzy kopie zapasową wskazanego pliku

-d – zachowuje dowiązania

-f – zastępuje analogiczne nazwy plików w folderze gdzie są one kopiowane

-i – wymaga potwierdzenia zastąpienia pliku

-l – tworzy dowiązanie twarde

-p – plik jest kopiowany wraz ze swoimi atrybutami

-r – kopiowanie podkatalogów

-s – tworzy dowiązania

-u – zastępuje stare pliki nowszymi

-v – wyświetla nazwy kopiowanych plików

-x – pomijane są katalogi które nie są zgodne z aktualnym systemem plików

-P – zachowuje atrybuty kopiowanych plików

-R – kopiowanie rekursywne

-S – zmiana rozszerzenia pliku

Warto wnikliwie zapoznać się z opcjami. Polecenie dzięki nim jest bardzo rozbudowane i co ważniejsze bardzo przydatne. Nie zapominajmy, że umiejętność kopiowania będzie jedną z najczęściej przez nas używanych. Dlatego warto na nie poświęcić trochę więcej czasu, by solidnie oswoić się z jego obsługą. Spójrzmy teraz na przykład.

cp [opcja] [źródło] [cel]

kali@kali:~$ touch kopiowanie
kali@kali:~$ mkdir folder
kali@kali:~$ cp kopiowanie folder
kali@kali:~$ ls -l folder/kopiowanie
-rw-r--r-- 1 kali kali 0 Oct  8 16:04 folder/kopiowanie
kali@kali:~$ 

Przekopiowany został plik kopiowanie do folderu folder.

Kopiowanie kilku plików

Oczywiście polecenie nie byłoby tak pomocne gdyby nie jego możliwość kopiowania kilkunastu plików naraz. Wystarczy, że wybierzemy sobie folder z którego chcemy skopiować pliki, a następnie miejsce gdzie mają zostać one skopiowane. Nie możemy również zapomnieć o wcześniej poznanej zasadzie dotyczącej wzorców dopasowania czyli gwiazdek (*) oraz znaków zapytania (?). Ilustruje to przykład poniżej

kali@kali:~$ mkdir kopia
kali@kali:~$ cp -r /etc/apt/* kopia
kali@kali:~$ ls -l kopia
total 24
drwxr-xr-x 2 kali kali 4096 Oct  8 16:19 apt.conf.d
drwxr-xr-x 2 kali kali 4096 Oct  8 16:19 auth.conf.d
drwxr-xr-x 2 kali kali 4096 Oct  8 16:19 preferences.d
-rw-r--r-- 1 kali kali  257 Oct  8 16:19 sources.list
-rw-r--r-- 1 kali kali    0 Oct  8 16:19 sources.list~
drwxr-xr-x 2 kali kali 4096 Oct  8 16:19 sources.list.d
drwxr-xr-x 2 kali kali 4096 Oct  8 16:19 trusted.gpg.d
kali@kali:~$

W taki sposób możemy przekopiować całe katalogi plików jak i również podkatalogów. Ważną rzeczą jest aby mieć do nich uprawnienia bo w innym wypadku otrzymamy informacje o braku możliwości wykonania kopi.

Podsumowanie

Przyznam, że kopiowanie i przenoszenie plików jest czymś z czego korzystam codziennie. Przy testowaniu zabezpieczeń zawsze po uzyskaniu dostępu do innego komputera korzysta się z tych poleceń by sprawdzić jak firewall zareaguje. Przynajmniej ja tak robię i na pewno Ci to pokażę jeżeli będziesz dalej kontynuował czytanie moich artykułów.


meta: polecenie, przenoszenia, mv, kopiowania, cp