Wenn man als Windows Nutzer das erste Mal mit der Linux Welt in Kontakt kommt lässt die Frustration meistens nicht lange auf sich warten.
Gerade das Arbeiten mit der Konsole ist ungewohnt und ohne Kenntnis der richtigen Befehle nahezu unmöglich. Auch unterscheidet sich das Dateisystem bzw. die Ordnerstruktur verglichen zu der von Windows sehr.
Om het makkelijker te maken om in de Linux-wereld aan de slag te gaan, heb ik geprobeerd hier de belangrijkste informatie, functies en commando's samen te vatten.
Veiligheidsinstructies
Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links / reclame links
De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂
Eisen
Handige artikelen:
Um zu lernen wie ihr euch in der Linux Welt zu Recht finden könnt, ist es am besten wenn ihr euch direkt damit beschäftigt. „Learning by doing“ so zu sagen. Habt keine Angst etwas kaputt zu machen. Das schlimmste was passieren könnte ist, dass ihr Raspian neu installieren müsst.
Wie das geht und wie ihr generell einen funktionsfähigen RaspberryPI konfiguriert habe ich in den folgenden Artikeln beschrieben:
RaspberryPi – Einrichten für nerds
RaspberryPI – De eerste configuratie
RaspberryPi – Bedien de RaspberryPi via SSH
Vereist gereedschap:
-Nee-
Benodigd materiaal:
In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.
opdrachten in de console
Die Konsole unter Linux ist zweierlei. Einerseits könnt ihr damit durch die Ordnerstruktur des RasPi’s navigieren und so das jeweilige Verzeichnis wechseln in dem ihr euch gerade „befindet“.
Dieses Verzeichnis nenne ich(und vllt. auch andere) hier Arbeitsverzeichnis, weil es immer das Verzeichnis ist auf das die aktuell ausgeführten Befehle auch zugreifen.
Als u bijvoorbeeld een map maakt, wordt deze (zonder verdere informatie) in de huidige werkmap gemaakt.
Auch Pfadangaben sind entweder vom Arbeitsverzeichnis ausgehend(relativ) angegeben oder absolut vom Stammverzeichnis(also der höchsten Ordnerebene).
Andererseits ist die Konsole auch Eingabeaufforderung. In Ihr können also Befehle eingegeben und ausgeführt werden.
Letztlich sind es auch die Befehle die es euch ermöglichen durch die Ordnerstruktur zu navigieren.
De vorm van de ingevoerde commando's is bijna altijd hetzelfde.
Für gewöhnlich lautet sie:
BEFEHLSNAME –PARAMATER PFADANGABEN
Das heißt ein Befehl setzt sich immer aus dem Befehlsnamen, eventuellen Parametern und wenn nötig auch Pfadangaben zusammen.
Parameter sind dabei verschiedene Buchstaben die das Verhalten des Befehls beeinflussen. Diese sind bei jedem Befehl unterschiedlich. Eine vollständige Parameterliste und allgemeine Hilfestellung lässt sich zu jedem Befehl anzeigen indem ihr den Befehlsname und den Parameter –help angebt.
cp --help
(Beachtet, dass ihr vor dem „help“ zwei Bindestriche eintragen müsst)
Zeigt euch zum Beispiel alle möglichen Parameter und auch ein paar Beispiele zum Befehl „cp“ an.
Dus als je ooit vergeet hoe een commando werkt of een parameter vergeet, heb je hier geïntegreerde documentatie bij de hand.
Werken in de console
Toon laatst ingevoerde opdracht
Pijltjestoets omhoog/omlaag
Durch einen Druck auf die Pfeiltaste nach oben könnt ihr eure zuletzt eingegeben Befehl ansehen.
Wollt Ihr einen ausgewählten nochmal ausführen reicht es die Enter-Taste zu drücken.
Falls Ihr ihn vorher noch mal bearbeiten wollt könnt ihr durch die Pfeiltasten nach Links und Rechts durch den Befehl navigieren.
Terminal Ausgabe löschen
duidelijk
Dieser Befehl leert die aktuelle Konsolensitzung und zeigt eine „frische“ Eingabeaufforderung an.
Pfadeingaben vervollständigen
Mit der Tabulator-Taste lassen sich Pfadangaben automatisch vervollständigen.
Wollt ihr zum Beispiel gerade vom aktuellen Ordner in den nächsten Order mit dem Namen „naechsterOrdnerMitEinemFuerchterlichLangemNamen“ wechseln so reicht es folgenden Befehl einzutippen:
kp volgende
und dann die Tabulator-Taste zu drücken.
Linux vervollständigt „naechst“ dann automatisch zu „naechsterOrdnerMitEinemFuerchterlichLangemNamen“.
Sollte neben dem Ordner „naechsterOrdnerMitEinemFuerchterlichLangemNamen“ zufällig auch noch ein ähnlich klingender Ordner(z.B. „naechsterOrdnerMitKurzemNamen“) im aktuellen Verzeichnis bestehen so wird der Ordnername nur soweit vervollständigt wie die beiden Ordnernamen sich unterscheiden. In diesem Fall also nur bis „naechsterOrdnerMit“. Wenn man dann jedoch einen Buchstaben des gewünschten Ordners eingibt kann die Vervollständigung wieder ausgeführt werden.
Gibt man zum Beispiel „naechsterOrdnerMitE“ ein und drückt dann die Tabulator-Taste dann weiß Linux bereits, dass der Ordner „naechsterOrdnerMitEinemFuerchterlichLangemNamen“ gemeint sein muss und vervollständigt den Namen dementsprechend.
So spart ihr euch eine Menge frimeliger Tipparbeit. Diese Pfadvervollständigung funktioniert dabei in jedem Befehl.
Ausführung von Befehlen beenden
Met de toetsencombinatie CTRL+C kunnen momenteel lopende processen worden beëindigd.
Bestands- en mapbewerkingen
Toon huidig pad
pwd
Deze opdracht toont u het huidige absolute (d.w.z. volledig, beginnend bij de hoofdmap) pad naar de map waarin u zich momenteel bevindt.
de mappenstructuur weergeven
boom
Deze opdracht toont u de mappenstructuur in de huidige map.
Wie der Name(tree=Baum) es schon andeutet wird die aktuelle Ordnerstruktur ausgehend vom Arbeitsverzeichnis dargestellt. Das heißt die Unterordner in Ordnern werden wie die Äste eines Baumes der von der Wurzel ausgeht dargestellt. Dies ist am einfachsten zu verstehen in dem ihr es einfach ausprobiert. 🙂
Maak een lijst van de inhoud van de map
ls –la
Dieser Befehl zeigt euch den kompletten Inhalt des aktuellen Verzeichnisses(inkl. Versteckter Dateien) an. Für die meisten Fälle reicht aber auch ein simples:
ls
map aanmaken
mkdir nieuwe map
Dieser Befehl erstellt im aktuellen Verzeichnis einen neuen Ordner mit dem angegeben Namen(In diesem Fall also „neuerOrdner“).
Ordner Löschen(inklusive Inhalt)
rm -R nieuwe map
Dieser Befehl löscht den angegeben Ordner(In diesem Fall also „neuerOrdner“) und alle darin enthaltenden Dateien ohne nochmal nachzufragen oder zu warnen.
Datei löschen
rm-bestand te verwijderen
Dieser Befehl löscht die angegebene Datei(In diesem Fall also die Datei „zuLoeschendeDatei“). im aktuellen Verzeichnis.
verander map
cd /thuis/pi
Deze opdracht verandert de map in de opgegeven map.
CD..
Mit diesem Befehl wechselt ihr in die nächste höhere Ordnerbene.
Dies kann auch verknüpft werden. Wollt ihr zum Beispiel aus dem aktuellen Ordner eine Ordnerebene höher gehen und direkt in einen anderen Ordner wechseln geht dies mit folgendem Befehl:
cd ../newFolderListenNextFolder
Mit dem folgenden Befehl könnt ihr direkt in eurer Homeverzeichnis wechseln:
CD ~
bestanden kopiëren
cp "bestandsnaam" "bestemming"
Dieser Befehl kopiert die Datei “Dateiname” nach “Ziel”. Auf diesem Weg könnt ihr Dateien auch direkt umbenennen.
cp cool tekstbestand.txt nog cooler tekstbestand.txt
führt zum Beispiel dazu, dass die „cooleTexttdatei.txt“ nochmal in den aktuellen Ordner kopiert wird. Die Kopie heißt dann aber „nochCoolereTextdatei.txt“.
In die Kopiervorgänge können natürlich auch Pfadangaben eingebaut werden.
Folgender Befehl kopiert zum Beispiel die Datei „cooleTexttdatei.txt“ in den Unterordner „coolerUnterordner“.
cp cool tekstbestand.txt coole submap/cool tekstbestand.txt
Verplaats meerdere bestanden of één bestand naar een andere map
mv -t bestemmingsmap bestand1 bestand2 bestand3
Hernoem bestand
mv huidigebestandsnaam gewenstebestandsnaam
Dieser Befehl ist eigentlich eine Datei-Verschiebung(mv=move). Da ihr aber auch bei einer Dateiverschiebung einen neuen Namen angeben könnt eignet sich dieser Befehl auch perfekt um Dateien umzubenennen.
Download bestand
wget internetadres
Dieser Befehl ermöglicht es Dateien in das aktuelle Verzeichnis herunterzuladen.
Dazu muss nur der Link zu der Datei die ihr herunterladen wollt hinter „wget“ angegeben werden.
Zip-bestand uitpakken met wachtwoord
unzip -P WACHTWOORD 'zipFile.zip'
Dieser Befehl entpackt die passwortgeschützte Datei „zipDatei.zip“ mit dem Passwort „PASSWORT“ in das aktuelle Verzeichnis. Falls ihr Wissen wollt was Zip-Dateien sind, dies habe ich in diesem Artikel beschrieben:
Pak rar-bestand uit met wachtwoord
unrar e -p WACHTWOORD 'rarFile.rar'
Dieser Befehl entpackt die passwortgeschützte Datei „rarDatei.zip“ mit dem Passwort „PASSWORT“ in das aktuelle Verzeichnis. Falls ihr Wissen wollt was Rar-Dateien sind, dies habe ich in diesem Artikel beschrieben:
Pak het zip-bestand uit in de doelmap
unzip zipFile.zip -d BESTEMMINGSMAP
Dieser Befehl entpackt die Datei „zipDatei.zip“ in das mit ZIELORDNER angegeben Verzeichnis.
Pak map in zip-bestand
zip -r bestandsnaam.zip FOLDERNAME/
Sicheres Löschen von Daten
versnipperen -fuz forEverFileToDelete
Dieser Befehl löscht Dateien nicht nur, er überschreibt den Speicherbereich der gelöschten Datei auch noch. Dies führt dazu, dass die so gelöschten Dateien selbst mit forensischen Mitteln nicht wiederhergestellt werden können. Der Befehl arbeitet dabei mit der Gutmann-Methode.
Installatie/werken met pakketten
Programmapakketten bijwerken
sudo apt-get update && sudo apt-get upgrade
Dies sind eigentlich zwei Befehle die durch das „&&“ verknüpft sind.
Das „&&“ bedeutet in diesem Fall, dass zuerst der erste Befehl und dann der zweite Befehl ausgeführt wird.
sudo apt-get-update
…aktualisiert dabei die Paketliste des „Advanced Packaging Tool“(apt). Dieses Tool verwaltet unterschiedliche Softwarepakete. Durch die Aktualisierung der Paketliste wird also das aktuelle Inhaltsverzeichnis der verfügbaren Softwarepakete heruntergeladen.
sudo apt-get-upgrade
…vergleicht daraufhin die bereits auf eurem System installierten Pakete mit den laut Inhaltsverzeichnis verfügbaren Paketen. Ist eins von den verfügbaren Paketen neuer als das auf eurem System installierte Paket, installiert es automatisch die neue Version des jeweiligen Pakets
Programma's/pakketten installeren
sudo apt-get install PACKETNAME
Dieser Befehl installiert mit Hilfe des „Advanced Packaging Tool“ das mit „PACKETNAME“ angegebene Paket und alle notwendigen anderen Pakete die zum ausführen dieses Pakets benötigt werden.
Unnötige Programme/Pakete löschen
sudo apt-get autoremove PACKETNAME
Dieser Befehl ist auch ein Teil des „Advanced Packaging Tool“ und kann mit und ohne Paketname ausgeführt werden. Ohne Paketname, also „sudo apt-get autoremove“ deinstalliert dieser Befehl alle Pakete die nicht mehr genutzt werden, weil sie nur als Voraussetzung für ein anderes, nun nicht mehr vorhandenes Paket installiert wurden.
Mit Paketname, also zum Beispiel „sudo apt-get autoremove IRGENDEINPAKETNAME“ wird das angegebene Paket und alle bei der Installation dieses Pakets installierte Voraussetzungen deinstalliert.
RaspberryPi-specifieke commando's
Werk de firmware en kernel van de Rasp Pi bij
sudo rpi-update
Dieser Befehl aktualisiert den Kernel und wichtige Systemdateien des RasPi. Nach dem Motto „Never touch a running System“(=Berühre/Verändere niemals ein laufendes System) sollte dies nur gemacht werden wenn wichtige Sicherheitsupdates verfügbar sind oder irgendetwas nicht so läuft wie es laufen sollte.
Herstart Raspberry Pi
sudo opnieuw opstarten
Dieser Befehl fährt den RasPi sicher herunter und startet ihn direkt wieder neu. Dies ist perfekt um zu testen ob installierte Software auch nach einem Neustart wieder automatisch startet.
Sluit Rasp Pi veilig en onmiddellijk af
sudo shutdown -h -P nu
oder die Abkürzung
sudo uitschakelen
Nach dem ausführen des Befehls zum Herunterfahren sollte man noch ein paar Sekunden warten. Genauso wie bei Windows-Systemen dauert es einen Moment bis das System alle Programme/Prozesse beendet hat. Dabei werden auch alle eventuellen Schreibprozesse beendet.
Dies ist auch der Grund weshalb man auch den RasPi immer ordentlich herunterfahren sollte. Speichert dieser nämlich gerade eine Datei auf einen Speicher und wird dann vom Strom getrennt so wird der Speicherprozess unterbrochen. Dies führt dann dazu, dass eventuelle nur teilweise geschriebene Dateien nicht mehr gelesen werden können.
Ist diese Datei dann zufällig eine, für das System wichtige Datei so kann es passieren, dass der RasPi beim nächsten Mal nicht mehr korrekt startet.
Ob der RasPi vollständig heruntergefahren ist erkennt ihr daran, dass die Grüne LED nicht mehr blinkt und nur noch die Rote LED leuchtet.
Falls ihr trotzdem mal den Stecker ziehen solltet ohne den RasPi zuvor heruntergefahren zu haben so braucht ihr nicht sofort in Tränen ausbrechen: Meistens geht es gut, aber halt auch nur meistens. 🙂
Befehle als Root ausführen
sudo = Supergebruiker doen
Dieser Befehl kann vor jeden Befehl gesetzt werden und führt dazu, dass dieser Befehl so ausgeführt würde als wenn ihn der superUser „root“ ausführen würde. So könnt ihr als normaler User zum Beispiel Befehle ausführen bei dessen Ausführung auf Dateien zugegriffen würde, auf die ihr als normaler Benutzer eigentlich keinen Zugriff habt.
Um sudo nutzen zu können müsst ihr dazu berechtigt sein. Dies wird in der Datei /etc/sudoers festegelegt.
Meld u af bij de console
uitloggen
Dieser Befehl beendet die Verbindung zum RasPi und schließt die Konsole.
Geef de Rasp Pi CPU-temperatuur weer
echo $((`cat /sys/class/thermal/thermal_zone0/temp`/1000))
Deze opdracht geeft u de huidige temperatuur van de CPU.
Toon Rasp Pi GPU-temperatuur
/opt/vc/bin/vcgencmd meet_temp|cut -c6-9
Deze opdracht geeft u de huidige temperatuur van de GPU.
Netwerk
IP-adres of netwerkconfiguratie weergeven
ifconfig
Dieser Befehl zeigt euch Informationen zu eurer Netzwerkverbindung an. So könnt ihr auch prüfen welche IP-Adresse euer RasPi hat.
Maak een lijst van open poorten en bestaande netwerkverbindingen
netstat --tcp --listening --programs --numeriek
Dieser Befehl zeigt euch alle aktuell geöffneten Ports und Netzwerkverbindungen sowie verschiedene Informationen dazu an
Gemengd
Passwort eines Benutzers ändern
passwd gebruikersnaam
Dieser Befehl ermöglicht es euch das Passwort des als „benutzerName“ angegebenen Benutzers zu ändern. Darüber hinaus lassen sich damit auch verschiedene Änderungs- und Sperrintervalle festlegen.
Toon vrije schijfruimte
df –h
Dieser Befehl zeigt euch an wieviel Speicherplatz auf euren Datenträgern noch verfügbar ist.
Alle installierten USB-Geräte auflisten
lsusb
Dieser Befehl gibt euch alle aktuell installierten USB Geräte aus.
Toon alle partities
sudo blkid
Deze opdracht geeft u alle momenteel geïnstalleerde partities.
Ausführliche Informationen anzeigen
sudo fdisk –l
Mit Diesem Befehl könnt ihr euch ausführliche Informationen zu euren Partitionen anzeigen lassen.
Prüfung des Dateisystems erzwingen
sudo afsluiten -rF nu
Das Dateisystem des RasPI’s wird normalerweise nur nach jedem 30. Neustart überprüft. Mit diesem Befehl erzwingt ihr eine sofortige Überprüfung und (wenn nötig) Reparatur des Dateisystems.
Toon Serialby ID
ls -l /dev/serial/by-id
Dieser Befehl zeigt euch die ID‘S eventuell vorhandener USB-Seriell-Adapter an. So könnt ihr serielle Schnittstellen anstatt über z.B. /dev/ttyUSB0 direkt über die ID des USB Gerätes ansprechen.
Dies hat den Vorteil, dass der Zugriff über die ID immer einzigartig ist und die ID sich auch nach einem Neustart des RasPi’s nicht ändert. Greift ihr nur über /dev/ttyUSB0 auf einen USB-Seriell-Adapter zu, kann es passieren, dass dieser nach einem Neustart nicht mehr unter /dev/ttyUSB0 sondern vielleicht unter /dev/ttyUSB1 erreichbar ist.
Um dieses Problem zu umgehen empfiehlt es sich die serielle Schnittstelle über die ID des USB-Seriell-Adapters anzusprechen.
Toon alle seriële poorten
ls /dev/tty* of dmesg | grep tty
Dieser Befehl zeigt euch alle möglichen seriellen Schnittstellen des Systems an.
Andere Rechner auf Anwesenheit im Netzwerk überprüfen
ping-netwerkadres
Mithilfe des Befehls „ping“ lässt sich die Anwesenheit anderer Netzwerkteilnehmer prüfen.
Dit kan een computer zijn in het lokale netwerk maar ook in het internet.
„netzwerkAdresse“ ist dabei durch die IP-Adresse oder den domain-Namen des Rechners zu ersetzen dessen Anwesenheit ihr prüfen wollt.
Lopende processen bekijken
ps
Der Befehl „ps“ zeigt euch alle aktuell laufenden Prozesse inklusive der ID und ein paar anderer Informationen wie Auslastung, etc an.
Beëindiging van een proces geïdentificeerd door de proces-ID
dood procesId
Dieser Befehl beendet den Prozess mit der Prozess-ID „prozessID“.
Uitvoer van processorgebruik
Bovenkant
Deze opdracht toont u het huidige gebruik van de CPU.
Indicatie van de looptijd en het gebruik van de computer
op tijd
Durch „uptime“ könnt ihr euch die Zeitdauer anzeigen lassen, die seit dem starten des RasPI vergangen ist.
Toon huidige gebruiker
wer bin ich
Deze opdracht toont u de naam van de momenteel ingelogde gebruiker.
Toon de locatie van een programma
welke ls
Dieser Befehl zeigt den Speicherort des als Prameter angegebenen Programms (in diesem Fall) „ls“ an.
Ordnerstruktur – Welcher Ordner enthält welche Dateien?
Unter Linux ist die Ordnerstruktur etwas anders als in Windows aber trotzdem logisch. Wenn man die Abkürzungen aufschlüsselt ist der Rest fast selbsterklärend.
„bin“=binaries: Ausführbare Dateien also Programme
„sbin“=system binaries: Ausführbare Systemdateien also System Programme
Diese beiden Ordner enthalten aber nur für das reine System wichtige Dateien.
Door de gebruiker geïnstalleerde programma's zijn in „/usr/bin“ en „/usr/sbin“.
Die Dateien in diesen Ordnern dürfen auch von normalen Nutzern ausgeführt werden.
In de „bin“ en „sbin“ aan de andere kant meestal alleen door gebruikers met beheerdersrechten.
„boot“: enthält wichtige Dateien für den Bootvorgang.
„dev“=devices: In diesem Ordner sind alle Gerätedateien enthalten. Über diese lassen sich verschiedene Hardware-Schnittstellen ansprechen. Zum Beispiel USB- und Serielle-Schnittstellen.
„lib“=libraries: Enthält wichtige Bibliotheken die für manche Programme notwendig sind.
„lost+found“: Werden bei der Reparatur eines Datenträgers Dateien oder Dateifragmente gefunden so werden diese in diesen Ordner verschoben bzw. gespeichert.
„mnt“=mount: Enthält alle temporär eingehängten(=gemounteten) Datenträger wie zum Beispiel USB-Sticks.
„opt“=optional: Enthält alle manuell installierten Programm die eigene Bibliotheken benötigen.
„proc“=processes: Enthält Schnittstellen zum geladenen Kernel und seinen Prozeduren.
„root“=wurzel: Dit is de gebruikersdirectory van de superuser root. Het is de enige gebruikersdirectory die niet in de homedirectory staat.
„home“: Dies ist der Standardbenutzer-Ordner in dem jeder Benutzer automatisch einen Unterordner zur Verfügung gestellt bekommt. In diesem Ordner können dann Benutzerdateien gespeichert werden. In dem jeweiligen eigenen Benutzerordner darf jeder Nutzer nach Belieben Dateien oder Ordner erstellen.
„etc“=et cetera: StandardspeicherOrt für Systemweite Konfigurationsdateien.
Beispiele und Erklärungen
Ik vind de site erg handig tldr.ostera.io
Hier könnt Ihr in einer Suchmaske den Befehl eingeben den Ihr nutzen wollt und es werden Euch automatisch weitere Erklärungen und Beispiele angezeigt.
Ich hoffe diese Infos helfen euch den ersten Einstieg in die Linux-/RaspberryPI-Welt etwas zu erleichtern. Falls nicht oder Ihr andere Kritik oder Fragen habt lasst es mich bitte wissen. Ihr könnt dazu einfach die Kommentarfunktion unter dem Artikel nutzen. 🙂
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂