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.txt
do 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
.
Leave a Reply