.: linux - einführung :.
 
abyter.de \\ workshops

Einführung
In dem Workshop "Linux-Shell" haben wir uns ausgiebig mit der Kommandozeile von Linux beschäftigt. Wir haben schon gemerkt, dass es eine Vielzahl an Befehlen gibt. Nun wollen wir noch mehr von diesen Befehlen kennenlernen; manche Befehle sind so mächtig, dass man sie schon schnell nicht mehr missen will.
Ich mächte eine ausführliche Auswahl an Befehlen bieten, es ist jedoch klar, dass ich nicht alle Befehle behandeln kann.

alphabetische Kommandoreferenz
Ich habe mal die wichtigsten Befehle hier aufgelistet und zu jedem Kommando eine kurze Beschreibung.

apropos
apropos thema
apropos liefert eine Liste aller man-Texte, die Informationen zum angegebenen Thema enthalten.

bzip2
bzip2 datei
bzip2 ist ein relativ neues Kommando zur Komprimierung von Dateien. Das Kommando liefert in der Regel um 20 bis 30 Prozent kleinere Dateien als das bekanntere gzip. Doch alle Vorteile haben auch ihren Hacken, denn das Komprimieren dauert mit bzip2 dafür länger.
Mit dem Parameter -d kann man die angegebene Datei wieder dekomprimieren.

cat
cat dateien
cat zeigt den Inhalt der angegebenen Textdatei an. Bei längeren Texten sollten man aber eher das Kommando less verwenden, damit kann zeilen-, bzw. seiteweise durch den Text beblättert werden.
cat wir häufig dazu verwendet, mehrere Dateien zu einer größeren Datei zusammenzusetzen. Dazu muss die Standardausgabe mit '>' in eine Datei umgeleitet werden.

chgrp
chgrp [optionen] gruppe dateien
chgrp ändert die Gruppenzugehörigkeit von Dateien. Der Besitzer einer Datei kann diese Datei nur dann seinen eigenen Gruppen zuordnen. Für einen Benutzer ist das Kommando also nur dann von Beduetung, wenn er mehreren Gruppen angehört. root kann beliebige Zuordnungen treffen.
Wem sich der Sinn dieses Kommandos nicht auf den ersten Blick erschließt, der sollte sich mal das nächste Kommando chmod ansehen. Hier wird klar, warum man die Gruppenwechseln möchte.
-R verändert auch die Gruppenzuordnungen von Dateien in allen Unterverzeichnissen. Die Option ist nur sinnvoll, wenn die Dateien durch Jockerzeichen beschrieben werden (etwa *.tex).

chmod
chmod [optionen] änderungen dateien
chmod ändert die Zugriffsbits von Dateien. Zusammen mit jeder Datei wird gespeichert, ob der Besitzer, die Gruppenmitglieder und andere Benutzer die Datei lesen, schreiben und ausführen dürfen. Die Änderung der Zugriffsbits erfolgt durch die Zeichenkombination Gruppe +/- Zugriffstyp, also bespielsweise g+w, um allen Gruppenmitgliedern eine Schreiberlaubnis zu geben. Mit + gibt man Zugriffsrechte und mit - entzieht man die Zugriffsrechte.
Gruppe: u (Besitzer); g (Gruppe); o (andere Benutzer); a (alle)
Zugriffstyp: r (lesen); w (schreiben); x (execute)
Statt mit Buchstaben kann der Zugriffstyp auch durch maximal vierstellige Oktalzahl angegeben werden. Meistens werden jedoch nur drei Ziffern verwendet. Je eine pro Gruppe; also eine für u, eine für g, eine für o. Jede Ziffer ist aus den Werte 4 (für r), 2 (für w) und 1 (für x) zusammengesetzt. 555 bedeutet also r-xr-xr-x, 777 steht für rwxrwxrwx
-R verändert auch die Zugriffsbits von Dateien in allen Unterverzeichnissen.

chown
chown [optionen] user[.gruppe] dateien
chown ändert den Benutzer und (optional) auch die Gruppenzugehörigkeit einer Datei. Der Besitzer einer Datei kann nur von root verändert werden, während die Gruppe auch von anderen Benutzern eingestellt werden kann.
-R verändert auch die Gruppenzugehörigkeit von Dateien in allen Unterverzeichnissen.

dd
dd [optionen]
dd überträgt Daten zwischen verschiedenen Speichermedien (Festplatte) und führt dabei auf Wunsch eine Konvertierung der Daten durch. Das Kommando kann unter anderem dazu eingesetzt werden, Daten zwischen verschiedenen Rechnerarichtekturen auszutauschen.
dd kann nicht nur einzelne Dateien kopieren, sondern auch direkt auf Devices zugreifen. Damit können ganze Festplatten(-partitionen) kopiert, der Bootsektor der Festplatte verändert werden, usw. Auf der Festplatte muss kein Datensystem eingerichtet werden.
Wenn dd ohne Optionen verwendet wird, liest es die Daten aus der Standardeingabe (Tastatur, Ende mit [Strg]+[Z]) und schreibt in die Standardausgabe (auf den Bildschirm).
Achtung! Die Parameter müssen ohne vorangestellte Minuszeichen angehängt werden!
if=quelldatei gibt die Quelldatei an; of=zieldatei gibt die Zieldatei an. So kopiert dd if=/vmlinuz of=/fd0 den Kernel auf eine Diskette, die anschließend als Bootdiskette verwendet werden kann.

df
df [optionen]
df gibt Auskunft darüber, an welcher Stelle im Dateibaum Festplatten(-partitionen) oder andere Laufwerke eingebunden sind und wie viel Speicherplatz darauf verfügbar ist.
-T gibt für jede Partition bzw. für jeden Datenträger das Dateisystem an.

du
du [optionen] [verzeichnis]
du gibt Informationen über den Speicherbedarf von Dateien bzw. Verzeichnissen aus. Wenn im Verzeichnisparameter eine Dateispezifikation angegeben werden wird (etwa * oder *.gif), dann liefert du eine Liste mit der Größe aller Dateien. Wird dagegen nur ein Verzeichnis angegeben, ermittelt du den Speicherbedarf für alle untergeordneten Verzeichnisse. Die Speicherangaben umfassen auch den Speicherplatz aller untergeordneten Verzeichnisse. Der letzte Zahlenwert gibt den Gesamtspeicherbedarf aller Dateien und Unterverzeichnisse ab dem angegebenen Verzeichnis an. Alle Angaben erfolgen in KB.
-c zeigt (wenn der Befehl auf Dateien angewendet wird) als abschließenden Wert die Endsumme an. Mit dieser Option kann recht schnell festgestellt werden, wie viel Speicher alle Dateien mit einer bestimmten Kennung benötigen.
-s zeigt nur die Endsumme von Verzeichnissen an.

fdisk
fdisk [optionen][device]
fdisk dient zum Partitionieren von Festplatten. Das Kommando kann nur von root ausgeführt werden. Wenn keine Device-Datei angegeben wird, dann bezieht sich fdisk automatisch auf die erste IDE-Festplatte (/dev/hda).
fdisk -l liefert eine Liste aller Partitionen auf allen IDE- und SCSI-Platten.
Verwenden Sie fdisk nicht für Festplatten, deren Partitionen zur Zeit in das Linux-Dateisystem eingebunden sind!

find
find [pfadangabe][suchoptionen]
find hilft bei der Suche nach Dateien, die in den Verästelungen des Verzeichnisbaums versteckt sind. Dabei können verschiedene Suchkriterien (Muster für Dateinamen, Dateigröße, Datum der Erstellung oder des letzten Zugriffs) bei der Suche berücksichtigt werden. Es besteht sogar die Möglichkeit, auf alle Dateien, die diese Bedingungen erfüllen, mit einem anderen Programm (etwa grep) weitere Selektionskriterien anzuwenden.
Im Gegensatz zu den meisten anderen Kommandos durchsucht find automatisch alle Unterverzeichnisse. Wenn das nicht erwünscht ist, muss die Anzahl der Unterverzeichnisse durch -maxdepth eingeschränkt werden.
-depth durchsucht erst das aktuelle Verzeichnis und erst dann die Unterverzeichnisse
Es können mehrere Suchkriterien gleichzeitig genannt werden. Diese Kriterien werden logisch mit UND verknüpft. Die Suche wird abgebrochen, sobald das erste Kriterium nicht erfüllt ist - die Reihenfolge der Kriterien kann also Einfluss auf die Geschwindigkeit des Kommandos haben. Kriterien können mit \( und \( gruppiert, mit ! negiert und mit -o logisch ODER-verknüpft werden.
-ctime n findet Dateien, die zuletzt vor genau n Tagen verändert wurden. Wenn vor der Zahl ein + angegeben wird, dann werden alle Dateien erfasst, die älter als n Tage sind. Ein vorangestelltes - liefert Dateien die jünger als n Tage sind
-group gruppe (bzw. -nogroup gruppe) findet Dateien, die der angegebenen Gruppe angehören (bzw. nicht angehören)
-name suchmuster findet Dateien, die dem angegebenen Suchmuster entsprechen. Wenn das Suchmuster Jockerzeichen enthält, muss es in Apostrophe gestellt werden.
-path suchmuster ist eine Erweiterung des vorigen Befehls; hierbei werden nicht nur Dateinamen berücksichtigt, sondern auch der Pfad
-size dateigroesse gibt die gewünschte Dateigröße vor. Die Angabe erfolgt standardmäßig in Vielfachen von 512. 3 bezeichnet also Dateien zwischen 1024 und 1536 Bytes. Durch die zusätzlichen Zeichen c oder k kann die Größe in Byte oder KB angegeben werden. Ein vorangestelltes + erfasst alle größeren Dateien, ein vorangestelltes - alle kleineren Dateien
-type zeichen schränkt die Suche auf bestimmte Dateitypen ein. Die wichtigsten Zeichen sind f für reguläre Dateien und d für Verzeichnisse
-user username (bzw. -nouser username) findet Dateien, die dem angebenen Benutzer gehören (bzw. nicht gehören)
-exec kommando [optionen] {} \; ruft das angegebene Kommando auf und übergibt den Dateinamen der gefundenen Datei, die alle bisher verarbeiteten Kriterien erfüllt hat. Das Kommando kann nun einen Test durchführen, ob die Datei weiteren Kriterien entspricht. Ein typisches Programm, das durch -exec aufgerufen wird, ist grep. {} steht als Platzhalter für den Dateinamen. ; schließt den Kommandoaufruf ab, d.h. dahinter können weitere find-Optionen angegeben werden. \ ist innerhalb der Shell erforderlich, um die Interpretation von ; als Sonderzeichen zu verhindern
Unter KDE findet sich mit kfind eine komfortablere Oberfläche zu find und grep.

free
free
free zeigt an, wie der verfügbare Speicherplatz (RAM und Swap-Speicher) genutzt ist.

grep
grep [optionen] suchmuster datei
grep durchsucht die angegebene Textdatei nach einem Suchmuster. Je nach Einstellung der Optionen zeigt das Kommando anschließend die gefundenen Textpassagen an oder gibt einfach nur an, in wie vielen Zeilen das Suchmuster gefunden wurde. grep kann mit find kombiniert werden, um alle Dateien, die bestimmten Bedingungen entsprechen, nach Texten zu durchsuchen.
-n zeigt nicht nur die Zeile mit dem gefundenen Text an, sondern zusätzlich die n unmittelbar vorangehenden und nachfolgenden Zeilen.
-c gibt nur die Anzahl der Zeilen an, in denen das Suchmuster gefunden wurde, nicht aber die Zeilen selbst.
-l zeigt nur die Dateinamen an, in denen das Suchmuster gefunden wurde
-n gibt bei der Ausgabe jeder Zeile auch deren Zeilennummer an
Das Suchmuster wird prinzipiell aus zwei Komponenten zusammengesetzt: der Angabe, nach welchen Zeichen gesucht wird, und der Angabe, wie oft diese Zeichen auftreten dürfen:
abc die Zeichenkette "abc"
[abc] eines der Zeichen (also a, b, c)
[a-z] eines der Zeichen zwischen a und z
[^abc] keines der Zeichen (also nicht a, b, c)
. ein beliebiges Zeichen
? das vorangegangene Zeichen darf garnicht oder einmal auftreten
* das Zeichen darf beliebig oft (auch gar nicht) auftreten
+ das Zeichen darf beliebig oft (jedoch mindestens einmal) auftreten (z.B. 'test[0-9]+' sucht nach Zeichenketten, die mit test beginnen und von einer oder mehreren Ziffern gefolgt werden)
{n} das Zeichen muss genau n-mal auftreten
{,n} das Zeichen darf höchstens n-mal auftreten
{n,} das Zeichen muss mindestens n-mal auftreten
{n, m} das Zeichen muss mindestens n- und höchstens m-mal auftreten
grep wendet das Suchmuster nur zeilenweise an. Textpassagen, die durch einen Zeilenumbruch unterbrochen sind, können nicht erkannt werden.

head
head [optionen] datei
head gibt die ersten zehn Zeilen einer Textdatei am Bildschirm aus.
-n zeilen gibt die angegebene Anzahl von Zeilen aus

hostname
hostname [name]
hostname liefert den aktuellen Netzwerknamen des Systems. Mit der Option -d liefert das Kommando stattdessen den Domainnamen.

kill
kill [-s signal] prozessnummer
kill kann den angegebenen Prozess gewaltsam beenden, wenn der Prozess sich aufgehängt hat, bzw. nicht mehr benötigt wird. Bei besonders hartnäckigen Fällen hilft -9 bzw. -KILL, dann kann der Prozess aber keine Daten mehr sichern.
Die erforderliche Prozessnummer (PID) wird am einfachsten mit dem Befehl ps ermittelt werden. Unter X gibt es mit xkill eine bequeme Variante zu kill. Das Programm, das beendet werden soll, kann damit einfach per Maus gewaltsam beendet werden.

ldd
ldd programmdatei
ldd zeigt alle für die Ausführung des Programms erforderlichen Dateien (mit Pfad) an. Mit dem Programm kann sehr rasch festgestellt werden, ob und welche Libraries fehlen.

less
less [optionen] datei
less zeigt die angegebene Textdatei seitenweise an. Die wichtigsten Kommandos während er Verwendung von less sind: [h] zur Anzeige eines kurzen Hilfetextes, die Cursortasten zum Bewegen im Text, [ENTER] um eine Zeile nach unter zu scrollen, [Leertaste] um eine Seite nach unten zu scrollen, [b] um eine Seite zurück zu scrollen, [<] und [>] um zum Anfang, bzw. Ende des Textes zu springen, [/] zur Eingabe eines Suchtextes sowie [q] zum Beenden von less.
Auch beim Aufruf des Kommandos können diverse Optionen genannt werden, von denen hier ebenfalls nur die wichtigsten aufzuzählen sind:
-p suchtext zeigt die erste Zeile an, in der der zu suchende Text befunden wurde
-s reduziert mehrere Leerzeilen zu einer Zeile

lpr
lpr datei
lpr druckt die angegebene Datei aus. Voraussetzung ist, dass der Drucker vorher korrekt konfiguriert wurde.
-P name verwendet den angegebenen Drucker

ls
ls [-optionen] [pfad]
ls zeigt eine Liste aller Dateien und Verzeichnisse an. Wenn ls ohne weitere Parameter oder Optionen verwendet wird, liefert das Kommando eine mehrspaltige, nach Dateinamen sortierte Tabelle, in der alle Dateien, Links und Verzeichnisse im aktuelle Verzeichnis angezeigt werden.
-a zeigt auch Dateien an, die mit . beginnen
-d zeigt nur den Namen des Verzeichnisses, nicht aber seinen Inhalt an
-I datei schließt die angegebene Datei von der Anzeige aus (man kann auch ganze Dateitypen ausschließen)
-l zeigt zusätzlich zum Dateinamen weitere Informationen an: z.B. die Dateigröße in Bytes oder die Zugriffsrechte
-R erfasst auch Dateien in Unterverzeichnissen
-S sortiert dei Dateien nach ihrer Größe
-t sortiert die Dateien nach Datum und Uhrzeit der letzten Änderung
-X sortiert die Dateien nach ihrer Kennung nach ihrer Kennung (der Buchstabenkombination nach dem letzten . im Dateinamen)

man
man [gruppe] [optionen] name
man zeigt Online-Informationen zum angegebenen Kommando an. Durch die Angabe einer Gruppe kann die Suche eingeschränkt werden. Wichtige Gruppen sind 1 (Benutzerkommandos), 5 (Konfigurationsdateien) und 8 (Kommandos zur Systemadministration). Mit der Option -a werden alle gefundenen man-Texte angezeigt (ansonsten nur der erste)

mkdir
mkdir verzeichnis
mkdir erstellt ein neues Verzeichnis. Die beiden wichtigsten Optionen lauten:
-m modus setzt die Zugriffsrechte des neues Verzeichnisses wie durch modus angegeben (siehe chmod)
-p erstellt auch Zwischenverzeichnisse, d.h. man kann einen Pfad anlegen (verz1/uverz/)



Related Workshops: Linux - Einführung \\ Linux - Installation \\ Arbeiten mit Linux \\ Linux im Netzwerk \\ Brennen mit Linux \\ Linux-Shell \\ Emacs

<Zurück

© by www.abyter.de (Martin Monshausen)