GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ich möchte die Ausgabe von find in die Eingabeliste von scp leiten, wie?

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

Normalerweise Ich würde alle Dateien zu einem großen Blob zusammenfassen und nur einmal „scp“ aufrufen. Etwa so:

tar czfv - file1 file2 dir1 dir2 | ssh [email protected]/ tar xvzf - -C directory
  • Man könnte mit den Parametern --exclude=oder --include=von tar herumspielen.
  • Eine andere Möglichkeit wäre die Verwendung von rsync.

Das geht mit nur einem Befehl scp .

  • für neuere Versionen von scp :
scp `find <path> -name <expression>` [email protected]:<path_where_to_copy>
  • für ältere Versionen:
scp --exec=`find <path> -name <expression>` [email protected]:<path_where_to_copy>

Achten Sie darauf, find einzukapseln Befehl zwischen Backticks ` und keine einfachen Anführungszeichen ' .


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

Linux
  1. Wie funktionieren Tastatureingabe und Textausgabe?

  2. Wie kann /dev/urandom zur Linux-Soundausgabe geleitet werden?

  3. Wie man die Ergebnisse von 'find' unter Linux an mv weiterleitet

  4. Wie leite ich zum Split-Befehl von Linux?

  5. Wie speichere ich die Befehlsausgabe in Ansible in einem Array?

So finden und listen Sie die Dateien rekursiv nach Datum in Linux auf

So finden Sie die Liste der installierten Repositories in Linux

So finden Sie alle installierten Schriftarten in Linux

Wie listet man Ordner mit Bash-Befehlen auf?

Wie finden Befehle wie fdisk -l die Sektorgröße?

Wie listet man alle Dateien einer Partition unter Linux auf?