阅读987 返回首页    go 京东网上商城


Inxi:一个功能强大的获取 Linux 系统信息的命令行工具

Inxi 最初是为控制台和 IRC(网络中继聊天)开发的一个强大且优秀的命令行系统信息脚本。可以使用它获取用户的硬件和系统信息,它也用于调试或者社区技术支持工具。

使用 Inxi 可以很容易的获取所有的硬件信息:硬盘、声卡、显卡、网卡、CPU 和 RAM 等。同时也能够获取大量的操作系统信息,比如硬件驱动、Xorg 、桌面环境、内核、GCC 版本,进程,开机时间和内存等信息。

运行在命令行和 IRC 上的 Inxi 输出略有不同,IRC 上会有一些可供用户使用的默认过滤器和颜色选项。支持的 IRC 客户端有:BitchX、Gaim/Pidgin、ircII、Irssi、 Konversation、 Kopete、 KSirc、 KVIrc、 Weechat 和 Xchat 以及其它的一些客户端,它们具有展示内置或外部 Inxi 输出的能力。

在 Linux 系统上安装 Inxi

大多数主流 Linux 发行版的仓库中都有 Inxi ,包括大多数 BSD 系统。


  1. $ sudo apt-get install inxi [On Debian/Ubuntu/Linux Mint]
  2. $ sudo yum install inxi [On CentOs/RHEL/Fedora]
  3. $ sudo dnf install inxi [On Fedora 22+]

在使用 Inxi 之前,用下面的命令查看 Inxi 所有依赖和推荐的应用,以及各种目录,并显示需要安装哪些包来支持给定的功能。


  1. $ inxi --recommends

Inxi 的输出:


  1. inxi will now begin checking for the programs it needs to operate. First a check of the main languages and tools
  2. inxi uses. Python is only for debugging data collection.
  3. ---------------------------------------------------------------------------
  4. Bash version: 4.3.42(1)-release
  5. Gawk version: 4.1.3,
  6. Sed version:
  7. Sudo version: 1.8.16
  8. Python version: 2.7.12
  9. ---------------------------------------------------------------------------
  10. Test One: Required System Directories (Linux Only).
  11. If one of these system directories is missing, inxi cannot operate:
  12. /proc....................................................................... Present
  13. /sys........................................................................ Present
  14. All the directories are present.
  15. ---------------------------------------------------------------------------
  16. Test Two: Required Core Applications.
  17. If one of these applications is missing, inxi cannot operate:
  18. df (info: partition data)................................................... /bin/df
  19. gawk (info: core tool)...................................................... /usr/bin/gawk
  20. grep (info: string search).................................................. /bin/grep
  21. lspci (info: hardware data)................................................. /usr/bin/lspci
  22. ps (info: process data)..................................................... /bin/ps
  23. readlink.................................................................... /bin/readlink
  24. sed (info: string replace).................................................. /bin/sed
  25. tr (info: character replace)................................................ /usr/bin/tr
  26. uname (info: kernel data)................................................... /bin/uname
  27. wc (info: word character count)............................................. /usr/bin/wc
  28. All the applications are present.
  29. ---------------------------------------------------------------------------
  30. Test Three: Script Recommends for Graphics Features.
  31. NOTE: If you do not use X these do not matter (like a headless server). Otherwise, if one of these applications
  32. is missing, inxi will have incomplete output:
  33. glxinfo (info: -G glx info)................................................. /usr/bin/glxinfo
  34. xdpyinfo (info: -G multi screen resolution)................................. /usr/bin/xdpyinfo
  35. xprop (info: -S desktop data)............................................... /usr/bin/xprop
  36. xrandr (info: -G single screen resolution).................................. /usr/bin/xrandr
  37. All the applications are present.
  38. ---------------------------------------------------------------------------
  39. Test Four: Script Recommends for Remaining Features.
  40. If one of these applications is missing, inxi will have incomplete output:
  41. dig (info: -i first wlan ip default test)................................... /usr/bin/dig
  42. dmidecode (info: -M if no sys machine data; -m memory)...................... /usr/sbin/dmidecode
  43. file (info: -o unmounted file system)....................................... /usr/bin/file
  44. hciconfig (info: -n -i bluetooth data)...................................... /bin/hciconfig
  45. hddtemp (info: -Dx show hdd temp)........................................... /usr/sbin/hddtemp
  46. ifconfig (info: -i ip lan-deprecated)....................................... /sbin/ifconfig
  47. ip (info: -i ip lan)........................................................ /sbin/ip
  48. sensors (info: -s sensors output)........................................... /usr/bin/sensors
  49. strings (info: -I sysvinit version)......................................... /usr/bin/strings
  50. lsusb (info: -A usb audio;-N usb networking)................................ /usr/bin/lsusb
  51. modinfo (info: -Ax,-Nx module version)...................................... /sbin/modinfo
  52. runlevel (info: -I runlevel)................................................ /sbin/runlevel
  53. sudo (info: -Dx hddtemp-user;-o file-user).................................. /usr/bin/sudo
  54. uptime (info: -I uptime (check which package owns Debian)).................. /usr/bin/uptime
  55. All the applications are present.
  56. ---------------------------------------------------------------------------
  57. Test Five: Script Recommends for Remaining Features.
  58. One of these downloaders needed for options -i/-w/-W (-U/-! [11-15], if supported):
  59. wget (info: -i wan ip;-w/-W;-U/-! [11-15] (if supported))................... /usr/bin/wget
  60. curl (info: -i wan ip;-w/-W;-U/-! [11-15] (if supported))................... /usr/bin/curl
  61. All the applications are present.
  62. ---------------------------------------------------------------------------
  63. Test Six: System Directories for Various Information.
  64. (Unless otherwise noted, these are for GNU/Linux systems)
  65. If one of these directories is missing, inxi may have incomplete output:
  66. /sys/class/dmi/id (info: -M system, motherboard, bios)...................... Present
  67. /dev (info: -l,-u,-o,-p,-P,-D disk partition data).......................... Present
  68. /dev/disk/by-label (info: -l,-o,-p,-P partition labels)..................... Present
  69. /dev/disk/by-uuid (info: -u,-o,-p,-P partition uuid)........................ Present
  70. All the directories are present.
  71. ---------------------------------------------------------------------------
  72. Test Seven: System Files for Various Information.
  73. (Unless otherwise noted, these are for GNU/Linux systems)
  74. If one of these files is missing, inxi may have incomplete output:
  75. /proc/asound/cards (info: -A sound card data)............................... Present
  76. /proc/asound/version (info: -A ALSA data)................................... Present
  77. /proc/cpuinfo (info: -C cpu data)........................................... Present
  78. /etc/lsb-release (info: -S distro version data [deprecated])................ Present
  79. /proc/mdstat (info: -R mdraid data)......................................... Present
  80. /proc/meminfo (info: -I memory data)........................................ Present
  81. /etc/os-release (info: -S distro version data).............................. Present
  82. /proc/partitions (info: -p,-P partitions data).............................. Present
  83. /proc/modules (info: -G module data)........................................ Present
  84. /proc/mounts (info: -P,-p partition advanced data).......................... Present
  85. /var/run/dmesg.boot (info: -D,-d disk data [BSD only])...................... Missing
  86. /proc/scsi/scsi (info: -D Advanced hard disk data [used rarely])............ Present
  87. /var/log/Xorg.0.log (info: -G graphics driver load status).................. Present
  88. The following files are missing from your system:
  89. File: /var/run/dmesg.boot
  90. ---------------------------------------------------------------------------
  91. All tests completed.

Inxi 工具的基本用法

用下面的基本用法获取系统和硬件的详细信息。

获取 Linux 系统信息

Inix 不加任何选项就能输出下面的信息:CPU 、内核、开机时长、内存大小、硬盘大小、进程数、登录终端以及 Inxi 版本。


  1. $ inxi
  2. CPU~Dual core Intel Core i5-4210U (-HT-MCP-) speed/max~2164/2700 MHz Kernel~4.4.0-21-generic x86_64 Up~3:15 Mem~3122.0/7879.9MB HDD~1000.2GB(20.0% used) Procs~234 Client~Shell inxi~2.2.35

获取内核和发行版本信息

使用 Inxi 的 -S 选项查看本机系统信息(主机名、内核信息、桌面环境和发行版):


  1. $ inxi -S
  2. System: Host: TecMint Kernel: 4.4.0-21-generic x86_64 (64 bit) Desktop: Cinnamon 3.0.7
  3. Distro: Linux Mint 18 Sarah

获取电脑机型

使用 -M 选项查看机型(笔记本/台式机)、产品 ID 、机器版本、主板、制造商和 BIOS 等信息:


  1. $ inxi -M
  2. Machine: System: LENOVO (portable) product: 20354 v: Lenovo Z50-70
  3. Mobo: LENOVO model: Lancer 5A5 v: 31900059WIN Bios: LENOVO v: 9BCN26WW date: 07/31/2014

获取 CPU 及主频信息

使用 -C 选项查看完整的 CPU 信息,包括每核 CPU 的频率及可用的最大主频。


  1. $ inxi -C
  2. CPU: Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB
  3. clock speeds: max: 2700 MHz 1: 1942 MHz 2: 1968 MHz 3: 1734 MHz 4: 1710 MHz

获取显卡信息

使用 -G 选项查看显卡信息,包括显卡类型、显示服务器、系统分辨率、GLX 渲染器和 GLX 版本等等(LCTT 译注: GLX 是一个 X 窗口系统的 OpenGL 扩展)。


  1. $ inxi -G
  2. Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller
  3. Card-2: NVIDIA GM108M [GeForce 840M]
  4. Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa) Resolution: 1920x1080@60.05hz
  5. GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 11.2.0

获取声卡信息

使用 -A 选项查看声卡信息:


  1. $ inxi -A
  2. Audio: Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel Sound: ALSA v: k4.4.0-21-generic
  3. Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel

获取网卡信息

使用 -N 选项查看网卡信息:


  1. $ inxi -N
  2. Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
  3. Card-2: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be

获取硬盘信息

使用 -D 选项查看硬盘信息(大小、ID、型号):


  1. $ inxi -D
  2. Drives: HDD Total Size: 1000.2GB (20.0% used) ID-1: /dev/sda model: ST1000LM024_HN size: 1000.2GB

获取简要的系统信息

使用 -b 选项显示上述信息的简要系统信息:


  1. $ inxi -b
  2. System: Host: TecMint Kernel: 4.4.0-21-generic x86_64 (64 bit) Desktop: Cinnamon 3.0.7
  3. Distro: Linux Mint 18 Sarah
  4. Machine: System: LENOVO (portable) product: 20354 v: Lenovo Z50-70
  5. Mobo: LENOVO model: Lancer 5A5 v: 31900059WIN Bios: LENOVO v: 9BCN26WW date: 07/31/2014
  6. CPU: Dual core Intel Core i5-4210U (-HT-MCP-) speed/max: 2018/2700 MHz
  7. Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller
  8. Card-2: NVIDIA GM108M [GeForce 840M]
  9. Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa) Resolution: 1920x1080@60.05hz
  10. GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 11.2.0
  11. Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
  12. Card-2: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be
  13. Drives: HDD Total Size: 1000.2GB (20.0% used)
  14. Info: Processes: 233 Uptime: 3:23 Memory: 3137.5/7879.9MB Client: Shell (bash) inxi: 2.2.35

获取硬盘分区信息

使用 -p 选项输出完整的硬盘分区信息,包括每个分区的分区大小、已用空间、可用空间、文件系统以及文件系统类型。


  1. $ inxi -p
  2. Partition: ID-1: / size: 324G used: 183G (60%) fs: ext4 dev: /dev/sda10
  3. ID-2: swap-1 size: 4.00GB used: 0.00GB (0%) fs: swap dev: /dev/sda9

获取完整的 Linux 系统信息

使用 -F 选项查看可以完整的 Inxi 输出(安全起见比如网络 IP 地址信息没有显示,下面的示例只显示部分输出信息):


  1. $ inxi -F
  2. System: Host: TecMint Kernel: 4.4.0-21-generic x86_64 (64 bit) Desktop: Cinnamon 3.0.7
  3. Distro: Linux Mint 18 Sarah
  4. Machine: System: LENOVO (portable) product: 20354 v: Lenovo Z50-70
  5. Mobo: LENOVO model: Lancer 5A5 v: 31900059WIN Bios: LENOVO v: 9BCN26WW date: 07/31/2014
  6. CPU: Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB
  7. clock speeds: max: 2700 MHz 1: 1716 MHz 2: 1764 MHz 3: 1776 MHz 4: 1800 MHz
  8. Graphics: Card-1: Intel Haswell-ULT Integrated Graphics Controller
  9. Card-2: NVIDIA GM108M [GeForce 840M]
  10. Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa) Resolution: 1920x1080@60.05hz
  11. GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 11.2.0
  12. Audio: Card-1 Intel 8 Series HD Audio Controller driver: snd_hda_intel Sound: ALSA v: k4.4.0-21-generic
  13. Card-2 Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel
  14. Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
  15. IF: enp1s0 state: up speed: 100 Mbps duplex: full mac: 28:d2:44:eb:bd:98
  16. Card-2: Realtek RTL8723BE PCIe Wireless Network Adapter driver: rtl8723be
  17. IF: wlp2s0 state: down mac: 38:b1:db:7c:78:c7
  18. Drives: HDD Total Size: 1000.2GB (20.0% used) ID-1: /dev/sda model: ST1000LM024_HN size: 1000.2GB
  19. Partition: ID-1: / size: 324G used: 183G (60%) fs: ext4 dev: /dev/sda10
  20. ID-2: swap-1 size: 4.00GB used: 0.00GB (0%) fs: swap dev: /dev/sda9
  21. RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
  22. Sensors: System Temperatures: cpu: 56.0C mobo: N/A
  23. Fan Speeds (in rpm): cpu: N/A
  24. Info: Processes: 234 Uptime: 3:26 Memory: 3188.9/7879.9MB Client: Shell (bash) inxi: 2.2.35

使用 Inxi 工具监控 Linux 系统

下面是监控 Linux 系统进程、开机时间和内存的几个选项的使用方法。

监控 Linux 进程的内存使用

使用下面的命令查看进程数、开机时间和内存使用情况:


  1. $ inxi -I
  2. Info: Processes: 232 Uptime: 3:35 Memory: 3256.3/7879.9MB Client: Shell (bash) inxi: 2.2.35

监控进程占用的 CPU 和内存资源

Inxi 默认显示 前 5 个最消耗 CPU 和内存的进程。 -t 选项和 c 选项一起使用查看前 5 个最消耗 CPU 资源的进程,查看最消耗内存的进程使用 -t 选项和 m 选项; -t选项 和 cm 选项一起使用显示前 5 个最消耗 CPU 和内存资源的进程。


  1. ----------------- Linux CPU Usage -----------------
  2. $ inxi -t c
  3. Processes: CPU: % used - top 5 active
  4. 1: cpu: 53.7% command: plugin-container pid: 3066
  5. 2: cpu: 20.0% command: java pid: 1527
  6. 3: cpu: 19.7% command: firefox pid: 3018
  7. 4: cpu: 4.6% command: Xorg pid: 2114
  8. 5: cpu: 3.0% command: cinnamon pid: 2835

  1. ----------------- Linux Memoery Usage -----------------
  2. $ inxi -t m
  3. Processes: Memory: MB / % used - Used/Total: 3212.5/7879.9MB - top 5 active
  4. 1: mem: 980.51MB (12.4%) command: plugin-container pid: 3066
  5. 2: mem: 508.96MB (6.4%) command: java pid: 1527
  6. 3: mem: 507.89MB (6.4%) command: firefox pid: 3018
  7. 4: mem: 244.05MB (3.0%) command: chrome pid: 7405
  8. 5: mem: 211.46MB (2.6%) command: chrome pid: 6146

  1. ----------------- Linux CPU and Memory Usage -----------------
  2. $ inxi -t cm
  3. Processes: CPU: % used - top 5 active
  4. 1: cpu: 53.7% command: plugin-container pid: 3066
  5. 2: cpu: 20.0% command: java pid: 1527
  6. 3: cpu: 19.7% command: firefox pid: 3018
  7. 4: cpu: 4.6% command: Xorg pid: 2114
  8. 5: cpu: 3.0% command: cinnamon pid: 2835
  9. Memory: MB / % used - Used/Total: 3223.6/7879.9MB - top 5 active
  10. 1: mem: 991.93MB (12.5%) command: plugin-container pid: 3066
  11. 2: mem: 508.96MB (6.4%) command: java pid: 1527
  12. 3: mem: 507.86MB (6.4%) command: firefox pid: 3018
  13. 4: mem: 244.45MB (3.1%) command: chrome pid: 7405
  14. 5: mem: 211.68MB (2.6%) command: chrome pid: 6146

可以在选项 cm 后跟一个整数(在 1-20 之间)设置显示多少个进程,下面的命令显示了前 10 个最消耗 CPU 和内存的进程:


  1. $ inxi -t cm10
  2. Processes: CPU: % used - top 10 active
  3. 1: cpu: 53.4% command: plugin-container pid: 3066
  4. 2: cpu: 19.8% command: java pid: 1527
  5. 3: cpu: 19.5% command: firefox pid: 3018
  6. 4: cpu: 4.5% command: Xorg pid: 2114
  7. 5: cpu: 3.0% command: cinnamon pid: 最后更新:2017-05-22 14:32:43

      上一篇:go  从volatile解读ConcurrentHashMap(jdk1.6.0)无锁读
      下一篇:go  Java IO: ByteArrayInputStream