====== 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'' |