
سلام خدمت دوستان و کاربران عزیز وب سایت توسینسو. در این مطلب قصد داریم دستورات و روش های متعددی را برای لیست کردن هارد دیسک ها در سیستم عامل لینوکس به شما آموزش دهیم. این هارد دیسک ها میتوانند بصورت فیزیکی به سیستم متصل شده باشند یا اینکه توسط SAN Storage های شرکت های EMC ، IBM یا Sun بصورت Emulate شده به سرور لینوکس اختصاص داده شده باشد. در این مطلب ما 6 روش مختلف را برای لیست کردن هارد دیسک ها و مشخصات آن آموزش می دهیم اما این را در نظر داشته باشید که روش های دیگری نیز وجود دارد اما این 6 روش از رایج ترین و آسان ترین روش ها برای انجام این کار است. تعدادی از این دستورات که در این آموزش معرفی خواهیم کرد در واقع ابزار های پارتیشن بندی هارد دیسک هستند و بصورت پیش فرض لیست کردن هارد دیسک نیز در این ابزار ها طبیعتا موجود است.
دستور df یکی از رایج ترین دستورات برای انجام این کار است. این دستور در حقیقت Disk Usage هارد دیسک را نشان می دهد و اطلاعاتی از قبیل میزان فضای موجود در هارد دیسک که توسط سیستم در حال استفاده هست را نشان می دهد. این دستور را همراه با سوئیچ h که مخفف human readable است بکار میبریم تا راحت تر بتوانیم میزان فضای موجود در هارد دیسک را بخوانیم. استفاده از سوئیچ h خروجی را بر حسب Gigabyte و Megabyte نشان می دهد و خواندنش برای ما راحت تر است. خروجی دستور df -h بصورت زیر است :
user@system:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 7.8G 0 7.8G 0% /dev tmpfs 1.6G 3.5M 1.6G 1% /run /dev/sda2 468G 204G 242G 46% / tmpfs 7.8G 109M 7.7G 2% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/loop0 7.5M 7.5M 0 100% /snap/canonical-livepatch/54 /dev/loop1 90M 90M 0 100% /snap/core/6034 /dev/loop2 5.0M 5.0M 0 100% /snap/canonical-livepatch/50 /dev/loop4 90M 90M 0 100% /snap/core/6130 /dev/loop3 4.8M 4.8M 0 100% /snap/canonical-livepatch/49 /dev/loop5 89M 89M 0 100% /snap/core/5897 /dev/sda1 511M 6.1M 505M 2% /boot/efi tmpfs 1.6G 16K 1.6G 1% /run/user/121 tmpfs 1.6G 44K 1.6G 1% /run/user/1000
ستون اول یا همان File System فایل سیستم هایتان را در سیستم نشان می دهد. ستون دوم اندازه فایل سیستم را نشان می دهد. برای مثال سایز فایل سیستم //dev//sda2// حدود 468 گیگابایت است. ستون سوم میزان فضای استفاده شده از فایل سیستم مربوطه را نمایش می دهد. برای مثال 204 گیگابایت از فایل سیستم //dev//sda2// مصرف شده است. ستون چهارم میزان فضای در دسترس و قابل استفاده از فایل سیستم مربوطه را نمایش می دهد. ستون پنجم نیز میزان فضای استفاده شده از فایل سیستم را بصورت درصدی نشان می دهد. و در نهایت ستون ششم نشان می دهد که فایل سیستم مربوطه به کجا Mount شده است. برای مثال فایل سیستم //dev//sda2// به دایرکتوری ریشه یا root که با علامت Forward Slash نشان داده می شود Mount شده است.
از دستور fdisk که برای پارتیشن بندی هارد دیسک مورد استفاده قرار میگیرد و از رایج ترین دستورات مدیریت هارد دیسک و پارتیشن ها در لینوکس است میتوان برای این کار استفاده کرد. خروجی دستور fdisk همراه با سوئیچ l یا list شبیه زیر است :
user@system:~$ fdisk -l Disk /dev/loop0: 7.5 MiB, 7811072 bytes, 15256 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop1: 89.5 MiB, 93818880 bytes, 183240 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop2: 4.9 MiB, 5148672 bytes, 10056 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop3: 4.7 MiB, 4919296 bytes, 9608 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop4: 89.5 MiB, 93835264 bytes, 183272 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop5: 88.2 MiB, 92483584 bytes, 180632 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 129F4EE6-2A54-4639-BFCA-2CC09DFC8566 Device Start End Sectors Size Type /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 1000214527 999163904 476.4G Linux filesystem
دستور fdisk -l سایز پارتیشن ها ، Sector آغازی و پایانی پارتیشن ، تعداد Sector ها و نوع پارتیشن را نمایش می دهد. نکته اینکه هارد دیسک های SATA با نام sd نشانه گزاری می شوند.
این دستور کمی از بقیه از دستورات پیچیده تر است. این دستور با لیست کردن Block device ها (بصورت ساده به دستگاه هایی مثل هارد دیسک ، فلش درایو ، درایو SSD و ... Block device گفته می شود) این کار را انجام می دهد. خروجی این دستور بصورت زیر است :
user@system:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 7.5M 1 loop /snap/canonical-livepatch/54 loop1 7:1 0 89.5M 1 loop /snap/core/6034 loop2 7:2 0 4.9M 1 loop /snap/canonical-livepatch/50 loop3 7:3 0 4.7M 1 loop /snap/canonical-livepatch/49 loop4 7:4 0 89.5M 1 loop /snap/core/6130 loop5 7:5 0 88.2M 1 loop /snap/core/5897 sda 8:0 0 477G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 476.4G 0 part /
این دستور از نظر من خروجی ساده و قابل فهم تری نسبت به سایر دستورات دارد. همچنین سایز کل پارتیشن و Mount Point آن ها ، و همچنین موقعیت فیزیکی پارتیشن ها روی هارد دیسک را نمایش می دهد. همچنین این دستور زمانی میتواند مفید واقع شود که فلش مموری به سیستم وصل کرده اید و با اجرای این دستور میتوانید بدانید که کجا Mount شده است.
ابزار گرافیکی cfdisk یکی از ابزار های خوب برای مدیریت دیسک ها و پارتیشن هاست و کاملا ظاهری Visual دارد. ظاهر این ابزار را در تصویر زیر مشاهده می کنید.
همانطور که در تصویر فوق مشاهده می کنید لیست پارتیشن ها و دیسک ها را نمایش می دهد. از معایب این ابزار این است که میزان فضای مصرفی و در دسترس را برای پارتیشن ها نمایش نمی دهد.
این ابزار نیز مشابه ابزار قبلی است و برای مدیریت دیسک ها و پارتیشن ها استفاده می شود. همچنین لیست تمام پارتیشن ها را برای مدیریت کردن نمایش می دهد. همچنین این ابزار برند و مدل هارد دیسک و نوع Connector هارد دیسک (SATA ، SCSI ، IDE و ...) را نشان می دهد و کل فضای هارد دیسک را نیز نمایش می دهد. خروجی این دستور به شکل زیر است :
user@system:~$ sudo parted -l Model: ATA LITEON CV1-8B512 (scsi) Disk /dev/sda: 512GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp
این دستور خیلی شبیه به دستور fdisk است اما sfdisk به شما Physical Volume ها و همچنین Logical Volume ها و خلاصه ای از پارتیشن های Physical Volume ها را همراه با Sector آغازی و پایانی پارتیشن ، تعداد Sector ها و نوع پارتیشن نیز همانند ابزار fdisk نشان می دهد. احتمالا حرف s در ابتدای دستور sfdisk مخفف super است. خروجی دستور sfdisk شبیه زیر است :
user@system:~$ sudo sfdisk -l Disk /dev/loop0: 88.2 MiB, 92483584 bytes, 180632 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop1: 4.7 MiB, 4919296 bytes, 9608 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop2: 4.9 MiB, 5148672 bytes, 10056 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop3: 89.5 MiB, 93818880 bytes, 183240 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop4: 7.5 MiB, 7811072 bytes, 15256 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop5: 89.5 MiB, 93835264 bytes, 183272 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 129F4EE6-2A54-4639-BFCA-2CC09DFC8566 Device Start End Sectors Size Type /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 1000214527 999163904 476.4G Linux filesystem
همه این دستوراتی که در این مطلب معرفی کردیم برای لیست کردن و مدیریت دیسک ها و پارتیشن ها و نیز دستکاری کردن پارتیشن ها در سیستم عامل لینوکس مورد استفاده قرار میگیرند و بسیار کاربردی هستند. امیدوارم مورد توجه شما قرار گرفته باشد.
نویسنده : امیرحسین کریم پور
منبع : جزیره لینوکس و سیستم های متن باز وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی میباشد
مدیر ارشد وب سایت توسینسو و مدرس و متخصص سرویس های مایکروسافت
امیرحسین کریم پور هستم ، مدیر ارشد وب سایت توسینسو ، متخصص در حوزه سیستم عامل های کلاینت و سرور شرکت مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس ، مجازی سازی سرور ، فایروال و ... سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود