Użyj ditto do inteligentnego kopiowania plików & katalogów z terminala Mac
Spisu treści:
- Korzystanie z Ditto do kopiowania plików/folderów
- Używanie Ditto do scalania katalogów i zawartości folderów
Większość długoletnich użytkowników wiersza poleceń używa polecenia cp do kopiowania plików i katalogów, ale Mac OS X oferuje inne rozwiązanie z poleceniem „ditto”. Ditto jest nieco bardziej zaawansowane, ale może być korzystne dla „cp” z kilku powodów, ponieważ nie tylko zachowuje atrybuty własności i uprawnienia, ale także rozwidlenia zasobów plików oraz metadane plików i folderów, zasadniczo zapewniając, że plik i / lub foldery zostaną dokładnie skopiowane.
Dodatkowo, ditto może być użyte do skopiowania pliku lub folderu do katalogu źródłowego, ale jeśli to źródło jeszcze nie istnieje, ditto automatycznie je utworzy. Ponadto, jeśli folder docelowy istnieje, skopiowana zawartość zostanie scalona w tym katalogu docelowym. Wreszcie, ditto podąża również za dowiązaniami symbolicznymi, co czyni go szczególnie przydatnym, jeśli często używasz polecenia ln.
Aby lepiej zrozumieć polecenie ditto, przejrzyjmy kilka przykładów z prawdziwą składnią.
Korzystanie z Ditto do kopiowania plików/folderów
W najprostszej postaci ditto działa podobnie do polecenia cp, z podstawową składnią w następujący sposób:
docelowe miejsce docelowe źródła
Na przykład, jeśli chcesz skopiować ~/Desktop/FluffyBackups do /Volumes/FluffyBackups/, wystarczy wpisać:
ditto ~/Desktop/FluffyBackups /Woluminy/FluffyBackups/
Znowu, spowoduje to zachowanie wszystkich szczegółów własności i metadanych zasobów kopiowanych plików, co może być szczególnie ważne, jeśli kopiujesz pliki z jednego katalogu użytkownika do drugiego lub jeśli chcesz zachować coś takiego czasy modyfikacji plików.
Jeśli nie masz pewności co do treści źródłowej i docelowej, zawsze możesz porównać je za pomocą polecenia comm lub diff przed wykonaniem polecenia ditto.
Używanie Ditto do scalania katalogów i zawartości folderów
Pamiętaj, ditto sprawdzi, czy miejsce docelowe już istnieje, a jeśli tak, to połączy katalogi źródłowe z docelowym. Jest to ważne i niezwykle przydatne, dzięki czemu jest to jeden z najłatwiejszych sposobów scalania katalogów z wiersza poleceń w systemie Mac OS X (chociaż teraz jest to również łatwe w Finderze).
ditto ~/Pictures/Fall2015/ /Tomy/PhotoBackup/2015/
Spowoduje to pobranie wszystkich zdjęć z „Jesieni 2015” i skopiowanie ich do istniejącego wcześniej katalogu „2015”, skutecznie łącząc zawartość od źródła do miejsca docelowego. Ponownie, zachowanie scalania występuje, gdy miejsce docelowe już istnieje, jeśli miejsce docelowe nie istnieje, zostanie utworzone zgodnie z określeniem lub jako nazwa źródła.
Jeśli używasz ditto do kopiowania danych z katalogów z dowiązaniami symbolicznymi, użycie flagi -V (verbose all) jest cenne, ponieważ wyświetli każdy skopiowany plik i dowiązanie symboliczne. Uwaga -V różni się od -v, które wyświetla tylko pliki jako dane wyjściowe, a nie dowiązania symboliczne.
Kopiuj bez metadanych za pomocą Ditto
Jeśli z jakiegoś powodu nie chcesz kopiować metadanych i rozwidleń zasobów, możesz użyć flagi –norsrc w następujący sposób:
ditto -V --norsrc ~/Sample/Folder /Volumes/NoMetadataBackups
Używanie flagi –norsrc niweluje podstawową zaletę ditto, ale może być przydatne w niektórych przypadkach.
Możesz dowiedzieć się znacznie więcej o doskonałym poleceniu ditto, czytając jego stronę podręcznika, dostępną w systemie Mac OS X po wpisaniu:
man ditto
Jak zwykle użyj klawiszy strzałek, aby poruszać się w górę iw dół na stronie podręcznika.
Zanim zaczniesz w dużym stopniu polegać na ditto, wypróbuj je kilka razy z nieistotnymi przeniesieniami plików i scalaniem katalogów, aby zrozumieć, jak to działa przy planowanym użyciu.