Ubuntu
Marcus Fischer: Ubuntu 18.04 LTS

Kap_10.html

 

Inhaltsverzeichnis

1. Kapitel 10 Terminal und Programmierung 469

2. Inhalt

10.1 Vorteile der Nutzung
10.1.1 Transparenz und Macht 470
10.1.2 Kontrolle, Hilfe und Geschwindigkeit 471
10.1.3 Terminal, Konsole, Shell? 472

10.2 Erste Schritte 474
10.2.1 Wer ist aktuell angemeldet? 475
10.2.2 Ausgabe von Zeichen 476
10.2.3 Dateien auflisten 476
10.2.4 Pager, Umleitungen und Inhalt einer Datei ausgeben 477
10.2.5 Dateien kopieren, umbenennen oder verschieben 478
10.2.6 Verzeichnisse wechseln und erstellen 481
10.2.7 Dateien und Verzeichnisse löschen 482
10.2.8 Letzte Befehle anzeigen 483
10.2.9 Manpages - Hilfe in der Konsole 486
10.2.10 Privilegierte Rechte 486

10.3 Interpretersprachen 488
10.3.1 Shell-Skripte 489
10.3.2 Perl 491
10.3.3 Python 492

10.4 Compiler-Sprachen 497
10.4.1 C/C++ 497
10.4.2 Java 498

10.5 Integrierte Entwicklungsumgebungen 501
10.5.1 A n juta -für C/C++ 502
10.5.2 Eclipse 503
10.5.3 Lazarus - Delphi-Klon 504
10.5.4 Gambas - Visual-Basic-Ersatz 505

3.

Literatur

 

 

10. Terminal und Programmierung

Quelle: Marcus Fischer; UBUNTU 18.04 TS

Tiefere Einblicke: Jürgen Wolf; Stefan Kania: Shell-Programmierung - Das umfangreiche Handbuch

Shell - Befehlsreferenz: Kap. 19

 


 

 

 

 

1.

 

S. 469
 

10.1 Vorteile der Nutzung 469

10.1.1 Transparenz und Macht 470
10.1.2 Kontrolle, Hilfe und Geschwindigkeit 471

10.1.3 Terminal, Konsole, Shell? 472

  • GUI Terminal: Start durch TERMINAL•ANWENDUNG oder [Strg] [ALT] [T] oder vom DESKTOP mit [rM].
  • SHELL Konsole: Start durch [Strg] [ALT] [F3] oder [F4] [F5] [F6]; Benutzername und Passwort erforderlich.
  • ... zurück mit [Strg] [ALT] [F3].
  • ... zurück zu einer zweiten graphischen Oberfläche (GUI) mit [Strg] [ALT] [F1].
  • eine "GUI-Terminal-Shell" verlassen mit "exit" oder bei einer "Konsole-Login-Shell" mit "logout".

siehe auch Tipps und Tricks - Verzeichnis S. 21-S.30 nach dem Inhaltsverzeichnis

 

 

10.2 Erste Schritte 474

<Befehl> <Parameter> <Objekt>; Zeile verlängern durch \;
Terminaleigenschaften einstellen: unter BEARBEITEN•Einstellungen
... uund Abspeichern unter BEARBEITEN•Einstellungen•Profile

10.2.1 Wer ist aktuell angemeldet? 475

"who" und "whomani" Wer ist angemeldet und wer bin ich?;
"pwd" wo bin ich? Verzeichnisbaum ausgeben;

10.2.2 Ausgabe von Zeichen 476

Ausgabe von Zeichen mit "echo zeichenkette" oder 'echo "Zeichen    kette"'
"echo zeichenkette >> deteiname.txt" hängt die Zeichenkette an die vorhandene 'textdatei.txt' an.
Platzhalter sind "*" für beliebig viele Zeichen und "?" für ein Zeichen.

10.2.3 Dateien auflisten 476

"ls" für auflisten mit Parameter -lah <Verzeichnisname> (-l langform, -a alle auch versteckte Dateien, -h 'human' lesbar)

10.2.4 Pager, Umleitungen und Inhalt einer Datei ausgeben 477

Listet ein Befehl wie zum Beispiel ls -lah zu schnell zu viele Zeilen auf, kann man die Liste in einen Pager wie less oder more umleiten (| erzeugen mit Tasten [Alt Gr] [<]):

ls -lah | less

Dann kann man mit der Leertaste weiterblättern oder mit [STRG] [C] ganz stoopen und verlassen. Es geht auch mit der Umleitung in eine Textdatei, die dann mit less oder einemEditor angesehen werden kann.

du /home/<user> > status.txt

Mit cat Dateiname lässt sich eine Datei ansehen und mit

cat >> Dateiname lässt sich der nun folgende beliebige Text ans Ende der Datei hängen. Die Eingabe wird wieder beendet mit [STRG][C].

Mit wc file1.txt lassen sich Zeilen, Wörter und Character ermitteln: 4 4 52 file1.txt,
auch einzeln mit wc -l -w -c file1.txt.

10.2.5 Dateien kopieren, umbenennen oder verschieben 478

cp für copy datei1 datei2, mv ordner1 ordner2 für move kopiert und bewegt Dateien und und Ordner. Es gibt die Parameter

-p erhält dieselben Rechte, Besitzer und Zeitstempel.
-r kopiert das komplette Verzeichnis rekursiv.
cp (oder mv) datei1 datei2 ordner kopiert (oder verschiebt) Datei1 und datei2 in Ordner.

Autocomplete nutzen:

erster oder die ersten beiden Buchstaben tippen, dann zweimal [TAB] ergänzt den Befehl!

Die Verzeichnishierarchie erhält man mit ls /:

bin dev intitrd.img ...

Im Terminal eine weitere Anwendung starten, indem man ein an den Befehl hängt.

Pfadangabe: absolut beginnt mit /home;
relativ beginnt mit dem aktuellen Verzweichnis ordner/test.txt

ls und ls./ ist das gleiche und listet das aktuelle Verzeichnis;

cd .. wechselt ins höhere Verzeichnis

10.2.6 Verzeichnisse wechseln und erstellen 481

cd (change directory): ohne gelagt man immer ins eigene home-Verzeichnis

10.2.7 Dateien und Verzeichnisse löschen 482

 

10.2.8 Letzte Befehle anzeigen 483

10.2.9 Manpages - Hilfe in der Konsole 486

Hilfe zu Befehlen holt man sich durch: 

  • voranstellen des Kommandos man; Bespiel man cp ; oder
  • mit whatis cp; oder
  • oder cp --help; oder
  • cp -h
  • Verlassen mit [q];

10.2.10 Privilegierte Rechte 486

 

472

10.3 Interpretersprachen 488
10.3.1 Shell-Skripte 489
10.3.2 Perl 491

Beispiele: Programm für Fakultäten:

#!/usr/bin/perl
sub fac{
  $_[0]>1?$_[0] *fac($_[0]-1):1,
} print fac(5);

Ersetzen von <REGEX> durch <TEXT> in <DATEIEN>:

perl -i, -p, e 's/<REGEX>/<TEXT>/g; <DATEIEN>

10.3.3 Python 492

  • Benutznung von einer Konsole (für Einsteiger bpython)
  • professionelle Editorenen wie Vim oder Emacs
  • Entwicklungsumgebungen IDE wie Eric Python IDE oder plugins für Eclipse und Netbeans


 
10.4 Compiler-Sprachen 497
10.4.1 C/C++ 497
10.4.2 Java 498
 
10.5 Integrierte Entwicklungsumgebungen 501
10.5.1 A n juta -für C/C++ 502
10.5.2 Eclipse 503
10.5.3 Lazarus - Delphi-Klon 504
10.5.4 Gambas - Visual-Basic-Ersatz 505
 

3.

 

 

Literatur

Marcus Fischer: Ubuntu 18.04 LTS Das umfassende Handbuch;

Jürgen Wolf; Stefan Kania: Shell-Programmierung - Das umfangreiche Handbuch;