Folder1/
-fileA.txt
-fileB.txt
-fileC.txt
> mkdir Folder2/
> [copy command]
A teraz Folder2/
wygląda tak:
Folder2/
-fileA.txt
-fileB.txt
-fileC.txt
Jak to zrobić? Próbowałem, cp -r Folder1/ Folder2/
ale skończyło się na:
Folder2/
Folder1/
-fileA.txt
-fileB.txt
-fileC.txt
Co jest bliskie, ale nie dokładnie to, czego chciałem.
Dzięki!
cp -R
will, ale to będzie rekurencyjnie kopiowane, więc możesz tego użyć lub nie. Możesz zrobić,cp Folder1/.* Folder2/
aby skopiować tylko ukryte pliki.sudo: unable to execute /bin/cp: Argument list too long
Całkiem proste, z
*
symbolem wieloznacznym.Ale zgodnie z twoim przykładem rekursja nie jest potrzebna, więc wystarczy:
EDYTOWAĆ:
Lub pomiń
mkdir Folder2
część i po prostu biegnij:źródło
ls | sort -k1.5 | head -8 > folder1
więc jak to zrobić?Aby wykonać dokładną kopię, uprawnienia, własność i wszystko to użyj „-a” z „cp”. „-r” skopiuje zawartość plików, ale niekoniecznie pozostawi inne rzeczy bez zmian.
(upewnij się, że miejsce docelowe / istnieje jako pierwsze)
Jeśli chcesz wielokrotnie aktualizować z jednego do drugiego lub upewnić się, że skopiowałeś również wszystkie pliki dotfiles,
rsync
jest to bardzo pomocne:Jest to również możliwe do odzyskania, ponieważ można je ponownie uruchomić, jeśli przerwiesz kopiowanie. Lubię "-v", ponieważ pozwala ci obserwować, co się dzieje, ale możesz to pominąć.
źródło
-v
za?-v
opcja może zająć trochę czasu. Jeśli nie potrzebujesz wyjścia, użyj-a
tylko.