Einführung in das Arbeiten mit der Command Line: Unterschied zwischen den Versionen
Aus exmediawiki
C.heck (Diskussion | Beiträge) |
C.heck (Diskussion | Beiträge) |
||
Zeile 61: | Zeile 61: | ||
* und nicht zuletzt den Hilfeparameterer - meist "<befehl> --help". | * und nicht zuletzt den Hilfeparameterer - meist "<befehl> --help". | ||
+ | ---- | ||
===Dateiverwaltung=== | ===Dateiverwaltung=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 121: | Zeile 122: | ||
|} | |} | ||
+ | ---- | ||
===Benutzerverwaltung=== | ===Benutzerverwaltung=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 142: | Zeile 144: | ||
|} | |} | ||
+ | ---- | ||
===Vergleichen=== | ===Vergleichen=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 155: | Zeile 158: | ||
|} | |} | ||
+ | ---- | ||
===Suchen=== | ===Suchen=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 175: | Zeile 179: | ||
|} | |} | ||
+ | ---- | ||
===Speichern und Komprimieren=== | ===Speichern und Komprimieren=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 194: | Zeile 199: | ||
|} | |} | ||
+ | ---- | ||
===Textverarbeitung=== | ===Textverarbeitung=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 231: | Zeile 237: | ||
|} | |} | ||
+ | ---- | ||
===Drucken=== | ===Drucken=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 244: | Zeile 251: | ||
|} | |} | ||
+ | ---- | ||
===Administrationsbefehle=== | ===Administrationsbefehle=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 265: | Zeile 273: | ||
|} | |} | ||
+ | ---- | ||
===TCP/IP Protokollbefehle=== | ===TCP/IP Protokollbefehle=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 298: | Zeile 307: | ||
|} | |} | ||
+ | ---- | ||
===Kommunikation=== | ===Kommunikation=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 321: | Zeile 331: | ||
|} | |} | ||
+ | ---- | ||
===Netzwerk=== | ===Netzwerk=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 347: | Zeile 358: | ||
|} | |} | ||
+ | ---- | ||
===Programmieren=== | ===Programmieren=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 364: | Zeile 376: | ||
|} | |} | ||
+ | ---- | ||
===Verwaltung von Programmen=== | ===Verwaltung von Programmen=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 384: | Zeile 397: | ||
|} | |} | ||
+ | ---- | ||
===Shell-Programmierung=== | ===Shell-Programmierung=== | ||
{|{{prettytable}}| | {|{{prettytable}}| | ||
Zeile 441: | Zeile 455: | ||
|} | |} | ||
+ | ---- | ||
===Diverses=== | ===Diverses=== | ||
{|{{prettytable}}| | {|{{prettytable}}| |
Version vom 28. Juni 2019, 09:33 Uhr
Inhaltsverzeichnis
- 1 Allgemeines
- 2 Konsolensoftware
- 3 Konsolenbefehle
- 3.1 Dateiverwaltung
- 3.2 Benutzerverwaltung
- 3.3 Vergleichen
- 3.4 Suchen
- 3.5 Speichern und Komprimieren
- 3.6 Textverarbeitung
- 3.7 Drucken
- 3.8 Administrationsbefehle
- 3.9 TCP/IP Protokollbefehle
- 3.10 Kommunikation
- 3.11 Netzwerk
- 3.12 Programmieren
- 3.13 Verwaltung von Programmen
- 3.14 Shell-Programmierung
- 3.15 Systemzustand
- 3.16 Diverses
- 4 Linux-Praxisbuch
Allgemeines
Die Command Line, bzw. Befehlszeile, oft auch als Konsole oder Terminal bezeichnet, ist ein Eingabebereich zur Steuerung einer Software. Je nach Betriebssystem wird auch von einer Shell gesprochen. Die Kommandos oder Befehle werden als Zeichenketten über die Tastatur eingegeben und sind oftmals Abkürzungen, die dem Englischen entnommen sind.
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, terminator etc.) an einer Textkonsole arbeiten. 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. 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, siehe Command_Line_Tools:
Konsolensoftware
siehe Command_Line_Tools
Konsolenbefehle
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
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 | Zugriffrechte 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
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
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
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
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
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 |
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
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
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
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
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
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
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
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
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
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 |
Linux-Praxisbuch
Der Inhalt dieser Wikipage ist größtenteils übernommen aus dem Linux-Praxisbuch