it-swarm.com.de

Befehl cat - wird er überschrieben?

Um den Inhalt einer Datei an eine andere zu übergeben, können wir zum Beispiel:

cat ~/temp_minhakey.pub >> ~/.ssh/authorized_keys

Nehmen wir an, wir müssen mehr Inhalt an authorized_keys anhängen, aber wir wollen nicht ihn überschreiben.

Sollen wir cat wieder für die nächsten Schlüssel verwenden? Oder sollten wir mit etwas Bestimmtem kennzeichnen?

Danke im Voraus.

7
MEM
cat ~/temp_minhakey.pub >> ~/.ssh/authorized_keys

hängt den Inhalt von ~/temp_minhakey.pub an ~/.ssh/authorized_keys an, er überschreibt ihn nicht. Das ist sicher.

Sie könnten mit einem einzelnen > verwechselt werden, der die Datei überschreibt. Der nächste Befehl wird überschreiben Ihre authorized_keys Datei:

cat somefile > ~/.ssh/authorized_keys
15
Lekensteyn

Der letzte Teil dieses Befehls hat nichts mit cat zu tun. Das >> ist eine Shell-Umleitung, die immer an die von Ihnen angegebene Zieldatei angehängt wird. Wenn Sie stattdessen> verwenden, wird die Datei überschrieben.

Es gibt mehrere andere Shell-Weiterleitungen, und Sie werden auf einer Befehlszeile produktiver sein, wenn Sie erfahren, was sie alle sind und wann Sie sie verwenden müssen:

http://www.gnu.org/software/bash/manual/bashref.html#Redirections

7
ImaginaryRobots