
دستور lshw در لینوکس
اگر در مورد پیکربندی سخت افزار سیستم خود به جزئیات دقیقی نیاز دارید یا قصد عیب یابی سیستم خود را دارید، می توانید از دستور lshw در لینوکس کمک بگیرید.
دستور (lshw (Hardware Lister در لینوکس با استفاده از فایل های موجود در دایرکتوری proc/، اطلاعات مهم اجزای سخت افزاری مثل پردازنده، مادربورد، حافظه کش، سرعت bus، نسخه firmware و … را بازیابی می کند و با فرمت دلخواه شما گزارش می دهد.
همچنین، با خرید سرور مجازی لینوکس، می توانید به کمک دستوراتی مثل lshw به تمام اطلاعات سخت افزار سرور دسترسی پیدا کرده و آن را مدیریت کنید. این انعطاف پذیری به شما اجازه می دهد که منابع سرور خود را بهینه سازی و عملکرد آن را به دقت نظارت کنید.
پیش نیازهای استفاده از دستور lshw در لینوکس
- سیستم یا سرور مبتنی بر لینوکس
- دسترسی به ترمینال
- دسترسی به کاربر روت یا یک کاربر با امتیازات sudo
- نصب بودن دستور lshw
دستور lshw به طور پیش فرض در اکثر توزیع های لینوکس نصب است ولی اگر بعد از اجرای دستور lshw –version متوجه شدید که این دستور در سیستم شما نصب نیست، ابتدا باید دستور آن را اجرا کنید:
دستور نصب lshw در توزیع های مبتنی بر دبیان مثل اوبونتو
sudo apt install lshw
دستور نصب lshw در توزیع های مبتنی بر ردهت مثل CentOS و فدورا
sudo yum install lshw
یا
sudo dnf install lshw
دستور نصب lshw در آرچ لینوکس
sudo pacman -S lshw
دستور نصب lshw در OpenSUSE
sudo zypper install lshw
بعد از اینکه دستور نصب با موفقیت اجرا شد، با استفاده از دستور زیر می توانید از نصب موفقیت آمیز آن مطمئن شوید:
lshw --version
سینتکس دستور lshw لینوکس
سینتکس پایه دستور lshw به صورت زیر است:
lshw [format] [options]
با استفاده از format می توانید فرمت موردنظر برای نمایش خروجی را مشخص کنید. این فرمت ها عبارت اند از: HTML، XML، JSON، short و businfo
از طرف دیگر، دستور lshw دارای آپشن های متنوعی هم می باشد که تعیین کننده رفتار این دستور هستند.
آپشن های دستور lshw
آپشن | کاربرد |
enable- | فعال سازی پارامترهای متنوع سیستم |
disable- | غیرفعال سازی پارامترهای متنوع سیستم |
class- | نمایش اطلاعات مربوط به کلاس سخت افزاری خاص |
sanitize- | عدم نمایش اطلاعات حساس مثل آدرس مک یا شماره سریال |
numeric- | نمایش شناسه های عددی برای بخش های مثل USB یا PCI |
quiet- | حذف پیام های وضعیت یا هشدار موقع اجرای دستور ( ارائه یک خروجی تمیزتر و خواناتر) |
در صورت نیاز به اطلاعات بیشتر در مورد دستور lshw و آپشن های آن می توانید از دو دستور زیر کمک بگیرید:
man lshw
lshw -help
مثال های کاربردی از دستور lshw در لینوکس
با بررسی مثل های این بخش متوجه اهمیت دستور lshw در دنیای لینوکس خواهید شد:
نمایش اطلاعات مربوط به سخت افزار به صورت یکجا
sudo lshw
این دستور اطلاعات مربوط به تمام اجزای سخت افزار سیستم مثل پردازنده، رم، هارددیسک، کارت گرافیک، کارت شبکه، اطلاعات عمومی سیستم (مثل معماری سیستم)، پورت های PCI / USB و … را به صورت یکجا به شما نمایش می دهد که هر کدام از آنها در زمینه های مختلفی موردنیاز هستند.
برای ذخیره سازی این اطلاعات می توانید از عملگر ریدارکت < استفاده کنید:
sudo lshw > hardware_info.txt
این دستور، خروجی مربوط به دستور lshw را در فایل متنی hardware_info ثبت می کند و آن را در دایرکتوری فعلی ترمینال ذخیره می کند.
نمایش اطلاعات مربوط به یک کلاس خاص
اگر به تمام اطلاعات سخت افزاری سیستم نیاز ندارید و دوست دارید بخش خاصی از سخت افزار سیستم را مورد بررسی قرار دهید، کافیست کلاس موردنظر را با استفاده از آپشن C یا class در دستور lshw لحاظ کنید:
نمایش اطلاعات عمومی مربوط به سیستم
sudo lshw -C system
نمایش اطلاعات مربوط به پردازنده
sudo lshw -C CPU
نمایش اطلاعات مربوط به حافظه رم
sudo lshw -class memory
نمایش اطلاعات مربوط به حافظه ذخیره سازی
sudo lshw -C storage
نمایش اطلاعات مربوط به شبکه
sudo lshw -C network
نمایش اطلاعات مربوط به کارت صدا
sudo lshw -class multimedia
نمایش اطلاعات مربوط به کنترلر صفحه نمایش
sudo lshw -C display
نمایش اطلاعات مربوط به bus
sudo lshw -C bus
البته این اختیار را هم دارید که چند کلاس را با هم مشخص کنید و اطلاعات مربوط به آنها را در کنار هم ببینید:
sudo lshw -class cpu -class memory -class storage
تعیین فرمت خروجی دستور lshw
دستور lshw به صورت پیش فرض خروجی را به صورت لیست متنی نشان می دهد که هر آیتم لیست هم دارای جزئیات و زیرشاخه خاص خود است.
اما این امکان را به شما می دهد که این فرمت را به شکل دلخواه تعییر دهید.
فرمت short
sudo lshw -short
این فرمت اطلاعات مربوط به سخت افزار به صورت خلاصه ارائه می دهد و اطلاعات مربوط به سخت افزار را در قالب یک جدول با ستون های مشخص نشان می دهد.
این فرمت زمانی مفید است که نیاز به بررسی سریع و خلاصه قطعات سخت افزار نصب شده روی سیستم دارید.
فرمت HTML
sudo lshw -html
همانطور که از اسم آن هم مشخص است، این دستور اطلاعات مربوط به سخت افزار را با فرمت html نشان می دهد که در صفحات وب قابل استفاده است.
پس اگر به فکر ارائه اطلاعات تحت قالب جداول مجزا هستید و تمیزی و خوانایی این اطلاعات برایتان مهم است، می توانید این فرمت را ترجیح دهید.
حتی اگر دوست دارید این اطلاعات را در فرمت html ذخیره کنید و بعدا با دیگران به اشتراک بگذارید یا در صفحات وب موردنظر استفاده کنید، می توانید خروجی این دستور را در یک فایل html ذخیره کنید:
sudo lshw -html > hardware_info.html
فرمت XML
sudo lshw -xml
در این فرمت، داده های مربوط به سخت افزار به صورت تگ های مجزا بازیابی می شوند که هر تگ معرف یک بخش خاص از سخت افزار است که اطلاعات مربوط به آن بخش را درون خود نگه می دارد.
اگر به فکر استفاده از این اطلاعات در سیستم های اتوماسیون هستید یا دوست دارید داده ها را به صورت ساختاریافته ذخیره کنید تا در کارهایی مثل تحلیل و پردازش داده ها استفاده کنید، این فرمت مناسب شماست.
دقیقاً مثل فرمت html می توانید نتیجه مربوط به دستور بالا را در یک فایل xml ذخیره کنید:
sudo lshw -xml > hardware_info.xml
فرمت JSON
sudo lshw -json
فرمت json که به شکل کلید-مقدار است، یک فرمت محبوب برای پردازش داده ها توسط انواع سیستم ها، سایت ها و نرم افزار است و خوشبختانه دستور lshw این امکان را به شما می دهد که داده های مربوط به سخت افزار سیستم را با این فرمت هم مشاهده یا ذخیره کنید.
sudo lshw -json > hardware_info.json
فرمت businfo
sudo lshw -businfo
اگر می خواهید ببینید که هر دستگاه (کارت شبکه، کارت گرافیک، هاردیسک یا …) چگونه و از طریق چه مسیری به سیستم وصل شده است، می توانید از فرمت businfo استفاده کنید.
این فرمت در زمینه هایی مثل اسکن و شناسایی مشکلات سخت افزاری، مدیریت منابع و پیکربندی دستی سخت افزار بسیار مفید است.
محدودسازی اطلاعات خروجی با آپشن enable و disable
آپشن های enable و disable این امکان را به شما می دهند که اطلاعات را بر اساس نیاز خود فیلتر کنید.
به عبارت دیگر، با استفاده از enable می توانید بخش های خاصی از سخت افزار را فعال کنید تا اطلاعات مرتبط با آنها را در خروجی ببینید. آپشن disable هم بر عکس enable عمل می کند و اطلاعات مربوط به بخش های موردنظر را غیرفعال می کند تا در خروجی نمایش داده نشوند.
به عنوان مثال اگر فقط می خواهید اطلاعات مربوط به network را ببینید و بقیه بخش ها را نادیده بگیرید:
sudo lshw -enable network
برای انتخاب چند بخش هم می توانید به صورت زیر از آپشن enable استفاده کنید:
sudo lshw -enable cpu -enable memory
از طرف دیگر، اگر می خواهید به جز بخش های خاص، تمام اطلاعات مربوط به سخت افزار را در خروجی ببینید، می توانید از disable استفاده کنید:
sudo lshw -disable pci
sudo lshw -disable pci -disable bus
عدم نمایش اطلاعات حساس در خروجی
اگر نمی خواهید اطلاعات حساسی مثل آدرس MAC، شماره سریال دستگاه ها و … در خروجی نمایش داده شوند، می توانید با آپشن sanitize این اطلاعات را از خروجی حذف کنید.
مخصوصاً اگر می خواهید داده های خروجی را با دیگران به اشتراک بگذارید یا در محیط های عمومی از آن ها استفاده کنید، بهترین کار این است که اطلاعات حساس را به شکل زیر مخفی کنید:
sudo lshw -sanitize
نمایش آی دی به جای اسم در معرفی اجزای سخت افزاری
lshw به صورت پیش فرض مواردی مثل اسم محصول یا سازنده را با استفاده از اسامی آنها مشخص می کند ولی اگر می خواهید به جای اسامی، شناسه آن را در خروجی ببینید، می توانید از آپشن numeric استفاده کنید:
sudo lshw -numeric
این کار می تواند در مواقعی مثل عیب یابی و تحلیل دقیق تر سخت افزار موثر واقع شود.
خلاصه سازی خروجی دستور lshw
اگر خروجی دستور lshw برایتان شلوغ به نظر می رسد و دوست دارید پیام های غیرضروری مثل هشدارها و پیام های وضعیت در خروجی ظاهر نشوند یا به اصطلاح، نویز خروجی را کاهش بدهید، می توانید از آپشن quiet استفاده کنید.
sudo lshw -quiet
توصیه می کنیم که وقتی فقط به اطلاعات اصلی نیاز دارید یا قرار است از اطلاعات حاصل در سیستم ها یا محیط های جدی استفاده کنید، حتماً از این آپشن استفاده کنید.
سخن آخر
دستور lshw برای نمایش اطلاعات مربوط به سخت افزار سیستم های لینوکس استفاده می شود. با استفاده از فرمت ها و آپشن های مختلف این دستور می توانید به خروجی دلخواه خود برسید و از آن در زمینه های مختلف مثل خطایابی، نصب ابزارها و اجرای تسک های مختلف کمک بگیرید.