مشاهده فهرست قطعات رایانه در ترمینال لینوکس — از صفر تا صد

۳۶۸ بازدید
آخرین به‌روزرسانی: ۰۳ مهر ۱۴۰۲
زمان مطالعه: ۸ دقیقه
مشاهده فهرست قطعات رایانه در ترمینال لینوکس — از صفر تا صد

در این مقاله با روش‌های مختلف مشاهده فهرست قطعات رایانه در ترمینال لینوکس آشنا خواهیم شد. در ادامه به بررسی 12 دستور می‌پردازیم که برای این منظور مورد استفاده قرار می‌گیرند.

997696

چرا 12 دستور؟

با این که روش‌های بسیار زیادی برای مشاهده فهرست قطعات داخل رایانه لینوکسی یا دستگاه‌های متصل به آن وجود دارند، اما ما در این مقاله 12 مورد از آن‌ها را بررسی می‌کنیم و باید بدانید که این‌ها همه موارد نیستند.

بدیهی است که وقتی 12 دستور مختلف برای انجام یک کار واحد مورد بررسی قرار می‌گیرند، مقدار زیادی از اطلاعات همپوشانی خواهند داشت و شاید بپرسید چرا باید همه آن را توضیح داد؟

دلیل این مسئله آن است که برخی اختلاف‌ها در محتوا و جزییات این دستورها موجب می‌شوند که در عمل متفاوت باشند و بدین ترتیب برخی افراد استفاده از برخی از آن‌ها را به دیگری ترجیح می‌دهند. قالب خروجی یک دستور ممکن است صرفاً برای کاربردهای خاصی مناسب‌سازی شده باشد. قالب دستور دیگر ممکن است برای pipe شدن از طریق grep یا ارسال به متد دیگر برای پردازش بیشتر مناسب باشد.

با این حال ما تلاش کرده‌ایم که این مثال تا حد امکان به صورتی عمومی نوشته شود. در واقع ما به جای این که تلاش کنیم حدس بزنیم خوانندگانمان احتمالاً کدام دستورها را بیشتر ترجیح می‌دهند و استفاده می‌کنند، سعی کرده‌ایم نمونه گسترده‌ای از دستورهایی که وجود دارند را عرضه کنیم تا خوانندگان مجله فرادرس بتوانند انواع مطلوب خود را انتخاب کنند و آن‌هایی را که دوست ندارند کنار بگذارند.

برخی مواردی که باید نصب شوند

اغلب این دستورها به صورت پیش‌فرض درون توزیع‌های لینوکس موجود هستند. اوبونتو، فدورا، و منجارو به عنوان نمونه گویایی از توزیع‌هایی هستند که از شاخه‌های اصلی خانواده‌های دبیان، ردهت و Arch نشعت گرفته‌اند.

همه این توزیع‌ها نیاز به نصب procinfo دارند که دستور lsdev را در اختیار ما قرار می‌دهد. دستور lsscsi نیز برای نصب روی هر سه توزیع مورد نیاز است. برای نصب lsdev و lsscsi از این دستورها استفاده کنید.

اوبونتو

sudo apt-get install procinf
sudo apt-get install lsscsi

فهرست قطعات رایانه در ترمینال لینوکس

فدورا

sudo dnf install procinfo
sudo dnf install lsscsi

فهرست قطعات رایانه در ترمینال لینوکس

فهرست قطعات رایانه در ترمینال لینوکس

منجارو

sudo pacman -Syu procinfo
sudo pacman -Syu lsscsi

فهرست قطعات رایانه در ترمینال لینوکس

فهرست قطعات رایانه در ترمینال لینوکس

شگفت‌انگیز است که منجارو که مشهور به یک توزیع ابتدایی و فاقد امکانات اضافی است، تنها توزیعی است که اغلب دستورهایی که قرار است بررسی کنیم را از قبل روی خود نصب دارد.

اوبونتو و فدورا به نصب hwinfo نیاز دارند و روی فدورا باید lshw و hdparm را نیز نصب کنید.

اوبونتو

sudo apt-get install hwinfo

فهرست قطعات رایانه در ترمینال لینوکس

فدورا

sudo dnf install hwinfo
sudo dnf install lshw
sudo dnf install hdparm

فهرست قطعات رایانه در ترمینال لینوکس

فهرست قطعات رایانه در ترمینال لینوکس

فهرست قطعات رایانه در ترمینال لینوکس

1. دستور mount

دستور mount برای مانت کردن فایل‌سیستم‌ها مورد استفاده قرار می‌گیرد. اما صادر کردن دستور بدون پارامتر موجب می‌شود که همه فایل‌سیستم‌های مانت شده و همچنین دستگاه‌هایی که روی آن قرار دارند فهرست شوند. بنابراین می‌توانیم از آن به عنوان ابزاری برای کشف این قطعه‌ها استفاده کنیم.

mount

فهرست قطعات رایانه در ترمینال لینوکس

خروجی دستور mount ممکن است طولانی‌تر از آن چیزی باشد که انتظار دارید، به خصوص اگر از متد snap برای نصب نرم‌افزار استفاده کرده باشید، چنین حالتی محتمل‌تر است. هر بار که از snap استفاده می‌کنید یک شِبه فایل‌سیستم دیگر به دست می‌آورید و این موارد نیز فهرست می‌شوند. البته این موارد قطعات فیزیکی مرتبطی ندارند. بنابراین صرفاً باعث شلوغ شدن تصویر واقعی قطعات سیستم می‌شوند.

فهرست قطعات رایانه در ترمینال لینوکس

اگر یک فایل‌سیستم واقعی در فهرست خود یافتید که روی هارد درایو قرار دارد می‌توانید آن را با grep جداسازی کنید. هارد درایوها به وسیله نامشان شناسایی می‌شوند که عموماً با sd آغاز شده و در ادامه یک حرفی دارند که از a برای نخستین درایو، b برای درایو دوم و همین طور تا آخر تشکیل یافته است. پارتیشن‌ها به وسیله افزودن یک عدد 1 برای پارتیشن اول، 2 برای پارتیشن دوم و همین طور تا آخر تشخیص داده می‌شوند.

بنابراین نخستین هارد درایو sda خواهد بود و پارتیشن اول روی آن درایو به نام sda1 خواهد بود. هارد درایوها از طریق فایل‌های دستگاه خاص (که فایل‌های بلوک نامیده می‌شوند) در مسیر dev/ عرضه شده و جایی در درخت فایل‌سیستم مانت می‌شوند. این دستور از grep برای فیلتر کردن جزییات هر درایو که با sd آغاز می‌شود استفاده می‌کند.

mount | grep /dev/sd

فهرست قطعات رایانه در ترمینال لینوکس

خروجی شامل یک هارد درایو منفرد در دستگاه است که در این مقاله برای تحقیق استفاده شده است.

فهرست قطعات رایانه در ترمینال لینوکس

پاسخی که از mount می‌آید به ما اعلام می‌کند درایو dev/sda/ در / (یعنی ریشه درخت فایل‌سیستم) مانت می‌شود و دارای فایل‌سیستم ext4 است. حروف rw نشان می‌دهد که در حالت خواندن-نوشتن مانت شده است.

Relatime شِمایی است که از سوی روال‌های به‌روزرسانی «مُهر زمانی» (Timestamp) فایل مورد استفاده قرار می‌گیرد. زمان دسترسی روی دیسک نوشته نمی‌شود، مگر این که زمان اصلاح (mtime) یا زمان تغییر (ctime) یک فایل، بسیار جدیدتر از آخرین زمان دسترسی باشد یا زمان دسترسی (atime) قدیمی‌تر از یک آستانه تعریف‌شده از سوی سیستم باشد. این امر موجب کاهش چشمگیری در تعداد به‌روزرسانی‌های دیسک می‌شود که لازم است در مورد فایل‌های با دسترسی فراوان صورت بگیرد.

errors=remount-ro نشان می‌دهد که اگر خطاهای عرضه بیش از یک حد مشخص وجود داشته باشند، فایل‌سیستم به صورت فقط-خواندنی مجدداً مانت می‌شود. برای این که بتوانیم روی خروجی ارائه شده از سوی mount اسکرول بکنیم و فایل‌سیستم‌هایی که روی دستگاه‌ها مانت شده را راحت‌تر شناسایی کنیم، خروجی mount از طریق less به صورت pipe عرضه می‌شود.

mount | less

فهرست قطعات رایانه در ترمینال لینوکس

روی خروجی اسکرول کنید تا این که فایل‌سیستم‌هایی که به فایل‌های خاص /dev اتصال یافته‌اند را ببینید.

فهرست قطعات رایانه در ترمینال لینوکس

2. دستور lsblk

دستور lsblk قطعات بلوک، نقطه مانت و دیگر اطلاعات را فهرست می‌کند. عبارت lsblk را در خط فرمان وارد کنید:

lsblk

فهرست قطعات رایانه در ترمینال لینوکس

خروجی موارد زیر را نمایش می‌دهد:

  • Name – نام قطعه بلوکی
  • Maj:Min – عدد اصلی که نوع دستگاه را نمایش می‌دهد. عدد کوچک که تعداد قطعات کنونی از آن نوع را در این فهرست نمایش می‌دهد. برای مثال، 7:4 نشان‌دهنده 4 عدد قطعه loop است.
  • RM – این که قطعه قابل جدا شدن است یا نه را نشان می‌دهد. مقدار 0 به معنی نه و 1 به معنی بله است.
  • Size – ظرفیت دستگاه را نمایش می‌دهد.
  • RO – این که دستگاه فقط-خواندنی است یا نه را نشان می‌دهد. مقدار 0 به معنی نه و 1 به معنی بله است.
  • Type – نوع دستگاه برای مثال، loop ،dir (دایرکتوری)، دیسک، rom (سی‌دی‌رام) و مواردی از این دست را نمایش می‌دهد.
  • Mountpoint – این که فایل‌سیستم دستگاه مانت شده یا نه را مشخص می‌کند.

فهرست قطعات رایانه در ترمینال لینوکس

برای این که خروجی خلوت‌تر شود و قطعات loop حذف شوند، می‌توانیم از گزینه e- (به معنی exclude) استفاده کنیم و تعداد نوع دستگاه‌هایی که می‌خواهیم نادیده گرفته شوند را ذکر کنیم. این دستور موجب می‌شود که lsblk قطعه لوپ (7) و سی‌دی‌رام (11) را نادیده بگیرد.

lsblk -e 7,11

فهرست قطعات رایانه در ترمینال لینوکس

این امر موجب می‌شود که تنها هارد درایو sda نمایش یابد.

فهرست قطعات رایانه در ترمینال لینوکس

3. دستور df

دستور df گزارشی در مورد ظرفیت‌های درایو و فضای استفاده شده و آزاد دیسک ارائه می‌کند. عبارت df را در خط فرمان وارد کنید و اینتر را بزنید.

df

فهرست قطعات رایانه در ترمینال لینوکس

خروجی موارد زیر را نمایش می‌دهد:

  • Fileystem – نام این فایل‌سیستم را نمایش می‌دهد.
  • 1K-Blocks – تعداد بلوک‌های 1 کیلوبایتی که روی این فایل‌سیستم حضور دارند.
  • Used – تعداد بلوک‌های 1 کیلوبایتی که روی این فایل‌سیستم استفاده شده‌اند.
  • Available – تعداد بلوک‌های 1 کیلوبایتی که روی این فایل‌سیستم به صورت استفاده نشده است.
  • Use% - مقدار فضایی که در این فایل‌سیستم استفاده شده به صورت درصد بیان می‌شود.
  • File – نام فایل‌سیستم که در صورت ذکر در خط فرمان بیان می‌شود.
  • Mounted on – نقطه مانت روی فایل‌سیستم را نمایش می‌دهد.

فهرست قطعات رایانه در ترمینال لینوکس

برای حذف مدخل‌های ناخواسته از خروجی می‌توانید از گزینه x- استفاده کنید. این دستور از نمایش مدخل‌های دستگاه‌های loop در خروجی جلوگیری می‌کند.

df -x squashfs

فهرست قطعات رایانه در ترمینال لینوکس

چنان که می‌بینید تحلیل خروجی فشرده و مشاهده اطلاعات مهم‌تر کاملاً آسان است.

فهرست قطعات رایانه در ترمینال لینوکس

4. دستور fdisk

دستور fdisk ابزاری است که برای دستکاری جدول پارتیشن دیسک ارائه شده است؛ اما می‌توان از آن برای مشاهده اطلاعات مختلف نیز استفاده کرد. ما می‌توانیم از این دستور برای بررسی قطعات موجود روی رایانه استفاده کنیم.

از گزینه l- (به معنی list) برای فهرست‌بندی جداول پارتیشن استفاده می‌شود. از آنجا که خروجی دستور ممکن است طولانی باشد، خروجی fdisk را از طریق less به صورت pipe ارائه می‌کنیم. ضمناً از آنجا که fdisk قابلیت دستکاری جداول پارتیشن دیسک را دارد باید از sudo استفاده کنیم.

sudo fdisk –l

فهرست قطعات رایانه در ترمینال لینوکس

با اسکرول کردن از طریق less می‌توانید قطعات سخت‌افزاری را شناسایی کنید. در تصویر زیر مدخل هارد درایو sda را می‌بینید. این یک هارد درایو فیزیکی با ظرفیت 10 گیگابایت است.

فهرست قطعات رایانه در ترمینال لینوکس

اکنون که یکی از قطعات سخت‌افزاری را شناسایی کرده‌ایم، می‌توانیم از fdsik بخواهیم که صرفاً آن آیتم را گزارش کند.

sudo fdisk -l /dev/sda

فهرست قطعات رایانه در ترمینال لینوکس

بدین ترتیب یک خروجی با طول کاملاً کوتاه به دست می‌آوریم.

فهرست قطعات رایانه در ترمینال لینوکس

5. فایل‌های proc/

شِبه فایل‌های موجود در مسیر proc/ را می‌توان مشاهده کرد تا نوعی اطلاعات در مورد سیستم به دست آورد. فایلی که می‌خواهیم بررسی کنیم در مسیر proc/mounts/ قرار دارد که اطلاعاتی در رابطه با فایل‌سیستم‌های مانت شده در اختیار ما قرار می‌دهد. ما از چیزی به جز cat برای مشاهده فایل‌ها استفاده نمی‌کنیم.

cat /proc/mounts

فهرست قطعات رایانه در ترمینال لینوکس

فهرست فوق دستگاه‌های خاص dev/ را نمایش می‌دهد که برای عرضه قطعه‌ها استفاده شده و یک نقطه مانت روی درخت فایل‌سیستم عرضه می‌کند.

فهرست قطعات رایانه در ترمینال لینوکس

ما می‌توانیم فهرست فوق را با استفاده از grep فیلتر کنیم تا مدخل‌هایی که dev/sd/ در خود دارند را مشاهده کنیم. بدین ترتیب صرفاً قطعه‌های فیزیکی نمایش پیدا می‌کنند.

cat /proc/mounts | grep /dev/sd

فهرست قطعات رایانه در ترمینال لینوکس

بدین ترتیب گزارش بسیار تمیزتری به دست می‌آید:

فهرست قطعات رایانه در ترمینال لینوکس

می‌توانیم با استفاده از grep کمی انحصاری‌تر عمل کنیم و به دنبال قطعه‌هایی بگردیم که فایل‌های دستگاه خاص dev/sd/ و dev/sr/ دارند. بدین ترتیب هارد درایوها و سی‌دی‌رام‌های روی دستگاه را مشاهده می‌کنیم:

cat /proc/partitions | grep s[rd]

فهرست قطعات رایانه در ترمینال لینوکس

اکنون دو دستگاه و یک پارتیشن در خروجی ما حضور دارند.

فهرست قطعات رایانه در ترمینال لینوکس

6. دستور lspci

دستور lspci همه قطعه‌های PCI را در رایانه شما فهرست می‌کند.

lspci

فهرست قطعات رایانه در ترمینال لینوکس

اطلاعات ارائه شده شامل موارد زیر هستند:

  • Slot – اسلاتی که قطعه‌های PCI در آن‌ها جای گرفته‌اند.
  • Class - کلاس قطعه مورد نظر.
  • Vendor name – نام سازنده قطعه.
  • Device name – نام خود قطعه.
  • Subsystem – نام سازنده سیستم فرعی (در صورتی که قطعه یک سیستم فرعی داشته باشد)
  • Subsystem name – اگر قطعه مورد نظر دارای سیستم فرعی باشد، نام آن را نمایش می‌دهد.
  • Revision number – شماره نسخه قطعه مورد نظر.
  • Programming interface - اینترفیس برنامه‌نویسی در صورتی که قطعه مورد نظر چنین چیزی داشته باشد.

فهرست قطعات رایانه در ترمینال لینوکس

7. دستور lsusb

دستور lsusb همه قطعه‌هایی را که به پورت‌های USB رایانه شما متصل هستند و همه دستگاه‌های با قابلیت USB که داخل رایانه قرار دارند را فهرست می‌کند.

lsusb

فهرست قطعات رایانه در ترمینال لینوکس

رایانه تست ما مجهز به یک اسکنر کانن بود که به عنوان قطعه شماره 5 به USB اتصال داشت و یک درایو USB اکسترنال نیز به نام دستگاه شماره 4 متصل شده بود. قطعه‌های 3 و 1 دستگیره‌های اینترفیس‌های USB داخلی بودند.

فهرست قطعات رایانه در ترمینال لینوکس

شما می‌توانید فهرست تفصیلی را با استفاده از گزینه v- به دست آورید و حتی با استفاده از گزینه vv- فهرستی با توضیحات کامل‌تر مشاهده می‌کنید.

8. دستور lsdev

دستور lsdev اطلاعاتی در مورد همه قطعات نصب‌شده روی سیستم نمایش می‌دهد. این دستور خروجی زیادی تولید می‌کند و از این رو باید آن را از طریق less عرضه کنیم:

lsdev

فهرست قطعات رایانه در ترمینال لینوکس

قطعات سخت‌افزاری زیادی در خروجی فهرست‌بندی شده‌اند.

فهرست قطعات رایانه در ترمینال لینوکس

9. دستور lshw

دستور lshw قطعات اتصال یافته به رایانه را فهرست‌بندی می‌کند. این دستور نیز دارای خروجی زیادی است. روی رایانه تست ما خروجی این دستور 260 خط اطلاعات تولید کرده است. ما آن را نیز از طریق less به صورت pipe عرضه می‌کنیم.

توجه داشته باشید که در دستور lshw باید از sudo استفاده کنید تا بیشترین نتیجه را به دست آورید. اگر چنین نکنید، این دستور نمی‌تواند به همه قطعات دسترسی داشته باشد.

sudo lshw | less

فهرست قطعات رایانه در ترمینال لینوکس

در این دستور مدخلی برای سی‌دی‌رام با رابط SCSI مشاهده می‌کنیم. چنان که مشاهده می‌کنید، اطلاعات ارائه شده برای هر قطعه کاملاً تفصیلی هستند. دستور lshw اغلب اطلاعات خود را از فایل‌های مختلف در مسیر proc/ به دست می‌آورد.

فهرست قطعات رایانه در ترمینال لینوکس

اگر می‌خواهید خروجی کوتاه‌تری داشته باشید، می‌توانید از گزینه short— استفاده کنید.

10. دستور lsscsi

چنان که اکنون می‌توانید تصور کنید، دستور lsscsi همه قطعه‌های SCSI اتصال یافته به رایانه را نمایش می‌دهد.

lsscsi

فهرست قطعات رایانه در ترمینال لینوکس

در تصویر زیر قطعه‌های SCSI متصل به رایانه تست ما را مشاهده می‌کنید.

فهرست قطعات رایانه در ترمینال لینوکس

11. دستور dmidecode

دستور dmidecode جدول‌های اینترفیس مدیریت دسکتاپ را دیکد کرده و اطلاعاتی در رابطه با سخت‌افزار متصل به رایانه و درون رایانه استخراج می‌کند. DMI برخی اوقات به نام SMBIOS (یعنی سیستم ورودی/خروجی ابتدایی مدیریت سیستم) شناخته می‌شود گرچه در عمل دو استاندارد متفاوت محسوب می‌شوند. در این مورد نیز دستور را با استفاده از less عرضه می‌کنیم.

dmidecode | less

دستور dmidecode می‌تواند بیش از 40 قطعه سخت‌افزاری مختلف را گزارش دهد.

12. دستور hwinfo

دستور hwinfo تفصیلی‌ترین دستور در میان همه موارد مطرح‌شده در این مقاله محسوب می‌شود. در مورد دستورهای دیگر گفتیم که بهتر است خروجی را از طریق less عرضه کنید، اما در این مورد این گزینه دیگر اختیاری نیست. این دستور روی رایانه تست 5850 خط خروجی تولید کرده است. شما می‌توانید برای یک شروع ملایم‌تر از گزینه short-- استفاده کنید.

hwinfo –short

اگر واقعاً می‌خواهید دقیق‌ترین جزییات سخت‌افزار خود را مشاهده کنید، این دستور را بدون گزینه short-- وارد کنید.

فهرست قطعات رایانه در ترمینال لینوکس

سخن پایانی

در این مقاله دوازده روش برای بررسی قطعات درون رایانه و متصل به آن معرفی کردیم. هر قطعه سخت‌افزاری که علاقه‌مند باشید روی سیستم خود بررسی کنید، می‌توانید با استفاده از یکی از روش‌های معرفی‌شده در این نوشته آن را پیدا کنید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
howtogeek
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *