Próbuję skopiować zawartość folderu do innego folderu w innym katalogu za pomocą terminala.
Czy ktoś mógłby mi podać przykład składni wiersza poleceń wymaganej do osiągnięcia tego?
Próbuję skopiować zawartość folderu do innego folderu w innym katalogu za pomocą terminala.
Czy ktoś mógłby mi podać przykład składni wiersza poleceń wymaganej do osiągnięcia tego?
Odpowiedzi:
Można skopiować zawartość folderu /source
do innego istniejącego folderu /dest
za pomocą polecenia
cp -a /source/. /dest/
Ta -a
opcja to ulepszona opcja rekurencyjna, która zachowuje wszystkie atrybuty plików, a także zachowuje dowiązania symboliczne.
Na .
końcu ścieżki źródłowej jest określona cp
składnia, która pozwala skopiować wszystkie pliki i foldery, w tym ukryte.
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-p
flagę, aby zachować uprawnienia do plików i znaczniki czasu. cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-a
już sugeruje --preserve=all
, że jest szerszy niż -p = --preserve=mode,ownership,timestamps
.
scp
służy do kopiowania przez sieć (poprzez ssh
) i szyfruje tylko kanał komunikacyjny, a nie pliki w docelowym systemie plików.
Alternatywą jest rsync
rsync -r source/ destination
Zalety rsync to:
Po początkowej synchronizacji skopiuje tylko te pliki, które uległy zmianie.
Możesz go używać przez sieć, co jest wygodne dla plików w $ HOME, zwłaszcza plików konfiguracyjnych.
rsync -r source/ destination
powinno wystarczyć, nie?
rync source/ dest
ludzie będą musieli dostosować polecenie rsync, aby działało tak, jak chcą.
Powiedzmy, że masz folder o nazwie Folder1 w twojej ~
wewnątrz folder1 jest 1 plik o nazwie plik1 i 2 foldery o nazwie sub1 i sub2 każdy z innych plików i folderów wewnątrz nich.
Aby skopiować całą zawartość ~/folder1
do ~/new_folder1
użyłbyś
cp -r ~/folder1/. ~/new_folder1
new_folder1
zawierałby wtedy wszystkie pliki i foldery z folder1
.
cp
to polecenie kopiowania za pomocą terminala, -r
powoduje, że rekurencyjnie (tak więc bieżący katalog + dalsze katalogi w bieżącym) ~/folder1
to folder źródłowy, ~/new_folder1
to folder docelowy dla plików / folderów wewnątrz źródła.
~/new_folder1/folder1
zamiast kopiować zawartość.
cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Sprawdź ten http://www.cyberciti.biz/faq/copy-folder-linux-command-line/, aby uzyskać więcej informacji na temat kopiowania folderu. Mam nadzieję że to pomoże.
cp Command
cp
to komenda Linux do kopiowania plików i katalogów. Składnia jest następująca:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
W tym przykładzie skopiuj /home/vivek/letters
folder i wszystkie jego pliki do /usb/backup
katalogu:
cp -avr /home/vivek/letters /usb/backup
Gdzie,
-a
: Zachowaj określone atrybuty, takie jak katalog tryb pliku, własność, znaczniki czasu, jeśli to możliwe, dodatkowe atrybuty: kontekst, łącza, xattr, wszystkie.
-v
: Wyjaśnij, co się dzieje.
-r
: Kopiuj katalogi rekurencyjnie. Przykład
Skopiuj folder o nazwie / tmp / conf do / tmp / backup:
$ cp -avr /tmp/conf/ /tmp/backup
Skopiuj katalog dir_1 i jego zawartość (_files_) do katalogu dir_2 :
cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_
Skopiuj tylko zawartość (_plików_) katalogu_1 do katalogu katalog_2 :
cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*
_files_
jest symbolem zastępczym dla rzeczywistych plików znajdujących się w katalogu.
Jeśli są dwa foldery: (z uprawnieniem do zapisu)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
Jeśli znajdujesz się w folderze PORTAL, w którym chcesz skopiować całą zawartość innego folderu, powiedz DANE na tym samym poziomie, to zrobisz
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Musisz zauważyć 2 kropki. Ostatnia kropka mówi skopiuj tutaj w obecnym folderze
i
jeden następujący / DATA /. mówi, że wszystkie ZAWARTOŚCI w folderze DANYCH do skopiowania, a nie sam folder DANYCH.
Jeśli usuniesz to końcowe „”. z / DATA /
wtedy cały folder DANYCH zostanie skopiowany do PORTALU (z którego kopiujesz).