È un po 'divertente, ci sono molti modi in cui gli strumenti della riga di comando di Linux sono di gran lunga superiori a quelli di Windows, ma una cosa che non ho trovato equivalente è Robocopy . Robocopy è molto più versatile di cp
, e non riesco a capire come fare ciò che voglio con gli strumenti di Linux.
Un caso d'uso specifico è che ho due directory con file per lo più simili, ma uno ha file di origine più recenti e uno ha file di contenuto che l'altra directory non ha, e possibilmente file di origine più recenti (per un sito Web). Voglio copiare i file da quest'ultima directory nella prima, aggiungendo nuovi file di contenuto e simili, ma non sovrascrivendo i file più recenti nella directory di destinazione.
Ho provato a capire come farlo in Linux per circa mezz'ora, ho deciso che probabilmente avrei dovuto imparare lo script bash o qualcosa per fare quello che volevo, e poi ho capito che avrei potuto usare solo il robocopy. Avevo anche altri requisiti. In pratica stavo convertendo un sito Web Python (Django) da un repository SVN in un repository Git e volevo assicurarmi di non aver apportato modifiche senza commit a SVN. Tuttavia, volevo escludere condizionalmente le .svn
directory e i .pyc
file Python compilati. Il seguente comando robocopy fa esattamente quello che voglio:
robocopy source destination /XO /E /XD .svn /XF *.pyc
C'è qualche equivalente a Robocopy in Linux? Ho esaminato rsync
brevemente, ma sembrava che avrei dovuto configurare un server rsync prima di provare a sincronizzare le cartelle.