GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jak synchronizovat dvě složky pomocí nástrojů příkazového řádku?

Po migraci na Linux z Windows bych rád našel alternativní software k Winmerge nebo se spíše naučil nástroje příkazového řádku pro porovnání a synchronizaci dvou složek v Linuxu. Byl bych vám vděčný, kdybyste mi řekli, jak provést následující úkoly na příkazovém řádku... (Studoval jsem diff a rsync, ale stále potřebuji pomoc.)

Máme dvě složky:„/home/user/A“ a „/home/user/B“

Složka A je místo, kam se ukládají běžné soubory a složky, a složka B je záložní složka, která slouží jako kompletní zrcadlo složky A. (Ve složce B není nic přímo uloženo ani upraveno uživatelem.)

Moje otázky jsou:

  • Jak vypsat soubory, které existují pouze ve složce B? (Např. ty smazané ze složky A od poslední synchronizace.)

  • Jak zkopírovat soubory, které existují pouze ve složce B, zpět do složky A?

  • Jak vypsat soubory, které existují v obou složkách, ale mají různá časová razítka nebo velikosti? (Ty, které byly změněny ve složce A od poslední synronizace. Rád bych se vyhnul používání kontrolních součtů, protože existují desítky tisíc souborů a proces by byl příliš pomalý.)

  • Jak vytvořit přesnou kopii složky A do složky B? Chci říct, zkopírujte vše ze složky A do složky B, která existuje pouze ve složce A, a smažte vše ze složky B, která existuje pouze ve složce B, ale aniž byste se dotkli souborů, které jsou v obou složkách stejné.

Přijatá odpověď:

Tím se složka A umístí do složky B:

rsync -avu --delete "/home/user/A" "/home/user/B"  

Pokud chcete obsah složek A a B aby to bylo stejné, vložte /home/user/A/ (s lomítkem) jako zdroj. Tím se nevezme složka A, ale veškerý její obsah a vloží se do složky B. Takto:

rsync -avu --delete "/home/user/A/" "/home/user/B"
  • -a Proveďte synchronizaci se zachováním všech atributů souborového systému
  • -v běžet podrobně
  • -u kopírujte pouze soubory s novějším časem úpravy (nebo rozdílem velikosti, pokud jsou časy stejné)
  • --delete odstranit soubory v cílové složce, které ve zdroji neexistují

Manpage:https://download.samba.org/pub/rsync/rsync.html


Linux
  1. Jak převést PDF do JPG pomocí příkazového řádku v Linuxu?

  2. Jak převedu dokument DjVu do PDF v Linuxu pouze pomocí nástrojů příkazového řádku?

  3. Jak nahradit soubor v jar příkazovým řádkem v linuxu?

  1. Jak restartovat Linux pomocí příkazového řádku

  2. Jak odstranit soubory se specifickou příponou v příkazovém řádku Linuxu

  3. Jak synchronizovat dvě složky pomocí nástrojů příkazového řádku?

  1. Jak zkontrolovat pravopis na příkazovém řádku Linuxu pomocí Aspell

  2. Jak zkontrolovat využití CPU v Linuxu pomocí příkazového řádku

  3. Jak mohu zkopírovat složku z příkazového řádku systému Linux?