用于收集有关 Linux 系统信息的 Linux 命令
如果您正在开发 Linux 桌面应用程序,并且希望自动查找有关系统的更多信息,请在 shell 脚本中使用以下命令来收集有关系统的信息。最近我参与了一个项目,需要收集有关正在运行的 GUI、浏览器和其他信息(如磁盘空间、正在运行的内核等)的信息。
了解 KDE 桌面版本:
konqueror --version
找出 Gnome 桌面版本:
gnome-panel --version
查看 Mozilla 浏览器版本:
mozilla --version
查看 Firefox 浏览器版本:
firefox --version
找出当前语言:
set | egrep '^(LANG|LC_)'
了解磁盘空间使用情况:
df -h
查找/估计文件空间使用情况:
du -h
找出 Linux glibc 的版本:
ls -l /lib/libc-*.so /lib/libc.so*
了解用户限制:
ulimit -a
找出已安装的设备驱动程序(模块)
lsmod
查找有关 X 服务器的信息:
xdpyinfo
它可以找出:
- 展示名称:
- 版本号
- 供应商名称(例如 XFree86 项目)
- 供应商发布号
- 以及XFree86版本号
查找有关 Linux CPU 的信息
cat /proc/cpuinfo
了解有关 Linux 内存的信息
cat /proc/meminfo
或者
free -m
或者
free -g
找出用户 shell 名称:
ps -p $$ | tail -1 | awk '{ print $4 }'
转储 Linux 内核变量
/sbin/sysctl -a
查找正在运行的 Linux 内核版本:
uname -mrs uname -a cat /proc/version
转储或显示内存信息和交换信息:
free -m
网卡及IP地址信息:
ifconfig -a ifconfig -a|less
Debian / Ubuntu Linux 网络配置文件(所有接口 eth0、eth1、…ethN)
more /etc/network/interfaces
Redhat / CentOS / Fedora Linux 网络配置文件(eth0)
more /etc/sysconfig/network-scripts/ifcfg-eth0
注意将 eth1 替换为第二张网卡,依此类推。
显示路由信息
route -n route
显示所有开放端口的列表
netstat -tulpn
查看登录相关日志
tail -f /var/log/secure vi /var/log/secure grep 'something' /var/log/secure
查看邮件服务器相关日志
tail -f /var/log/maillog vi /var/log/maillog grep 'something' /var/log/maillog
查找系统已运行多长时间
uname w
显示谁登录了以及他们正在做什么
w who
显示任务列表
top
显示所有正在运行的进程
ps aux ps aux | grep process-name
显示 Redhat / CentOS / Fedora 上所有已安装软件的列表
rpm -qa rpm -qa | grep 'software-name' rpm -qa | less
显示 Debian / Ubuntu 上所有已安装软件的列表
dpkg --list
一旦收集到信息,就可以轻松地将其作为电子邮件发送到帮助台。您可以使用上述所有命令通过安全 ssh 会话收集有关远程 Linux 系统的信息(请参阅收集有关 Linux 和 FreeBSD 系统信息的相关功能)。最好的部分是上述所有命令都在非特权模式下运行。