Linux-Praxisbuch/ Konsole

Aus Wikibooks

Allgemeines[Bearbeiten]

Unix-Systeme müssen nicht unbedingt über eine grafische Benutzerschnittstelle (Graphical User Interface, GUI) bedient werden. Auch unter einer GUI kann man mittels einer Terminalemulation (z.B. xterm) an einer Textkonsole arbeiten.

Sehr praktisch ist die  Befehlszeilenergänzung, auch Tabcompletion genannt. Sie erleichtert und beschleunigt den Umgang mit einem Kommandozeileninterpreter.

Oft sind Programme für das Terminal schnell und nicht funktionsüberladen. Ein weiterer Vorteil ist die Möglichkeit, die Ein- und Ausgabe über ein Netzwerk zu leiten (ssh, telnet). Dies funktioniert sogar, wenn die Übertragungsrate der Leitung sehr gering ist.

Weil man sich auf der Suche nach einer Funktion nicht durch Menüs hangeln kann, ist man gezwungen viele Tastenkombinationen zu benutzen. Was auf den ersten Blick abschreckend wirkt, führt mittelfristig zu einer Produktivitätssteigerung.

Falls in einer Ausnahmesituation keine grafische Schnittstelle verfügbar ist, ist es von Vorteil, mit einer Textkonsole auszukommen.

Die für die Konsole verfügbare Software deckt viele Anwendungsbereiche ab, oft verfolgen sie ein anderes Konzept als GUI-Software und sind darum nicht direkt vergleichbar:

Konsolensoftware[Bearbeiten]

  • Texteditoren: vi, vim, elvis, vile, nvi, emacs, nano, pico, joe
  • Textverarbeitung: LaTeX (+ispell), doc-book
  • Adressbuch: abook
  • Aufgabenverwaltung: taskwarrior, tudu
  • Bildverarbeitung: ImageMagick
  • Browser: lynx, w3m, links
  • Dateiverwaltung: bash, mc, ranger
  • Dateiübertragung im Netz: netcat, scp
  • E-Mail-Programme: mutt, pine
  • Usenet/RSS: olive, slrn, tin, rn, nn
  • IRC: BitchX, IrcII, irssi
  • Datenbank: mysql
  • Taschenrechner mit Programmiermöglichkeit: bc, dc, orpie

Konsolenbefehle[Bearbeiten]

Je nach Befehl erhält man zusätzliche Informationen über

  • die Manualpage mit Hilfe des Aufrufs "man <befehl>",
  • den Aufruf von "info <befehl>",
  • den Aufruf von "apropros <befehl>",
  • und nicht zuletzt den Hilfeparameterer - meist "<befehl> --help".

Dateiverwaltung[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
cat concatenate (zusammenfügen) Gibt eine oder mehrere Dateien hintereinander auf der Konsole aus
cd change directory Wechselt in ein anderes Verzeichnis
chksum checksum "Print POSIX CRC checksum."
chmod change mode Zugriffsrechte von Dateien und Verzeichnissen ändern
chown change owner Ändern des Eigentümers einer Datei
chgrp change group GruppenID einer Datei ändern
cp copy Dateien kopieren
csplit Zerlegt den Text an vorgegebenen Stellen in Einzel-Dateien
dd Disk Dump Kopiert Partitionen/Dateisysteme bytegenau
file Gibt den Dateityp einer Datei aus
head Gibt die ersten Zeilen - den Kopf - einer Datei aus
less Dateien betrachten
ln link Erstellt einen symbolischen oder harten Link
ls list Auflisten von Dateien und Verzeichnissen sowie deren Eigenschaften
merge
mkdir make directory Erstellt ein neues Verzeichnis
more Gibt eine Datei stückweise auf dem Bildschirm aus
mv move Dateien verschieben und umbenennen
pwd print working directory Gibt das aktuelle Arbeitsverzeichnis aus
rcp remote copy Altes Programm zum Kopieren von Dateien auf einen anderen Computer, sollte nicht mehr verwendet werden, stattdessen scp verwenden
rename Mehrere Dateien auf einmal umbenennen
rm remove Dateien und Verzeichnisse löschen
rmdir remove directory Ein leeres Verzeichnis löschen
stat Status einer Datei oder eines Dateisystems anzeigen.
tail Gibt die letzten Zeilen - den Schwanz - einer Datei aus
wc word count Zählt Zeichen und Zeilen in einer Datei

Benutzerverwaltung[Bearbeiten]

Befehl engl. Bedeutung Benötigt root-Rechte Kurze Erläuterung
adduser ja Neuen Benutzer anlegen
addgroup ja Neue Gruppe anlegen
chfn change full name Ermöglicht die Änderung von Benutzerdaten wie dem vollständigen Namen, der Telefonnummer etc.
chsh change shell Ändern der Loginshell
groupmod group modify ja Gruppendaten verändern
newgrp new group In der aktuellen Sitzung in eine neue Gruppe wechseln
usermod user modify ja Benutzerdaten verändern
last nein Letzte Logins anzeigen

Vergleichen[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
cmp compare Dateien Bit für Bit vergleichen
comm Zwei sortierte Dateien zeilenweise vergleichen
diff difference Gibt die Unterschiede (Differenz) von zwei Dateien aus.
diff3 difference (of 3 files) Gibt die Unterschiede zwischen drei Dateien aus.

Suchen[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
apropos Sucht nach einem Begriff in den Manualdatenbank (man).
locate Sucht Dateien mittels eines Indexes, der durch updatedb erstellt wird.
slocate Alternative zu locate. Durchsucht die Dateien auf die ein Benutzer Zugriff hat.
find Sucht nach Dateien in einem Verzeichnis.
grep Durchsucht eine Datei nach einem bestimmten Ausdruck oder Muster (Regular Expression). Varianten davon sind egrep und fgrep.
strings Gibt die druckbaren Zeichen einer Datei aus (wird verwendet, um in Nicht-Textdateien nach Texten zu suchen.
whereis Sucht die Binär-, Quell- und Manualdatei zu einem Befehl.

Speichern und Komprimieren[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
bzip2, bunzip2 Komprimiert bzw. Dekomprimiert eine Datei (langsam, aber hoher Kompressionsgrad)
cpio Kopiert Dateien in bzw. aus Archiven.
gzip, gunzip GNU zip Komprimiert bzw. Dekomprimiert eine Datei im Standardkomprimierungsverfahren (schneller als bzip2, aber nicht so effektiv)
shar Erzeugt Shell-Archive.
tar tape archiver Fasst Dateien zu einem Archiv zusammen bzw. entpackt Dateien aus einem Archiv
zcat zip cat Gibt eine verschlüsselte Datei auf die Konsole aus
zip, unzip Komprimiert bzw. Dekomprimiert eine Datei (Format entspricht Winzip)

Textverarbeitung[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
col Filter fuer Escape-Sequenzen und Zeilenvorschueben.
cut Schneidet bestimmte Abschnitte in jeder Zeile eine Datei ab
paste Fügt Dateien spaltenweise aneinander (Gegenstück zu cut)
expand, unexpand Wandelt Tabulatoren in einer Datei in Leerzeichen um (expand) bzw. umgekehrt (unexpand)
fmt format Formatiert eine Datei neu (mit zusätzlichen Zeilenumbrüchen etc.)
awk Mächtiges Programm bzw. Sprache zum Durchsuchen von Dateien nach Mustern (Regular Expressions) und zur automatisierten Textverarbeitung
sed Stream Editor Zeichenketten transformieren
ghostscript
groff
ispell interactive spellchecker Interaktive Rechtschreibprüfung
pico Kleiner Editor mit Angabe aller Befehle
joe Editor mit Angabe der wichtigsten Befehle
sort Sortiert die Zeilen einer Datei
tac cat reversed Gibt die Zeilen einer Datei in Umgekehrter Reihenfolge aus (tac ist die Umkehrung von cat)
uniq unique Gibt eine Datei ohne doppelte Zeilen aus, aber auch nur die doppelten Zeilen
vi Der berühmteste Editor

Drucken[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
lpq line printer queue Zeigt die Druckerwarteschlage
lpr line printer print Druckt Dateien
lprm line printer remove Druckaufträge abbrechen
lpstat line printer status Gibt Informationen über das Drucksystem aus

Administrationsbefehle[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
cfdisk curses format disk Programm zum Formatieren und Partitionieren von Festplatten oder anderen Laufwerken (mit grafischer Oberfläche)
halt Fährt den Computer herunter
fdisk format disk Programm zum Formatieren und Partitionieren von Festplatten oder anderen Laufwerken (ohne grafische Oberfläche)
init Wechselt in einen anderen Runlevel
reboot Startet den Computer neu
shutdown Fährt den Computer herunter oder startet ihn neu
su substitute user identity Wechsel des Benutzers und Umschalten auf den Rootnutzer
updatedb update database Erstellt einen Suchindex ueber das gesamte Dateisystem fuer locate.

TCP/IP Protokollbefehle[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
host Anzeigen und ändern der Host-ID.
ifconfig interface configuration Konfiguriert Netzwerk-Schnittstellen, bzw gibt deren Konfiguration und Status aus.
ifup interface up Startet ein Netzwerk-Interface.
ifdown interface down Beendet ein Netzwerk-Interface
netstat network statistic Gibt Informationen über Netzwerkverbindungen, Routingtabellen u.a. aus.
hostname Zeigt den Namen des Rechners an.
netcat network cat Liest und schreibt Daten über eine Netzverbindung.
ping Sendet Ping-Pakete an einen Zielrechner und meldet Rückantwort.
pppd point to point protocol daemon Point to Point Protocol Daemon
rdate
route Manipuliert die Routen zu entfernten Rechnern. Normalerweise zum Erstellen einer statischen Route zu einem speziellen Rechner.
routed route daemon Routing Dämon (unterstützt das RIP Protokoll)
telnetd telnet daemon Telnet Server
tftpd tftp daemon TFTP (Trivial File Transfer Protocol) Server

Kommunikation[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
ftp file transfer protocol Öffnet eine FTP-Session zum angegebenen Rechner (IP oder DNS). Per FTP (File Transfer Protocol) können verschiedene Datei- und Verzeichnisoperationen auf dem entfernten Rechner durchgeführt werden.
login Login Befehl zum Anmelden am System.
rlogin Remote-Login.
rsh remote shell Shell auf entfernten Rechner starten.
ssh secure shell sichere Shell auf entfernten Rechner starten.
talk Zum Austausch von Nachrichten zwischen Benutzern.
telnet Öffnet eine Telnet-Session zum angegebenen Rechner (IP oder DNS). Per Telnet kann ein anderer Rechner "ferngesteuert" werden.
uuencode, uudecode Wandelt eine Binärdatei in ASCII-Text um (bzw. dekodiert eine so umgewandelte Datei).
vacation

Netzwerk[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
ifconfig Konfiguriert Netwerk-Schnittstellen, bzw gibt deren Konfiguration und Status aus
ipchains Tool zur Konfiguration der Kernel-Firewall
iptables Firewall des Kernels 2.4
isdnlog Schreibt eine Protokolldatei der ISDN Verbindung
named DNS Server
netcat Ein Netzwerkzeug um Dateien von einem Rechner auf den anderen zu übertragen.
netstat Gibt Informationen über Netzwerkverbindungen, Routingtabellen ua aus
route Manipuliert die Routen zu entfernten Rechnern. Normalerweise zum Erstellen einer statischen Route zu einem speziellen Rechner.
rwho Server fuer rwho
traceroute Verbindungsverfolgung

Programmieren[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
imake
gcc GNU Compiler Collection, wird auch für den C-Compiler verwendet
gdb GNU Debug, Debugger
gpc GNU Pascal Compiler
g++ GNU C++ Compiler
make Führt eine Reihe von in Makefiles definierte Aktionen durch, beispielsweise Programme aus Quelldateien erzeugen.

Verwaltung von Programmen[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
cvs Concurrent Versions System Versionsmanagement-System
patch Spielt eine Patch-Datei ein
rcs Revision Control System Versionsmanagement-System
size Zeigt die Größe des text-, data-, und bss-Segmentes von Programmdateien.
strace System Trace Diagnose und Debugging Tool. Führt ein Programm aus und protokoliert

dabei alle Systemaufrufe.

svn Subversion Versionsmanagement-System
touch Ändert den Zeitstempel von Dateien. Wenn eine Datei nicht existiert, wird sie mit einer Grösse von 0 Byte angelegt.

Shell-Programmierung[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
echo Gibt einen Text auf der Konsole aus
sleep Eine Anzahl von Sekunden warten
test Überprüfen von Bedingungen (interner Shell Befehl, in alten Unix Derivaten

ein externer Befehl)

exit Aktuelle Session verlassen
export Exportieren von Variablen
id Gibt den eigenen Login-Namen inklusive Gruppe aus
set Verwalten von Optionen und Parametern (interner Shell Befehl)
seq Gibt eine Folge von Zahlen aus

Systemzustand[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
at Ausführen von Kommandos zu einem bestimmten Zeitpunkt
atq Anzeige der mit at abgeschickten, und noch nicht ausgeführten Kommandos.
atrm Widerrufen von Kommandos, die mit at abgeschickt wurden
crontab Regelmäßige Befehlsausführung
date Gibt das aktuelle Datum aus
df disk free Anzeigen des freien Speicherplatzes (Festplatten ...)
du disk usage Zeigt den Speicherverbrauch einzelner Verzeichnisse an
env Gibt alle Umgebungsvariablen aus
finger Gibt den Login-Namen, Real-Namen, Terminal Namen, Schreibstatus, die Idle-Zeit (Zeit seit der letzten Nutzung des Accounts), die Login-Zeit, den Standort und die Büro-Telefon-Nummer des angegebene Useraccounts aus.
kill Beendet den Prozess mit der übergebenen Prozess-ID (PID)
ps Zeigt alle Prozesse mit ihrer PID, der User-ID des ausführenden Users, die Terminal-ID etc. an
top Zeigt Prozesse in einer sich ständig aktualisierenden Liste an. Die Prozesse, die die meiste CPU-Zeit brauchen, werden zu oberst angezeigt.
who Gibt die Login-Namen der momentan eingelogten User zusammen mit den Terminal-IDs und dem Login-Zeitpunkt aus
pidof Gibt die Prozess-ID eines übergebenen Namen aus
free Zeigt die Speicherauslastung des Systems an. Geteilt in RAM und SWAP-Space.

Diverses[Bearbeiten]

Befehl engl. Bedeutung Kurze Erläuterung
banner Gibt ein großes Banner aus
bc Rechner mit beliebiger Genauigkeit
cal calendar Zeigt einen Kalender an
clear Löscht die Konsole
date Gibt das aktuelle Datum aus
dc Rechner für die umgekehrte polnische Notation
nohup Ignorieren von Signalen für eine Anweisung
passwd Festlegen bzw. ändern des Passwortes eines Useraccounts
tee Verdoppelt die Ausgabe eines Programmes (zum gleichzeitigen Anzeigen auf Bildschirm und mitloggen in Datei)
uname Gibt einige Systeminformationen aus (Rechnername, Kernel etc.)
which Gibt den ersten gefunden Pfad eines Programmes im Pfad (echo $PATH) an

Konsolenlinks[Bearbeiten]