آموزش مقدمات لینوکس – بخش دوازدهم

آموزش مقدمات لینوکس

در این بخش از دوره آموزشی مقدمات لینوکس، شما با مفاهیم و دستورات فشرده سازی در لینوکس آشنا خواهید شد و تفاوت برخی از این دستورات را فراخواهید گرفت.

Compressing and Archiving

تست نفوذگران اغلب نیاز به دانلود و نصب نرم افزارهای جدید دارند که این ابزارها یا اسکریپت ها معمولاً به صورت فایل های فشرده در دسترسی هستند. در این بخش، شما با دستوراتی که به شما در فشرده سازی و از حالت فشرده خارج نمودن فایل ها کمک می کند، آشنا خواهید شد.

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

معمولا اولین کاری که شما در هنگام فشرده سازی پرونده ها انجام می دهید، ترکیب آن ها به یک آرشیو می باشد. یکی از دستوراتی که برای این منظور استفاده می شود، دستور tar می باشد.

با استفاده از دستور tar شما می توانید چندین فایل را در قالب یک فایل فشرده نمایید:

tar -cvf test.tar file1 file2 file3 …

در دستور بالا، سوییچ c به معنای Create یا ایجاد بوده، سوییچ v به معنای verbose بوده و فایل هایی که به tar تبدیل می شوند را نمایش می دهد و سوییچ f نیز به معنای ذخیره داخل یک فایل می باشد.

بدین صورت ما یک فایل نهایی با نام test.tar خواهیم داشت.

ما می توانیم برای مشاهده فایل های درون test.tar بدون Extract آن، از سوییچ -t به صورت زیر استفاده نماییم:

tar -tvf test.tar

برای Extract نمودن این فایل نیز می توان از دستور زیر استفاده نمود:

tar -xvf test.tar

لازم به ذکر است برای عدم مشاهده جزئیات در خروجی شما می تواند سوییچ v را حذف نمایید.

فشرده سازی فایل

لینوکس برای فشرده سازی فایل ها دارای دستورات مختلفی می باشد که نمونه ای از آن ها عبارتند از:

gzip که از پسوندهای tar.gz یا gz استفاده می کند.
bzip2 که از پسوند tar.bz2 استفاده می کند.
compress که از پسوند tar.z استفاده می کند.

تمامی دستورات بالا به منظور فشرده سازی فایل های شما مورد استفاده قرار می گیرند ولی هر کدام از آن ها دارای الگوریتم های مخصوص به خود برای فشرده سازی فایل ها هستند.

به صورت کلی، دستور compress سریعتر عمل می کند ولی نتیجه آن یک فایل بزرگتر است؛ دستور bzip2 آهسته تر عمل می کند ولی نتیجه آن یک فایل با حجم کمتر است؛ دستور gzip هم بین این دو عمل می کند.

فشرده سازی با gzip

دستور gzip برگرفته از GNU zip می باشد. این دستور یکی از عمومی ترین دستورات برای فشرده سازی در لینوکس می باشد. شما می توانید برای فشرده سازی فایل ها با gzip، از دستور زیر استفاده نمایید:

gzip test.*

توجه داشته باشید که ما در این دستور از عبارت wildcard ستاره برای فشرده سازی تمامی فایل هایی که با نام test شروع شده و مختلفی دارند، استفاده نموده ایم.

آشنایی با دستورات کاربردی لینوکس

جهت خارج نمودن فایل مورد نظر از حالت فشرده، از دستور gunzip که در ادامه آن نام فایل قرار گرفته است، استفاده می نماییم.

فشرده سازی با bzip2

دستور دیگری که برای فشرده سازی از آن استفاده می شود، دستور bzip2 می باشد. این دستور عملکردی مشابه gzip دارد ولی عملیات فشرده سازی را بهتر انجام می دهد. بدین معنی که فایل نهایی دارای سایز کوچکتری می باشد.

bzip2 test.*

برای خارج نمودن فایل از حالت فشرده نیز از دستور bunzip2 استفاده می شود.

فشرده سازی با compress

علاوه بر دستورات gzip و bzip2، دستور compress نیز برای فشرده سازی فایل ها در لینوکس مورد استفاده قرار می گیرد. برای فشرده سازی فایل ها از دستور compress و برای خارج نمودن فایل ها از حالت فشرده از دستور uncompress استفاده می شود.

ایجاد یک کپی فیزیکی یا بیت به بیت

یکی از دستوراتی که در امنیت اطلاعات و حتی جرم شناسی دارای کاربردهای فراوانی است، دستور dd می باشد. دستور dd یک کپی بیت به بیت از یک فایل، فایل سیستم و یا محتویات فایل تهیه می کند. این بدین معنی است که حتی فایل های حذف شده نیز کپی می شوند (بله این مهم است که بدانید فایل های حذف شده شما قابلیت بازگردانی دارند). توجه داشته باشید که فایل های حذف شده با ابزارهایی مانند cp و غیره کپی نمی شوند.

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

ساختار کلی دستور dd به صورت زیر می باشد:

dd if=inputefile of=outputfile

دستور زیر نمونه ای از استفاده ابزار dd می باشد:

dd if=/dev/sdb of=/root/flashcopy

دستور dd دارای سوییچ های مختلفی می باشد که دو مورد از آن ها، سوییچ noerror و سوییچ bs می باشند. همانطور که از نام سوییچ noerror مشخص می باشد، از آن به منظور تهیه کپی حتی در شرایطی که خطایی رخ دهد مورد استفاده قرار می گیرد.

دوازده نمونه از استفاده دستور dd

سوییچ bs برای تعیین سازی بلاک های داده استفاده می شود که به صورت پیش فرض 512 بایت برای آن در نظر گرفته شده است که شما می توانید با این سوییچ، مقدار پیش فرض تعیین شده را تغییر دهید.

دستور زیر نمونه ای از استفاده دستور dd با سوییچ های مذکور می باشد:

dd if=/dev/media of=/root/flashcopy bs=4096 conv:noerror

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید