Wie bekomme ich hardware-Informationen auf Linux/Unix?
Wie kann ich die hardware-Informationen aus einem Linux /Unix-Maschine.
Gibt es eine Reihe von APIs?
Ich versuche, Informationen zu bekommen wie:
- OS name.
- OS-version.
- verfügbaren Netzwerkadapter.
- Informationen über das Netzwerk-Adapter.
- alle installierten software.
Ich bin auf der Suche für eine Anwendung, die sammelt diese Informationen und zeigen Sie es in einem schönen format.
Benutzt habe ich etwas ähnliches mit dem "system_profile" command-line-tool für Mac OS X. ich
Frage mich, ob es etwas ähnliches für Linux verfügbar ist als gut.
- Es gibt viele, viele Möglichkeiten, von der Befehl-Linie Werkzeuge, um die kernel-API-Aufrufe. Es sei denn, Sie sagen uns, was Sie zu tun versuchen, alle Antworten könnten nur Rätselraten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn du eine einfache Antwort, Verwendung:
cat /proc/cpuinfo
cat /proc/meminfo
lspci
lsusb
ernten und die Informationen, die Sie benötigen, aus der Ausgabe dieser Befehle. (Hinweis: die
cut
Befehl kann dein Freund hier, wenn Sie schreiben ein shell-Skript.)Sollten Sie noch mehr Details, fügen Sie ein
-v
Schalter um verbose-Ausgabe von derlspci
undlsusb
Befehle.Wenn das, was Sie suchen, ist eine weitere Funktion-vollständige API, dann HAL benutzen, aber vielleicht ein overkill für das, was Sie versuchen zu bauen.
Wenn Sie ein tool suchen, das zeigen die System-Informationen, die GUI-tool wie HardInfo wäre nützlich für Sie.
In Ubuntu installieren möchten, können Sie HardInfo so...
Cheers
sudo pacman -S hardinfo
funktioniert gut für arch, danke : )Gibt es einen bash-Befehl lshw - Liste hardware
Ich würde
hal
, der hardware abstraction layer. Es enthält einige GUI-Befehle, einige tty-Befehle (die verwendet werden können von shell-Programme) und das library-bindings für c und mehrere andere Sprachen.HAL ist nicht wirklich ein standard-Teil von "linux", aber ich denke, es wird von den meisten modernen Distributionen.
Versuchen
sudo lshw
.Es ist die einfachste.
Da Sie erwähnten API, versuchen die exec Familie von Befehlen für C. Sie können verwenden Sie zum ausführen der Binärdateien, die von anderen Leuten erwähnt. Erstellen Sie eine robuste/flexible Lösung, die Sie wahrscheinlich auch haben, zu nutzen, die die Unix-fork () - Befehle. Sie wird auch zur Entwicklung eines Mechanismus für die Erfassung der output ausgespuckt, von diesen Dienstprogrammen. Schauen Sie in Unix-pipes für, die.
Können Sie inxi, die alle hardware-Informationen, einschließlich cpu-Temperatur und so weiter.
Installation auf Red Hat basierende OS
sudo dnf install inixi
Installation auf Debian-basierten OS
apt-get install inxi