GNU/Linux >> Znalost Linux >  >> Linux

Rsync kopíruje aktuální adresář s názvem

Líbí se mi váš skript, ale v případě potřeby jej můžete provést pomocí příkazového řádku přímo z aktuálního adresáře:

rsync -a "$PWD" ~/backup/

nebo podobným způsobem jako váš skriptový přístup s

rsync -a "$(pwd -P)" ~/backup/

Poznámky:

  • Je potřeba uvést aktuální adresář, pokud je v cestě například jedna nebo více mezer.

  • V případě symbolických odkazů v cestě je možné získat fyzické cestu vyhýbá se všem symlinkům zadáním volby -P v pwd vyvolání příkazu ($(pwd -P) ), nebo volání spustitelného souboru s jeho úplnou cestou ($(/bin/pwd) ).
    Ve skutečnosti existuje vestavěný pwd která ve výchozím nastavení zobrazuje symbolické odkazy cestu a spustitelný soubor /bin/pwd která ve výchozím nastavení zobrazuje fyzické cesta.

  • Oba příkazy odkazují na proměnnou $PWD který obsahuje aktuální pracovní adresář když jsou požádáni o verzi cesty s případnými symlinky :pokud tedy nutně nepotřebujete fyzické cestu, můžete se vyhnout volání subshell a použijte přímo proměnnou $PWD .

    rsync -a "$PWD" ~/backup/
    

Nalezeno řešení:

Vytvořil nový skript shellu, jako je tento:

current_dir=`pwd`
dir_name=`basename $current_dir`
rsync -a . ~/backup/$dir_name

a když to provedete, vytvoří se nový adresář v cíli a zkopíruje se obsah aktuální složky.


Linux
  1. Seznam souborů rekurzivně v Linux CLI s cestou relativní k aktuálnímu adresáři

  2. Jak zobrazit výsledek grep s úplnou cestou nebo názvem souboru

  3. Na příkazovém řádku bash zobrazit pouze název aktuálního adresáře (ne úplnou cestu).

  1. rsync N nejnovějších souborů v adresáři

  2. Jak zkrátím aktuální cestu k adresáři zobrazenou na terminálu?

  3. Jak cd do adresáře s tímto názvem -2 (začínající pomlčkou)?

  1. Cat soubory s adresářem?

  2. Sloučení složek s Mv?

  3. CD do neznámého adresáře na známé cestě?