Rozważać:
ls -al ../public-back
drwxrwxr-x 4 apache apache 4096 Apr 19 03:32 templates
ls -al ../public-back/templates
drwxrwxr-x 2 apache apache 4096 Apr 19 03:33 content
drwxrwxr-x 2 apache apache 20480 Apr 20 06:14 images
drwxrwxr-x 2 apache apache 4096 Apr 19 03:35 video
ls -al /public
drwxrwxr-x 4 apache apache 4096 Apr 20 09:49 templates
ls -al /public/templates
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 content
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 images
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 video
Jak przenieść zawartość /public-back/templates
rekurencyjnie z uprawnieniami /public/templates
?
linux
command-line
mv
siliconpi
źródło
źródło
mv -R ../public-back/templates/* public/templates/
Nadal głosowałbym za przeniesieniem pytania.Odpowiedzi:
O ile nie rozumiem pytania, zadziałałoby to:
Ponadto, chyba że masz ogromną listę plików, dodawanie
-i
poprosi przed zastąpieniem czegokolwiek, co zwiększy bezpieczeństwo podczas używania symboli wieloznacznych, takich jak*
.źródło
Directory not empty
wiadomość.mv: target '/public/templates' is not a directory
wystarczy utworzyć folder docelowy ręcznie:mkdir /public/templates
.Strona man dla cp stwierdza:
Próbować;
źródło
mv
jest do przeniesienia , natomiastcp
do kopiowania - rozróżnienie semantyczne / etymologiczne.cp
jest znacznie wolniejszy niżmv
.cp
zmusza komputer do skopiowania wszystkiego z dysku do pamięci RAM, a następnie zapisania go ponownie na dysk, co może zająć dużo czasu w zależności od rozmiaru plików. Jednakmv
zawsze dzieje się to natychmiast, ponieważ tylko linki muszą zostać przepisane.Podczas przenoszenia elementów z pendrive'a na system OSMC znalazłem następujące bardzo przydatne:
Wyjaśnienie, jak to działa poniżej.
BTW, nie zapomnij dodać ukośnika odwrotnego przed spacjami w nazwach katalogów źródłowych lub docelowych (patrz wyżej).
W efekcie znajdujesz wszystkie pliki i wszystkie foldery i przenosisz je jeden po drugim (lub jeśli katalog zostanie znaleziony jako pierwszy, przenosisz ten katalog i zawartą w nim zawartość). To rozpoczyna nowy proces dla każdego ruchu i jest bardzo nieefektywne. Używaj tego tylko, gdy zwykłe polecenia zawodzą.
źródło
mv chyba tego nie robi. Ale możesz użyć tej małej sztuczki, działa jak urok:
i zachowuje uprawnienia i wszystko.
Uwaga: żadne z powyższych nie działało dla mnie, dlatego to obejście.
źródło
Utwórz twarde linki w katalogu docelowym i usuń katalog źródłowy. „mv” po prostu nie będzie działać w twoim przypadku i ogólnie działa tylko wtedy, gdy źródła dir i dest nie mają wspólnych poddrzewa.
Zauważ, że zakładam, że słowo „move” w pytaniu oznacza, że katalog źródłowy powinien zniknąć po operacji.
źródło