Kommandozeilen-Befehle

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Links angefügt)
 
(35 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
==Einleitung==
 +
Diese Seite soll als Informationspool für Linux-Anfänger dienen, die auf der Suche nach Lösungen für die kleinen Probleme des Alltags sind.
 
Beim Erforschen des VDR oder gar beim Fehlersuchen können die folgenden Beispiel helfen.
 
Beim Erforschen des VDR oder gar beim Fehlersuchen können die folgenden Beispiel helfen.
  
Der "wichtigste" Befehl:<br>
+
{{Box Hinweis|
<pre>man Befehl</pre> zeigt das Manual zum ''Befehl'' an. Bei Unsicherheit in der Verwendung der unten genannten Befehle sollte es erste Anlaufstelle sein.
+
Bitte nicht vergessen: die Groß- und Kleinschreibung ist bei Kommandozeilen-Befehlen unbedingt zu beachten!}}
  
'''Festplatte'''<br>
+
==Befehle für die Kommandozeile==
<pre>hdparm -tT /dev/hda</pre> zeigt die Datenübertragungsrate für das gewählte Device
+
===Anzeigen der Hilfe zu einem Befehl===
 +
{{Box Hinweis|
 +
Der wichtigste Befehl, zeigt das Manual (die man-Page) eines Befehls an. Bei Unsicherheit in der Verwendung der unten genannten Befehle sollte '''man <BEFEHL>''' die erste Anlaufstelle sein. Übrigens findet man in google mit den Suchworten 'man <BEFEHL>' die man-Page jedes Linux/Unix Befehls.
 +
}}
 +
Beispiel
 +
<pre>man lsmod</pre>
  
<pre>du</pre> ''d''isk ''u''sage zeigt den Speicherverbrauch je Verzeichnis an
+
===Anzeigen der Datenübertragungsrate eines IDE Gerätes===
 +
Zeigt die Datenübertragungsrate für das gewählte IDE Gerät wie z.B. Festplatte, CDrom, DVDrom, Brenner.
 +
<pre>hdparm -tT /dev/hd{a,b,c,d}</pre>  
 +
===Anzeigen des benutzten Speicherplatzes===
 +
'''d'''isk '''u'''sage zeigt den Speicherverbrauch je Verzeichnis an.
 +
<pre>du {optional: Ordner}</pre>
  
<pre>df</pre> ''d''isk ''f''ree zeigt den Speicherverbrauch je gemountetem Device an
+
===Anzeigen des freien Speicherplatzes===
 +
'''d'''isk '''f'''ree zeigt den freien Speicher an.
 +
<pre>df {optional: Ordner}</pre>
  
 +
===Anzeige der geladenen Kernelmodule===
 +
'''l'''i'''s'''t'''mod'''ules zeigt die aktuell geladenen Kernelmodule.
 +
<pre>lsmod</pre>
 +
===Anzeigen des System Message Buffer mit dmesg===
 +
dmesg kopiert die Meldungen im system message buffer zur Standardausgabe.
 +
Beispiel:
 +
<pre>
 +
dmesg | grep -i scsi
 +
</pre>
 +
dmesg kopiert alle Meldungen zur Standardausgabe (Konsole), um sinnvolle Zeilen herauszusuchen wird hier die Ausgabe von dmesg nach allem was "scsi" enthält durchsucht. Näheres auf dieser Seite zu grep und dem pipe-Operator.
 +
===Anzeigen von Dateien mit cat===
 +
<pre>
 +
cat /proc/interrupts
 +
</pre>
 +
Zeigt die Verteilung der Interrupts, allerdings nur, wenn das proc Dateisystem eingebunden ist.
 +
===Erstellen eines Patch (diff-Dateien)===
 +
diff -Nru <from-dir> <to-dir>
  
'''muß noch sortiert werden'''
+
diff Dateien werden vorwiegend dazu benutzt, um Änderungen im Quelltext von Programmen als Patch zu veröffentlichen.
  
<pre>cat /proc/interrupts</pre> zeigt die Verteilung der Interrupts
+
===Benutzung von pipes: der "|" Operator===
 +
Eine pipe leitet die (Standard-)Ausgabe eines Befehls zu einem weiteren Befehl weiter.
 +
Beispiel:
 +
<pre>
 +
lsmod | grep ivtv
 +
</pre>
 +
Der Befehl lsmod zeigt alle geladenen Kernelmodule, der Operator | leitet dessen Ausgabe zum Befehl grep weiter, der wiederum nach allen Textzeilen sucht, die 'ivtv' enthalten und diese auf der Konsole ausgibt.
  
<pre>/usr/bin/tvm2vdr.pl</pre> Voraussetzung installiertes Addon ''tvmovie2vdr'', startet das Online-Update, man kann den Fortschritt auf der Konsole beobachten
+
===Packen/Entpacken von Dateien===
 +
====Packen von Dateien====
 +
Erstellen eines gzip Tarballs
 +
<pre>
 +
tar czvf zielarchiv.tar.gz quellverzeichnis
 +
</pre>
 +
Erstellen eines bzip2 Tarballs (bevorzugt, weil kleinere Dateien)
 +
<pre>
 +
tar cjvf zielarchiv.tar.bz2 quellverzeichnis
 +
</pre>
  
<pre>tar -cvf /tmp/Backup-etc.tar /etc/</pre> kreiert ('''c'''reate) die Datei ('''f'''ile) ''Backup-etc.tar'' im Verzeichnis ''/tmp'' und kopiert das Verzeichnis ''/etc'' hinein und ist dabei sehr gesprächig ('''v'''erbose). Recht nützlich, wenn man schnell ein Backup der Konfigurationsdateien ziehen möchte.
+
====Entpacken von Dateien====
 +
<pre>
 +
tar xzvf quellarchiv.tgz
 +
</pre>
 +
oder
 +
<pre>
 +
tar xzvf quellarchiv.tar.gz
 +
</pre>
 +
oder
 +
<pre>
 +
tar xjvf quellarchiv.tar.bz2
 +
</pre>
 +
tar benötigt die Angabe des Kompressionsalgorithmus, für gzip-komprimierte Archive gibt man '''z''', für bzip2-Komprimierte '''j''' an. Der Parameter '''x''' weist tar an, eine Dekomprimierung vorzunehmen. Mit '''v''' schaltet man den ''verbose''-Modus ein, so bekommt man ausführliche Informationen, was tar macht. Nach dem Parameter '''f''' erwartet tar den Dateinamen des zu bearbeitenden Archivs an.  
  
<pre>grep -i append /etc/lilo.conf</pre> durchsucht die Datei lilo.conf in /etc nach dem Begriff ''append'', GROß- und klein-Schreibung wird ignoriert (-i)
+
====Erstellen von Archiven====
 +
tar erstellt eine Datei aus mehreren Dateien, packt aber nicht. Deswegen wird anschließend die tar-Datei gepackt. Der Weg beim Entpacken ist genau anders herum und kann deswegen auch alternativ mit einer pipe realisiert werden.<br>
 +
Beispiel:
 +
<pre>
 +
tar -cvf /tmp/Backup-etc.tar /etc/
 +
</pre>
 +
Erstellt ('''c'''reate) die Datei ('''f'''ile) /tmp/Backup-etc.tar die das Verzeichnis ''/etc'' gepackt enthält, zusätzlich werden die Meldungen angezeigt ('''v'''erbose). Recht nützlich, wenn man schnell ein Backup der Konfigurationsdateien ziehen möchte. Auch hier kann man mit '''z''' die gzip- und mit '''j''' die bzip2-Kompression benutzen. <br>
 +
Beispiel (gzip-Kompression):
 +
<pre>
 +
tar -cvzf /tmp/Backup-etc.tar.gz /etc/
 +
</pre>
 +
Beispiel (bzip2-Kompression):
 +
<pre>
 +
tar -cvjf /tmp/Backup-etc.tar.bz2 /etc/
 +
</pre>
  
<pre>dmesg|grep -i scsi</pre>
+
===Suchen von Dateien===
''dmesg'' bringt die Bootmeldungen zur Anzeige, die Anzeige wird "ge-piped" nach ''grep'', welches die Zeilen, die den Begriff ''scsi'' enthalten, zur Anzeige bringt
+
<pre>
 +
find /usr -name dateiname
 +
</pre>
 +
/usr spezifiziert hier das Startverzeichnis.
 +
===Suchen mit grep===
 +
grep = "'''G'''lobal search for a '''r'''egular '''e'''xpression and '''p'''rint out matched lines"
 +
Durchsucht Dateien nach einem Muster und gibt passende Stellen aus.
 +
Beispiel:
 +
<pre>
 +
grep -i append /etc/lilo.conf
 +
</pre>
 +
Durchsucht die Datei /etc/lilo.conf nach dem Begriff ''append'', Groß- und Kleinschreibung wird wegen dem Parameter "-i" dabei ignoriert.
 +
Passende Stellen werden auf die Konsole geschrieben.
 +
===Logdateien ansehen mit tail===
 +
<pre>
 +
tail dient zum Anzeigen von Textdateien.
 +
 
 +
tail -f /var/log/messages
 +
</pre>
 +
Der Parameter bewirkt, dass laufend Änderungen an dieser Datei auf der Konsole dargestellt werden.<br>
 +
Hinweis: dieser Befehl läuft so lange, bis er mit <STRG>+c abgebrochen wird.
 +
 
 +
<pre>
 +
tail -n ZEILEN /var/log/messages
 +
</pre>
 +
Der Parameter -n gibt an, wieviele Zeilen der Datei angezeigt werden. Das Programm wird dann beendet.
 +
 
 +
===Anzeige der aktuellen Kernelversion mit uname===
 +
<pre>
 +
uname -r
 +
</pre>
 +
 
 +
===Aktualisierung des EPG per Kommandozeile===
 +
<pre>/usr/bin/tvm2vdr.pl</pre> Voraussetzung installiertes Addon ''tvmovie2vdr'', startet das Online-Update, man kann den Fortschritt auf der Konsole beobachten.
 +
 
 +
===Anzeigen der CPU Auslastung mit top===
 +
<pre>top</pre>
 +
top zeigt die aktuelle CPU Auslastung und Speicherauslastung an.
 +
top wird mit "q" oder "STRG+c" beendet.
 +
===Beenden von Prozessen===
 +
Prozesse werden mit kill, pkill oder killall beendet.
 +
<br>
 +
kill erwartet eine Prozess-ID, die mit dem Befehl ps ermittelt werden kann:
 +
<pre>
 +
bash-3.00# ps -A | grep k3b
 +
4462 pts/3    00:00:01 k3b
 +
</pre>
 +
Hier wird die Prozess-ID (4462) vom Programm k3b ermittelt. Einfacher geht es mit pgrep:
 +
<pre>
 +
bash-3.00# pgrep k3b
 +
4462
 +
</pre>
 +
Wenn die Prozess-ID bekannt ist, kann der Befehl kill benutzt werden:
 +
<pre>
 +
kill 4462
 +
</pre>
 +
Auch hier gibt es wieder einfachere Wege:
 +
<pre>
 +
pkill k3b
 +
</pre>
 +
oder
 +
<pre>
 +
killall k3b
 +
</pre>
 +
beenden alle Prozesse namens "k3b".
 +
Einige Prozesse lassen sich nur forced beenden:
 +
<pre>
 +
pkill -9 -x "k3b"
 +
</pre>
 +
Der Parameter -9 bewirkt dass k3b forciert beendet wird, -x bewirkt hier, dass nur Prozesse die ''exakt'' k3b heißen beendet werden, nicht aber Prozesse, die k3b im Namen haben wie z.B. "jlk3beta" (zugegebenermaßen ist dieser Befehl frei erfunden).
  
 
==Links==
 
==Links==
[[LinuxStarter|zurück zu Linux für Anfänger]]
+
# [[LinuxStarter|zurück zu Linux für Anfänger]]
 +
# [http://www.linux-user.de/ausgabe/2000/12/038-pcorner/pcorner1.html 7teiliger Bash-Grundkurs]
 +
# [[Einzeiler]]
  
[http://www.linux-user.de/ausgabe/2000/12/038-pcorner/pcorner1.html 7teiliger Bash-Grundkurs]
+
[[Kategorie:Begriffserklärungen]][[Kategorie:Skripte]]

Aktuelle Version vom 1. September 2013, 13:54 Uhr

Inhaltsverzeichnis

[Bearbeiten] Einleitung

Diese Seite soll als Informationspool für Linux-Anfänger dienen, die auf der Suche nach Lösungen für die kleinen Probleme des Alltags sind. Beim Erforschen des VDR oder gar beim Fehlersuchen können die folgenden Beispiel helfen.

Hinweis
Hinweis

Bitte nicht vergessen: die Groß- und Kleinschreibung ist bei Kommandozeilen-Befehlen unbedingt zu beachten!


[Bearbeiten] Befehle für die Kommandozeile

[Bearbeiten] Anzeigen der Hilfe zu einem Befehl

Hinweis
Hinweis

Der wichtigste Befehl, zeigt das Manual (die man-Page) eines Befehls an. Bei Unsicherheit in der Verwendung der unten genannten Befehle sollte man <BEFEHL> die erste Anlaufstelle sein. Übrigens findet man in google mit den Suchworten 'man <BEFEHL>' die man-Page jedes Linux/Unix Befehls.


Beispiel

man lsmod

[Bearbeiten] Anzeigen der Datenübertragungsrate eines IDE Gerätes

Zeigt die Datenübertragungsrate für das gewählte IDE Gerät wie z.B. Festplatte, CDrom, DVDrom, Brenner.

hdparm -tT /dev/hd{a,b,c,d}

[Bearbeiten] Anzeigen des benutzten Speicherplatzes

disk usage zeigt den Speicherverbrauch je Verzeichnis an.

du {optional: Ordner}

[Bearbeiten] Anzeigen des freien Speicherplatzes

disk free zeigt den freien Speicher an.

df {optional: Ordner}

[Bearbeiten] Anzeige der geladenen Kernelmodule

listmodules zeigt die aktuell geladenen Kernelmodule.

lsmod

[Bearbeiten] Anzeigen des System Message Buffer mit dmesg

dmesg kopiert die Meldungen im system message buffer zur Standardausgabe. Beispiel:

dmesg | grep -i scsi

dmesg kopiert alle Meldungen zur Standardausgabe (Konsole), um sinnvolle Zeilen herauszusuchen wird hier die Ausgabe von dmesg nach allem was "scsi" enthält durchsucht. Näheres auf dieser Seite zu grep und dem pipe-Operator.

[Bearbeiten] Anzeigen von Dateien mit cat

cat /proc/interrupts

Zeigt die Verteilung der Interrupts, allerdings nur, wenn das proc Dateisystem eingebunden ist.

[Bearbeiten] Erstellen eines Patch (diff-Dateien)

diff -Nru <from-dir> <to-dir>

diff Dateien werden vorwiegend dazu benutzt, um Änderungen im Quelltext von Programmen als Patch zu veröffentlichen.

[Bearbeiten] Benutzung von pipes: der "|" Operator

Eine pipe leitet die (Standard-)Ausgabe eines Befehls zu einem weiteren Befehl weiter. Beispiel:

lsmod | grep ivtv

Der Befehl lsmod zeigt alle geladenen Kernelmodule, der Operator | leitet dessen Ausgabe zum Befehl grep weiter, der wiederum nach allen Textzeilen sucht, die 'ivtv' enthalten und diese auf der Konsole ausgibt.

[Bearbeiten] Packen/Entpacken von Dateien

[Bearbeiten] Packen von Dateien

Erstellen eines gzip Tarballs

tar czvf zielarchiv.tar.gz quellverzeichnis

Erstellen eines bzip2 Tarballs (bevorzugt, weil kleinere Dateien)

tar cjvf zielarchiv.tar.bz2 quellverzeichnis

[Bearbeiten] Entpacken von Dateien

tar xzvf quellarchiv.tgz

oder

tar xzvf quellarchiv.tar.gz

oder

tar xjvf quellarchiv.tar.bz2

tar benötigt die Angabe des Kompressionsalgorithmus, für gzip-komprimierte Archive gibt man z, für bzip2-Komprimierte j an. Der Parameter x weist tar an, eine Dekomprimierung vorzunehmen. Mit v schaltet man den verbose-Modus ein, so bekommt man ausführliche Informationen, was tar macht. Nach dem Parameter f erwartet tar den Dateinamen des zu bearbeitenden Archivs an.

[Bearbeiten] Erstellen von Archiven

tar erstellt eine Datei aus mehreren Dateien, packt aber nicht. Deswegen wird anschließend die tar-Datei gepackt. Der Weg beim Entpacken ist genau anders herum und kann deswegen auch alternativ mit einer pipe realisiert werden.
Beispiel:

tar -cvf /tmp/Backup-etc.tar /etc/

Erstellt (create) die Datei (file) /tmp/Backup-etc.tar die das Verzeichnis /etc gepackt enthält, zusätzlich werden die Meldungen angezeigt (verbose). Recht nützlich, wenn man schnell ein Backup der Konfigurationsdateien ziehen möchte. Auch hier kann man mit z die gzip- und mit j die bzip2-Kompression benutzen.
Beispiel (gzip-Kompression):

tar -cvzf /tmp/Backup-etc.tar.gz /etc/

Beispiel (bzip2-Kompression):

tar -cvjf /tmp/Backup-etc.tar.bz2 /etc/

[Bearbeiten] Suchen von Dateien

find /usr -name dateiname

/usr spezifiziert hier das Startverzeichnis.

[Bearbeiten] Suchen mit grep

grep = "Global search for a regular expression and print out matched lines" Durchsucht Dateien nach einem Muster und gibt passende Stellen aus. Beispiel:

grep -i append /etc/lilo.conf

Durchsucht die Datei /etc/lilo.conf nach dem Begriff append, Groß- und Kleinschreibung wird wegen dem Parameter "-i" dabei ignoriert. Passende Stellen werden auf die Konsole geschrieben.

[Bearbeiten] Logdateien ansehen mit tail

tail dient zum Anzeigen von Textdateien.

tail -f /var/log/messages

Der Parameter bewirkt, dass laufend Änderungen an dieser Datei auf der Konsole dargestellt werden.
Hinweis: dieser Befehl läuft so lange, bis er mit <STRG>+c abgebrochen wird.

tail -n ZEILEN /var/log/messages

Der Parameter -n gibt an, wieviele Zeilen der Datei angezeigt werden. Das Programm wird dann beendet.

[Bearbeiten] Anzeige der aktuellen Kernelversion mit uname

uname -r

[Bearbeiten] Aktualisierung des EPG per Kommandozeile

/usr/bin/tvm2vdr.pl
Voraussetzung installiertes Addon tvmovie2vdr, startet das Online-Update, man kann den Fortschritt auf der Konsole beobachten.

[Bearbeiten] Anzeigen der CPU Auslastung mit top

top

top zeigt die aktuelle CPU Auslastung und Speicherauslastung an. top wird mit "q" oder "STRG+c" beendet.

[Bearbeiten] Beenden von Prozessen

Prozesse werden mit kill, pkill oder killall beendet.
kill erwartet eine Prozess-ID, die mit dem Befehl ps ermittelt werden kann:

bash-3.00# ps -A | grep k3b
 4462 pts/3    00:00:01 k3b

Hier wird die Prozess-ID (4462) vom Programm k3b ermittelt. Einfacher geht es mit pgrep:

bash-3.00# pgrep k3b
4462

Wenn die Prozess-ID bekannt ist, kann der Befehl kill benutzt werden:

kill 4462

Auch hier gibt es wieder einfachere Wege:

pkill k3b

oder

killall k3b

beenden alle Prozesse namens "k3b". Einige Prozesse lassen sich nur forced beenden:

pkill -9 -x "k3b"

Der Parameter -9 bewirkt dass k3b forciert beendet wird, -x bewirkt hier, dass nur Prozesse die exakt k3b heißen beendet werden, nicht aber Prozesse, die k3b im Namen haben wie z.B. "jlk3beta" (zugegebenermaßen ist dieser Befehl frei erfunden).

[Bearbeiten] Links

  1. zurück zu Linux für Anfänger
  2. 7teiliger Bash-Grundkurs
  3. Einzeiler