Lieber Zuschauer, dieser Untertitel wurde automatisch generiert von YouTube und dementsprechend (sehr) fehlerhaft. Wenn du kannst, hilf uns bitte gute Untertitel zu erstellen: https://c3subtitles.de/talk/3009 Danke!
hi und willkommen zurück wie immer unser
kurzer werbeblog am Anfang ihr könnt uns
unter mit dem # Chance 23 auf Mastodon
Fragen Wünsche memes Anmerkungen oder
sonstige Themen schicken ihr könnt uns
im IC Kanal Chance 23 auf
irc.hakin.org gerne ebenfalls eure
Fragen schicken wir haben ein Public
viwing im Aquarium im jits der Link dazu
ist auf unserer Webseite firchance.org
zu finden wir haben ein Youtube und ein
Twitch Kanal auf dem wir ebenfalls
streamen diese sind mit dem Namen
firchance jeweil zu finden dort gibt es
auch jeweils einen Chat wenn ihr dort
Fragen stellt dann lesen wir die
natürlich mit und werden sie auch an die
speakeer weiterleiten unser
hauptstreaming Plattform ist und bleibt
streaming.media.ccc.de dort gibt es auch
ein realif in dem ihr vergangene talks
nachschauen
könnt der nächste Talk wird gehalten von
Sky Sky ist eine qu Person mit viel
Begeisterung für Linux Unix und freie
Software si hat Spaß daran andere
Menschen beiu bringen wie sie die
Kontrolle über ihre Geräte
zurückbekommen Sky hat in der Zeit von
Linux 2.6 angefangen und ist etwas in
den Bereich rumgekommen se talkalk Linux
kommandozeil für Newbies enthält eine
Vorführung der Linux kommandozeil eine
Vorstellung der wichtigsten Kommandos
und eine Erklärung zentraler
Grundkonzepte hallo allerseits ich bin
Sky und ich möchte euch heute beibringen
wie man die Linux Kommandozeile
benutzt ganz kurz zu mir ich benutze
seit knapp 20 Jahren Linux ich habe so
ziemlich jede Distribution schon
durchprobiert und zwischen bin ich auch
bei BSDs gelandet und dadurch habe ich
eben sehr viel Erfahrung auch ja mit dem
rumfuschen an System und ich möchte
jetzt einfach dieses Wissen mit euch
teilen damit mehr Leute auf der
kommandozeelle Spaß haben können dieser
Kurs ist so gedacht dass ihr mitmachen
könnt wenn ihr ein Linux System zur
Verfügung habt es sollte auch wirklich
in Linux sein also wenn jetzt irgendwie
eine Windows PowerShell aufmacht oder
auf eine MacOS Terminal öffnet dann
werdet ihr nicht unbedingt glücklich
weil ich weiß nicht in wie die absolut
grundlegenden Sachen übereinstimmen aber
ich weiß auch von BSDs dass ich auch
selbst da dann Dinge im Detail
unterscheiden und früher oder später
werdet ihr eben an den Punkt kommen wo
ihr bei diesem Kurs nicht mehr mitmachen
könnt wenn ihr nicht auf einem Linux
seid ich werde jetzt am Anfang 2 Minuten
lang grundlegende Dinge erklären in der
Zeit habt ihr auch Zeit
euch auf eurem eigenen System ein
Terminal zu öffnen selbst habe ich mir
hierf
ein ganz frisch installiertes fedura
aufgesetzt damit ihr euch vielleicht ein
bisschen mehr wie zu Hause fühlt wenn
ich hier so eine unveränderte
Standardoberfläche habe das ist jetzt
eine genomoberfläche ich habe fast gar
nichts an dem System verändert nur
insofern wie das halt für den Kurs hier
nötig war ich ma das Terminal auf indem
ich hier mein Menü öffne und dann
einfach
obenmin eingebe es kann sein wenn auf
dem kdi seid dass ihr irgendwie Konsole
geben müsst oder irgendwie sowas aber
irgendwo befindet sich dieses Programm
auf jedem Linux das mit einer fertigen
Desktop Oberfläche kommt habt ihr auf
jeden Fall so ein Terminal Programm
drauf und das könnt ihr dann einfach
öffnen bei mir habe ich das jetzt so
eingestellt
dass
einerseits die Schrift ziemlich groß ist
damit dieenigen von euch die auf dem
Handy versuchen diesen Talk anzuschauen
noch eine Chance haben mitzuk kommen und
ich habe auch hier vorne diesen
shellpromt ein bisschen verändert damit
das nicht zu lang wird weil ich habe
hier auf dieser Seite
mein Bild rumfliegen und ja dass ich da
nicht irgendwie mit dem Text in die
Quere
komme genau ansonsten sieht es wenn ihr
euch das Terminal aufmacht weil ich
ehlich so ähnlich aus vermutlich das
Terminal ist ein ganz normales Programm
das in der Oberfläche LFT also ihr seht
es ja das ist normales Fenster und hat
natürlich auch wie das andere Programm
in seine eigenen Einstellungen wo ich
eben auch die Schriftart und Größe und
auch die Farben ändern kann wenn ich
jetzt irgendwie hier das mit dem weißen
Schrift auf schwarzen Hintergrund nicht
so gut lesen kann kann ich auch schwarze
Schrift auf weißem Hintergrund machen
und so
weiter ganz kurz zu den Begriffen die
ich hier verwende der Überbegriff
Kommandozeile steht eigentlich für alles
was irgendwie hier im textinface
passiert also das ist der Überbegriff
für alles andere wenn wir Kommandozeile
sagen dann reden wir einfach von
allgemein vom
texface das Terminal das ist dieses
Programm was ich aufgemacht habe oder
auch Terminal Emulator das ist ein
Programm was auf einer grafischen
Oberfläche läuft und eben eine
Kommandozeile zur Verfügung stellt also
das bezeichnet ganz spezifisch dieses
Programm das in einem Fenster auf eure
Oberfläche läuft der Begriff Konsole
manchmal auch tty genannt ist die
eingebaute Funktion vom knel die neben
der grafischen Oberfläche zur Verfügung
steht also ihr kommt da auch mit einer
Tastenkombination drauf die verrate ich
euch aber bitte macht es jetzt nicht
weil ihr dann im zwe Probleme habt
wieder zurückzukommen die
Tastenkombination ist Steuerung alt und
die F-Tasten also F1 F2 F3 und so weiter
es gibt mehrere von diesen Konsolen auf
einem Linux System Standard mäig und die
kann man eben mit diesen ftasten
durchchalten also Steuerung altf1 bringt
mich auf die erste Steuerung altf2 auf
die zweite Steuerung alt F3 auf die
dritte und so weiter die grafische
Oberfläche also alles was hier schön
bunt ist und Fenster macht läuft
letztlich auch auf eine dieser Konsolen
also wenn ihr es geschafft habt auf die
Konsole zu kommen müsst ihr nur
durchschalten und gucken auf welche
davon eure grafische Oberfläche ist und
dann seid ihr wieder zu Hause dieser
Trick ist gut zu wissen einerseits wenn
aus irgendeinem Grund mal die grafische
Oberfläche kaputt geht das kommt bei
Updates gerade beitu und sein Derivaten
manchmal
vorerfahrungsgemäß und halt natürlich
wenn ihr physikalisch vor einem Gerät
sitzt wo keine grafische Oberfläche
drauf installiert ist wenn ihr z.B
versucht e n Linux zu installieren oder
irgendeinen Unsinn
anfand genau und der letzte Begriff den
ich erklären möchte ist der der Shell
die Shell ist letztlich das Programm was
auf der Kommandozeile läuft und ein und
Ausgaben verarbeitet also die shist das
Programm wo ich hier Kommandos eintippen
kann und die mir dann den Output von
diesen Kommandos wieder zurückgibt es
ist auch ein Unix Grundprinzip dass
jedes Programm genau eine Aufgabe hat
und das
heißt diese Dinge sind eben wie ein
Baukastenprinzip zusammengesetzt also
ich habe den Terminal Emulator der sorgt
dafür dass eine Shell gestartet wird und
die Shell die verarbeit dann eben die
angingaben die ich ergebe also das sind
zwei verschiedene
Programme so an diesem Punkt habt ihr
dann hoffentlich alle sofne die
Möglichkeit habt auch auf eurem eigenen
Gerät ein Terminal geöffnet und dann
geben wir doch mal das erste Programm
ein
das erste Kommando ein ich mache jetzt
hier mal so ein Echo Echo ist ein
Kommando was nichts tut außer das was
ich ihm sage zurückzugeben
und ich gebe jetzt hier so ein Dollar
ein Dollar steht in der Shell für eine
Variable und mchte demonstrieren was die
Shell ist geben wir uns doch mal aus was
in der Umgebungsvariable Shell
gespeichert ist bei den meisten von euch
wird wie bei mir binbash stehen binb die
B ist in dem Fall die Shell also es gibt
sehr viele verschiedene shells ich weiß
bei Linux ist standardmäßig die zsh
installiert persönlich auf meinem
eigenen System Fisch was ich einfach
angenehmer und spaßiger finde zuum
benutzen es gibt sehr viele verschiedene
shells aber die B ist so ein bisschen
der Standard es ist das G Programm also
die
bornagell das ist so ein bisschen
historisch der
Name genau also es gibt wie gesagt es
gibt verschiedene shells und mit Echo
können wir Variablen ausgeben und
dadurch haben wir eigentlich jetzt schon
unser erstes Kommando gelernt
prinzipiell der Aufbau von Kommandos auf
der Befehlszeile ist so dass der erste
Teil hier vorne ein Befehl ist und
dieser Befehl ist letztlich nichts
anderes als ein Programm was irgendwo
auf eurem Computer installiert ist da
gibt's dann ganz spezielle Orte im
System wo diese ausführbaren Dateien
abgelegt werden also die Programme das
wenn ihr das weiterführend nachlesen
wollt ist dass die sogenannte path
variable also Englisch für
hat das sprengt jetzt den Rahmen hier
ein bisschen das zu erklären aber nur
dass ihr das mal gehört hat also der
Befehl ist nichts anderes als ein
Programm eine ausführbare Datei die auf
eurem System installiert ist das letzte
Argument sind üblicherweise Parameter
also das kann je nachdem was für ein
Programm ich benutze ein dereiname sein
eine IP-Adresse oder ein Pfad oder hier
auch eine Variable dazwischen gibt es
etwas das ich Flags nennt und
Flex
sind Parameter die das Verhalten von
meinem Befehl hier vorne verändern oder
auch bestimmte Funktionen davon aufrufen
das werdet ihr jetzt auch im Laufe
dieses Kurses noch zu genüge sehen also
nur dass ihr das mal gehört habt die
drei Elemente ich tipp das jetzt mal
hier ich verwende mal meiner Shell hier
so ein bisschen als Tafel also das ist
natürlich kein gültiger Befehl was ich
eingebe die allgemeine Aufbau
istfeh Flags die haben üblicherweise so
ein Minus vorne dran und dann mein
eigentliches Argument oder mehrere davon
und weil ich diesen Befehl jetzt nicht
ausführen möchte drücke ich die
Tastenkombination Steuerung und C das
ist eine sehr wichtige Tastenkombination
das C steht kann man sich gut merken
steht für cancel damit kann ich etwas
abbrechen die Shell kann man natürlich
nur durch Tastenkombinationen bedienen
also ihr seht hier ich kann mit der Maus
hier nichts machen ich kann mein Cursor
auch nicht bewegen durch den Maus ich
kann Text markieren und kopieren das ist
eine Funktion die mir die grafische
Oberfläche dankbarerweise zur Verfügung
stellt aber letztlich kann die Shell mit
der Maus so standardmäßig gar nichts
anfangen und das heißt ich kann die
Shell auch nur durch Tastenkombination
bedienen und deswegen erzähle ich euch
jetzt die wichtigsten
Tastenkombinationen die ihr euch auf
jeden Fall merken solltet weil ihr die
ständig brauchen werdet ein haben wir
schon gelesen gelernt das ist die
Steuerung C für cancel ich zeige jetzt
noch mal was Steuerung C eigentlich kann
ich mache jetzt mal so ein sleep
Kommando um dieses sleep Kommando geht's
mir gar nicht sleep ist ein Befehl der
tut nichts als einfach die angegebene
Anzahl von Sekunden zu warten wenn ich
den jetzt laufen lasse dann tut er
einfach 10 Sekunden dann gar nichts und
schieb mich dann zurück hier auf diesen
prompt und mit Steuerung C könnte ich
dieses Kommando wie jeden anderen Befehl
auch vorzeitig abbrechen ich werde es
jetzt mal demonstrieren ich füre das bef
noch mal aus und dann breche ich ihn
sofort mit Steuerung und C
ab und dieser Trick ist sehr wichtig zu
beherrschen weil ihr auch unter
Umständen mal ein Programm ausführt was
wo ihr denn merkt oh shit ich wollte das
gar nicht machen schnell abbrechen oder
wenn ihr ein Programm ausführt was zu
lange dauert oder was ich aufffhängt bei
manchen Programmen ist die Steuerung
ckbination auch die einzige Methode
wieder zu beenden und ansonsten laufen
sie eben unendlich lange
weiter eine Konvention die ich hier auch
schon demonstriert seht ist diese
Schreibweise wenn ihr so etwas hier seht
diesen kleinen dachbuchstaben und das
große C dahinter dann oder generell
einen Großbuchstaben dann steht dieses
Dach für die
steuerungtaste das solltet ihr euch
merken weil das ist eine sehr häufig
verwendete Darstellung die euch einfach
ziemlich häufig über den Weg laufen wird
die nächste wichtige Tastenkombination
ist wie man aus der Shell eigentlich
wieder rauskommt wie man sie verlässt
wie man sich ausloggt wenn man als
anderer Benutzer eingeloggt ist und so
weiter dafür mache ich jetzt mal einen
neuen Tab in diesem Terminal auf damit
ich euch das demonstrieren kann weil
wenn ich das mache ist das Terminal
natürlich zu weil ich dann quasi diese
Shell verlassen habe also ich öffne
jetzt einen neuen Tab und die
Tastenkombination um sich auszuloggen
ist die Kombination ung und D W ich das
drück ist das T mal wieder zu ich mache
jetzt das gleiche noch mal ma jetzt
wieder t auf und jetzt tippe ich mal den
Befehl exit der nämlich exakt dasselbe
macht wie diese Steuerung
dkbination ich finde Steuerung D ist
einfacher weil man ja man ist ja faul
und will nicht immer so viele Buchstaben
tippen aber wenn ihr euch das nicht
merken könnt könnt ihr euch einfach exit
merken eine weitere Kombination die ich
hier sehr oft benutzen werde einfach
weil es praktisch ist für den Kurs ist
eine die vielleicht nicht unbedingt
super wichtig ist aber sehr praktisch zu
wissen und das ist die Kombination
Steuerung und
L wenn ich das mache ist mein Bildschirm
wieder sauber ich kann jetzt hier im
Terminal auch wieder nach oben scrollen
das ist aber eine Eigenart des Terminals
in der grafischen Oberfläche auf der
eigentlich eigentlichen Konsole habt ihr
selten das Glück dass ihr
besonders sinnvoll nach oben scrollen
könnt und dafür gibt's dann auch
entsprechend Tricks und Workarounds die
wir hier auch in den nächsten paar
Minuten lernen
werden aber genau ich werde hier das
öfter machen wenn ich Steuerung l drücke
ist mein Bildschirm wieder sauber dafür
gibt's auch einen Befehl der lautet
clear der macht genau
dasselbe man ist ja natürlich auch eine
faule Person und um sich die Arbeit auf
der Shell zu erleichtern gibt es diverse
Tricks
zwei davon die ich standardmäßig immer
benutze und auch ohne drüber
nachzudenken und auch in diesem Kurs
andaund benutzen werde weil ich mir das
einfach absolut nicht mehr abgewöhnen
kann sind Möglichkeiten um sich die
Arbeit eben zu erleichn die erste ist
dass man sich alte Befehle zuvor
ausgeführte Befehle anzeigen lassen kann
indem man die Taste Pfeil nach oben
drückt wenn ich das mache kann ich ich
kann jetzt weiter nach oben drücken und
meine ganzen zuvor ausgeführten Befehle
anschauen ihr seht auch man sieht hier
was ich vorher veranstaltet habe mit
fallall nach unten kann ich dann
natürlich in die andere Richtung
durchschalten bis ich dann wieder zurück
auf meinem leerren prompt angekommen bin
ich kann auch wenn ich ausreichend nach
oben geschaltet habe den Befehl ganz
normal verändern und in Erne
ausführen und damit kann ich mir eben
die Arbeit erleichtern weil ich andere
andere Befehle nicht alte Befehle nicht
ständig noch mal komplett neu Antippen
muss sondern einfach wieder herholen
kann und entsprechend verändern
kann der weitere schöne Trick ist die
sogenannte Tab completion also Tab
Vervollständigung Tab das ist die im
Normalfall selten benutzte Taste über
der Capslock Taste Tab ist auf der Shell
eine Taste die ihr sehr häufig benutzt
weil es einfach so unglaublich praktisch
ist die TAB Vervollständigung kann unter
anderem Kommandos vervollständigen und
auch Pfader und
Dateinamen ich demonstriere das jetzt
mal hier anhand dieses
sleepkandos ich tippe jetzt mal nur die
ersten drei Buchstaben ein S l und dann
drücke ich die
Tabtaste und ihr seht das hat mir schon
ganz automatisch diesen Befehl
vervollständigt
wenn mein Befehl nicht eindeutig ist
also ich tippe jetzt nur mal
SL und ich drücke dann die Tabtaste
passiert gar nichts wenn ich jetzt aber
ein zweites Mal Tab drücke gibt es mir
hier eine Auswahl von Befehlen die mit
SL
beginnen und wenn ich das jetzt noch
weniger mache wenn ich nur ein S tippe
und ich drücke jetzt noch mal t t dann
fragt er mich ob ich sämtliche
Möglichkeiten anzeigen will weil das
halt sehr viel ist ich jetzt mal yes
also
y und wenn dieses Set more ist
eigentlich auch ein Programm ich habe
schon erwähnt Unix Grundprinzip jedes
Programm hat eine Aufgabe more ist ein
Programm was mir die Möglichkeit gibt
eine lange
Liste durchzuscrollen indem ich die
Entertaste drücke also ich drück jetzt
Enter und ich halte das gedrückt und
irgendwann komme ich dann vermutlich am
Ende an natürlich gesagt das sind jetzt
über 200 Dinge die ichchle okay und
Normalfall ist es so wenn ich diese Tab
completion mache dann wird dieser Befehl
auch nicht ausgeführt also ich habe
zweimal Tab gedrückt und das schmeißt
mich hier wieder auf den neuen prompt
aber es hat den Befehl nicht
ausgeführt ja das muss man sich einfach
gemerkt haben also die TAB completion
werde ich hier auch ganz automatisch und
ohne nachzudenken ständig verwenden also
wenn ihr euch fragt wie habe ich jetzt
diesen Pfad innerhalb von einen
Tastendruck hervorgezaubert das habe ich
mit der Tabtaste
gemacht so
jetzt haben wir schon die
grundlegendsten Funktionsweisen
verstanden und dann würde ich mal mit
dem zweiten Abschnitt weitermachen wo
ich euch beibringe wie man Ordner
verwaltet und sich im Dateisystem
bewegt der wichtigste Befehl den wir
wissen müssen um uns im Dateisystem
zurechtzufinden ist der Befehl um sich
Dateien und Ordner im aktuellen
Verzeichnis anzeigen zu lassen und das
ist der Befehl ls LS steht für List was
LS macht ist
euch Dateien im aktuellen Ordner
anzeigen zu lassen also hier sind
dateilen und hier sind Verzeichnisse
wenn ihr jetzt über euren üblichen Weg
über keine Ahnung wie ihr das Ding nennt
Dateibrowser Explorer eigene Dateien
wenn ihr dieses Fenster öffnet um euch
eure Dateien anzeigen zu lassen dann
werdet auch ihr sehen dass ihr dieselben
Dateien und Ordner dort rumliegen habt
nur eben dargestellt durch Symbole
anstatt durch Text also letztlich ist
die Shell ja einfach nichts anderes um
die gleiche Art von Information
über eine andere Methode zu ja
darzustellen weil s eben Text benutzt
anstatt von Symbolen also es könnt ihr
vielleicht auch in einem ruhigen
Stündchen mal machen dass ihr euch dann
so ein datil Browser aufmacht und euch
anschaut und dann seht dass die Dateien
und Ordner genau dieselben
sind bei den meisten von euch wird hier
vorne im prompt sogar noch euer Pfad
drinne stehen da steht jetzt vermutlich
irgendwo so eine tilte drin die habe ich
bei mir wie gesagt raus gemacht damit
ich hier mit der Textlänge keine
Probleme
bekomme das ist ein sehr sinnvolle Sache
wenn der Pfad vorne drinne steht das
werden wir auch noch gleich weiter sehen
LS listet wie gesagt hier die Ordner auf
und die Dateien ich habe jetzt hier auf
der grafischen Oberfläche das Glück dass
ich farb
geliefert bekomme also pink sind dann
bestimmte Arten von Dateien und blau
sind Ordner das Glück habe ich nicht
immer und damit ich sehen muss damit ich
sehen kann welche Dateityp meine Dateien
haben und ob es sich meine Dateien oder
mein Ortner handelt benutze ich den
Befehl ls- l das L ist eine flag was
vielleicht auch noch dazu sagen sollte
unter unixartigen Betriebssystem
allgemein ist es so dass groß und
kleinchreib einen Unterschied macht also
wenn ich hier Kleinbuchstaben tippe
müsst ihr auch Kleinbuchstaben tippen
damit daselber bei euch passiert und
wenn ich Großbuchstaben tippe müsst ihr
Großbuchstaben tippen weil es
eben ja also für ein unixartiges System
ist LS in Kleinbuchstaben ein komplett
anderes Kommando als LS in
Großbuchstaben und LS in Großbuchstaben
ist ein Kommando das es nicht gibt und
genau daselbe gilt gilt für die Flags
also ls- klein
wenn ich diesen Befehl ausführe kriege
ich hier genau dieselben Dateien und
Ordner angezeigt wie oben aber mit
zusätzlichen dateis ich habe hier vorne
die Berechtigung ich habe hier den
Benutzer dem die Datei gehört und der
Gruppe die Gruppe der der die Datei
gehört hier ist die Datei Größe und hier
ist das Datum an dem die Datei zuletzt
bearbeitet wurde ihr wet auch vermutlich
wenn ihr so standardmäßig installiert
das Linux mit einer fertigen
Desktopoberfläche habt habt ihr
vermutlich so ähnliche Ordner hier drauf
so diese Bilder Dokumente Downloads und
so also das sollte bei euch relativ
ähnlich aussehen ich habe hier natürlich
jetzt die Videodateien rumflingen weil
ich hier selbstverständlich am Videos
erstellen bin genau was ich euch jetzt
aber mit dieser Listenansicht zeigen
möchte ist dass hier ein kleines D vorne
dran steht bei manchen Dateien und bei
anderen nicht und dieses kleine D ganz
am Anfang zeigt an dass es sich um ein
Verzeichnis handelt also D steht für
Directory und bei Dateien die keine
Verzeichnisse sind steht natürlich kein
D also wenn ihr keine Farben zur
Verfügung habt wenn ihr aus irgendeinem
Grund vor einem Terminal sitzt was euch
keine Farbcodierung bietet dann müsst
ihr euch eben auf die reine textangabe
verlassen und zum Glück ist das alles so
aufgebaut dass ihr das auch könnt also
iche Informationen die über Farben
dargestellt bekommt kriegt ihr auch
womöglich auf anderem Wege über reine
Textangaben angezeigt und das finde ich
es sehr sinnvoll und sehr wichtig zu
verstehen damit man eben sich unter
allen Umständen zurechtfinden K so ich
habe schon gesagt bei vielen von euch
wird hier vorne ein Pfad stehen in eurem
shellprom drinne bei mir steht keiner
das heißt wenn ich wissen möchte wo ich
mich in meinem detailsystem befinde muss
ich das Kommando pwd eingeben PVD steht
für Print working directory und das gibt
mir diesen Pfad aus bei den meisten von
euch wird hier auch Slash home stehen
und dann euer
Benutzername
das System wie Pfader unter unixartigen
Systemen angegeben werden ist so dass
Sie alle mit einem Slash beginnen wenn
es sich um absolute Pfade handelt das
heißt ich meine im Prinzip kennt ihr das
schon wenn ihr euch auf einem grafischen
Dateibrowser bewegen könnt dann seid ihr
mit dem Prinzip vertraut ihr habt nur
halt noch nicht so dargestellt gesehen
unter Umständen aber ich beginne quasi
immer in meinem Wurzelverzeichnis also
an Slash und dann gehe ich je nachdem in
welches Verzeichnis da zur Verfügung ist
und mit Slash komme ich dann wieder in
das nächste Verzeichnis und so
weiter ich kann LS auch ein Argument
mitgeben einen Ordnernamen das heißt ich
mache jetzt mal einfach das gleiche LS
wie vorhin aber ich gebe ihm hier meinen
kompletten
pfad/home/sky oder euer Username je
nachdem und ihr seht ich habe hier genau
dieselben Dateien die mir angezeigt
werden wie ich als ich einfach nur LS
eingegeben habe weil ich mich natürlich
in diesem Verzeichnis momentan befinde
wenn ich nur
ls/home mache dann seht ihr da gibt es
nur einen Ordner und der heißt Skil
logischweil das ist mein h Verzeichnis
man nenn auch unter unixartigen Systemen
das
Benutzerverzeichnis das Home Verzeichnis
weil es e in diesem Slash home Ordner
drinne liegt
standardmäßig was ich euch aber zeigen
will ist ihr habt hier vorne wie gesagt
promt wahrscheinlich einen Pfad drinne
stehen aber momentan steht eine Tilde
und diese Tilde ich mache jetzt auch mal
LS
Tilde und wie ihr seht kriege ich genau
daselbe angezeigt wie wenn ich SL home/
Sky angebe weil die Tilde für das Home
Verzeichnis eures Users auf diesem
System steht also wenn ihr in
irgendeiner pfattangabe jemals eine
tilte seht dann ist es so eine Art
Variable die automatisch diesen Pfad zu
eurem Homeverzeichnis
einsetzt ich werde jetzt mal einen
Ordner erstellen und euch dabei einen
Trick zeigen wir haben ja jetzt schon
paar Befehle eingegeben und gesehen dass
wir Befehle und Argumente durch ein
Lehrzeichen voneinander
trennen was mache ich denn jetzt wenn
ich ein Leerzeichen in einem Ordnernamen
drinne haben möchte ich er stelle jetzt
mal einen Ordner mit dem MK für make
Directory und ich nenne i jetzt mal
keine
Ahnung Chance
21 so das würde nicht funktionieren weil
er dann quasi das leerrzeichen als
Trenner von Argumenten verstehen würde
wenn ich dieses Lehrzeichen safe
eingeben möchte und möchte die Shell
versteht dass es sich um ein Teil des
verzeichnungnamens handelt muss ich ein
Backslash vor das letzeichen setzen dann
ist das Lehrzeichen Safe und wird als
Teil des Dateinamens interpretiert ich
befeh diesen Befehl jetzt aus und dann
mache ich noch mein LS und ihr seht hier
ist mein firchance 23 Ordner aufgetaucht
die Shell ist natürlich sehr hilfreich
und zeigt mir hier einfache
Anführungszeichen an damit ich weiß dass
es sich eben um einen zusammenhängenden
Namen handelt die Anführungszeichen sind
nicht Teil des Dateinamens sondern die
sind reine
darstellungshilfe wenn ich in dieses
Verzeichnis jetzt hineingehen möchte
dann mache ich das mit dem Kommando CD
für change
Directory und wir haben vorhin schon
gesehen dass Pfade meistens mit einem
Slash
beginnen diese Darstellung von Pfaden
nennt man absoluten Pfad wenn ich mit
einem Slash fange muss ich immer
ausgehend vom Wurzelverzeichnis also das
sogenannte rotverzeichnis das ist Slash
den kompletten Fahrt eingeben also den
kompletten Fahrt jedes Unterverzeichnis
ich gehe erst in Home dann gehe ich Sky
dann gehe ich in FCH 23 ich kann aber
auch statt einem absoluten Pfad einen
relativen Pfad angeben und das heißt ich
bewege mich von hier aus von meinem
aktuellen Ort und das ist
natürlich/h/gy mein aktueller Ort in
diesen Fall schon 2 Ordner das heißt ich
mache am Anfang keinen Slash sondern ich
lass den Weg und Tipp einfach FE Chance
und ihr seht ich habe jetzt wieder die
TAB completion benutzt
und jetzt Enter und jetzt bin ich in
diesem Ordner drinne wenn ihr das bei
euch macht wird sich vermutlich hier
vorne in euren promt etwas ändern und
der Ordnername wird drinne stehen wie
gesagt das habe ich bei mir rausgenommen
diese prompt hier vorne ist auch frei
einstellbar da kann man Gott weiß was
reinschreiben also wenn bei euch vorne
drinne steht habt ihr alles richtig
gemacht das ist einfach so eine Hilfe
damit man sich nicht verläuft und
irgendwie versehentlich
immer falschen Verzeichnis irgendwie
rumpuscht so damit ich sicher gehen kann
dass ich auch in diesem Ordner drinne
bin mache ich noch mal so ein PVD print
working directory und ihr seht auch ich
befinde mich jetzt gerade momentan in
diesem Verzeichnis und kann dort
fröhlich rumfuschen und alles machen was
ich euch vorfüren möchte ich erstelle
jetzt noch mal mit mkd ein zweites
Verzeichnis Unterordner
unter so ich habe jetzt mal ein
Unterordner stellt und ich mache jetzt
noch mal LS in meinemch 23 Ordner und
ihr seht dieser Unterordner ist aufget
ich mache jetzt ls- l und gut hier steht
insgesamt Null das heißt das bezieht
sich nicht auf die Anzahl von Elementen
sondern auf die Dateigröße und da dieser
Ordner leer ist der Unterordner ist
natürlich
auch keine Dateigröße feststellbar weil
er einfach leer ist okay
wenn ich jetzt in diesen Unterordner
reingehe CD Unterordner und ich mache
jetzt noch mal
PVD dann seht ihr auch das was ich jetzt
zurückgegeben bekommen habe hat sich
geändert und ich mache jetzt noch mal
ls- l und ihr seht da ist überhaupt
nichts drin in dem Ordner jetzt kann ich
aber LS noch eine zweite Flag mitgeben
und zwar häng ich ja noch so ein kleines
a dran ls- al oder ls- la die
Reihenfolge ist egal wenn ich das mache
seht ihr das sind jetzt plötzlich doch
zwei Ordner da mal so man sieht hier
vorne die fangen mit D an also das sind
Verzeichnisse was sind das jetzt für
Verzeichnisse Punkt und Punkt Punkt das
ist auch eine
Konvention und in dem Fall steht Punkt
also prinzipiell steht Punkt für das
aktuelle Verzeichnis das ist auch so
eine Art variable und Punkt Punkt steht
für das übergeordnete
Verzeichnis also wenn ich jetzt ich
mache jetzt noch mal PVD dann sehen wir
ich befinde mich in homes Sky fir Chance
23 unterordne jetzt mache ich mal CD ich
wechsel jetzt in das Verzeichnis Punkt
wenn ich jetzt wieder mein pwd ausführe
bin ich im selben Verzeichnis weil Punkt
einfach nur ein Platzhalter ist für das
aktuelle
Verzeichnis wenn ich jetzt
CD Punkt Punkt eingebe dann wechselt er
in das übergeordnete Verzeichnis das
heißt wenn ihr euch diesen Pfad hier
anschaut übergeordnetes Verzeichnis
heißt ich nehme das letzte Element weg
und befinde mich dann in diesem hier
also nur noch dieser Rest vom fad bleibt
übrig und das habe ich jetzt gemacht und
ihr seht das letzte Element ist
verschwunden es ist ins übergeordnete
Verzeichnis
gewechselt Punkt und Punkt Punkt sind
Verzeichnisse die ihr sehr oft verwenden
werdet wenn ihr z.B eine ausführbare
Datei im aktuellen ver ausführen möchtet
dann beginnt ihr das mit Punkt wenn ihr
in den übergeordneten Ordner wechseln
möchte dann werde immer CD Punkt Punkt
tippen also das sind ganz zentrale
fundamentale Dinge die man einfach
verstanden haben
muss so ja jetzt haben wir eigentlich
schon
die absolut grundlegenden Dinge
verstanden ich habe euch erklärt was die
Tilde ist was Punkt und Punkt Punkt
bedeuten wir haben schon mit Ordnern
rumgepfuscht wir haben uns Verzeichnisse
anzeigen lassen wir haben sogar auch
schon einen Ordner erstellt dann können
wir eigentlich auch anfangen mit dem
nächsten Abschnitt indem wir einfache
dateilen erzeugen unds ausgeben lassen
und ja einfach mal gucken wie wir
Textdateien auf der Konsole handhaben
können ich hab ja schon erwähnt die
Shell verarbeitet Eingabe und Ausgabe
das heißt in der Shell funktioniert auch
alles ja im Prinzip nur über Input und
Output ich mache jetzt hier noch mal den
Bildschirm sauber wir befinden uns im
fechance 23 Ordner es ist auch sinnvoll
wenn ihr das auf eurem eigenen System
mitmacht dass ihr wirklich in so einem
Unterordner drin seid weil wir jetzt ein
paar Dateien erstellen werden und die
ansonsten halt euch EU um Verzeichnis zu
müllen wenn ihr das nicht in einem
Unterordner macht es ist aber auch
nichts Gefährliches was wir jetzt machen
also in diesem Ordner ist nur der
Unterordner momentan drinne
und wir möchten jetzt mal eine Textdatei
erstellen und ich möchte euch jetzt
zeigen wie man ein und Ausgabe auf der
Shell
umleitet wir machen jetzt noch mal so
ein Echo ich hab wir haben schon vorher
ein Echo gemacht haben wir eine Variable
ausgegeben jetzt machen wir einfach mal
nur ein Hallo und wir geben jetzt mal
einfach nur Echo wie gesagt Echo macht
wie der Name schon sagt ich gebe ihm
hier einen String und der printet mir
den String auf die
Konsole wenn ich jetzt die Ausgabe
umleiten möchte in eine Datei
dann mache ich das mit so einer
dreiecksklammer zu eine einfache
dreiecksklammer zu wenn ich diesen
Befehl so eingebe Echo hallo dre Klammer
zu Textdatei und jetzt mache ich noch
mal mein LS l dann sieht ihr diese
Textdatei ist
aufgetaucht
und den Inhalt dieser Textdatei kann ich
mir anzeigen lassen mit dem Befehl Cat
Cat könnt ihr auf jede beliebige Datei
anwenden ma aber eigentlich nur Sinn bei
Textdateien weil ihr ja bei binären
Dateien kriegt ihr dann eben
irgendwelchen Bullshit auf die Kolle
geprintet bei textdateilen bekommt ihr
einfach den Inhalt der Textdatei
ausgegeben Cat steht für concattinate
frag mich nicht das muss man sich
einfach merken Cat ist zum Ausgeben von
Textdatei und ihr seht mein hallo wurde
jetzt anstatt ich habe hier wenn ich
Echo hallo ohne die Ausgabe umzuleiten
mache printet es mir auf der Konsole
wenn ich die Ausgabe umleite dann
printet es den Inhalt von diesem String
in die Datei und das ist dann auch
gespeichert also diese Datei liegt jetzt
auf meinem System ihr könntet die auch
mit dem Texteditor öffnen und
entsprechend bearbeiten und sie enthält
den Anhalt den Inhalt hallo wenn ich
jetzt denselben Befehl noch mal aus
ausführe und ich mache jetzt Echo Mia
dreammer zu nach Textdatei der Dateiname
ist
derselbe und wenn ich mir jetzt den
Inhalt der Datei ausgeben lasse dann
seht ihr dass er überschrieben wurde das
ist dann
wichtig wenn ihr den Inhalt na ja z.B
nicht überschreiben wollt also auf der
Konsole selbst so beim täglichen
Kommandos
reinhacken benutze ich diese
dreiesklammern eher selten wenn dann
irgendwie um Fehler output in einer
Datei zu schreiben oder solche Tricks
aber
sehr häufig begegnen einem diese
dreielammern wenn man z.B in irgendeinem
Forum
irgendeinen Text findet von wegen gib
dieses Kommando bei dir ein und dann
wirst du dein Ziel erreichen dann sollte
man schon verstehen dass diese
dreiecksklammer ohne mich zu fragen den
Inhalt von der Datei gnadenlos
überschreibt es ist auch auf der Konsole
so dass ihr sehr selten Nachfragen
bekommt willst du das jetzt wirklich tun
die Konsole macht einfach was ich ihr
sage und sie hinterfragt meine Kommandos
nicht sondern sie führt sie einfach aus
das ist eine andere Art mit dem Gerät zu
kommunizieren weil es halt viel direkter
ist und eben auch leichter ist sich was
kaputt zu machen persönlich würde ich
nicht sagen dass es schwieriger ist weil
ich es ehrlich gesagt leichter finde die
Konsole macht was ich hier sage sie
macht aber auch nur was ich hier sage
das heißt wenn ich weiß was ich tue dann
fängt die Konsole nicht an und versucht
zu erraten was ich eigentlich tun möchte
und dadurch finde ich wenn man sich mal
dran gewöhnt hat dass man sich eben
sicher sein muss was man eingibt finde
ich es persönlich leichter zu benutzen
als irgendwelche grafischen Programme wo
ich den erraten muss was die
EntwicklerInnen sich bei den Beschriften
der Buttons gedacht haben oder nach
irgendwelchen Checkboxen suchen muss so
die Konsole tut einfach was ich ihr sage
sie macht alles was was ich hier sage
und sie macht nur was ich hier sage
deswegen finde ich es auch persönlich
einfach viel schöner zu benutzen die
Konsole so was ich euch aber zeigen
möchte ich kann natürlich auch mit dem
umleiten der ein und Ausgabe an diese
Datei anhängen und dazu muss ich das
Kommando minimal modifizieren und ich
mache jetzt mal echof und dann mache ich
zwei dreiecksklammern zu und ich gebe
wieder den exakt selben Dateinamen ein
und wenn ich mir jetzt den Inhalt der
Datei wieder ausgeben lasse dann seht
ihr es hat mein mein zweiten String
einfach ans Ende dran gehängt das ist
sehr sinnvoll und sehr schön und jetzt
haben wir schon unsere allererste
Textdatei erstellt und jetzt können wir
lernen wie wir Dateien kopieren
verschieben umbenennen und löschen ich
ma bildchirm noch mal
sauber ls- l und ja dann machen wir das
einfach mal ich möchte jetzt diese Datei
mit ihrem eigenen Namen in den
Unterordner kopieren dazu mache ich CP
CP steht für Copy und ich sage CP
Textdatei Unterordner das copy Kommando
und viele Kommandos die analog
funktionieren haben die Quelle zuerst
und das Ziel als zweites Argument das
heißt ja meine sourcedatei ist immer das
erste Argument und danach kommt das Ziel
wenn es wenn das zweite Argument an
Ordner ist dann wird die Datei mit ihrem
aktuellen Namen in das Verzeichnis
kopiert das mache ich jetzt mal und
jetzt mache ich ls- l unter Ordner und
dann seht ihr die Datei die Textdatei
heißt dort auch Textdatei wenn ich die
Datei kopieren möchte aber ihren Namen
verändern möchte dann kopiere ich jetzt
mal Textdatei und ich mache jetzt mal
einen Trick ich beginne jetzt mal den
nächsten datin mit einem Punkt und ich
nenne jetzt mal Punkt neue
Datei wenn ich jetzt ls- l mache
passiert etwas Unerwartetes die Datei
ist nämlich nicht
da ich habe euch vorher schon gezeigt
dass man dieses kleine a da dran hängen
kann ls- la was dieses kleine a macht es
zeigt der Zeilen und Verzeichnisse die
mit einem Punkt beginnen be unixartigen
System ist der Punkt so eine Art Methode
um Dateien zu verstecken auf dem
Windowssystem W den Rechtsklick machen
und seine Datei verstecken undterem
unixartigen System macht ihr das indem
die Dateinamen mit einem Punkt beginnt
ihr werdet auch wenn ihr in eurem h
Verzeichnis mal ein ls- L ausführt eine
ganze Menge Verzeichnisse sehen von
denen ihr nicht wusstet dass sie
existieren weil dort auch
Konfigurationsdateien von
Anwendungsprogrammen und so weiter
gespeichert
werden also wir merken uns versteckte
Dateien beginnen mit einem
wenn ich diese t jetzt umbenennen möchte
so dass sie nicht mehr versteckt ist
dann ma ich das mit MV MV verschiebt
eine Datei
und na ja es gibt kein extra Programm um
Dateien umzubenennen deswegen verschiebe
ich einfach diese Datei in eine noch
nicht existierende Datei mit dem Namen
den ich ihr geben möchte und ich mache
jetzt einfach mal im neuen Dateinamen
den
Punkt und wenn ich jetzt mein l mache
seht ihr diese Datei ist auch nicht mehr
versteckt sondern sie wird ganz normal
mit LS
angezeigt nun habe ich zwei Dateien mit
demselben
Inhalt
und ja ich kann jetzt auch einfach mal
mit MV ich habe ja schon gesagt MV zum
Umbenennen haben wir jetzt schon einmal
ausprobiert hier oben und ich kann jetzt
natürlich auch mit MV in der klassischen
Anwendung meine neue Datei in den
Unterordner
verschieben und wenn ich jetzt mit LS
mache dann sieht ihr diese neue Datei
ist nicht mehr da und ich gehe jetzt mal
wieder mit CD in den Ordner Unterordner
rein und mache LS und jetzt sind diese
beiden Dateien
hier wenn ich diese beiden Dateien jetzt
wieder verschieben möchte und zwar beide
nach oben verschieben möchte jetzt passt
mal auf ich habe
hier in meinem
übergeordneten Verzeichnis die Datei mit
dem Namen Textdatei und hier die Datei
in hier im
Unterordner liegen die Dateien neue
Datei und
Textdatei ich kann jetzt beide Dateien
gleichzeitig nach oben verschieben in
der Shell steht ein Stern für alles also
alles was ich aktuellen Verzeichnis
befindet das ist die sogenannte Wild
Card dieser Stern wenn ich jetzt dieses
Kommando ausführen möchte ich mache das
jetzt mal nicht
fertig dann würde ich beide Dateien nach
oben verschieben und es würde diese
Textdatei überschreiben weil sie
denelben Namen hat ich gebe jetzt aber m
V mal noch eine Flag mit das
i das i steht für frag mich wenn du
etwas überschreiben möchtest und dann
fragt mich auch und ich sag jetzt nein
gibt einfach so ein N ein und dann sehe
ich es hat die Textdatei nicht nach oben
verschoben es ist ich habe schon gesagt
die Shell fragt mich nicht nach wenn ich
irgendwas tue was Dinge kaputt macht die
Shell zerstört auch einfach Dateien ohne
mich zu fragen
aber ich kann ganz bewusst diese Flag
mitgeben und dann fragt sie mich eben
doch es ist bei manchen Systemen
standardmäßig so eingestellt das immer
fragt persönlich auf meinem eigenen
System setze ich mir dann immer ein
Alias so dass MV immer für mv- i steht
und CP immer für cp-
i das kann man sich auch einrichten aber
standardmäßig muss man einfach wissen
dass das nicht der Fall ist und die
einfach ohne mir bescheid zu sagen ohne
mich zu fragen gnadenlos Dinge löscht
und überschreibt also ja und weg ist
dann halt auch weg da wird nichts
irgendwie groß in irgendein papierkupf
verschoben oder
gebackupt also wenn ihr so solche
Funktion nutzen wollt müsst ihr das
bewusst selber tun aber die Shell nimmt
euch diese Arbeit nicht ab ich ma jetzt
noch mal den Bildschirm sauber
und so ich möchte jetzt mal eine diese
Datei jetzt trotzdem löschen und Löschen
der Datei geht mit dem Befehl RM RM
steht für remove und ich mache jetzt
einfach RM
Textdatei und wenn ich jetzt me LS ma
ist die Datei weg
also ihr seht auch das ist ja nichts
mehr in diesem Ordner drinne weil wir
die einzige verbleibende Datei gelöscht
haben und ich habe es eben schon gesagt
da wird nichts in einen Papierkorb
geschrieben und das fragt euch auch
nicht sondern das macht einfach also ja
wenn ihr so ein Befehl eintippt dann
müsst ihr eben ganz genau wissen was ihr
da verschiebt was ihr löscht was ihr
kopiert weil da gibt's kein
Sicherheitsmechanismus der einzige
Sicherheitsmechanismus ist euer
hoffentlich angelegtes
Backup so jetzt gehe ich mal wieder
zurück und befinde mich jetzt wieder in
meinem fchance 23 Ordner und wir sehen
ich habe hier meine beiden Dateien
rumliegen und mein Unterordner wenn ich
jetzt den Unterordner löschen möchte
dann mache ich das auch mit RM und dann
mache ich Unterordner dieser Befehl wird
viel
schlagen eine weitere Sache wo man sich
in der Schelle dran gewöhnen sollte ist
ist bewusst Fehlermeldungen zu lesen die
sind nälich tatsächlich sinnvoll und
wichtig das ist bei grafischen
Programmen nicht unbedingt so aber wenn
ihr auf der schell eine Fehlermeldung
bekommt dann sagt ihr euch im Idealfall
und im Normalfall sogar auch was das
Problem ist hier sagt das RM das
Entfernen von Unterordner ist nicht
möglich ist ein Verzeichnis das bedeutet
dass ich eine spezielle Flag mitgeben
muss wenn ich ein Verzeichnis löschen
möchte es ist auch eine unter
unixartigen Systemen dass die FL dafür
min R ist das R kann manchmal groß und
manchmal klein sein je nach Programm im
Falle von RM CP und MV ist es ein
kleines R und das R steht für rekursiv
das heißt dieses Verzeichnis und alle
seine Unterverzeichnisse und eben auch
ohne dass es mich fragt wenn ich möchte
dass es mich nach Bestätigung fragt muss
ich wieder so ein i mitgeben Heß ich
füre jetzt mal dieses Kommando rm- ir
unter dann fragt es mich möchtest du das
Verzeichnis entfernen ich sage yes und
dann ist dieses Verzeichnis auch
erfolgreich gelöscht
wurden ihr habt jetzt auch gesehen ich
kann den Inhalt von textdateilen
ausgeben
lassen und was diesen Dateien fehlt ihr
seid das gewohnt dass kein Dateiendungen
haben wenn inem Texteditor eine
Textdatei erstellt dann hört die
üblicherweise mit pun txt auf das hab
ich jetzt weggelassen warum kann ich das
Weglassen linux hat ein eingebautes Tool
um mir zu sagen welchen Dateityp die
Datei hat und dieses File Kommando weiß
eben schon dass es sich um ask Text
handelt eigentlich hat jeder Datei schon
Informationen drinne darüber was für ein
Dateityp sie ist oder im Falle von
wirklich ganz simplen Dateien wie
einfachen Textdateien kann das System
das auch selbstständig identifizieren
dass es sich eben um eine Textdatei
handelt die Dateiänderungen
sind na ja mehr oder weniger dekorativ
manche Anwendungsprogramme z.B
Videobearbeitungsprogramme oder EU
Browser die achten auf dateienderungen
um eben zu identifizieren welche Dateien
sie verarbeiten können aber prinzipiell
geht der Datei keine Informationen
verloren wenn ihr die Dateiendung
weglasst und auf der Shell und vor allen
Dingen für Textdateien benutzen wir
prinzipiell keine Dateiendungen sondern
lassen die einfach weg und ja für
ausführbare Dateien aus ebenfalls ich
kann auch wir haben ja vorhin schon mal
dies
Echo
Dollar share gemacht und dieser binbash
ist quasi mein Pfad zu meiner Shell kann
jetzt dieses fil kommmando auch mal auf
Slin spash
ansetzen und dann sagt es mir eben hier
dass es sich meine 64 Bit ausführbarer
Dateil Handel also Linux weiß schon ganz
von alleine welchen Dateityp eine Datei
hat ohne dass ich groß mit
Dateiänderungen rummchen muss also unter
Windows ändet jeder ausführbare Datei
mit pun exe und unser Linux lassen wir
diesen kadat einfach weg weil zu viel zu
ist und wir sehr faul sind und wir das
auch schlecht und einfach nicht
brauchen so jetzt haben wir gelernt wie
wir dateilen verschieben das machen wir
mit MV wir kopieren mit CP wir löschen
mit RM und ja damit können wir
eigentlich jetzt schon die
grundlegendsten Sachen und das heißt wir
können uns jetzt mal unser System
anschauen und gucken was sonst so auf
unserem Computer
rumfliegt das schöne an so einem Unix
System ist dass ich das ganze System
direkt offen vor mir rumliegen habe wir
gehen jetzt einfach mal unser System
anschauen und ich mache jetzt einfach
mal so ein CD Slash ich habe schon
erklärt Slash ist das rotverzeichnis
also da sind alle anderen Verzeichnisse
drinne und wenn ich jetzt hier ein LS
mache dann seht ihr hier auch einen
ganze Menge Verzeichnisse von denen ihr
unter Umständen noch gar nichts gehört
hab und wie gesagt das tolle an System
ist dass das ganze System wirklich hier
in diesen paar Ordnern abgebildet ist
weil auch ein Unix grundprinzip ist dass
alles eine Datei ist also z.B in slashd
befinden sich alle meine Geräte Tastatur
Maus sämtliche angeschlossenen SSDs
Festplatten usbsticks CD romlaufwerke
alles liegt abgebildet alseil in Slash
drinne in slbin und auch in sluser/
liegen ausführbare Dateien rum also die
ganzen Kommandos die ich hier rein
Haacke liegen ausfübare Dateien in
diesen Ordnern drinne home beinhaltet
wie schon gesagt mein Home Verzeichnis
in/etc befinden sich
Konfigurationsdateien und so hat jedes
dieser Verzeichnisse seine eigene
Aufgabe und beinhaltet hauptsächlich
Systemdateien eure wertvollen eigenen
Dateien liegen alle in demem Slash home
Ordner rum
in slashc habe ich eben schon gesagt
liegen Konfigurationsdateien rum ich
mache jetzt einf mal SL etcl
ls/etc also dieses Kommando ich h das
noch mal her das haben wir gerade
ausgeführt und hier liegen quasi
sämtliche Dateien rum rum
die zentral universelle Einstellungen
für euer System vornehmen also ihr habt
eure also ich
mal C Passwort da stehen kein Passwörter
drin in dieser Datei die stehen in der
Shadow Datei da kommen wir gleich noch
dazu da steht in dieser Datei
in/edc/pwd steht drinne welche Benutzer
auf diesem System angelegt sind das sind
eine ganze Menge weil viele demons und
ausfühbar und anwendungsprogrammer so
ihre eigenen User haben um Dinge so ein
bisschen getrennt zu halten aber euer
eigener User wird da auch irgendwo
drinne stehen und natürlich der rootuser
wir haben auch in/etc
ja da ist mein User und dann haben wir
auch die etc FS Tab der inht dieser
Datei ist auch könnt ihr ruhig mal in
einem ruhigen Stündchen nachschlagen was
die FS Tab eigentlich tut und wie die
aufgebaut ist die FS Tab beinhaltet
Information darüber welche Datenträger
in meinem System automatisch verwendet
worden werden also welche
Partition an welche Stelle im System
gemaut wird und wie gesagt das ist halt
das schöne an so unixartigen System dass
ich halt wirklich die gesamte
Konfiguration des Systems und alles was
dem System bekannt ist direkt vor mir
liegen habe und ohne irgendwie
großkindersicherung direkt darauf
zugreifen
kann ich kann auch teilweise
Hardwareinformationen auslesen ich geh
noch mal zurück Slash und ich habe ja
gezeigt hier gibt's auch noch diesen pro
und SIS sind zwei Ordner die dem
Kernel gehören wo halt Informationen
über laufende Prozesse und über Hardware
und teilweise auch Schnittstellen um
direkt dem
Kernel Befehle zu geben drinne liegen
und in slashp liegt eine Datei die heißt
cpuino cpuino benutze ich jetzt mal nur
als Beispieldatei die beinhaltet na ja
eben Angaben darüber welche Prozessoren
auf dem System vorhanden sind und ich
ich möchte euch da einen Trick zeigen
wenn ich die nämlich ausgeben lasse
stellt ihr fest dass die ziemlich lang
ist also ich habe jetzt natürlich hier
auf der grafischen Oberfläche das Glück
dass ich einfach mit dem scrollerrad
nach oben scrollen kann aber ich habe
schon erwähnt unter Umständen hängt ja
irgendwann mal auf der eigentlichen
Konsole fest und die Konsole kann eben
nicht nach oben scrollen oder nur sehr
sehr kurz damit ich so eine lange Datei
lesen kann und darin auch rumsrollen
kann benutze ich ein anderes Kommando
und zwar nicht sondern ich benutze das
Kommando l wir haben es vorhin schon
gesehen als wir die TAB completion
benutzt haben da hat es uns was
angezeigt mit more und more ist auch ein
eigenes Programm und L ist quasi die
Weiterentwicklung von more also
Weiterentwicklung die schon was weiß ich
wie viele Jahrzehnte alt ist aber L ist
doch ein bisschen komfortabler zu
benutzen wenn ich l jetzt ausführe l
kann ich wie Cat einfach auf jeder Art
von Textdatei ansetzen und einfach
diesen Programm als Argument ein
dateinah mitgeben wenn ich das mache
kann ich ganz bequem wie ich kenne mit
den ptasten hoch und runter scrollen und
auch mit den Bild runter und Bild
hochtasten ganz normal hoch und runter
scrollen in dieser
Datei das Problem mit L ist dass ich da
nicht mit Steuerung C rauskommen wir
haben vorhin darüber gesprochen dass
Steuerung C dazu dient laufende Prozesse
abzubrechen aber l fängt diese
Tastenkombination ab und macht dann gar
nichts weil es die nicht kennt L ist ein
Programm was standardmäßig für sehr
viele Sachen auf der Konsole benutzt
wird sehr viele Programme die auf der
Shell laufen werden euch einfach ohne
euch zu fragen in so ein less
reinschmeißen und es wird erwartet dass
ihr das benutzen könnt das wichtigste
was ihr in L wissen müsst ist wie man
das verlässt und das ist mit der Taste Q
F quit keine Kombination s wirklich
einfach nur auf diese Taste drücken Q
und dann es lässt wieder zu das könnt
ihr euch auch merken das ist auch so ein
bisschen eine Konvention wenn ihr aus
ein Programm mit Steuerung C nicht
rauskommt und mit Steuerung D also das
was für exit steht auch nicht rauskommt
dann probiert mal Q dann kommt ihr
höchstwahrscheinlich doch noch
raus genau das ähm less ist sehr
sinnvoll und sehr wichtig zu
verstehen und wenn wir l beherrschen
können wir eigentlich
fast schon alles was es auf der Konsole
zu machen gibt ich habe eben schon
gezeigt dass in
EDC ich mache jetzt einfach mal direkt
etc die User drin stehen aber irgendwo
auf eurem System sind auch Passwörter
gespeichert
und das Thema was ich jetzt behandeln
möchte ist Zugriff auf detailen mit
erhobenen Berechtigungen also Superuser
rotrechte sudo das ist sehr wichtig wenn
ihr was sinnvolles auf einem System
machen
wollt ich werde jetzt mal eine Datei
ausgeben wo es mir sagt keine
Berechtigung wenn ihr irgendwo anem
öffentlichen Ort seid oder mit nicht
vertrauenswürdigen Leuten solltet ihr
den Inhalt dieser Datei nicht unbedingt
ausgeben weil dort Passwort Hashes
drinne stehen und nur damit niemand den
Herzinfarkt kriegt ich habe auf diesem
System was ich extra für diesen Kurs
hier eingerichtet habe auch nicht meine
üblichen Passworte drinter stehen
die Datei da wo die Passworte drinne
stehen ist die etc Shadow
Datei und wenn ich dir jetzt versuche
auszugeben sagt es mir dass ich keine
Berechtigung habe klar ich bin als
Normal User unterwegs und das mit den
Usern ist hauptsächlich als
Sicherheitsmechanismus gedacht also klar
wenn ihr auf eurem eigenen System sitzt
ist es ja auch so gedacht dass ihr
vollständigen Zugriff darauf habt also
gerade so ein Linux System ist ja dafür
gemacht dass ihr 100% von dem System
kontrollieren dürft und sollt und
niemand wird euch diese rotrechte
vorenthalten das ist nicht wie auf dem
Handy dass ihr da irgendwie illegale
oder euch die Garantie vermasselen
müssten damit ihr irgendwie euer System
komplett bearbeiten könnt sondern das
ist so gedacht und deswegen haben die
meisten Systeme auch schon sudo
vorinstalliert um es euch möglichst
einfach zu machen eben mit
Administratorrechten euer System
bedienen zu können und das werden wir
jetzt lernen
ein wichtiger Befehl ist dieser who Ami
tut was er sagt er gebt mir einfach aus
welcher Benutzer ich gerade bin ich
finde das sinnvoll zu wissen dass man
einfach sich bestätigen kann wer man
gerade eigentlich als wer man gerade
unterwegs ist und hier zur Demonstration
ist es natürlich auch sehr nützlich
diejenigen von euch die unter Umständen
schon mal irgendwie Kommandos in ihre
Konsole reingetippt oder kopiert haben
haben sicherlich auch schon dieses sudo
Kommando
gehen sudo gut da muss ich jetzt ein
bisschen ausholen das
eigentliche Kommando um sich rotrechte
zu verschaffen wäre su su steht für
super User und auf manchen Systemen ist
auch sudo gar nicht installiert wenn ihr
euch z.B so ein AR Linux installiert da
ist der standardmäßig kein sudo drauf
und auf BSD Systemen dann sowieso nicht
also unter unixartigen Systemen ist der
Standard um sich rotrch zu schffen des
su Kommando aber ich mache jetzt mal
sudo sudo ist ein Programm mit dem ich
mir für einzelne Kommandos rutrechte
holen kann das heißt ich führe ein
Kommando als Administrator aus und der
Rest alles was danach kommt mache ich
wieder als ich selber außer ich gebe
natürlich wieder soo ein ich mache jetzt
noch mal diesen Befehl Cat etc Shadow
und mach den jetzt mit Sud dran und
jetzt fragt ihr
mich mein Passwort dass ich natürlich
eingebe und ihr seht hier auch das hier
ist nicht das Passwort was ich gerade
eingegeben habe sondern das ist der Hash
von dem Passwort was ein Passwort Hash
ist könnt ihr euch auch mal außerhalb
dieser Veranstaltung in Ruhe
anlesen also das ist quasi der Wert mit
dem die Passworteingabe verglichen wird
um rauszufinden ob ich mein Passwort
richtig eingegeben habe und ihr seht
auch der rot Benutzer auf diesem Team
hat standardmäßig überhaupt kein
Passwort drinne also ich kann mich gar
nicht mit su als Rut einrechnen als L
ein als rot einloggen weil es mich eben
hier nach einem Passwort fragt und Rut
hat aber kein Passwort das heißt egal
was ich eingebe das Passwort wird immer
falsch sein und dadurch kann ich das su
Kommando auch standardmäßig gar nicht
benutzen sondern ich muss alles über
sudo
machen das hat sich so ein bisschen
ergeben über die letzten Jahre dass es
jetzt der Standard so ist weil es eben
gesagt wird wenn ich halt alles über
sudo mache muss ich immer explizit davor
sagen dass ich das Programm als sudo
ausführen möchte
und liege nicht einfach in so einer
rutschall rum das ist so ein bisschen
wird so ein bisschen als
Sicherheitsmechanismus verkauft um
Fehler zu verhindern dass man nicht
irgendwie versehentlich was als rout
ausführt was man eigentlich als User
machen wollte persönlich halte ich das
nicht unbedingt für ein überzeugendes
Argument weil immer wenn ich mir was
kaputt gemacht habe habe ich das durch
Befehle gemacht die ich 100% absichtlich
ausführen
wollte ja aber standardmäßig ist es eben
so eingerichtet wenn ihr gehobene Rechte
wollt dann müsst ihr das als sudo machen
und wenn ich jetzt aber sudo - S
eingebe dann in dem Fall muss ich jetzt
nicht noch mal mein Passwort eingeben
weil er das ein paar Minuten lang
speichert dass ich mich gerade schon
authentifiziert habe und sudum- S öffnet
eine Shell als rot das heißt wenn ich
jetzt den Befehl noch mal eingebe
deswegen habe ich das auch jeben gezeigt
das whomi dann bin ich auch rot das
heißt jeder Befehl den ich im Folgenden
ausführe wird auch als rot ausgeführt
werden das ist dann sinnvoll wenn man
wirklich längere Zeit am System
rumfuschen will und nicht vor jeden
einzelnen Befehlen so Duo tippen möchte
dann holt man sich einfach mit sud- S
oder auch ich Klock mich noch mal aus
mit Sud
eine rutchell und kann danach als rout
arbeiten aber wie gesagt wenn man das
macht muss man sehr vorsichtig sein wenn
man sich halt auch mit einem einzigen
Kommando sein komplettes System
zerstören kann also wenn ich jetzt z.B
diese etc passwdatei löschen würde
könnte ich mich gar nicht mehr einlogen
ich kann auch mit einem einzigen
Kommando sämtliche Dateien auf meinem
System löschen das zeige ich euch jetzt
mal dieses Kommando aber bitte bitte
nicht ausführen und schon gar nicht als
Rut wenn das macht ist selber schuld ich
habe euch vorgewarnt das sagt man immer
Leuten so zum Spaß für es aus das wird
alle deine Computerprobleme lösen na ja
stimmt insofern dass auf dem Computer
dann nichts mehr drauf ist und alles
gelöscht ist und dann gibt's auch keine
Probleme mehr außer dass halt alles weg
ist RM haben wir eben schon besprochen
heißt remove - R heißt dieses
Verzeichnis und alle seine
Unterverzeichnisse und das F steht eben
dafür auch wenn du irgendwie noch einen
Warnsystem drinne hast
dass diesen Befehl abfangen würde und
mich fragen willst du das wirklich tun
das F steht für Force und sagt frag mich
nicht mach einfach also dieses rm- RF SL
ist so ja den befehlt immer immer als
Witz Leuten sagt mach das einfach nein
nein ne das machen wir bitte nicht weil
dann ist alles kaputt und ich drü jetzt
auch Steuerung C um das nicht
auszuführen
so wir können jetzt auch so ein bisschen
Systemverwaltung schon machen wir haben
noch ein bisschen Zeit ich werde jetzt
das Tempo ein bisschen anziehen um hier
noch möglichst viele Dinge vorführen zu
können ihr solltet nicht den Anspruch
haben was von diesem Punkt an kommt euch
alles zu merken sondern was jetzt kommt
gilt quasi als Demonstration und einfach
dass ihr es mal gesehen habt und wisst
was für Möglichkeiten es gibt und was
ihr machen könnt aber ihr werdet die
Dinge dann doch noch mal extern
nachlesen müssen um sie wirklich zu
verstehen wir fangen mal an mit
allgemeiner System stusüberwachen
Überwachung ein Kommando um mir
Nachrichten vom Kernel ausgeben zu
lassen ist das Kommando dmesk das muss
ich üblicherweise auch mit rotrechten
ausführen ich bin hier schon in einer
rotchell drinne deswegen kann ich das
einfach machen normalerweise müsste man
das wenn man als User unterwegs ist
mit sudo davor machen also so kann ich
mir das Sparen ich Tri jetzt mal DK und
ihr seht hier das sind so lognachrichten
die meisten davon werdet ihr erstmal
nicht verstehen ich weiß auch nicht was
jeder einzelne davon bedeutet völlig
normal das ist dann sinnvoll wenn es
irgendwie Fehler oder Probleme auf dem
System gibt und der versucht
rauszufinden was los ist und ich habe
eben schon gesagt auf der Konsole habt
ihr nicht die Möglichkeit nach oben zu
scrollen oder nur sehr begrenzt das
heißt wenn ihr irgendwie wissen wollt
was ganz da oben steht dann kommt ihr da
nicht so weit und deswegen können wir
auch wieder die Ausgabe umleiten und das
machen wir jetzt mit der Pipe die Pipe
leitet die Ausgabe von diesem Befehl um
und zwar in einen Befehl den ich dann
hinterher reinschreibe und ich schreib
jetzt einfach mal l hin und wir haben
uns les eben schon angeschaut wenn ich
das mache öffnet das quasi diesen ganzen
Output diese richtig lange Liste in
diesem l Programm und ich kann ganz
bequem nach oben und unten scrollen wie
ich das gewohnt bin mit den ptasten und
mit Bild hoch und Bild runter und
verlassen tu ich es mit Q ich kann aber
auch statt diesem l ein anderes Kommando
nehmen und zwar ein steht für get
Reg und was das macht das tut einfach
ich gibt einen String
und zeigt mir quasi greift sich nur die
Zeilen raus die diesen String enthalten
also mein Suchwort ich ma jetzt mal so I
das i steht für ignor Case also groß
Kleinschreibung ignorieren und jetzt Tip
ich mal eror dieses Kommando solltet ihr
euch merken
P wenn bei euch aufem aus irgendeinem
Grund irgendwas nicht geht keine Ahnung
Festplatte kaputt irgendwie irgendeine
Hardware ist gerade am sterben dann
werdet ihr auch in diesem demess
Kommando eine Menge errors drinne haben
und wenn ihr eben hier mit grb- E grb- i
nach errors sucht kriegt ihr die auch
alle angezeigt und könnt dann eben
rausfinden was gerade bei euch am
Sterben ist hier ist natürlich jetzt
kein Fehler drinne weil bei mir alles
top funktioniert hier informiert er mich
nur darüber dass so ein fehlersammler
initialisiert wurde das ist kein
tatsächlicher Fehler aber dieses
Kommando merkt euch das gut weil wenn
mal was kaputt ist wird euch das sehr
viel Arbeit
erleichtern als nächstes würde ich euch
gerne mal zeigen
ähm wie wir einen
USBStick formatieren und mten können das
machenchen wir dann auch komplett über
die Konsole dafür braucht ihr ein
USB-Stick dessen Inhalt euch nicht viel
wert ist na ja also ihr werdet jetzt
nicht unbedingt ein zur Hand haben aber
ich werde das einfach mal
vorführen ich habe jetzt hier mein
USBStick und wenn ich den jetzt in
meinen Computer
reinstecke dann kann ich mir mit
dmask auch anzeigen lassen was hier
gerade passiert ist
und hier seht ihr schon der hat jetzt
hier attach scasi removal removal disk
und ich kann mir jetzt die Partition
anzeigen
lassen indem ich diesen Befehl ausführe
also was ich hier mache fdisk ist ein
Programm um Partitionstabellen zu
editieren was ich nicht empfehlen würde
weil ich es nicht mag und es ist
unmöglich zu benutzen aber wenn ich mir
wirklich nur angucken will was für
Partitionen auf einem Gerät drauf sind
dann mache ich das Kommando - L und ich
habe eben schon erklärt alles unter Unix
artigen System ist eine Datei das heißt
dieses
slashdf/sdf ist eine Datei die für mein
USB Stick steht und das DMS Kommando hat
mir gerade hier verraten an welche
Stelle es diese Datei eben abgelegt hat
also mit welchem Namen und das ist SDF
hier die Partitionen sdf1 und sdf2 wenn
ich das fd - L
mache dann s sagt es mir gleich gut ich
meine sagt Festplatte aber es heißt
einfach nur allgemeine datenträge es ist
natürlich ein USB Stick und hier steht
auch schon welches Modell das ist das
ist der Data Traveler und ich weiß so 60
GB das kommt hin das ist das Gerät was
ich gerade reingesteckt habe das ist
korrekt ich habe da mal frebsd Bootstick
drauf gehabt ja den ich jetzt natürlich
nicht mehr brauche weil ich ihn jetzt
gerne formatieren möchte
und wenn ich tatsächlich paritionen
editieren möchte unter einem Linux dann
mache ich das immer mit CF Disk was viel
komfortabler zu benutzen ist als fdisk
und es könnt ihr auch immer benutzen
also wenn in irgendein Anleitung steht
mach fdisk dann ignoriert ihr einfach
das fdisk und macht stattdessen CF
Disk genau und das bringt euch hier in
so einen schönen Bildschirm ich
verschiebe mal hier mein Fensterchen
nein das ist das falsche dieses
Fensterchen und damit ihr das ein
bisschen besser sehen könnt hier seeht
hier ich habe hier meine Partitionen und
kann dann diese Partitionen auch löschen
ich kann mit Pfeil hoch und runter kann
ich die einzelnen Partitionen
durchschalten
und mit PIL nach links und rechts kann
ich die Funktionen hier im unteren
Bereich des Fensters durchschalten und
ihr seht auch die Maus funktioniert
nicht die Maus interagiert nur mit dem
Text und kann den Text markieren aber
ihr könnt nichts anklicken das sind
keine wirklichen Buttons sondern ihr
müsst wirklich mit dem Fall Tasten nach
links und rechts durchschalten um diese
Partition manipulieren zu können und ich
möchte jetzt diese beiden Partitionen
löschen und ich gehe jetzt eben beides
auf löschen und was ihr wissen müsst bei
cfdk es schreibt nichts bevor ihr nicht
da auf schreiben geht das heißt ich kann
jetzt wenn ich hier mit q drücken würde
dann würde ich rausgehen und es hätte
nichts geschrieben und es wäre auch
nichts passiert ich möchte jetzt eine
neue Partition anlegen die das füllt mir
schon automatisch die komplette Grüße
vor ich könnte jetzt auch einen
kleineren Wert eingeben aber ich drück
ein enter weil ich eine Partition will
die die ganzen USB-Stick einnimmt und
jetzt gehe ich hier auf schreiben und
jetzt muss ich yes oder no
eingeben
und dann habe ich es geschrieben und
hier sagt es mir auch hier unten die
Partitionstabelle wurde verändert und
nein das wollte ich nicht machen genau
ich habe einfach geschrieben bin jetzt
einfach mit Steuerung C rausgegangen und
wenn ich es jetzt noch mal mache sehe
ich auch es ist alles passiert ich kann
auch mit Q rausgehen und dann habe ich
meine Partition geschrieben und mein
USBStick quasi alles was da drauf ist
gelöscht wenn ich jetzt eine neue
Dateisystem anlegen möchte es gibt zwei
wichtige ich drücke jetzt mal Tab Tab
dann seht ihr hier mkfs steht für make
fil System und ich kann jetzt z.B vF ist
das übliche was ich für usbsticks
benutzen würde für Linux System also
wenn ihr eine neue SSD oder Festplatte
einbaut dann neimmt ihr üblicherweise
ex4 ich möchte das jetzt als USB Stick
mache ich jetzt einfach KFS VF und DEF
stf1 die Zahl hier hinten steht für die
Partition man kann auf einem Stick also
direkt man muss immer eine Partition
anlegen um irgendwin Dateisystem haben
zu können ansonsten macht es eher wenig
Sinn und wenn ich diesesilystem jetzt
anlege dann kann ich im Anschluss mit
dem Befehl
mount diese Partition auch auf meinem
System einhängen und dann Dateien drauf
schreiben und manipulieren üblicherweise
passiert das auf so einem Gerät
automatisch also ihr kennt es schon wenn
ihr ein Stick reinsteckt dann kriegt ihr
gleich irgendwie ein Bildchen angezeigt
von wegen hier ich
habe diesen Stick bekommen und möchtest
du den jetzt anzeigen und die könnt auch
über normalen Datei Explorer reinkommen
und anschauen was da für Datien drauf
sind und manchmal funktioniert es aber
nicht oder ihr wollt irgendwie ein keine
Ahnung ihr seid irgendwie auf einem
Rescue System und wollt irgendwie ja
Daten von einem Datenträger retten also
es ist schon sinnvoll wenn man das
beherrscht ist über die Kommandozeile
und Mountain tun wir eben mit dem Befehl
mount das heißt einhängen und dann gehen
hier den fahr zu unserem zu unserer
Datei ein also zu unserem Gerät und das
zweite ist der mountp das he ist die
Stelle im
Dateisystem wo dieser Stick eingebunden
wird und wenn ich jetzt nach mnt gehe
mit
CD dann ist er natürlich nichts drauf
aber ich kann
jetzt mein feerschanceordner aus meinem
hverzeichnis mit cp- R nach Mt kopieren
und jetzt liegt dieser Ordner auf meinem
USB-Stick drauf ich muss jetzt wenn ich
dieses diesen Stick wieder aushängen
möchte also anmounten möchte muss ich
auch aus diesem Verzeichnis wieder
rausgehen das heißt ich gehe jetzt
einfach mal ins übergeordnete
Verzeichnis und aushängen geht mit
umount für unmount natürlich dann kann
ich das ganze Ding aushängen und kann
den Stick jetzt auch sicher entfen ihr
solltet niemals einen Datenträger
entfernen den ihr nicht unmountet habt
ihr könnt das natürlich auch wenn ihr
das über die grafische Oberfläche macht
könnt ihr auch einfach mit Rechtsklick
und sicher entfernen oder aushängen oder
wie auch immer wenn ihr das nicht macht
zerschießt ihr euch im ZiF sämtliche
Daten auf dem Gerät also immer darauf
achten dass ein Stick oder generell
Datenträger ausgehängt ist bevor ihr ihn
physikalisch entfernt und wie gesagt das
habe ich jetzt gemacht das heißt ich
kann jetzt meinen Stick auch rausziehen
und da liegt jetzt mein fechanceordner
drauf wir machen jetzt noch ein bisschen
weiteres
Systemverwaltung ich gehe jetzt noch mal
zurück ihr seht auch wenn ich hier CD
tippe dann geht es in dieses
tildeeverzeichnis und dieses Tilde
Verzeichnis ist slashroot denn ich bin
der rootuser und der rootuser ist der
einzige User dessen Home Verzeichnis
nicht in Slash home liegt einfach um
Zugriffsrechte leichter verwalten zu
können das muss man sich halt gemerkt
haben also dieser cdkmando ohne ein
Argument bringt mich immer in mein h
Verzeichnis zurück und das ist einfach
eine gute Basis da kann ich nichts
kaputt machen so wir waren jetzt bei
allgemeiner Systemüberwachung es gibt
noch einige sinnvolle Kommandos die ich
euch demonstrieren möchte es gibt z.B
das Kommando DF das steht für dis free
das zeigt mir an wie viel Speicherplatz
auf welchem von meinen Dateisystemen
noch vorhanden ist diese Datei Systeme
hier die mit ohne einen Slash anfangen
sind hauptsächlich virtuelle Datei
Systeme die sind nicht so wichtig alles
was mit Slash Def anfängt sind drei
Systeme die physikalisch mit Geräten
verbunden sind ich habe das eben schon
erklärt Geräte sind als Dateien in
slashd abgebildet das heißt dieses hier
ist mein ja mein rotverzeichnis wo alles
drauf liegt dieses hier ist mein
hverzeichnis hier ist mein Boot und
meine e Partition
und hier kann ich eben sehen wie viel
speicherplat dann noch frei ist und ihr
seht das sind ziemlich große Zahlen
keine Ahnung was die bedeuten wenn ich
die umgewandelt haben möchte muss ich
die F ein Flag mitgeben und machen - h
da steht für human readable also
menschenlesbar und dann u sind endlich
auch wieder Zahlen mit den ich was
anfangen kann hier habe ich noch ein
knappes
Gigabyte größer und davon
sind
ja
200 noch was megab benutzt das ist das
Slash gut auf meinem eigentlichen System
hier habe ich 1,9 TB frei Speicherplatz
davon sind nur 8,2 GB benutzt das hier
ist so eine Art Tabelle das seht ihr
auch das ist die Spalte und hier steht
wie viel Platz noch verfügbar ist also
dief ist ein sinnvolles Kommando wenn
man wissen möchte wie viel Platz noch
frei ist auf einem Datenträger oder auch
wenn ich z.B dabei bin eine Milliarde
Dateien auf mein USB-Stick zu kopieren
kann ich mir mit DF anzeigen lassen wie
viel ich schon kopiert habe und das ist
einfach sehr sinnvoll ein ähnliches
Kommando gibt es um zu überwachen wie
viel Arbeitsspeicher ich noch frei habe
und das ist free für ja wie viel memory
noch frei ist und hier ist genau das
gleiche dass sie halt diese großen
Zahlen habt und wenn ihr die H Flag
mitgibt dann kriegt ihr lesbare zahlen
das heißt hier es ist natürlich jetzt
dadurch dass die Schriftgröße so groß
ist hat diese Tabelle ein bisschen
zerschossen die ist in Wirklichkeit in
einer Zeile es ist einfach ein bisschen
zu lang also das total sind hier die 31
GB used sind 2,4 GB free sind 24
GB
und available ist der eigentliche das
Free und US das ist so ein bisschen also
da gibt's dann auch noch diese buffers
und Cash die
wichtigen Spalten von dieser Tabelle ist
dieses total und used das ist das was
tatsächlich aktiv in Benutzung ist und
die allerletzte Spalte ist wie viel
wirklich noch frei ist das heißt ich
habe momentan 2,4 GB in Verwendung und
28 GB habe ich noch frei mein RAM ist
gadenlos überdimensioniert für diese
Anwendung hier das ist aber auch gut
so eine Frage die euch jetzt vielleicht
stellt ist woher weiß ich denn welche
Kommandos ich überhaupt tippen soll also
ich möchte gerne was tun aber ich weiß
gar nicht wie ich das eigentlich mache
auf der Shell und die Shell
sagt mir auch nicht wie ich sie benutze
also sie sagt mir nicht welche Kommandos
zur Verfügung stehen und hilft mir auch
nicht diese Kommandos zu finden na ja
früher hat man gesagt kauf dir ein Buch
heute gibt zum Glück das Internet und
wir können einfach Suchmaschinen
benutzen also ich mache das auch wie
gesagt ich benutze seit knapp 20 Jahren
unixartige Systeme und immer noch wenn
ich irgendwas machen will gehe ich
erstmal auf meine lieblingssuchmaschine
und Frage Linux Kommando um was auch
immer zu tun und dann kriege ich eben
gesagt welche Kommandos mir zur
Verfügung stehen wenn ich wissen möchte
wie ist diese Kommando wie ich diese
Kommandos benutze dann gibt es
tatsächlich ein integriertes System und
das sind die man pages für manual also
die Anleitungen die sind tatsächlich auf
so unixartigen Systemen standardmäßig
installiert also na ja es kann sein dass
je nachdem wenn ihr ein seltsames System
habt wenn ihr euch ein händisches
arlinungs aufsetzt dann müsst ihr diese
Manpages auch direkt also selbst noch
händisch installieren aber auf solchen
fertigen Systemen sind die meistens
direkt von Anfang an mit dabei und das
heißt wenn ich wissen möchte wie ich
dieses free Kommando jetzt korrekt
anwende dann mache ich es einfach mit
man und dann mein Kommando
hinterher das ist einfach eine
Kurzanleitung die sagt mir auch was
dieses Kommando eigentlich tut dann
beschreibt es den Aufbau von dem
Kommando
und hier in dem Fall auch den Output und
das wichtige sind diese Optionen also
diese Flags die ich dem Kommando mitgebe
und ja durch die Manpages kann ich eben
lernen wie ich verschiedene Programme
benutze und ich habe eben schon erwähnt
less ist das Programm was
standardmäßigorausgesetzt wird dass ihr
das benutzen könnt und das
Anzeigeprogramm für diese man Pages ist
eben auch less also ihr könnt es
entsprechen mittasten hoch und runter
scrollen und mit Q diese manpage wieder
verlassen für manche spezielle Dateien
gibt es auch Manpages ich kann jetzt
auch wir haben vorher uns ganz kurz die
fsab angeschaut die hat eine eigene
manpage und die kann ich mir natürlich
jetzt auch durchlesen und anschauen also
es sind nicht nur Befehle die mpages
haben sondern auch teilweise Dateien
also konfigurationsdateilen
spezifisch diese mpages sind sehr
sinnvoll ihr solltet auch euch dran
gewöhnen die einfach mal durchzulesen es
ist natürlich so dass Übersetzungen
nicht immer verfügbar sind also ich habe
hier hat jetzt auch gesehen so einige
davon werden jetzt Englisch angezeigt
manche sind deutsch also man sollte
schon Englisch beherrschen wenn man man
pages lesen möchte aber prinzipiell ist
es ein extrem mächtiges Werkzeug das ihr
auch wenn ihr euch auf der Kommandozeile
bewegt ständig einsetzen werdet diese
Manpages also die sind absoluter
Standard und im sehr sehr zentral für
die Benutzung eines unixting Systems als
nächstes können wir noch ein bisschen
prozessverwaltung machen und lernen wie
wir Prozesse killen und ja dazu muss ich
euch dann aber auch erklären wie man ein
Texteditor benutzt also wir machen jetzt
den ganzen Rest mal ganz schnell in im
Kurzprogramm
durch für die prozessverwaltung habe ich
jetzt hier wieder eine ganz normale
usershell also ich bin wieder ich und
bin kein Rot mehr und ich möchte euch
jetzt ganz kurz
zeigen ich bin jetzt auch in meinem
hverzeichnis drinne ich gehe jetzt
wieder in den fechance Ordner und wir
haben hier die textdateilen und ich
möchte euch jetzt zeigen wie man
Prozesse killen kann und wie man einen
Texteditor benutzt alles auf einmal der
Texteditor den wir standardmäßig auf
Linux System vorinstalliert haben ist
Nano ich finde Nano persönlich ist
furchtbar zu benutzen und wird euch
empfehlen entweder Wim oder X oder Mikro
zu lernen dass ihr euch einfach auf der
Konsole sinnvoll Textdateien bearbeiten
könnt wen Nano wirklich nicht angenehm
ist aber ich mache einfach mal Nano auf
diese Textdatei und das ist wirklich ein
vollständiger Texteditor damit kann ich
normal mit F Tasten hin und her ich kann
ja ich kann hier neuen Text
reinschreiben
und mich ganz normal hier zurechtfinden
das ich habe euch schon erklärt diese
Konvention hier Nano hat diese
eingeblendete Hilfe ganz unten und die
Konvention ist dass dieses Dach für die
steuerungtaste steht das heißt wenn ich
die Datei wenn ich aus dem Editor raus
möchte dann mache ich das mit Steuerung
x und dann fragt er mich ob ich den
speichern möchte und ich sage ja fragt
michch dateilamen ich sag Enter und dann
habe ich diese Datei gespeichert wenn
ich die jetzt noch mal
aufmache weil ich möchte euch jetzt
zeigen wie ich diesen Prozess hier
killen kann aus einem anderen Terminal
ich mache jetzt noch ein zweiten Tab auf
und ich zeig mal das erstmal das
Kommando top top ist so eine Art Task
Manager aber kann nur Tasks anzeigen und
keine töten also vom Windows Task
Manager kennt ihr das vielleicht dass
ihr da direkt auch Task beenden könnt
das kann top nicht top kann wirklich nur
anzeigen und zeigt dich an welche
Prozesse auf dem System die meisten
Ressourcen verbrauchen bei euch wird es
ein bisschen kleiner sein weil ihr die
kleinere Schrift habt ich muss jetzt
nach rechts drücken um mir hier das
Kommando einzeigen zu lassen und man
sieht hier eben auch mit welchem
Kommando die Prozesse aufgerufen wurden
wie viel Ressourcen die verbrauchen auf
der linken Seite steht die PID das ist
die process ID unter unit dating System
hat jeder Prozess eine Nummer und diese
Nummer identifiziert eben eindeutig
diesen Prozess der auf diesem System
läuft das ist gleich noch wichtig aus
top komme ich mit der Taste Q wieder
raus und ich mache jetzt mal mit
Steuerung l wieder sauber
und ich möchte mir jetzt anzeigen lassen
welche PID Nano hat das mache ich mit
dem Kommando PID auf und dann printet er
mich hier diese Nummer ich
habe ein Kommando um den Prozess zu
töten und das ist kill kill braucht
diese ProzessID es gibt auch das
Kommando kill all das würde ich nicht
unbedingt benutzen das ist jetzt
bisschen zu viel zu erklären aber hier
ich kopiere jetzt einfach diese Nummer
da rein und wenn ich jetzt auf den
anderen Tab zurückschalte dann sehe ich
auch Nano wurde gekillt und hatte aber
noch Zeit sich zu schließen und sagt
auch hier ich habe sigup oder STM
empfangen und ich habe mich geschlossen
wenn ich jetzt Nano noch mal aufmache
zeige ich euch die andere Möglichkeit
ihr habt ja auch hin und wieder ein
Prozess der sich absolut nicht ab nicht
beenden lässt und wenn ihr diesen Fall
habt dann müsst ihr das mit kill-9
machen kill-9 sagt den Prozess stirbt
sofort und der hat auch keine Zeit mehr
dann noch in irgendeiner Form zu
reagieren oder sich sinnvoll zu beenden
oder irgendwas zu speichern sondern der
ist sofort tot ach so ich ma muss mir
jetzt die aktuelle Prozess ID weil esich
ein neuer Prozess
ist so und wenn ich jetzt zurück in mein
ander Tab gehe dann sehe ich auch
irgendwie sieht es so aus als wä Nano
noch an dieser ganze Scheiß ist noch auf
dieser Konsole drauf aber hier blinkt
der meinen shellpromt ich kann die Shell
auch benutzen aber Nano hatte einfach
keine Zeit sein Output überhaupt zu
löschen weil kill- 9 den Prozess eben
sofort abgeschossen hat mit Steuerung l
kriege ich die ganze Geschichte wieder
sauber so jetzt haben wir noch 5 Minuten
Zeit das heißt ich kann euch noch zeigen
wie man SSH benutzt SSH ist ein Programm
mit dem ich mich auf einem anderen
Rechner einloggen kann also z.B wenn ich
mich auf meinem Server einloggen will
der in irgendeinem Rechenzentrum steht
oder auch wenn ich zu vor bin
aufzustehen und mich auf meinem Laptop
einloggen will da auf meinem Bett steht
dann kann ich das alles mit SSH machen
ich werde das jetzt demonstrieren indem
ich mich auf genau diesem Rechner noch
mal einlogge also ich will jetzt nicht
noch ein zweites Gerät hier mit ins
Spiel bringen also nur zu
Demonstrationszwecken und ich mache
jetzt einfach SSH man macht immer
Benutzername
@hostname der Hostname kann auch eine
IP-Adresse sein ich mache jetzt einfach
mal local host und jetzt gibt ihr mir
natürlich eine Fehlermeldung weil
standardmäßig auf so einem frisch
installierten System der SSH Demon nicht
läuft Dämon ist einfach nur der
Fachbegriff für ein Hintergrundprozess
also irgendeinen Dienst der im
Hintergrund läuft und irgendetwas
verwaltet und nach Unix Grundprinzip hat
jedes Programm genau eine Aufgabe ein
Dämon hat eben genau eine Aufgabe die
Aufgabe des SSH Dämons ist es auf SSH
Verbindung zu lauschen und diese
gegebenenfalls zuzulassen es gibt auch
andere Dämonen von denen auch etliche
bei euch schon im Hintergrund laufen
ohne dass ihr es wisst es gibt z.B ein
der euer Netzwerk verwaltet den ihr dann
irgendwo da oben hier eure
Netzwerkeinstellungen zugänglich macht
und es gibt auch einen der eben
überwacht ob ihr irgendwelche
Datenträger einsteckt z.B der halt dann
das fernzeen öffnet wenn ich ein
USB-Stick einstecke es gibt so viele
Dämonen die E im Hintergrund Dinge tun
und dafür sorgen dass euer System
komfortabel zu benutzen ist und für
jeden dieser Dienste gibt es ein eigenes
Programm und dann gibt es natürlich auch
das Programm was diese Dämonen verwaltet
und das ist bei den gängigsten Linuxen
Systemd es gibt da auch verschiedene
Verwaltung für diese Hintergrundprozesse
System dies ist nicht unkontrovers also
gerade die eingefleischteren Linux da
innen sind teilweise so ein
bisschen finde ich nicht so gut wir
machen das mit sudo und dann machen wir
System CTL Start und auf dem Fedora
heißt es sshd auf BU heißt es glaube ich
nur SSH manchmal heißt es auch open SSH
also den Namen von diesem SSH Dienst
müsst ihr euch im zweit fle raussuchen
und wenn ich den gestartet habe kann ich
auch mein SSH Kommando ausführen jetzt
fragt er mich ist dieser Finger print
hier korrekt und ich gehe mal davon aus
dass er das ist normalerweise würde man
das unter Umständen noch überprüfen
wollen aber ich weiß ja dass ich das
gerade bin
und gib den hier einfach mein Passwort
ein und mich natürlich
verpp und wenn ich es korrekt
eingegebent habe dann habe ich jetzt
auch eine Stelle auf diesem Rechner was
natürlich in dem Fall genau derselbe
Rechner ist weil ich local benutzt habe
ich log mich jetzt mit Steuerung D noch
mal aus und demonstriere euch das auch
mit IPAdresse geht 127001 ist die IP die
auch für local host steht und da
passiert dann
natürlich
exaktelber gut dann haben wir doch
hoffentlich
heute viel gelernt und ich hoffe dass
ihr auf dieses Wissen in der Zukunft
aufbauen könnt und wie gesagt das ist
jetzt alles viel auf einmal und ihr
werdet euch nicht sofort von ull auf 100
auf der Kommandozeile zurechtfinden aber
ich hoffe dass dieser Vortrag euch doch
jetzt eine Basis gegeben habt auf die
ihr dann nach und nach aufbauen könnt es
wird auch sehr viel Übung brauchen bis
ihr wirklich euch diese Dinge auswendig
ist und euch wie zu Hause fühlt auf der
Kommandozeile aber mit ein bisschen
Übung ist es definitiv zu schaffen also
ich wünsche euch dann in der Zukunft
sehr viel Spaß auf der Kommandozeile
fröhliches
hacken willkommen zurück vom
prerecording ich habe jetzt Sky direkt
hier bei mir im
JIT und Sky wird jetzt eure Fragen
beantworten fangen wir gleich mit der
ersten Frage an ähm welche Linux
Distribution würdest du denn Anfängern
empfehlen das ist immer meine
lieblingsfrage weil meine Antwort darauf
ist immer alle das kommt nämlich immer
drauf an was man möchte also ich kriege
die Frage öfter wenn ich solche
Veranstaltung mache ich mache viel mit
Linux RAM und öfters neuen Leuten
darüber und die Frage ist halt immer was
dein Ziel ist so wenn du einfach n PC
willst der irgendwie funktioniert
dann kannst du einfach so ein fedura
oder Mint oder Ubuntu oder was
installieren und muss dich nie mit dem
System beschäftigen du kannst aber auch
nicht super viel mit dem System dann
machen also im Sinne von rumfuschen und
neue Dinge lernen wenn du ein System
willst was irgendwo zwischend drinne ist
wo du mehr mit machen kannst was
technisch stabil ist kannst du so ein
DBN benutzen und wenn du es auf die
harte Tour lernen willst dann kannst du
natürlich auch mit AR Linux oder mit
gentu anfangen und die Lernkurve hast du
so oder so wenn du die Dinge wirklich
lernen willst du brauchst h dann Leute
die du fragen kannst und Anlaufstellen
Forum Chat und musst sowieso dann viel
dazu lernen aber ja wie gesagt es kommt
immer drauf an was dein Ziel ist und man
muss sich eben auch trauen sich einfach
mal ins kalte Wasser zu werfen und zu
gucken was
passiert wo kann ich denn noch mehr über
die Kommandozeile lernen wenn ich jetzt
dein Talk geschaut habe und das alles
voll interessant finde aber dann
irgendein Problem
habe ja also genau uso wie die Profis
das aus machen das ebenfalls machen das
ist man geht auf die
lieblingssuchmaschine und tippt einfach
wildsriffe ein bis man eine
Problemlösung findet also es gibt auch
immer mal wieder irgendwie so
Zusammenstellungen von Kommandos um
irgendwie Aufgabe x y z zu erledigen
aber letztlich ist es einfach viel
Informationen zusammensuchen spezielle
Probleme nachschlagen und sich einfach
trauen auch mal Dumme Fragen zu stellen
auch es gibt viele Foren und Chats und
natürlich auf Mastodon und Co kann man
die Profis jederzeit erreichen und
einfach fragen wenn man selber nicht
rauskriegt wenn wenn du jetzt noch einen
Tipp hättest den du den du jemanden der
diesen Talk geschaut hat geben könntest
wie man am besten das gelernte Wissen
anwendet was würde der Tip
sein mach einfach mal was kaputt und
guck wie heile kriegst oder du such dir
eine Aufgabe von irgendwas was super
kompliziert klingt und finde raus wie es
geht also du könntest dir z.B die
Aufgabe suchen ich möchte jetzt auf
meinem Laptop einen Webserver aufsetzen
und auf meinem Laptop eine Website haben
dann kannst du einfach mal rausschauen
wie das geht und dann lernst du auch
sehr viel auch wenn du es nicht ganz
schaffst oder du suchst ja raus ich
möchte jetzt rausfinden wie man Linux
Kel konfiguriert dann findest du das
raus also such dir einfach eine Aufgabe
raus die unglaublich schwer klingt und
mach sie einfach der Geheimtipp ist
natürlich auch sich immer mal so ein LFS
zu installieren also Linux from scratch
das ist natürlich die absolute harte
Tour das ist quasi ein komplettes
linuxystem was du dir Stück für Stück
alles per Hand zusammenbaust aber es ist
ein Handbuch
also es erklärt wirklich jeden einzelnen
kleinen Schritt und wenn man das einmal
durchgemacht hat dann weiß man
eigentlich fast alles über Linux was man
so im Alltag gebrauchen kann es es
erklärt halt nicht nur wie man wie man
LSS aufsetzen kann sondern auch so ein
bisschen die die einzelnen man man lernt
das zusammenpielen der einzelnen
Komponenten man lernt es gibt nicht nur
den Linux Kernel sondern es gibt auch
diese 20.000 anderen Dienste und
Services und Komponenten die du auch
alle brauchst damit ein Linux sinnvoll
funktioniert
ja ja wir sind alle sehr große Linux
Fans
hier ja Distro Distro für Anfänger haben
wir schon gefragt ganz böse Frage Distro
deiner
Wahl ich benutze meistens Arch Linux
weil ich es einfach ich muss sehr viel
per Hand machen ich mache auch sehr
gerne per Hand aber Arin ist einfach
super komfortabel zu benutzen so vom
Paketmanagement her und es hat nicht
diesen furchtbaren flatpack Kram ich
habe Meinungen ich habe starke Meinungen
ja
die die die entwickelt man wenn man
dieses dieses Linux länger mal benutzt
ja
Lieblings Unix
Distribution ja also auf meinem Desktop
Rechner benutze ich momentan frebsd also
weil ich irgendwie dieses Linux 2005
viel irgendwo gar nicht funktioniert
noch mal haben wollte
und ich suche mir sowas halt auch danach
aus wie wie die Community ist also wie
die Leute mir begegnen wenn ich halt in
den entsprechenden Anlaufstellen Fragen
stelle und mit komischen Problemen
ankomme und wie das so aussieht also ich
habe da sehr seltsame Kriterien ich gehe
gerne auf
Entdeckungsreisen auch das kann ich
nachvollziehen ich habe irgendwann
2020 mit diesem ni tun angefangen und
bereue sehr und es läuft trotzdem auf
all mein System ja kriegen wir
eigentlich auch mal nixag also ich warte
schon die ganze
Zeit dass M jemand erklärt was daran so
toll sein
soll
also die kurz die Kurzzusammenfassung
ist dein System ist deklarativ
konfiguriert in einer komplett neuen und
tollen Programmiersprache der Nachteil
ist dein System ist komplett deklarativ
konfiguriert in einer neuen und komplett
weirden Programmiersprache ja den
Eindruck habe ich
auch ja ich schaue noch mal ob es noch
mal Fragen gab ansonsten würde ich mich
bei dir auf jeden Fall für deinen
inklusive hands on Erfahrung und
Austausch schon mal bedanken ja danke
euch auch für ja eure ganze Arbeit hier
und h ab dass i es alles noch so kurz
auf knapp auf die Beine gestellt
bekommen
hat
auch auch der Chat bedankt sich bei dir
für die Einführung ins Linux ja sehr
gerne ihr findet mich auch auf Mastodon
und so weiter also wenn ihr mich wo
raussuchen wollt dann findet ihr mich
unter Umständen auch und können mir dann
auch noch weitere Fragen stellen also
ich mache immer gerne
Erklärbär
danke