-ie - วิธีรับรายการส่วนประกอบฮาร์ดแวร์ทั้งหมดในบรรทัดคำสั่ง (บนเครื่องที่ไม่มีระบบหน้าต่าง)
ขอขอบคุณ.
-ie - วิธีรับรายการส่วนประกอบฮาร์ดแวร์ทั้งหมดในบรรทัดคำสั่ง (บนเครื่องที่ไม่มีระบบหน้าต่าง)
ขอขอบคุณ.
คำตอบ:
lspci
สำหรับการ์ด pci, lsusb
สำหรับ usb, lshw
ทำงานบน debian based debian, นี่คือรายการวิธีการรับรายละเอียดฮาร์ดแวร์อื่น ๆ ,
ถ้าเป็นไปได้dmidecode
จะมีประโยชน์ โดยเฉพาะอย่างยิ่งเกี่ยวกับ Dell, HP, ฮาร์ดแวร์ IBM ซึ่งพวกเขาต้องการที่จะเขียนโปรแกรมข้อมูลฮาร์ดแวร์ที่เกี่ยวข้องลงในทะเบียนต่างๆ
lspci
เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการแสดงรายการฮาร์ดแวร์ของระบบ (อะไรก็ได้บนบัส PCI)
cat /proc/cpuinfo
- แสดงข้อมูล CPU
cat /proc/meminfo
- แสดงข้อมูลหน่วยความจำ
dmesg
(หรือcat /var/log/dmesg
) มีข้อมูลบางอย่างไม่จำเป็นต้องทุกอย่าง
หากคุณมีระบบ RedHat / CentOS คุณสามารถใช้sosreport
เพื่อรวบรวมข้อมูลที่ดี แต่ฉันไม่รู้ว่ามีข้อมูลฮาร์ดแวร์ทั้งหมดที่ระบุไว้ในนั้นหรือไม่
นี่เป็นสถานที่ที่ดีในการเริ่มค้นหาข้อมูลที่คุณกำลังมองหา
ระบบไฟล์ / proc จะให้ข้อมูลที่คุณต้องการ ... แต่ฉันไม่รู้ว่าคุณจะได้รับมันเป็นที่เดียว
'cat / proc / cpuinfo' จะบอกคุณเกี่ยวกับ CPU ของคุณ 'cat / proc / อุปกรณ์' จะบอกข้อมูลที่ จำกัด เกี่ยวกับอุปกรณ์บล็อก 'ifconfig -a' จะบอกคุณเกี่ยวกับการเชื่อมต่อเครือข่าย
คนอื่นจะสามารถบอกคุณเกี่ยวกับอุปกรณ์เพิ่มเติม คุณกำลังแก้ไขปัญหาอุปกรณ์เฉพาะหรือไม่ ถ้าเป็นเช่นนั้นคุณจะได้รับความช่วยเหลือที่ดีขึ้นในการถามคำถามเฉพาะ
inxi จะแสดงทุกอย่างให้ทำงานโดยไม่มีข้อโต้แย้งสำหรับรูปแบบสั้น ๆ ตัวเลือกมีมากมาย แต่ให้เรียกใช้ inxi -h เพื่อดู
inxi
คือ 'สคริปต์ข้อมูลที่มีคุณสมบัติครบถ้วน' ตามที่อธิบายไว้ในหน้าแรกของโครงการ: https://github.com/smxi/inxi
นี่คือข้อมูลเกี่ยวกับวิธีติดตั้งบน Ubuntu: https://askubuntu.com/questions/284635/inxi-installation-on-ubuntu
เพื่อสรุปว่าฉันจะบอกว่าที่นี่เป็นการเริ่มต้นที่ดีในการรับข้อมูลเกี่ยวกับระบบของคุณ:
ฉันขอแนะนำให้ตรวจสอบ facter ซึ่งส่งออกข้อมูลจำนวนมากในรูปแบบที่ใช้งานง่ายในสคริปต์
ฉันสนุกกับการใช้ " Facter " ให้รายการข้อมูลที่มีประโยชน์มาก
# 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 e.g. 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 -r a;
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 -r a;
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 -r a;
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 -r a;
do
echo -e "\t${a}"
done
IFS=${OFS}
echo
echo "* Mounts:"
OFS=${IFS}
IFS=$'\n'
mount | while read -r a;
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 -r a;
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
โพสต์เก่ามาก แต่ฉันสังเกตเห็นว่ายอดเยี่ยมlshw
หายไปจากคำตอบ