====== Raspberry Pi - Arbeiten auf der Kommandozeile. ======
[[einstiegskurs_raspberry_pi| ☚ zurück - Einstiegskurs]]
//
Diese Seite bietet eine Übersicht über die im Kurs behandelten Themen. Im Vordergrund stehen Arbeit auf der Konsole, Dateioperationen und Linux-Systemkonfiguration. Behandelt werden zudem Benutzerverwaltung, Rechtekonzept und der Filesystem Hierarchy Standard (FHS).
//
Dies ist eine kompakte Übersicht (''Cheat Sheet'') über die im Kurs vermittelten Inhalte.
Die einzelnen Themen werden anhand praktischer Übungen demonstriert und angewendet.
====== Kursinhalte ======
*** FHS Standard**
* Einstieg ins Dateisystem
* Übersicht der Verzeichnisse
* Absolute vs. relative Pfade
* Home-Verzeichnis
* **Benutzerverwaltung**
* Grundlagen
* Benutzer, Gruppen, root
* **Zugriffskonzepte**
* Linux-Rechtekonzept
* Zugriffsrechte anschauen und ändern
* Benutzer und Gruppenzuordnung anschauen und ändern
* Sudo-Prinzip
*** Konfiguration von Linux-Systemen**
* Systemkonfiguration
* Benutzerkonfiguration
* **Arbeiten auf der Kommandozeile**
* Prompt erkennen
* Grundlegende Navigation
* Dateien erstellen / anzeigen
* Befehle ausführen
* nützliches: History, Tab-Completion, einfache Tastenkürzel
* **Im Kurs verwendete Terminalbefehle**
----
====== Details ======
===== FHS Standard =====
++++ FHS Standard |
Der Filesystem Hierarchy Standard (**FHS**) ist eine Richtlinie für die Verzeichnisstruktur unter Unix-ähnlichen Betriebssystemen, also für Linux.
(base) student@fsg-pc-0012:/ $ tree -L 1
.
├── bin -> usr/bin
├── boot
├── cdrom
├── dev
├── etc
├── fsglab
├── home
├── lib -> usr/lib
├── lib32 -> usr/lib32
├── lib64 -> usr/lib64
├── libx32 -> usr/libx32
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── snap
├── srv
├── swapfile
├── sys
├── tmp
├── usr
└── var
++++
===== Konfiguration von Linux-Systemen =====
++++ Konfiguration von Linux-Systemen |
==== bash ====
==== bin ====
==== crontab ====
++++
===== Arbeiten auf der Kommandozeile =====
++++ Arbeiten auf der Kommandozeile |
==== Linux Prompt ====
Das erste was man sieht, wenn man die Konsole aufruft (bei Ubuntu z.B. mit "Strg+Alt+T") ist der sogenannte Prompt: //**user@host:~>**//
{{:inf:sample.gif?|}} **//student@saturn:~> //**
| **student**|**@** |**saturn** |**:** |**~**|**>**|
|Hier der Benutzer "student" | | Angemeldet am Computer saturn| |Pfadangabe (~ ist eine Abkürzung für das Homeverzeichnis) | Normaler User haben das > Symbol. |
Dem Prompt kann man entnehmen:
- **Benutzer**
- **Host (Computer)**
- **aktuellen Pfad**
- Außerdem erkennt man am letzten Zeichen, ob man im Root-Modus (#) oder als User angemeldet ist.
==== Linux Konsolenbefehle ====
{{ :inf:linux:console.png?400 |}}
Der Befehl für die Konsole kann aus mehreren Teilen bestehen.
* Dem Befehl an sich
* Den Optionen
* Und dem/den Argument/en
Der Befehl an sich reicht in vielen Fällen aus, um die Grundfunktion zu nutzen.
=== Tastenkombinationen ===
* ''Strg+A / Strg+E'' Anfang/Ende der Zeile.
* ''Strg+U / Strg+K'' Vor/nach dem Cursor löschen.
* ''Tab'' Automatische Vervollständigung von Befehlen/Pfaden.
* ''Strg+C''
=== nützliches ===
* ''History'': Mit der Pfeiltaste hoch/runter können frühere Befehle aufgerufen werden.
* **Quoting**
* Benennung von Dateien und Verzeichnissen
* **Scripte ausführen**: '' chmod +x datei.sh'' macht Skripte ausführbar.
☛ [[:linux_-_grundlagen_-_konsole|Linux - Grundlagen - Konsole]]
++++
----
===== Im Kurs verwendete Terminalbefehle =====
Diese Liste enthält – mit Ausnahme eventuell vergessener Befehle – alle im Kurs verwendeten Kommandos zum schnellen Nachschlagen.
=== Navigation ===
^Befehl^Beschreibung^Beispiel^
|''pwd'' |Aktuelles Verzeichnis anzeigen |''pwd'' |
|''ls'' |Inhalt eines Verzeichnisses anzeigen |''ls -l'' |
|''cd'' |In ein Verzeichnis wechseln |''cd ~/devel'' |
=== Dateien und Verzeichnisse ===
^Befehl^Beschreibung^Beispiel^
|''touch'' |Leere Datei erstellen |''touch test.txt'' |
|''cp'' |Dateien oder Verzeichnisse kopieren |''cp datei.txt backup.txt'' |
|''mv'' |Datei verschieben oder umbenennen |''mv alt.txt neu.txt'' |
|''rm'' |Dateien oder Verzeichnisse löschen |''rm datei.txt'' oder ''rm -rf ~/test''|
|''ln'' |Link (Hardlink oder symbolischer Link) erstellen |''ln -s ziel.txt link.txt'' |
=== Rechte und Benutzer ===
^Befehl^Beschreibung^Beispiel^
|''chmod'' |Zugriffsrechte ändern |''chmod 755 script.sh'' |
|''chgrp'' |Gruppe ändern |''chgrp gruppe datei.txt'' |
|''sudo'' |Befehl mit Root-Rechten ausführen |''sudo apt install paketname'' |
=== Archivieren ===
^Befehl^Beschreibung^Beispiel^
|''tar'' |Archive erstellen oder entpacken |''tar -xzf archiv.tgz'' |
|''zip'' |ZIP-Archiv erstellen |''zip -r devel_archiv.zip ~/devel'' |
|''unzip''|ZIP-Archiv entpacken |''unzip devel_archiv.zip'' |
=== Netzwerk ===
^Befehl^Beschreibung^Beispiel^
|''ssh'' |Verbindung zu entferntem Rechner |''ssh -X pi@raspi'' |
|''scp'' |Dateien über SSH kopieren |[[course:scp|🎓 Mini-Tutorial]] |
=== System ===
^Befehl^Beschreibung^Beispiel^
|''apt'' |Paketverwaltung |''sudo apt install paketname'' |
|''sudo reboot'' |System neu starten |''sudo reboot'' |
|''sudo shutdown -r now'' |System neu starten |''sudo shutdown -r now'' |
|''sudo shutdown -h now'' |System herunterfahren |''sudo shutdown -h now'' |