To trochę zabawne, istnieje wiele sposobów, w jakie narzędzia wiersza poleceń Linuksa są znacznie lepsze niż narzędzia Windows, ale jedna rzecz, której nie znalazłem, jest robocopy . Robocopy jest o wiele bardziej wszechstronny cp
i nie mogę wymyślić, jak zrobić to, co chcę z narzędziami Linux.
Szczególny przypadek użycia polega na tym, że mam dwa katalogi z przeważnie podobnymi plikami, ale jeden ma nowsze pliki źródłowe, a drugi zawiera pliki zawartości, których nie ma drugi katalog, i być może nowsze pliki źródłowe (dla strony internetowej). Chcę skopiować pliki z drugiego katalogu do poprzedniego, dodając nowe pliki zawartości i takie, ale nie zastępując nowszych plików w katalogu docelowym.
Próbowałem wymyślić, jak to zrobić w Linuksie, może przez pół godziny, zdecydowałem, że prawdopodobnie będę musiał nauczyć się skryptowania bash lub czegoś, co chcę, a potem zdałem sobie sprawę, że mogę po prostu użyć robocopy. Miałem też inne wymagania. Zasadniczo konwertowałem witrynę Python (Django) z repozytorium SVN do repozytorium Git i chciałem się upewnić, że nie wprowadzę niezatwierdzonych zmian w SVN. Chciałem jednak warunkowo wykluczyć .svn
katalogi i .pyc
skompilowane pliki Pythona. Następujące polecenie robocopy robi dokładnie to, co chcę:
robocopy source destination /XO /E /XD .svn /XF *.pyc
Czy jest jakiś odpowiednik Robocopy w Linuksie? Zajrzałem do niego rsync
krótko, ale wydawało mi się, że musiałbym skonfigurować serwer rsync przed próbą synchronizacji folderów.