Jak skopiować katalog/folder w Linuksie przez wiersz poleceń!

W systemach operacyjnych Linux istnieją różne komendy do kopiowania folderów. Polecenie cp pomaga ci to zrobić. Aby uporządkować pliki na twoim serwerze, będziesz musiał kopiować. Z komendą cp, możesz skopiować katalog i cały podkatalog z jego zawartością i wszystko pod nim. cp i rsync są jednymi z najbardziej popularnych komend do kopiowania plików i katalogów.

W tym poradniku, wyjaśnimy jak skopiować folder w systemie operacyjnym Linux.

Podstawowa składnia komendy cp

komenda cp jest używana do kopiowania plików lub katalogów w Linuksie. Tworzy ono dokładną kopię pliku na dysku o innej nazwie.

Podstawowa składnia polecenia cp jest pokazana poniżej:

cp Source Destination
cp Source-1 Source-2 Source-3 Destination

Powinieneś zobaczyć wszystkie opcje dostępne w poleceniu cp, uruchamiając następujące polecenie:

cp --help

Powinieneś zobaczyć następujący ekran:

Kopiowanie katalogów za pomocą polecenia cp

Jeśli chcesz skopiować katalog, łącznie ze wszystkimi jego plikami i podkatalogami, użyj opcji -R lub -r z poleceniem cp.

Na przykład, skopiuj katalog /etc do katalogu /opt za pomocą następującego polecenia:

cp -R /etc /opt/

Powyższe polecenie utworzy katalog docelowy i skopiuje rekurencyjnie wszystkie pliki i podkatalogi do katalogu /opt.

Jeśli katalog docelowy już istnieje i chcesz skopiować tylko pliki i podkatalogi, ale nie katalogi docelowe, uruchom polecenie cp z opcją -T, jak pokazano poniżej:

cp -RT /etc /opt/

Jeśli chcesz zachować określone atrybuty, takie jak, własność, znaczniki czasu, kontekst i łącza, uruchom polecenie cp z opcją -a, jak pokazano poniżej:

cp -aR /etc /opt/

Jeśli chcesz wyświetlić dane wyjściowe podczas procesu kopiowania, użyj opcji -v z poleceniem cp:

cp -avR /etc /opt/

Powinieneś zobaczyć dane wyjściowe, jak pokazano poniżej:

Jeśli chcesz skopiować tylko zawartość katalogu /etc do katalogu /opt, musisz podać symbol wieloznaczny gwiazdki, jak pokazano poniżej:

cp -avR /etc/* /opt/

Jeśli chcesz skopiować wiele katalogów, takich jak /etc i /var do katalogu /opt, wykonaj następujące polecenie:

cp -avR /etc /var /opt/

Uwaga: Aby skopiować katalogi, musisz mieć uprawnienia do odczytu w katalogu źródłowym i uprawnienia do zapisu w katalogu docelowym.

Kopiowanie katalogów za pomocą komendy rsync

rsync jest zaawansowanym narzędziem do kopiowania plików, które pozwala na kopiowanie katalogów pomiędzy lokalną a zdalną lokalizacją.

Podstawowa składnia polecenia rsync jest pokazana poniżej:

rsync SOURCE DESTINATION

Możesz zobaczyć wszystkie opcje dostępne w poleceniu rsync, jak pokazano poniżej:

rsync --help

Powinieneś zobaczyć następujący ekran:

Aby skopiować katalog /etc do /opt, należy uruchomić następujące polecenie:

rsync -a /etc /opt

W powyższym poleceniu opcja -a spowoduje skopiowanie katalogu ze wszystkimi jego uprawnieniami i innymi informacjami, w tym z kopią rekursywną. Jeśli katalog docelowy istnieje, rsync go nadpisze.

Jeśli chcesz skopiować tylko zawartość katalogu /etc, to umieść ukośnik / na końcu /etc:

rsync -a /etc/ /opt

Możesz użyć rsync z opcją -v, aby wyświetlić wyjście verbose, jak pokazano poniżej:

rsync -av /etc /opt

Powinieneś zobaczyć następujący ekran:

Jeśli chcesz wyświetlić postęp podczas procesu kopiowania, uruchom rsync z opcją -P, jak pokazano poniżej:

rsync -avP /etc /opt

Możesz również użyć opcji -z z poleceniem rsync, aby skompresować dane pliku podczas transferu:

rsync -avz /etc /opt

Jeśli chcesz wykluczyć określony katalog ze źródła, uruchom następujące polecenie:

rsync -a --exclude 'directoryname' /opt/

Aby wykluczyć wiele katalogów, uruchom następujące polecenie:

rsync -a --exclude {'directory1', 'directory2', 'directory3'} /opt/

Jeśli chcesz skopiować wiele katalogów do /opt, wykonaj następujące polecenie:

rsync -a /etc /usr /opt/

Zakończenie

W powyższym poradniku nauczyliśmy się kopiować katalogi za pomocą poleceń cp i rsync. Aby uzyskać więcej informacji, możesz odwiedzić oficjalną dokumentację Rsync na stronie Rsync Doc.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.