-ie – 如何获得命令行中硬件组件的完整列表(在没有窗口系统的机器上)
谢谢。
lspci
for pci卡, lsusb
for usb, lshw
适用于基于debian的发行版,下面列出了获取其他硬件规格的方法 ,
如果可用, dmidecode
派上用场。 特别是在戴尔,惠普,IBM硬件上,他们懒得将相关硬件信息编入各种寄存器。
lspci
是列出系统硬件的好工具。 (无论如何,PCI总线上的任何东西。)
cat /proc/cpuinfo
– 显示CPU信息
cat /proc/meminfo
– 显示内存信息
dmesg
(或cat /var/log/dmesg
)包含一些信息,不一定是一切。
如果你有一个RedHat / CentOS系统,你可以使用sosreport
来收集很多信息,但是我不知道它是否包含了所有的硬件信息。
这些是一些很好的地方开始find你正在寻找的信息。
/ proc文件系统会给你你想要的信息…但是我不知道你将如何得到它是一个容易的地方。
'cat / proc / cpuinfo'会告诉你关于你的CPU'cat / proc / devices'会告诉你关于块设备的一些有限的信息。 'ifconfig -a'会告诉你networking连接
其他人将能够告诉你更多的设备。 您是否正在排除特定设备? 如果是这样,你会得到更好的帮助,问一个具体的问题。
总结一下,我会说在这里获得关于你的系统的信息是很好的开始:
我build议检查一下在脚本中很容易使用的格式输出大量信息。
我真的很喜欢使用“ Facter ”。 给出一个非常有用的信息很好的列表。
inxi将显示几乎所有的东西,没有短的forms的参数运行,然而,选项很多,运行inxi -h看到他们
inxi
是项目主页中描述的“全function信息脚本”: https : //code.google.com/p/inxi/
以下是关于如何在Ubuntu上安装它的信息: https : //askubuntu.com/questions/284635/inxi-installation-on-ubuntu
# tree -d /sys/devices
最简单的方法是在命令行中键入“ dmesg | more ”,这样可以查看上次系统启动期间发生的所有引导输出。
对于硬盘我使用一个自定义的脚本按摩到一个列表输出:
cat /proc/partitions cat /proc/mounts parted -m /dev/sdX unit MB print # need to be root for parted # or parted -m -l unit MB print blkid /dev/sdXN
下面的代码你可以使用vi复制
#!/bin/bash a=1; c=0 a=1; c=0 # Gather system information, can eg be sent to | mail in a cronjob f_() { while read l; do echo $l; done < $f ; } # f_() { while read l; do echo $l; done < $f ; } # TODO # ---- # * Netstat output # * Memory/swap information # * ifconfig information # * Make output dependent on argv # * md5sum checks (done) # * Keep previeous values and compare # * How to # * chmod a+x sysinfo.sh # * ./sysinfo.sh ####################### DO NOT EDIT UNDER THIS LINE ########################### siheader() { echo "================================================================" echo -e "* System statistics for: \t`hostname`.`dnsdomainname`" echo -e "* Generated on: \t\t`date`" echo -e "* Running as: \t\t\t`whoami`" echo } fuptime() { upSeconds=$(cat /proc/uptime | tr "." " " | awk '{print $1}') secs=$((${upSeconds}%60)) mins=$((${upSeconds}/60%60)) hours=$((${upSeconds}/3600/24)) days=$((${upSeconds}/86400)) if [ "${days}" -ne "0" ] then echo -n "${days} days, " fi echo "`printf '%02d' ${hours}`:`printf '%02d' ${mins}`:`printf '%02d' ${secs}`" } siuptime() { echo "=================== Uptime =====================================" echo -e "* Uptime: \t\t\t`fuptime`" if [ -x /usr/bin/uprecords ]; then echo -e "* High score: \t\t\t`uprecords | tail -n1 | cut -d'|' -f1 | cut -d'n' -f3 | sed 's/^[[:blank:]]*//'`" fi echo -e "* Load average: \t\t`cat /proc/loadavg | head -c14`" echo } fw () { OFS=${IFS} IFS=$'\n' CNT=$(echo `w | wc -l`-1 | bc) w | tail -n ${CNT} | while read -ra; do echo -e "\t${a}" done IFS=${OFS} } siusers() { echo "=================== Users ======================================" echo -e "* Active users: \t\t`who | wc -l`" echo "* User information" fw echo } fpstree() { OFS=${IFS} IFS=$'\n' pstree | while read -ra; do echo -e "\t${a}" done IFS=${OFS} } fcomms() { ps -eo comm | sort | uniq | grep -v ^COMMAND | column echo IFS=${OFS} } fprocs() { echo `TERM=Linux top -n1 -b | grep "Tasks" | awk '{print $4,$6,$8,$10}'` echo -e "==================================Tasks process and memory utilization=============================\n" echo "`top -n1 -b`" } sitasks() { echo "=================== Tasks ======================================" echo -e "* Number of running tasks: \t$(echo `ps ax | wc -l` - 1 | bc)" #This screws up the email #echo "* PS Tree:" #fpstree echo "* Running programs:" fcomms echo -e "* CPU load: \t\t\t`TERM=linux top -n2 -b | grep 'Cpu' | tail -n1 | awk '{print $2+$4+$6}'`%" PROCS=`fprocs` echo "* Process state:" echo -e "\tRunning: \t\t`echo ${PROCS} | awk '{print $1}'`" echo -e "\tSleeping: \t\t`echo ${PROCS} | awk '{print $2}'`" echo -e "\tZombie: \t\t`echo ${PROCS} | awk '{print $3}'`" echo -e "\tStopped: \t\t`echo ${PROCS} | awk '{print $4}'`" echo } froute() { OFS=${IFS} IFS=$'\n' CNT=$(echo `/sbin/route | wc -l` - 1 | bc) /sbin/route | tail -n ${CNT} | while read -ra; do echo -e "\t${a}" done IFS=${OFS} } sinetwork() { echo "=================== Networking ================================" echo "* Routing table:" froute echo } simemory() { echo "=================== Memory ====================================" RAMTOTAL=`echo $(($(cat /proc/meminfo | grep MemTotal | awk '{print $2}')/1024))` echo "* Ram:\t\t\t free of ${RAMTOTAL}Mb" } sidiskstats() { echo "=================== Hard Disc =================================" echo "* Disk Information:" OFS=${IFS} IFS=$'\n' df -h | grep -v ^none | while read -ra; do echo -e "\t${a}" done IFS=${OFS} echo echo "* Mounts:" OFS=${IFS} IFS=$'\n' mount | while read -ra; do echo -e "\t${a}" done IFS=${OFS} echo } simd5() { if [ ! -e md5sums.lst ]; then return fi echo "=================== MD5Sum Check ==============================" OFS=${IFS} IFS=$'\n' echo "* Checking MD5 Sums" cat md5sums.lst | grep "^/" | while read -ra; do F=`echo ${a} | cut -d':' -f1` S=`echo ${a} | cut -d':' -f2` S2=`md5sum ${F} | cut -d' ' -f1` echo -n -e "\t${F}: \t\t\t\t" if [ "${S}" = "${S2}" ]; then echo "[OK]" else echo "[INVALID]" fi done IFS=${OFS} echo } ##For finding CPU model, cores and cpuinfo() { echo "=================== CPU Details for Xen ==============================" echo -e "CPU Details: \n`cat /proc/cpuinfo | sed -n '1,/^$/p'`" echo -e "No of Cores: \n`cat /proc/cpuinfo | grep processor | wc -l`" if [ "egrep '(vmx|svm)' /proc/cpuinfo >/dev/null 2>/dev/null" ]; then echo -e "\n===============================================================\nServer supports Full-virtualization" else echo -e "\n===============================================================\nEither server does not support Full-virtualization or it is turned off in BIOS" fi if [ "egrep 'pae' /proc/cpuinfo >/dev/null 2>/dev/null" ]; then echo -e "\n===============================================================\nServer supports Para-virtualization" else echo -e "\n===============================================================\nServer does not support Para-virtualization" fi } ##For disk info diskinfo() { echo "=================== Disk usage ==============================" echo -e "Disk Usage details: \n`df -h`" } ##Distro info distroinfo() { echo "=================== Distro Info ==============================" echo -e "Distro details: \n`lsb_release -a`" echo -e "Kernel details: \n`uname -a`" } ##Distro info deviceinfo() { echo "=================== Device Info ==============================" echo -e "Device details: \n`lspci -v`" echo -e "Kernel details: \n`uname -a`" } summary() { siheader siuptime siusers sitasks sinetwork simemory sidiskstats fprocs simd5 deviceinfo cpuinfo distroinfo echo "===============================================================" echo "* Brought to you by Taashee- http://www.taashee.com" } summary