Unix / Linux - Befehle

Infos

offene Dateien anzeigen
(list open files)
lsof Zeigt an welche Dateien gerade geöffnet sind und wer sie geöffnet hat.
Wer arbeitet am System? w Zeigt angemeldete Benutzer und Terminals an. Zeigt was die Nutzer gerade machen.
Wer arbeitet am System? who Zeigt angemeldete Benutzer und Terminals
Welcher User hat sich als letztes eingelogt? last oder lastb lastlog Prüft die Logdatei der Logins
Wer bin ich? whoami Es werden Benutzername, Terminalbezeichnung und Anmeldezeit angezeigt
Wo bin ich? pwd Zeigt, in welchem Verzeichnis ich mich gerade wirklich befinde: aktuelles Directory mit absoluter Pfadangabe
Was wurde als letztes Eingegeben? history Zeigt, welche Befehle als letztes vom angemeldeten Benutzer eingegeben wurden. history -cLöscht die Liste der letzten Befehle.
export HISTFILE=/dev/nullAlle Befehle inkl. des Export Befehls werden nach /dev/null geschrieben.
set +o historySchaltet die Aufzeichnung der Befehle ab.
Speicherplatzverbrauch bzw.
-ressourcen
df Zeigt die Plattenbelegung einzelner Partitionen. df -H Es wird übersichtlich angezeigt, wie die Platten belegt sind.
Informationen über freien und belegten Speicherplatz auf dem System free Gibt die Gesamtmenge des freien und belegten physikalischen Speicher und Swap-Speicher im System wieder. Auch der Cache der vom Kernel verbraucht wird, wird dargestellt. free -m Anzeige in Megabyte
free -k Anzeige in Kilobyte
free -l detaillierte Informationen über niedrige vs hohe Speichernutzung
free -c n Ausgabe der Statistik n-mal.
free -s n Ausgabe der Statistik alle n Sekunden Pause dazwischen.
Wer verbirgt sich unter europäischer / dt. IP? whois Personen- / Firmendaten zu einer IP oder Domainnamen anzeigen lassen whois -h whois.ripe.net was.weiss.ich.de Europäische IP-Adressen + Domains anzeigen lassen
Wer verbirgt sich unter amerikanischer bzw. internat. IP? whois Personen- / Firmendaten zu Ami-IP-Adressen anzeigen lassen whois -h whois.arin.net 123.123.123.123 Internationale IP-Adressen anzeigen lassen
Datum anzeigen date Zeigt aktuelles Datum date +"%d"."%m"."%y" Gibt Datum aus mit Tag, Monat, Jahr
Infos zu mount count tune2fs Zeigt oder setzt den mount count (nur als root) tune2fs -l /dev/hda1 | grep "mount count" Zeigt, wie oft die Platte vor dem nächsten Plattencheck schon gebootet wurde, und wie hoch der mount count Eingestellt ist. tune2fs -c 50 /dev/hda1 Plattencheck statt nach z.B. 20 Bootvorgängen erst nach 50 durchführen (Zähler für mount count hochsetzen).

Ich habe noch einiges gefunden was ganz Hilfreich sein kann.

lspci
Dieses Kommando listet die verbauten PCI-Geräte und PCI-Busse auf. Zum Beispiel Grafikkarte, Netzwerkkarte, Controller sowie die Version der Treiber und die gesteckte Hardware in den AGP-Slots. Durch zahlreiche Parameter kann die Ausgabe sehr gut angepasst werden.

lsusb
Listet die am USB angeschlossenen Geräte auf.

lshw u. hwinfo
Listet die verbaute Hardware auf und liefert Informationen zu den eizelnen Komponenten wie CPU, Speichermodulen, und die an den verschiedenen Schnittstellen angeschlossenen Geräte zurück.
Diese Programme müssen ggf. noch nachinstalliert werden.

update-pciids und update-usbids
Mit diesen Kommandos werden die Datenbanken des Betriebssystems aktualliesiert. Dies geht nur als root oder mit su. Das ist nötig, falls eins der oberen Kommandos einmal die verbaute Hardware als unbekannt ausgibt. Diese Updates funktionieren nur wenn auch wget oder ein ähnliches Programm installiert ist.

cat /proc/cpuinfo
Gibt genaue Informationen über die CPU aus.

cat /proc/interrupts
Gibt genaue Infos über die verwendeten Interrupts aus.

cat /proc/meminfo
Gibt genaue Infos über den Arbeitsspeicher sowie die SWAP aus.

ifconfig -all
Liefert ausführliche Informationen zur MAC, IP und Netzwerkkonfiguration aller Netzwerkkarten.

Uhrzeit und Datum

Uhrzeit anzeigen date date +%H.%M.%S Gibt Uhrzeit aus mit Stunden, Minuten, Sekunden
System-Uhrzeit stellen date date -s 11:50 Systemuhr (bis zum nächsten Rechner-Neustart) auf 11:50 Uhr stellen.
Also: zuerst die Systemuhr stellen, und dann die Hardware-Uhr danach ausrichten (siehe hwclock).
Die Uhrzeit kann nur von root geändert werden.
Hardware-Uhrzeit einstellen hwclock hwclock --systohc Hardware-Uhr übernimmt die mit date eingestellte Systemzeit. Zeit bleibt dann auch nach Rechner-Neustart erhalten.
Hardware-Uhr kann nur von root geändert werden.

Grundbefehle

Verzeichnis wechseln popd Mit popd springt man zurück in das letzte aktuelle Verzeichnis
Verzeichnis wechseln pushd in ein bestimmtes Verzeichnis wechseln pushd /var/log
Dateisystem anlegen mke2fs mke2fs /dev/hda0 erstellt auf der ersten IDE Festplatte das Dateisystem ext2 erstellt auf der ersten IDE Festplatte das Dateisystem ext2
Diskette lowlevel formatieren fdformat fdformat /dev/fd0H1440 Diskette wird lowlevel-formatiert.
Diskette formatieren mformat 3.5 Zoll Diskette mit 1440 kb unter Unix formatieren für Dos mformat -t80 -h2 -n18 -ldiskname a: Die Diskette braucht vor dem Formatieren nicht gemountet werden, da "mformat" aus den mtools stammt.
Rechner runterfahren shutdown Befehl zum heruntergefahren und rebooten des PC's shutdown now -f -r -f skip fsck on reboot (verhindert einen Festplattencheck beim Neustart
-r reboot after shutdown: PC wird nach dem Runterfahren neu gestartet.

Der häufigste Fehler bei Verwendung des shutdown-Befehls ist, dass keine Zeitangabe gemacht wird (hier: now)
Dateien auflisten ls Listet Inhalt eines Verzeichnisses auf. ls -R -R listet auch Dateien der Unterverzeichnisse mit auf,
-l bedeutet ausführlich, lange Form der Auflistung,
-t nach Änderungsdatum sortiert.
ls -l –full-time Auflistung mit ausführlicher Datum- und Zeitangabe, auch für das aktuelle Jahr!
ls -R > beliebig.txt Erzeugt eine Datei beliebig.txt, in der das Ergebnis der Auflistung inkl. Unterverzeichnissen zu finden ist.
Verzeichnis anlegen mkdir Neues Verzeichnis mit neuen Unterverzeichnissen anlegen mkdir -p test/test2/test3 Legt gleichzeitig mehrere Verzeichnisse hintereinander an
Verzeichnis wechseln cd Ohne Parameter wechselt cd ins Home-Verzeichnis cd .. Ein Leerzeichen und zwei Punkte nach dem Befehl: Ein Verzeichnis nach oben wechseln. Unter DOS war das Leerzeichen nicht nötig. cd /floppy/ Wechseln in das Rootverzeichnis der Diskette, sofern sie schon gemountet ist.
Diskette mounten mount Mountet eine Diskette mount /floppy/ /mnt Die Floppy wird ins Dateisystem eingebunden. Der Inhalt wird im Verzeichnis /mnt angezeigt.

Prozesse

Speicherressourcen überwachen zeigen top top Es werden Priorität, Größe, CPU- und Hauptspeicherbelastung angezeigt und laufend aktualisiert.
Aktuelle Prozesse zeigen ps Zeigt an, welche Prozesse im Moment laufen ps -efl -e Anzeige aller Prozesse,
-f volles Format,
-l mit allen Attributen,
-x alle Systemprozesse
Prozess killen kill Bricht einen Prozess sicher ab, der sich sonst nicht mehr stoppen lässt kill -9 (PID) Abzubrechender Prozess wird gestoppt und aus dem Speicher entfernt

Suchen und Finden

Suche nach Dateinamen in einem oder mehreren Verzeichnissen locate Durchsucht alle Verzeichnisse und indiziert das Suchergebnis, so dass es auch am nächsten Tag noch zur Verfügung steht. locate index.html
Alle Dateien namens "index.html"werden aufgelistet. Es können auch Platzhalter verwendet werden, wie "*.pdf"
Finden einer bestimmten Datei, deren Dateiname bekannt ist. find Das angegebene Verzeichnis mit allen darunterliegenden Unterverzeichnissen werden durchsucht. find ordner/ -type f -name "index.htm"
Alle Dateien namens "index.htm" werden aufgelistet.
Das Root-Verzeichnis mit allen darunterliegenden Unterverzeichnissen wird durchsucht. find / -name "index" Alle Dateien und Ordner namens "index" werden aufgelistet.
Finden von Dateien, die in den letzten 2 Tagen geändert wurden find . -mtime -2 -print
Das Suchergebnis wird auf dem Bildschirm ausgegeben
find . -mtime -2 -print >2tage.txt
Das Suchergebnis wird in der Textdatei 2tage.txt gespeichert.
In der Kommandozeile wird grep meist zur Suche in Dateien eingesetzt. Der Befehl kann auch in Shell-Skripten, beispielsweise in Pipes eingesetzt werden alle Zeilen herauszusuchen, die den angegebenen Text nicht enthalten ("-v") nur Zeilen herauszusuchen, in denen das Suchmuster als ganzes Wort enthalten ist ("-w")die Zeilennummern, in denen der Text enthalten ist, auszugeben ("-n") den Dateinamen aller Dateien auszugeben, die den angegebenen Text enthalten ("-l") grep Beispiel zur Suche nach einer Zeichenfolge in mehreren Dateien. grep -l "Zeichenfolge" Verzeichnis/*
Suchen und ersetzen von Zeichengruppen in Dateien. sed Sed sucht in einer Datei nach bestimmten Zeichenketten und ersetzt diese durch eine Zweite. Zusätzlich kann die neue geänderte Datei auch gleich unter neuem Namen gespeichert werden. sed 's/für/fuer/g' test.txt Ersetzt jedes Wort "für" durch das Wort "fuer" in der Datei test.txt
sed 's/für/fuer/g' test.txt > neu.txt Schreibt die Änderungen gleich in eine neue Datei mit Namen neu.txt

Kopieren

Diskette kopieren ähnlich diskcopy unter DOS dd Gesamte Quelldiskette in eine Datei kopieren, dann diese Datei auf Zieldiskette dd if=/dev/fd0 of=disk1.img bs=18k
In unserem Beispiel heißt die Datei "disk1.img". Nach Diskettenwechsel dann die erzeugte Datei auf die Ziel-Diskette schreiben:
dd if=disk1.img of=/dev/fd0 bs=18k
Dateien von Diskette auf Festplatte kopieren und unverändert lassen cp unverändert kopieren cp -p -i /floppy/* .Dateien unverändert von Diskette auf Festplatte ins aktuelle Verzeichnis kopieren, vor Überschreiben nachfragen
Dateien auf Diskette kopieren cp kopieren cp /home/user/*.* /floppy/
Dateien von Festplattenverzeichnis
werden auf Diskette kopiert
Dateien kopieren, die geändert wurden, inkl. Unterverzeichnisse cp kopieren cp -r -u /home/user/*.* /floppy/
Alle Dateien (eines Verzeichnisses inkl. Unterverzeichnisse von Festplatte)
auf Diskette speichern, die geändert wurden.

Umbenennen

Datei umbenennen o. verschieben mv Dateien oder Verzeichnisse werden umbenannt oder verschoben. mv datei.alt datei.neu
-b sichert Dateien vor dem Überschreiben,
-f überschreibt rücksichtslos,
-i will Bestätigung vor dem Überschreiben vorhandener Zieldateien,
-u überschreibt nur ältere Versionen gleichnamiger Zieldateien.

Löschen

Datei löschen rm unwiederbringlich eine Datei löschen rm -i dateiname
Mit Parameter -i muss die Löschung erst mit "y" bestätigt werden
rm -rf dateiname
Mit dem Parameter -rf können mehrere Dateien des gelichen Typs oder mit dem gleichen Namen gelöschtt werden.
Verzeichnis löschen rmdir Verzeichnisse werden gelöscht, sofern sie leer sind. rmdir -r
Es wird rekursiv gelöscht, d.h. auch alle darunterliegenden leeren Unterverzeichnisse.
rmdir -R
Löscht das Verzeichniss inkl. allen Unterverzeichnissen auch wenn diese nicht leer sind.

Sortieren

Dateiinhalt sortieren sort Sortiert Dateiinhalte nach verschiedenen Kriterien sort -fnr
-f Groß- und Kleinbuchstaben gleich behandeln,

-n numerische Werte numerisch sortieren,
-r in umgekehrter Richtung sortieren
Dateinamen sortiert in Textdatei schreiben ls Die Dateinamen eines Verzeichnisses sortiert nach Änderungsdatum (neueste oben in der Liste), in einer Textdatei auflisten. ls -c /home/user/*.* > ergebnis.txt
zeigt eine nach Datum sortierte Liste der Dateien im angegebenen Verzeichnis, nur Dateinamen
Umleitetung des Dateizugriffs (Links) ln ln -s /www/logs/domain-log alog
lenkt alle Anfragen an alog nach /www/logs/domain-log um.

ln -s start.htm index.html
lenkt alle Dateizugriffe von index.html auf start.htm um.

Textdateien

Textdatei anlegen cat Text eingeben cat > dateiname
Eine neue Textdatei wird angelegt und geschrieben.
Textdatei verändern cat Text erweitern cat >> dateiname
Vorhandene Textdatei wird erweitert.
Wörter zählen wc zählt Zeilen, Wörter und Buchstaben einer Datei wc -wlc dateiname
-w zählt words,
-l zählt lines,
-c zählt characters

Installation und der Umgang mit Archiven unter Unix

rpm-Datei installieren rpm Ein fertiges Package (rpm-Datei) als Root installieren. Vorher schauen, was für Pakete installiert sind. rpm -i package.rpm
In dem Package enthaltene Dateien werden entpackt, das Packet weiß schon, wo es hingehört :-) Evtl. muss noch die Readme oder Hilfedatei für weitere Schritte gelesen werden.
Nach installierten Packeten gucken rpm Bevor man ein Programm(packet) deinstallieren kann, muss man wissen, wie es genau heißt. rpm -q -a
Man kann sich diese große Übersicht auch in ein Textfile umleiten, um sie besser lesen oder darin nach Namen suchen zu können.
rpm-Packet
de-installieren
rpm Angenommen, ich will Opera V. 5 deinstallieren und weiß nur, dass er "opera-5.0-1" heißt: rpm -e opera-5.0-1
Nun wird Opera 5 deinstalliert.
tar-File herstellen tar Alle html-Dateien in ein tar-File packen (auch die aus darunterliegenden Unterverzeichnissen) tar cvzf paeckchen.tgz *.html
In der Datei "paeckchen.tgz" sind nachher alle Dateien inkl. Subdirectories enthalten, die den Dateinamenszusatz html haben.
tar-File auspacken tar tar-File wird entkomprimiert und samt seiner Unterverzeichnisse entpackt. tar xzf paeckchen.tgz
Die in dem tar-File enthaltenen Dateien werden entpackt, evtl. enthaltene Verzeichnisse hergestellt
zip-File erstellen zip File wird komprimiert und samt seiner Unterverzeichnisse gepackt. zip meinzip datei1 datei2 datei3
Die Dateien datei1, datei2 und datei3 werden in die Datei meinzip.zip gepackt.
zip-File uaspacken unzip zip-File wird entkomprimiert und samt seiner Unterverzeichnisse entpackt. unzip meinzip
Die in dem zip-File enthaltenen Dateien werden entpackt, evtl. enthaltene Verzeichnisse hergestellt

Rechte

Ändern des eigenen Passwotes passwd Du wirst gebeten dein eigenes Passwort zu ändern.
Besitzer eines Verzeichnis oder einer Datei ändern chown Das der angegebene Benutzer der Besitzer des Verzeichnises und aller Unterverzeichnise wird. chown -R Nutzer "Verzeichnis"
Verzeichnis Berechtigungen ändern. chmod Ändert Zugriffsrechte auf Dateien und Verzeichnisse chmod 777 -R verzeichnis Das Verzeichnis und alle Unterverzeichnise werd lesbar und benutzbar für die Welt, jeder kann dort reinschreiben.
Verzeichnis- oder Datei einer Gruppe übergeben chgrp Ändert die Besitzrechte einer Gruppe an einem Verzeichnis chgrp Gruppe "Verzeichnis" Das entsprechende Script wird ausführbar gemacht und kann auf einem Server benutzt werden.

Benutzerverwaltung

Anlegen eines Benutzers useradd useradd (name) -G (Gruppenname weitere Gruppen können durch Komma getrent angegeben werden)
-p (Password)
-m (automatisches Anlegen des Heimatverzeichnises)
Löschen eines Benutzers userdel userdel (name) -f (Stammverzeichnis löschen inkl. aller Dateien und Links)
-r funktioniert wie -f nur ohne das löschen der Links
Anlegen einer Gruppe groupadd groupadd(Gruppenname)
Benutzer in eine Gruppe einordnen usermod usermod -G (Gruppenname) (Benutzer)
-g verschiebt den Benutzer in die angegebene Gruppe
Sortierte Ausgabe angelegter Benutzer id id (Benutzername)

Infos zur Rechtevergabe

Was bedeuten die Zahlen ?

			r = 4
			w = 2
			x = 1
			

Damit können alle Kombinationen aus r, w und x als eine Zahl zwischen 0 und 7 ausgedrückt werden:

			---     0
			--x     1
			-w-     2
			-wx     3 ( = 2 + 1 )
			r--     4
			r-x     5 ( = 4 + 1 )
			rw-     6 ( = 4 + 2 )
			rwx     7 ( = 4 + 2 + 1)
			rwx|rwx|rwx
			Besitzer|Gruppe|Rest der Welt
			

Üblich sind:

644 rw-r--r-- ==> Besitzer darf lesen+schreiben, Rest nur Lesen.
600 rw------- ==> Besitzer darf lesen+schreiben, Rest darf nix.
640 rw-r----- ==> Besitzer darf lesen+schreiben, Gruppe lesen,Rest darf nix.

Kommentare

Coole Hilfe...
herzlichen Dank!

schön das das auch noch gepflegt wird.
Ich hoffe das bald noch ein paar gute Befehle dazu kommen.

uptime gibt an wie lange das System bereits gelaufen ist.
dmesg | grep hd zeigt Informationen über die angeschlossenen Laufwerke an.

reiserfsck --fix-fixable /dev/Laufwerk z.B. hda repariert das Dateisystem.
reiserfsck --rebuild /dev/Laufwerk z.B. hda stellt das Dateisystem wieder her wen das erste Kommando versagt.
Das Laufwerk muss natürlich an die Lokalen Gegebenheiten angepasst werden.
Das ganze kann natürlich nicht im gemounteten Zustand passieren. Sollte es sich um die Systemplatte handeln, ist es sinnvoll den Rechner mit einer Live-CD wie Knoppix zu booten.

fdisk -l listet alle angeschlossenen und eingebundenen Speichergeräte auf. So kann man feststellen welches dev ein USB-Stick ist um ihn zu mounten.

Hier habe ich einen guten Blogeintrag gefunden, der sich mit dem Dateisystem Ext3 auseinandersetzt. Hier wird schön beschrieben wie man eine Fehleranalyse und ggf. eine Reparatur durchführt. http://honeybutcher.de/?p=45

uname kann auch viele Informationen über das System ausgeben.
http://goo.gl/hWbS2