Befehle

Wie fängt man in Linux an? Hier die Befehle, die mir als erstes einfallen und die man eventuell mal (in der Konsole!) braucht:1

awk

ist ein programmierbarer Stream-Editor.

awk 'awk-Programm' [Eingabedateien]
awk -f 'Programm-Datei' [Eingabedateien]

Beispiele

  • ls -al | awk '{print $3 "   " $9}' | sort -k2

    listet alle Dateinamen des aktuellen Verzeichnisses mit Besitzernamen und sortiert nach Dateinamen auf.

  • awk -F':' '{print $1 "\n2.: " $2}' datei.txt 
  • awk -F':' '/^root/ || /^man/ {print $1}' /etc/passwd

    sucht Benutzer root und man heraus.

  • awk -F: '/^root|man/ { print $1 "->" $6 }' /etc/passwd

    sucht die Benutzer root und man heraus und gibt sie mit ihren Standardshells aus.

  • awk -F':' '$7=="/bin/bash" {print $1}' /etc/passwd

    sucht alle Benutzer heraus, deren Standardshell die bash ist.

cd

Wechselt das Verzeichnis. (change directory)

  • cd .. wechselt in der Verzeichnishierarchie eine Ebene nach oben. Aber nur, wenn das auch möglich ist.
  • Die zwei Punkte stehen also für die nächst höhere Ebene. Ein einzelner Punkt steht für das Verzeichnis, in dem man sich befindet.

chmod

Ändert die Zugrifffsrechte auf Dateien und/oder Verzeichnisse.

chmod -R a+rX,u+w /Pfad/zu/Verzeichnis

Ändert rekursiv Verzeichnisrechtte auf 755 und die Dateirechte auf 644 im angegebenen Pfad.

cp

Kopiert Dateien. (copy)

  • cp Quelle Ziel Quelle ist mindestens eine Datei, Ziel ist ein Pfad.
  • cp *.pdf /home/claudius/Kram kopiert alle pdf-Dateien aus dem aktuellen Verzeichnis nach /home/claudius/Kram
  • cp -a … kopiert alles nach Möglichkeit mit Beibehaltung der Attribute, folgt keinen symbolischen Links, folgt rekursiv Unterverzeichnissen

df

Gibt an, wieviel Speicherplatz noch auf den gemounteten Datenträgern frei bzw. belegt ist.

  • df -h gibt dabei die Daten in human readable format an, also in GB, MB, … statt Bytes.

find

Findet Dateien.

  • find . -name „*.pdf“ findet alle pdf-Dateien im aktuellen Verzeichnis und in den Unterverzeichnissen.
  • find /home -name „*.bak“ -print0|xargs -0 /bin/rm löscht alle bak-Dateien im kompletten /home-Verzeichnis

free

Gibt den momentan freien Speicherplatz aus.

fsck

Verifiziert Partitionen von Festplatten. Meist genügt ein

fsck /dev/hdb1

um z.B. die erste Partition der slave-0 Festplatte zu überprüfen. Die Partition sollte dabei nicht gemountet sein!

grep

Filtert Texte.

  • ps ax | grep firefox zeigt z.B. alle Prozesse an, die irgendwas mit firefox zu tun haben.

hdparm

Konfiguriert Festplatten - nicht Partitionen. dma-Modus kann dadurch beispielsweise ein- oder ausgeschaltet werden.

ifconfig

Gibt Informationen über die Netzwerkkonfiguration aus. Nur als root ausführbar. (Unter Windoofs: ipconfig) ifconfig -a gibt mehr aus.

ip

ip a
ip r

ip zeigt und ändert Einstellungen zur routing, Geräten, policy routing, …

kill

Beendet Prozesse.

Hat man mit ps herausgefunden, wie die PID (process ID oder Prozessnummer) eines Prozesses lautet, kann man diesen Prozess mit

  • kill PID

beenden. Will der Prozess nicht, dass man das tut, so kann man ihn mit

  • kill -9 PID

trotzdem beenden. Standardmäßig wird dem Prozess mit kill ein Signal Nr. 15 (SIGTERM) zu geschickt, dass ihn dazu veranlassen soll, sich selbst freiwillig zu beenden. Übergibt man das Signal Nr.9 (SIGKILL), so beendet der Kernel das Programm - ohne Rücksicht auf Verluste. Man kann nur eigene Prozesse beenden, es sei dann, man ist root.

  • killall firefox-bin

kann übrigens Prozesse an Hand ihres Namens beenden. Je nachdem ist nur nicht immer ganz klar, wie das Programm heißt, das man beenden möchte. Hier ist man auf ps oder top angewiesen.

less

Zeigt Textdateien an. Aber komfortabel, sodass man mit Bild rauf und Bild runter darin herumblättern und mit / auch suchen kann. Muss evtl. erst noch installiert werden. (Debian: aptitude install less)

  • less -S name.txt zeigt die Datei ohne umrochene Zeilen an. Sehr praktisch für log-Dateien, deren Zeilen fast immer länger sind, als der Platz groß ist, den man zur Verfügung hat ;-)

lpr

Ein Relikt aus älteren Zeiten. xpdf druckt allerdings nur damit und xpdf ist nun mal der beste PDF-Betrachter…

lpr [-P<printer>] [-#n] [-h] [-o<option>] <files>
-#n   --   n Kopien
-o collate=True   --   Mehrfachkopien zusammenhängend drucken
-o number-up=n   --   2, 4 oder 8 Seiten auf eine Seite
-h   --   kein Titelblatt (sofern unterstützt)
-o landscape
-o sides=one-sided
-o sides=two-sided-long-edge
-o sides=two-sided-short-edge

ls

Listet den Inhalt des Verzeichnisses auf, in dem man sich gerade befindet.

  • -l zeigt Attribute der Dateien an (long)
  • -a zeigt alle Dateien an (all)

man

Ruft die legendären manages auf. Es gibt für nahezu jeden Befehl eine Hilfedatei die mit

man befehl

angezeigt werden kann. Die Navigation dort ist die gleiche wie in Textdateien, die mit less angezeigt werden.

mc

Midnight Commander. Ein textbasierter Dateimanager, dem Norton Commander nachempfunden. Über ssh schon mal schwierig, wenn verschiedene Textkodierungen aufeinander stoßen… Ansonsten sehr schön! Kann auch ftp und sftp. Muss meist noch installiert werden. (Debian: aptitude install mc)

mkdir

Erstellt ein leeres ;-) Verzeichnis. (make directory)

mmls

Listet viele Inhalte über Partitionen auf. (mehr als fdisk…)

mount

In Linux wird jedem Gerät eine Gerätedatei zugeordnet (device file). Festplatten, Sticks, DVD-Laufwerke, Diskettenlaufwerke o.ä. heißen z.B.

hda, hdb, hdc, hdd, sda, sdb, sdc, sr, ...

Möchte man auf eine bestimmte Partition zugreifen, spricht die Nummer dieser Partition an. Bsp.:

hda1, hdb3, hdc1, hdd, sda1, sdb1, sdc1, sr0...

Soll auf eine dieser Partitionen zugegriffen werden, so muss sie ins System eingebunden (gemountet) werden. Dabei wird die Gerätedatei, der Zielordner und evtl. weitere Optionen angegeben:

mount /dev/sda1 /media/sda1

(Der Ordner /media/sda1 muss vorher schon existieren.) Danach kann über das Verzeichnis /media/sda1 mit dem Datenträger gearbeitet werden.

Platte schreibgeschützt remounten

mount -o remount,ro /media/hda1

nmap

sudo su
nmap -sP 10.16.1.0/24

sucht alle Rechner im Subnetz 10.16.1.0.

pwd

Gibt den Namen des momentanen Verzeichnisses aus. (print working directory)

ps

Listet momentan laufende Prozesse mit PID (process ID oder Prozessnummer) und mehr auf. (processes)

  • ps zeigt nur eigene Prozesse der momentanen (!) shell an. Also fast nichts.
  • ps ax zeigt alles wichtige an.
  • ps e zeigt alles an.

resolv.conf

Konfigurationsdatei für den Resolver.
Enthält Information, die beim ersten Aufruf eingelesen werden. Scheinen also DNS-Einträge zu sein, die man selbst steuern kann!?

rm

Löscht Dateien. (remove)

  • rm * löscht alle Dateien im aktuellen Verzeichnis.
  • rm -R Verzeichnisname löscht das angegebene Verzeichnis mit allem was drin ist.

rmdir

Löscht ein leeres Verzeichnis. (remove directory) Ein volles Verzeichnis löscht man mit rm -R name.

sed

stream-oriented editor ist ein Textfilter, der bestimmte Zeichen oder Zeichenkombinationen sucht und ersetzt. Stream-oriented bedeutet, dass von stdin Daten entgegengenommen, bearbeitet und auf stdout wieder ausgegeben werden.

  sed s/suche/ersetze/g datei.txt
  sed -f sedfile datei.txt

Beispiele:

sed `s/Text/Test/g datei.txt

Regular Expression/Reguläre Ausdrücke

abc    genau diese Zeichenkette: "abc"
[abc]  eines dieser Zeichen: a, b oder c
[^abc] keines der Zeichen darf auftauchen
[a-c]  eines der Zeichen von a bis c
.      ein beliebiges Zeichen
?      das Muster vor dem ? darf einmal oder gar nicht auftreten
*      das Muster darf beliebig oft oder gar nicht auftreten
+      das Muster darf beliebig oft, muss aber mindestens einmal auftreten
{n}    das Muster muss genau n-mal auftreten
{,n}   das Muster darf höchstens n-mal auftreten
{n,}   das Muster muss mindestensn-mal auftreten
{n,m}  das Muster muss mindestens n-mal und höchstens m-mal auftreten

sftp

ftp über ssh

sort

Sortiert Textdateien.

sort -t: -k3 -n /etc/password

sortiert die accounts nach der Größe der userID.

  • -t: benutzt den Doppelpunkt als Spaltentrenner.
  • -k3 sortiert an Hand der 3. Spalte.
  • -n sortiert numerisch statt lexikalisch.

ssh

Öffnet eine Konsole auf einem entfernten Rechner. Wohl dem, der seinen Rechner ohne grafische Benutzeroberfläche administrieren kann. Das ist sogar über ISDN richtig bequem! Muss evtl. noch installiert werden. (Debian: aptitude install ssh)

  • ssh benutzer@rechner.domaene.de

su

Wechselt die Identität.

  • su versucht root zu werden. Klappt nur mit gültigem Passwort.
  • su - sysadm versucht sysadm zu werden. Das Minuszeichen sorgt für korrekte Umgebungsvariablen. (Oder so… irgendwie war das notwendig)

top

Liefert aktuelle laufende Prozesse mit CPU-Last, Speicherverbrauch, PID, … Wird automatisch alle paar Sekunden akualisiert.

  • Leertaste ruft frühere Aktualisierung auf.
  • k killt Prozess - siehe unten.

tr

tr tauscht Zeichenketten in Textdateien aus.

echo Klaudius | tr ´K´ ´C´

korrigiert beispielsweise einen Rechtschreibfehler.

tr ´a-z´ ´A-Z´ 

oder

tr [:lower:] [:upper:] 

wandelt Klein- in Großbuchstaben.

tr -s [:blank:] ´ ´

tauscht (squeeze-repeats) vielfache Leerzeichen gegen eines.

tr -d ´\r´

löscht (delete) alle carriage returns (Linux).

tr -c -d ´A-Z a-z´

löscht alles außer (complement) Buchstaben.

whereis

Gibt den Speicherort eines Programms aus.

wget

Läd die danach angegebene Datei herunter. Natürlich muss der komplette URL angegeben werden.

whoami

Sagt einem, wer man ist ;-) Ist schon mal ganz nützlich, wenn man sich über ssh auf einem entfernten Rechner einloggt.

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International