Kopiuj tylko nowe pliki - czy to możliwe? Zasadniczo chcesz scalić dwa foldery
10
Mam folder na Dysku 1 o nazwie Muzyka i ma on pojemność 100 GB. Mam folder na Dysku 2 o nazwie Muzyka i ma on pojemność 116 GB. To najnowsza wersja. Jak skopiować folder Muzyka z Dysku 2 na Dysku 1 bez konieczności przepisywania każdego pojedynczego pliku?
Opcja scalania pojawi się tylko wtedy, gdy kopiujesz (a nie przenosisz) folder. Pamiętaj, aby przytrzymać optionpodczas przeciągania nowego folderu do lokalizacji starego folderu. Alternatywnie, użycie ⌘+, caby skopiować nowy folder i ⌘+, vaby wkleić stary folder, powinno dać ci możliwość scalenia plików.
Nawet jeśli opcja scalania jest dostępna, czasami nie działa (po prostu zgłasza błąd i nic nie robi) - szczególnie w przypadku dużych folderów, jak w twoim przypadku. To kolejny powód, dla którego powinieneś używać rsync.
rsync skopiuje tylko nowe i zmienione pliki do nowej lokalizacji.
Ważne jest, aby zrozumieć, jak działa ukośnik końcowy argumentu źródłowego. Jeśli występuje ukośnik końcowy, zawartość katalogu / source-path / source-dir zostanie skopiowana do ścieżki docelowej . Jeśli nie ma końcowego ukośnika, sam katalog źródłowy zostanie skopiowany do miejsca docelowego, a jego zawartość znajdzie się na wyższym poziomie w hierarchii docelowej.
Więc jeśli chcesz zreplikować jedną ścieżkę do drugiej, dołącz końcowy ukośnik w następujący sposób:
Ładny chwyt! A jeśli robisz to z wielu dysków (lub z dowolnego miejsca na komputerze) i nie chcesz wpisywać katalogów, możesz po prostu przeciągnąć dysk (zewnętrzny USB lub kapsułę czasu) lub po prostu określony katalog i dodać to do polecenia dla ciebie. Po prostu przeciągnij lokalizację docelową do terminala
-R, -r , --recursive: rekursywnie kopiuj katalogi -u , --update: kopiuj tylko wtedy, gdy plik SOURCE jest nowszy niż plik docelowy lub gdy brakuje pliku docelowego -p taki sam jak --preserve = mode, własność , znaczniki czasu -v --verbose: wyjaśnij, co się dzieje
Więc jeśli chcesz skopiować pliki z folderu Pobrania / muzyki, aby powiedzieć swój folder Muzyka / nowy , zrobiłbyś coś w następujący sposób:
Scaliłoby zawartość tych dwóch folderów, a jeśli istnieją dwa pliki o tej samej nazwie i ścieżce, zachowałoby najnowszy oparty na sygnaturze czasowej. cp -ruvp ~/Downloads/music/* ~/Music/new/
Czy na pewno opcja -u działa z poleceniem cp w OSX? Dostaję komunikat „cp: nielegalna opcja - u” w Sierra. Wygląda na to, że nie wszystkie polecenia są takie same jak w Linuksie.
Wypróbuj polecenie cp --help i sprawdź, czy opcja jest dostępna. Lub sprawdź wersję cp i upewnij się, że jest aktualna. Używam: cp (GNU coreutils) 8.27
Nie jestem pewien, dlaczego domyślny przycisk Scalanie lwa nie jest dla mnie wyświetlany. Ale skończyło się na tym ditto. Znaleziono tutaj: https://superuser.com/a/221599/102789
BĄDŹ OSTROŻNY! ditto nie zachowuje nowszych plików, zawsze nadpisuje miejsce docelowe źródłem. Jeśli plik źródłowy jest starszy, usunie nowy plik i zastąpi starszym plikiem
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.