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
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.
Wechselt das Verzeichnis. (change directory)
cd ..
wechselt in der Verzeichnishierarchie eine Ebene nach oben. Aber nur, wenn das auch möglich ist. Ä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.
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 UnterverzeichnissenGibt 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.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
-VerzeichnisGibt den momentan freien Speicherplatz aus.
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!
Filtert Texte.
ps ax | grep firefox
zeigt z.B. alle Prozesse an, die irgendwas mit firefox zu tun haben.Konfiguriert Festplatten - nicht Partitionen. dma-Modus kann dadurch beispielsweise ein- oder ausgeschaltet werden.
Gibt Informationen über die Netzwerkkonfiguration aus. Nur als root
ausführbar. (Unter Windoofs: ipconfig
)
ifconfig -a
gibt mehr aus.
ip a ip r
ip
zeigt und ändert Einstellungen zur routing, Geräten, policy routing, …
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.
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
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
Listet den Inhalt des Verzeichnisses auf, in dem man sich gerade befindet.
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.
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
)
Erstellt ein leeres Verzeichnis. (make directory)
Listet viele Inhalte über Partitionen auf. (mehr als fdisk…)
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.
mount -o remount,ro /media/hda1
sudo su nmap -sP 10.16.1.0/24
sucht alle Rechner im Subnetz 10.16.1.0.
Gibt den Namen des momentanen Verzeichnisses aus. (print working directory)
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.
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!?
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.
Löscht ein leeres Verzeichnis. (remove directory)
Ein volles Verzeichnis löscht man mit rm -R name
.
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
ftp
über ssh
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.
Ö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
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)Liefert aktuelle laufende Prozesse mit CPU-Last, Speicherverbrauch, PID, … Wird automatisch alle paar Sekunden akualisiert.
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.
Gibt den Speicherort eines Programms aus.
Läd die danach angegebene Datei herunter. Natürlich muss der komplette URL angegeben werden.
Sagt einem, wer man ist Ist schon mal ganz nützlich, wenn man sich über ssh
auf einem entfernten Rechner einloggt.