Articles

Jak skopiować pliki i katalogi w Linuksie

kopiowanie plików i katalogów jest jednym z najczęstszych zadań, które wykonasz podczas pracy z wierszem poleceń. Istnieje kilka poleceń do kopiowania plików w Linuksie ,zcp Irsync jest najczęściej używanymi narzędziami.

powszechną praktyką jest używanie poleceniacp do kopiowania plików irsync do kopiowania katalogów.

aby móc kopiować pliki i katalogi, musisz mieć przynajmniej prawa odczytu pliku źródłowego i prawa zapisu w katalogu docelowym.

kopiowanie plików za pomocą polecenia cp #

w systemach operacyjnych Linux i Unix do kopiowania plików i katalogów służy polecenie cp.

najprostszym przypadkiem użycia jest skopiowanie pliku w bieżącym katalogu roboczym. Na przykład, aby skopiować plik o nazwie file.txt do pliku o nazwie file_backup.txt w bieżącym katalogu, należy uruchomić następujące polecenie:

cp file.txt file_backup.txt

Jeśli plik docelowy istnieje, zostanie nadpisany. Aby uzyskać monit o potwierdzenie przed nadpisaniem plików, użyj opcji-i.

cp -i file.txt file_backup.txt

domyślnie przy użyciu poleceniacp do skopiowania pliku, nowy plik będzie własnością użytkownika wykonującego polecenie. Użyj opcji-p, aby zachować tryb pliku, własność i znaczniki czasu:

cp -p file.txt file_backup.txt

inną użyteczną opcją jest-v. Podczas korzystania z tej opcji polecenie wyświetla, co zostało zrobione:

cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'

skopiuj plik do katalogu #

aby skopiować plik do katalogu, podaj bezwzględną lub względną ścieżkę do katalogu. Gdy katalog docelowy jest pominięty, plik jest kopiowany do bieżącego katalogu.

w poniższym przykładzie kopiujemy plik file.txtdo katalogu /backup :

cp file.txt /backup

kopiowany plik będzie miał taką samą nazwę jak oryginalny plik.

Jeśli chcesz skopiować plik pod inną nazwą, musisz podać żądaną nazwę pliku:

cp file.txt /backup/new_file.txt

powyższe polecenie skopiuje plik do określonego katalogu jako new_file.txt.

Kopiuj wiele plików #

aby skopiować wiele plików i katalogów jednocześnie, podaj nazwy plików źródłowych i katalogów, a następnie katalog docelowy jako ostatni argument:

cp file.txt dir file1.txt file2.txt dir1

podczas kopiowania wielu plików celem musi być Katalog.

polecenie cp pozwala również na użycie dopasowania wzorców. Na przykład, aby skopiować wszystkie .png pliki z bieżącego katalogu do /backup, należy użyć:

cp *.png /backup

kopiowanie katalogów za pomocą polecenia cp #

aby skopiować katalog, w tym wszystkie jego pliki i podkatalogi, należy użyć opcja -R lub -r. W poniższym przykładzie kopiujemy katalog Pictures do Pictures_backup:

cp -R Pictures Pictures_backup

powyższe polecenie utworzy katalog docelowy i rekurencyjnie skopiuje wszystkie pliki i podkatalogi ze źródła do katalogu docelowego.

Jeśli katalog docelowy już istnieje, sam katalog źródłowy i jego zawartość są kopiowane do katalogu docelowego. Aby skopiować tylko pliki i podkatalogi, ale nie katalog docelowy, użyj opcji-T :

cp -RT Pictures Pictures_backup

opcje używane podczas kopiowania plików mogą być również używane podczas kopiowania katalogów. Główną różnicą jest to, że podczas kopiowania katalogów należy użyć opcji-R.

kopiowanie plików i katalogów za pomocą polecenia rsync #

rsync jest szybkim i wszechstronnym narzędziem wiersza poleceń, które synchronizuje pliki i katalogi między dwoma lokalizacjami. Może być używany do kopiowania plików do lokalizacji lokalnych i zdalnych.

rsync zawiera wiele opcji, które kontrolują każdy aspekt jego zachowania

najbardziej przydatną opcją jest-a, która rekurencyjnie kopiuje katalogi, przenosi Urządzenia specjalne i blokowe oraz zachowuje dowiązania symboliczne, czasy modyfikacji, grupę, własność i uprawnienia.

aby skopiować pojedynczy plik z jednego miejsca do drugiego, należy uruchomić następujące polecenie:

rsync -a file.txt file_backup.txt

Jeśli plik docelowy istnieje,rsync nadpisze go.

to samo polecenie może być użyte do skopiowania katalogu:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync zagrożenia katalogów źródłowych, które kończą się końcowym ukośnikiem/ inaczej. Jeśli dodasz końcowy ukośnik do katalogu źródłowego, polecenie skopiuje tylko zawartość katalogu źródłowego do katalogu docelowego. Gdy ukośnik końcowy jest pominięty, rsync skopiuje katalog źródłowy wewnątrz katalogu docelowego. Najbezpieczniejszą opcją jest zawsze włączenie końcowego ukośnika / zarówno w miejscu docelowym, jak i źródłowym.

aby dowiedzieć się więcej orsync sprawdź następujące artykuły:

  • Jak używać Rsync do lokalnego i zdalnego przesyłania i Synchronizacji Danych
  • Jak wykluczać pliki i katalogi za pomocą Rsync

wniosek #

pokazaliśmy ci, jak kopiować pliki i katalogi w systemach Linux i Unix, używając narzędziacp Irsync.