meta: 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