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. |
Kommentare
nicht schlecht
Coole Hilfe...
herzlichen Dank!
Cool
schön das das auch noch gepflegt wird.
Ich hoffe das bald noch ein paar gute Befehle dazu kommen.
UpDate Ein paar nützliche Infos
uptime gibt an wie lange das System bereits gelaufen ist.
dmesg | grep hd zeigt Informationen über die angeschlossenen Laufwerke an.
ReiserFS Reparieren
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
fdisk -l listet alle angeschlossenen und eingebundenen Speichergeräte auf. So kann man feststellen welches dev ein USB-Stick ist um ihn zu mounten.
Ext3 Dateisystem reparieren
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
uname kann auch viele Informationen über das System ausgeben.
http://goo.gl/hWbS2