====== Linux-Befehl: scp ======
[[raspberry_pi:raspberry_pi_-_arbeiten_auf_der_kommandozeile| ☚ zurück - Raspberry Pi - Arbeiten auf der Kommandozeile.]]
//**Mini-Tutorial**: Praktische Beispiele für Linux-Befehle im Raspberry-Pi-Kurs//
^ Befehl ^ Beschreibung ^
| ''scp'' | Kopiert Dateien verschlüsselt über eine SSH-Verbindung zwischen Client und Remote-Rechner. |
Behandelte Optionen: ''-r'', ''-v''
* ''-r'' - rekursiv (kopiert Verzeichnisse inkl. Unterordner)
* ''-v'' - verbose (oder ''-vv'', ''-vvv''), ausführliche Ausgabe
----
===== Beispiele =====
* Arbeitsrechner: Ubuntu-PC
* Rechner-Name: **ubunti**
* Raspberry Pi
* Rechner-Name: **raspi**
Die Ansprache des Rechners **__kann__** über den Namen erfolgen, wenn dieser im Netzwerk bekannt ist; andernfalls** __muss__** die **IP-Adresse verwendet werden**.
==== Datei: Client → Remote ====
**Szenario:**
* Aktion: push (Client → Remote)
* Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben!
* Remote: Raspberry Pi
Kopiert die Datei ''test.txt'' vom Client in das Home-Verzeichnis des Remote-Rechners.
scp ~/test.txt raspi:~
==== Datei: Remote → Client ====
**Szenario:**
* Aktion: pull (Remote → Client)
* Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben!
* Remote: Raspberry Pi
Kopiert die Datei ''test.txt'' vom Remote-Rechner in das Home-Verzeichnis des Clients.
scp raspi:~/test.txt ~/
==== Verzeichnis: Client → Remote ====
**Szenario:**
* Aktion: push (Client → Remote)
* Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben!
* Remote: Raspberry Pi
Kopiert das komplette Verzeichnis ''projekt'' mit allen Unterordnern und Dateien vom Client zum Remote-Rechner.
scp -r ~/projekt raspi:~
==== Verzeichnis: Remote → Client ====
**Szenario:**
* Aktion: pull (Remote → Client)
* Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben!
* Remote: Raspberry Pi
Kopiert das komplette Verzeichnis ''projekt'' vom Remote-Rechner in das Home-Verzeichnis des Clients.
scp -r raspi:~/projekt ~/
===== Raspberry Pi (per SSH) =====
Wenn man sich auf dem Raspberry Pi mit ''ssh'' eingeloggt hat und dort den ''scp''-Befehlt ausführt,
vertauschen die Rollen von Client und Remote.
**Szenario:**
* Client: Raspberry Pi, führt ''scp'' aus!
* Remote: Ubuntu-PC, der in der scp-Zeile angegeben ist (z. B. Ubuntu-PC oder anderer Host)
Aktionen:
* **Aktion Push:** Pi → Remote
* **Aktion Pull:** Remote → Pi
scp ~/test.txt user@remote-rechner:~/
scp user@remote-rechner:~/test.txt ~/
===== Glossar – Grundbegriffe (SSH / scp / Netzwerk) =====
^ Begriff ^ Kurzdefinition ^
| **Client** | Rechner, auf dem ein Befehl wie ''ssh'' oder ''scp'' ausgeführt wird. Er startet die Verbindung. |
| **Server** | Rechner, auf dem ein Dienst läuft (z. B. der SSH-Server ''sshd''). Er wartet auf Verbindungen. |
| **Host** | Allgemeiner Begriff für ein Gerät im Netzwerk mit eigener IP-Adresse. |
| **Remote Host** | Der entfernte Rechner, zu dem eine Verbindung aufgebaut wird. |
| **Lokales System** | Der Rechner, auf dem man gerade arbeitet (ohne ''user@host:'' in der Befehlszeile). |
| **Benutzer (User)** | Konto auf einem Linux-System, unter dem man sich anmeldet. |
| **SSH** | Verschlüsseltes Netzwerkprotokoll zur Anmeldung und Datenübertragung zwischen Rechnern. |
| **Port** | Nummer, über die ein Dienst erreichbar ist (SSH standardmäßig Port 22). |
| **IP-Adresse** | Numerische Adresse eines Rechners im Netzwerk (z. B. 192.168.0.15). |
| **Hostname** | Name eines Rechners im Netzwerk (z. B. ''raspberrypi''). |
| **Push** | Datenübertragung vom Client zum Remote Host. |
| **Pull** | Datenübertragung vom Remote Host zum Client. |
----