GNU/Linux >> Znalost Linux >  >> Linux

Chtěl bych vložit výstup find do seznamu vstupů scp, jak?

find . -name "*" -exec scp '{}' [email protected]:/directory ';'

Normálně Všechny soubory bych 'taroval' dohromady do jednoho velkého blob a volal 'scp' jen jednou. Něco jako toto:

tar czfv - file1 file2 dir1 dir2 | ssh [email protected]/ tar xvzf - -C directory
  • Je možné si pohrát s parametry --exclude=nebo --include=tar.
  • Další možností by bylo použít rsync.

Můžete to udělat pouze jedním příkazem scp .

  • pro novější verze scp :
scp `find <path> -name <expression>` [email protected]:<path_where_to_copy>
  • pro starší verze:
scp --exec=`find <path> -name <expression>` [email protected]:<path_where_to_copy>

Nezapomeňte zapouzdřit find příkaz mezi zpětnými zaškrtnutími ` a nikoli jednoduché uvozovky ' .


for f in `find . -name "*"`;do scp $f [email protected]/directory;done

Linux
  1. Jak udělat `hlavu` a `ocas` na vstupu odděleném nulou v Bash?

  2. Jak převést potrubí /dev/urandom do linuxového zvukového výstupu?

  3. Jak přenést výsledky 'najít' do mv v Linuxu

  1. Jak převést výstup z grep do cp?

  2. Jak najít seznam ovladačů ODBC nainstalovaných v Linuxu

  3. Jak přesměrovat výstup programu jako jeho vstup

  1. Jak vypsat seznam složek pomocí příkazů bash?

  2. Jak příkazy jako fdisk -l zjistí velikost sektoru?

  3. Jak mohu spojit dvě pojmenované roury do jednoho vstupního proudu v linuxu