Stammtisch 2024-07-19

Aus lugvswiki
Version vom 23. August 2024, 19:59 Uhr von HolgerW (Diskussion | Beiträge) (→‎Kleine Shelleinführung – Teil 4)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

19.07.2024 - 20:00 Uhr, Online-Stammtisch auf https://bbb.ch-open.ch/rooms/ulf-nm2-y26/join

wöchentlicher onlineStammtisch

Auf dem Stammtisch Mai 2020 beschlossener wöchentlicher Stammtisch jeden Freitag ab 20:00 Uhr anstelle des monatlichen Stammtisches im realen Leben.


Anwesende

  • Holger
  • Christoph
  • Bertram
  • Ulf
  • Plocki
  • Klaus
  • Jos

Themen


Kleine Shelleinführung – Teil 4

Plocki macht noch einmal eine kurze Zusammenfassung der letzten Woche (Teil 3). Holger fragt, was denn eigentlich das /dev/std* bedeutet; z.B.:

<§> ls -la /dev/std*

Die Ausgabe sähe dann (bei Holger) so aus:

holger@aelbler:~> ls -la /dev/std*
lrwxrwxrwx 1 root root 15 18. Jul 13:22 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 18. Jul 13:22 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 18. Jul 13:22 /dev/stdout -> /proc/self/fd/1

Das std bedeutet so viel wie Standard.

Ulf und Plocki verlieren sich dann ein wenig in den Konventionen (Art der Abkürzungen), warum zum Beispiel ls (list = auflisten) ohne "I" und "T", oder auch fsck (filesystem check = Dateisystem-Prüfung) abgekürzt wird. Im Nachhinein nicht immer nachvollziehbar ...

Doch nun geht es weiter mit dem Vortrag; Plocki geht auf die Operatoren ein.

>                     = Umleitung der Standardausgabe in eine Datei
>>                    = Umleitung in eine Datei, hängt Ausgabe an eine bereits bestehende Datei
|                     = Pipe. Ausgabe eines Kommandos als Eingabe zu einem anderen Kommando
< und auch <<         = Statt von der Standardeingabe (Tastatur) wird aus einer Datei gelesen
&                     = Umleitung in anderen File Discriptor

Hier findet sich das Script von Plocki (unter Operatoren suchen), um sich die Sache genauer anzuschauen.


Umstellung von openSUSE Tumbleweed oder Leap auf Slowroll

Ulf teilt diesen Link: How to migrate from Tumbleweed to Slowroll. Der Beitrag ist in Englisch gehalten. Denn Holger hatte vor einigen Wochen mitbekommen, dass die openSUSE-Community sich per Abstimmung darauf geeinigt hatte, dass Leap – welches eher "konservativ" programmiert ist und Tumbleweed, welches sehr häufig Aktualisierungen erhält – dauerhaft durch Slowroll ersetzt werden soll.

Slowroll ist ein Kompromiss zwischen dem recht konservativen Leap und dem doch sehr aktuellen Tumbleweed. Nutzer, welche nicht auf die allerneuesten Updates angewiesen sind und ein noch stabileres System als Tumbleweed wünschen, andererseits aber doch ziemlich aktuelle Software benötigen, sind hier angesprochen. Wie gesagt; das wird bei openSUSE die Zukunft sein.

Es ist jetzt also möglich durch ein paar Eingaben in der Konsole – es werden wohl nur die Pakete, welche aktualisiert und gepflegt werden sollen, geändert – schon jetzt auf Slowroll umzusteigen. Das Betriebssystem an sich (Tumbleweed oder Leap) muss nicht ersetzt werden.


Verzeichnisse und Ordner in der Konsole anlegen, verschieben und löschen

Holger "lamentiert", dass er Plockis Vortrag (von der Geschwindigkeit) her nicht folgen kann und meint, dass er schon beim Anlegen oder Betreten von Verzeichnissen (wie im Vortrag gesehen) abgehängt wird. Darum fragt er – wenn die anderen Zeit und / oder Lust haben – ob es möglich ist, dass er den Bildschirm teilt und so rudimentäre Dinge, wie das Anlegen von Verzeichnissen und Ordner, das Verschieben dieser und auch wieder das Löschen versucht. Denn da kommt er normalerweise immer sehr schnell an seine Grenzen. Holger teilt den Bildschirm und Plocki gibt "Einzelunterricht", wie Jos das später benennt.


Legende der (unten meist) verwendeten Shellkommandos

<$> cdWechsel des Verzeichnisses (cd = change directory)
<$> cpDateien kopieren (cp = copy)
<$> lsAnzeige aller Dateien eines Verzeichnisses (ls = list)
<$> mkdirVerzeichnis anlegen (mkdir = make directory)
<$> touchAnfassen, aber auch Anlegen einer Datei
<$> treeAuflisten von Verzeichnissen und deren Inhalten (Dateien) im aktuellen Verzeichnis
<$> mvVerschieben, bzw. Namensänderung von Dateien (mv = move)
<$> rmLöschen von Dateien (rm = remove)
<$> rmdirLöschen von Verzeichnissen (rmdir = remove directory)

Verzeichnis anlegen

Holger legt also einen "Versuchsordner" an; das geschieht im /home-Verzeichnis:

<$> holger@aebler:~> mkdir Versuchsordner

Verzeichniswechsel

Danach wechselt er in den neu erstellten Ordner:

<$> holger@aebler:~> cd Versuchsordner/

Unterordner anlegen

In diesem Ordner wiederum möchte Holger weitere Ordner anlegen; die Unter-Ordner "UO1" bis "UO3":

<$> holger@aebler:~> mkdir UO1 UO2 UO3

Dazu kann man die zu erstellenden Ordner, getrennt durch ein Leerzeichen, gleich hintereinander eingeben ...


Datei in einem der erstellten Unterordner anlegen

Und nun möchte er noch in den Unterordner 3 (UO3) eine Datei mit Namen "Datei3" erstellen:

<$> holger@aebler:~ ~/Versuchsordner> touch UO3/Datei3

Dazu muss er sich

  1. im gewünschten Verzeichnis (hier ~/Versuchsordner) befinden
  2. und dann die gewünschte Datei mit dem Befehl touch, gefolgt vom Pfad, in dem sie liegen soll, anlegen.

Anzeige der Unter-Verzeichnisse und Dateien eines Verzeichnisses

Mit dem Befehl ls und der Option -l werden die Ordner aufgelistet:

<$> holger@aebler:~> ls -l
insgesamt 0
drwxr-xr-x 1 holger users  0 19. Jul 21:32 UO1
drwxr-xr-x 1 holger users  0 19. Jul 21:32 UO2
drwxr-xr-x 1 holger users 12 19. Jul 21:34 UO3

Mit dem Befehl ls und der Option -R' (oder --r) dagegen werden die erstellten Ordner rekursiv (bis ins letzte Glied) aufgelistet:

<$> holger@aelbler:~/Versuchsordner> ls -R
.:
UO1  UO2  UO3

./UO1:

./UO2:

./UO3:
Datei3

Wie man sieht, enthalten die Unterordner UO1 und UO2 keine Dateien; lediglich der Unterordner UO3.

Das funktioniert auch mit dem Befehl tree (Baumstruktur anzeigen); zunächst muss man sich aber im gewünschten Verzeichnis befinden:

<$> holger@aelbler:~> cd ~/Versuchsordner/
holger@aelbler:~/Versuchsordner> tree
.
├── UO1
├── UO2
└── UO3
     └── Datei3

5 directories, 1 file
holger@aelbler:~/Versuchsordner>

Verschieben einer Datei in ein anderes Verzeichnis

Holger möchte nun im Verzeichnis UO3 noch ein weiteres Unterverzeichnis erstellen (UO3_1) und danach die schon erstellte Datei (Datei3) aus dem Verzeichnis UO3 in dessen Unterverzeichnis UO3_1 verschieben.

Zunächst muss erst einmal dieses neue Unterverzeichnis UO3_1 erstellt werden:

<$> holger@aebler:~> mkdir UO3/UO3_1

Das kontrolliert Holger mit dem Befehl ls -R:

<$> holger@aebler:~/Versuchsordner> ls -R
.:
UO1  UO2  UO3 

./UO1:

./UO2:

./UO3:
Datei3  UO3_1

Wie man sieht, befinden sich im Ordner UO3 nun die Datei3 und das neue Unterverzeichnis UO3_1.

Und nun noch das Verschieben der Datei ...

 <$> holger@aebler:~/Versuchsordner> mv UO3/Datei3 UO3/UO3_1

Also der Befehl move (mv), gefolgt von

  1. Ort und Namen, wo die zu verschiebende Datei derzeit liegt – und
  2. Ort und Namen des Zielverzeichnisses

Holger kontrolliert den Erfolg mit dem Befehl tree:

<$> holger@aelbler:~/Versuchsordner> tree
.
├── UO1
├── UO2
└── UO3
    └── UO3_1
        └── Datei3

5 directories, 1 file
holger@aelbler:~/Versuchsordner>

So soll es sein ...


Löschen von Dateien und Verzeichnissen

Soweit kamen wir heute nicht mehr so richtig. Auch da gibt es ein paar "Pferdefüße" ...


Kritik

Jos merkt an, dass Holger – seiner Meinung nach – Einzelunterricht erhalten hat (nun schon mehrfach). Außerdem findet er es schade, dass Uwe's Schreiben vom 31.01.2024 in Seinen Augen nicht umgesetzt wurde.

Nun haben aber vor Beginn von Holgers "Einzelunterricht" alle Teilnehmer – bis auf Jos, Plocki und Holger – die Online-Sitzung wegen Müdigkeit oder fortgeschrittener Zeit verlassen. Es reden also nur noch die drei verbleibenden eine Weile über die unterschiedlichsten Dinge, die man verbessern sollte / könnte und noch (nicht) umgesetzt hat.

Also durchaus ein Punkt, der noch mal besprochen gehört;

  1. Wie weit sind wir mit der Umsetzung der uns gesteckten Ziele?
  2. Was klappt?
  3. Was klappt nicht (warum)?
  4. Eigene Vorschläge?!


Zurück zur Übersicht