Benutzer-Werkzeuge

Webseiten-Werkzeuge


topics:systeminfo

Dies ist eine alte Version des Dokuments!


Linux System Information Tools

Linux kennt viele verschiedene Werkzeuge, um nützliche Informationen über das System zu sammeln und überwachen. Diese kennt man aber in der Regel nicht einfach so auswendig. Der Artikel stellt deshalb eine kleine Zusammenfassung über die gängigsten Tools, die auf ziemlich jedem Linux-System standardmässig installiert sein sollten, dar.

Diverse Informationen

Informationen über das aktuell verwendete Betriebssystem liefert der Befehl uname.

uname -a	# Alle Informationen
uname -m	# Systemarchitektur

Um den Hostname der Maschine anzuzeigen einfach hostname eingeben.

hostname

Welche Kernelmodule geladen sind steht in der Datei /proc/modules.

less /proc/modules

CPU Informationen

Informationen über die CPU bekommt man durch das Tool lscpu.

lscpu

Möchte man lediglich die Anzahl der verfügbaren Prozessorkerne wissen:

nproc

Um die Wortbreite oder Busbreite („ist meine CPU 32- oder 64-bit?“) anzuzeigen:

getconf LONG_BIT

Eine alternative Variante ist durch das Proc-File /etc/cpuinfo gegeben. Mit cat wird sein Inhalt in der Konsole angezeigt:

cat /proc/cpuinfo

RAM Informationen

Für Informationen über die Speicherbelegung im Memory zieht man das Tool free bei:

free -h

Auch über das RAM sind weitere Informationen in einem Proc-File /proc/meminfo zu finden.

cat /proc/meminfo

Block Devices

Verfügbare Block Devices herausfinden

Unter Linux ist grundsätzlich jedes Speichergeräte (Harddisk, USB-Stick) ein Block Device. Das Tool lsblk listet auf, welche Block Devices aktuell verfügbar sind. Dies hilft beispielsweise herauszufinden, unter welchem Block Device sich der eben eingesteckte USB-Stick „versteckt“.

lsblk

Speicherplatzbelegung

Um eine Übersicht über den freien Speicherplatz des Systems (das heisst auf sämtlichen Dateisystemen) zu erhalten hilft das Tool disk free (df). Für eine gut lesbare Ausgabe inkluse Dateisystem-Typ sorgen die beiden Parameter h und T.

df -hT

Soll jedoch bloss die Grösse eines bestimmten Ordners eingesehen werden, ist man mit disk usage (du) bedient. Ohne Parameterangaben listet du die Grösse des aktuellen Ordners sowie sämtlicher Unterordner auf. Folgender Befehl gibt die Grösse des gesamten Ordners ~/Downloads in gut lesbarem Format aus:

du -sh ~/Downloads

Manchmal möchte man wissen, welche Dateien am meisten Platz belegen. Dazu kann man (unter Verwendung von entsprechenden Parametern) die Ausgabe von du einfach nach sort umleiten:

du -ach ~/Downloads/ | sort -h	# Liste aufsteigend sortieren
du -ach ~/Downloads/ | sort -hr	# Liste absteigend sortieren

BUS-Geräte

PCI Devices

Sämtliche verfügbare PCI-Geräte lassen sich mit lspci herausfinden.

lspci

Dies ist allerdings (oft) etwas unübersichtlich. Abhilfe kann da grep schaffen. Durchsucht man die Ausgabe von lspci mittels grep beispielsweise nach „VGA“, erhält man Informationen über die Grafikkarte.

lspci | grep VGA

USB Devices

Es gibt auch ein ls-Befehl für USB-Geräte:

lsusb

Systemperformance

top bietet eine Übersicht, welcher Prozess oder Benutzer welche Systemresourcen belegt (unter Windows allgemein als Task Manager bekannt).

top

Ist man interessiert, wie viel Zeit ein Programm zur Ausführung braucht, kann man dies mit time messen.

time firefox

Dateien finden

Normale Dateien

In der Kommandozeile sucht man nach Dateien mit find. Üblicherweise gibt man als Parameter das Verzeichnis, in welchem man suchen möchte, sowie den gesuchten Dateinamen an. Auf dem Wurzelverzeichnis / nach der Datei sample.pdf suchen:

find / -name sample.pdf

Im Ordner ~/Downloads nach sämtlichen pdf-Dateien suchen:

find ~/Downloads -name "*.pdf"

Ausführbare Dateien

Möchte man den genauen Dateipfad einer ausführbaren Datei ausfindig machen, kann man es mit which versuchen.

which firefox

Geöffnete Dateien

Manchmal blockieren geöffnete Dateien beispielsweise Unmount- oder Löschvorgänge. Welche Datei von welchem Prozess gerade geöffnet ist, kann mit lsof oder fuser ermittelt werden. Dies zeigt alle geöffneten Dateien im Verzeichnis /mnt/usb an:

lsof /mnt/usb

Same thing but different:

fuser /mnt/usb -u

fuser kann auch anzeigen, welche Prozesse auf ein bestimmtes Block Device zugreifen:

fuser -m /dev/sdb1

Netzwerkinformationen

IP-Adresskonfiguration

Welches Netzwerkinterface besitzt welche Netzwerkkonfiguration?

ip addr

Netzwerkverbindungen

Mit dem Tool netstat können sämtliche Netzwerkverbindungen angesehen werden.

netstat -a	# zeigt alle Verbindungen
netstat -lp	# zeigt abhörende Sockets sowie deren Prozess

ARP- und Routingtables

Befehl zur Ausgabe der Gateways:

netstat -r

Befehl zur Ausgabe der ARP-Tabelle:

arp

Sensoren

Ein verbreitetes Tool zur Sensorauslesung ist lm_sensors, welches aber bei den meisten Distributionen standardmässig nicht mitgeliefert wird. Arch-Benutzer installieren das Paket lm_sensors, bei Debian heisst das Paket lm-sensors. Danach kann es mit dem Befehl sensors benutzt werden.

sensors

Installierte Softwarepakete anzeigen

Arch Linux (pacman)

Auf Arch Linux geht das mit pacman. Alle installierten Pakete anzeigen:

pacman -Qe

Nach einem spezifischen Paket suchen:

pacman -Qe firefox

Debian / Ubuntu (apt-get / dpkg)

Der Befehl zeigt installierte Pakete (install), aber auch bereits wieder deinstallierte Pakete (deinstall) an:

dpkg --get-selections

Um auch wirklich nur installierte Pakete anzuzeigen hilft uns grep weiter.

dpkg --get-selections | grep -v deinstall

Natürlich kann auch hier nach einem spezifischen Paket gesucht werden:

dpkg --get-selections firefox	# alternativ:
dpkg --get-selections firefox | grep -v deinstall

Logging

Das allgemeine Logverzeichnis /var/log beinhaltet Logdateien von System und Programmen und ist deshalb oft eine nützliche erste Anlaufstelle bei Problemen.

Die letzten Meldungen des Kernels können direkt mit dmesg angezeigt werden:

dmesg | less

Unter systemd kann man die Logs mit journalctl anschauen:

# journalctl -f # Fortlaufend Logmeldungen ausgeben

Logfiles kann man mit tail „live“ mitverfolgen, um immer über die aktuellsten Logs informiert zu bleiben.

tail /var/log/Xorg.0.log -f # Fortlaufend Logmeldungen ausgeben

Benutzerinformationen

Ist man sich nicht sicher, mit welchem User man gerade arbeitet:

whoami

Der Befehl w zeigt die auf dem System angemeldeten Benutzer an und was diese gerade tun.

w

Um zu sehen, wer sich zuvor auf dem System eingeloggt hat, sowie wann das System heruntergefahren oder neu gestartet wurde, kann der Befehl last verwendet werden.

last | less
type:
topic
advanced:
cyrus, maenu
topics/systeminfo.1430323773.txt.gz · Zuletzt geändert: 2015/04/29 16:09 von cyrus

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki