@playcode
ImageMagick یک ابزار ترمینال می باشد که قابلیت کار و تغییر عکس بصورت خیلی سریع در ترمینال را به شما می دهد. از نکات بارز آن می توان به قابلیت استفاده آن برروی چندین فایل بصورت همزمان و همچنین یکپارچه سازی به Script اشاره کرد. در این آموزش سعی میکنیم با قابلیت های آن شما را بیشتر آشنا کنیم.
نصب
@Playcode
برای نصب این ابزار می توانید از دستور زیر در ترمینال کمک بگیرید:
sudo apt-get install imagemagick
تبدیل بین فرمت های مختلف
درستور convert نصویر مورد نظر را گرفته و عملیات مورد نظر را برروی آن انجام داده و با اسمی که شما مشخص میکنید آن را ذخیره می کند. یکی از ساده ترین کارهایی که می توان با این ابزار انجام داد تبدیل فرمت های تصاویر به یکدیگر است. برای مثال دستور زیر تصویری با فرمت png را به jpg تبدیل می کند:
convert playcode.png playcode.jpg
شما می توانید میزان فشرده سازی را نیز در دستور بالا بصورت زیر مشخص نمایید:
convert playcode.png -quality 95 playcode.jpg
@Playcode
این شماره بایستی بین ۱ تا ۱۰۰ باشد. بصورت پیش فرض این عدد ۹۲ می باشد.
تبدیل اندازه عکس
با دستور convert می تواند به سرعت سایز تصویر را نیز تغییر دهد.
convert playcode.png -resize 200×۱۰۰ playcode.png
چون از همان اسم فایل استفاده کرده ایم دستور بالا فایل تبدیل شده را برروی فایل اصلی ذخیره می کند.
دستور بالا سعی می کند که سایز تصویر را بصورت منطقی بزرگ نمایید. برای مثال اگر تصویر شما ۶۰۰×۶۰۰ باشد دستور بالا آن را به ۲۰۰×۲۰۰ تبدیل می کند تا نسبت ابعاد آن حفظ شود. اگر نیاز به این دارید که تصویر به اندازه ای که دقیقا برای آن مشخص می کنید تبدیل شود – بایستی این را نیز در نظر گرفت که ممکن است از نظر ظاهری تصویر جالبی از آب در نیاید، البته تصمیم گیری با شماست – می توانید بعد از سایز تعریف کرده از ! بصورت زیر استفاده نمود.
@playcode
convert playcode.png -resize 200×۱۰۰! playcode.png
چرخاندن عکس
دستور زیر عکسی با اسم ir-linux.jpg را گرفته و ۹۰ درجه چرخانده و با نام ir-linux-rotated.jpg ذخیره می کند:
convert playcode.jpg -rotate 90 playcode-rotated.jpg
اگر همان اسم اصلی را در دستور بالا انتخاب نمایید پس از چرخاندن برروی فایل اصلی شما ذخیره سازی صورت می گیرد.
اعمال افکت
ImageMagick می تواند افکت های مختلفی به عکس شما بدهد. بطور مثال با استفاده از دستور زیر تصویر را به نقاشی با زغال تبدیل می کنیم.
convert playcode.jpg -charcoal 2 playcode-charcoal.jpg
@playcode
عدد ۲ در دستور بالا به شما اجازه این را می دهد که میزان تاثیر افکت برروی تصویر را تغییر دهید.
استفاده از چندین قابلیت
تمام قابلیت های که در بالا به آن ها اشاره شد را میتوانید بصورت همزمان در یک دستور بصورت زیر استفاده نمایید:
convert playcode.png -resize 400×۴۰۰ -rotate 180 -charcoal 4 -quality 95 playcode.jpg
پردازش دسته ای (Batch Processing)
شما می توانید از قابلیت Bash استفاده نموده و بصورت دسته ای فایل ها را تغییر و ذخیره نمایید. بطور مثال در زیر کلیه فایل های png موجود در پوشه ای که در آن کار میکنیم را چرخانده و با اسمی که در انتهای آن -rotated اضافه شده است ذخیره می کنیم.
for file in *.png; do convert $file -rotate 90 rotated-$file; done
@playcode
ImageMagick یک ابزار ترمینال می باشد که قابلیت کار و تغییر عکس بصورت خیلی سریع در ترمینال را به شما می دهد. از نکات بارز آن می توان به قابلیت استفاده آن برروی چندین فایل بصورت همزمان و همچنین یکپارچه سازی به Script اشاره کرد. در این آموزش سعی میکنیم با قابلیت های آن شما را بیشتر آشنا کنیم.
نصب
@Playcode
برای نصب این ابزار می توانید از دستور زیر در ترمینال کمک بگیرید:
sudo apt-get install imagemagick
تبدیل بین فرمت های مختلف
درستور convert نصویر مورد نظر را گرفته و عملیات مورد نظر را برروی آن انجام داده و با اسمی که شما مشخص میکنید آن را ذخیره می کند. یکی از ساده ترین کارهایی که می توان با این ابزار انجام داد تبدیل فرمت های تصاویر به یکدیگر است. برای مثال دستور زیر تصویری با فرمت png را به jpg تبدیل می کند:
convert playcode.png playcode.jpg
شما می توانید میزان فشرده سازی را نیز در دستور بالا بصورت زیر مشخص نمایید:
convert playcode.png -quality 95 playcode.jpg
@Playcode
این شماره بایستی بین ۱ تا ۱۰۰ باشد. بصورت پیش فرض این عدد ۹۲ می باشد.
تبدیل اندازه عکس
با دستور convert می تواند به سرعت سایز تصویر را نیز تغییر دهد.
convert playcode.png -resize 200×۱۰۰ playcode.png
چون از همان اسم فایل استفاده کرده ایم دستور بالا فایل تبدیل شده را برروی فایل اصلی ذخیره می کند.
دستور بالا سعی می کند که سایز تصویر را بصورت منطقی بزرگ نمایید. برای مثال اگر تصویر شما ۶۰۰×۶۰۰ باشد دستور بالا آن را به ۲۰۰×۲۰۰ تبدیل می کند تا نسبت ابعاد آن حفظ شود. اگر نیاز به این دارید که تصویر به اندازه ای که دقیقا برای آن مشخص می کنید تبدیل شود – بایستی این را نیز در نظر گرفت که ممکن است از نظر ظاهری تصویر جالبی از آب در نیاید، البته تصمیم گیری با شماست – می توانید بعد از سایز تعریف کرده از ! بصورت زیر استفاده نمود.
@playcode
convert playcode.png -resize 200×۱۰۰! playcode.png
چرخاندن عکس
دستور زیر عکسی با اسم ir-linux.jpg را گرفته و ۹۰ درجه چرخانده و با نام ir-linux-rotated.jpg ذخیره می کند:
convert playcode.jpg -rotate 90 playcode-rotated.jpg
اگر همان اسم اصلی را در دستور بالا انتخاب نمایید پس از چرخاندن برروی فایل اصلی شما ذخیره سازی صورت می گیرد.
اعمال افکت
ImageMagick می تواند افکت های مختلفی به عکس شما بدهد. بطور مثال با استفاده از دستور زیر تصویر را به نقاشی با زغال تبدیل می کنیم.
convert playcode.jpg -charcoal 2 playcode-charcoal.jpg
@playcode
عدد ۲ در دستور بالا به شما اجازه این را می دهد که میزان تاثیر افکت برروی تصویر را تغییر دهید.
استفاده از چندین قابلیت
تمام قابلیت های که در بالا به آن ها اشاره شد را میتوانید بصورت همزمان در یک دستور بصورت زیر استفاده نمایید:
convert playcode.png -resize 400×۴۰۰ -rotate 180 -charcoal 4 -quality 95 playcode.jpg
پردازش دسته ای (Batch Processing)
شما می توانید از قابلیت Bash استفاده نموده و بصورت دسته ای فایل ها را تغییر و ذخیره نمایید. بطور مثال در زیر کلیه فایل های png موجود در پوشه ای که در آن کار میکنیم را چرخانده و با اسمی که در انتهای آن -rotated اضافه شده است ذخیره می کنیم.
for file in *.png; do convert $file -rotate 90 rotated-$file; done
@playcode
تنها با start رباط ما در تلگرام میتوانید عضو خبرنامه سایت شوید . برای عضویت به ربات ما سر بزنید .
آیدی : @playcode_bot
آیدی : @playcode_bot
میخوایم بررسی کنیم که لینوکس احتمال ویروسی شدن داره یا نه و چرا؟
—------------------------------------
ویروسها برای موفقیت نیاز به آلوده کردن فایلهای اجرایی باینری در سیستم عامل دارند. لینوکس طوری طراحی شده که تقریباً همه فایلهای حیاتی سیستم و فایلهای اجرایی اصلی در اختیار کاربر روت، (root) که بالاترین سطح دسترسی را دارد است و کاربر عادی فقط قادر به اجرای آنهاست. این امر شانس آلودگی را به کمترین میزان ممکن میرساند. یعنی هنگامی که شما تحت مجوز کاربر عادی از سیستم استفاده میکنید اگر ویروسی قصد داشته باشد تا در فایلهای اجرایی مهم خرابکاری کند موفق نخواهد بود چون نیاز دارد به کاربر روت دسترسی داشته باشد.
اگرچه بعضی از کاربران باتجربه دوست دارند تحت مجوز روت وارد شوند و مالکیت فایلهای اجرایی را در اختیار بگیرند ولی براساس تجربهای که دارند از کارشان آگاهند و بلدند چه کار کنند. این دلیلیست که کاربر روت در اوبونتو و سایر توزیعها بصورت پیشفرض غیرفعال است.
- تقریباً همه برنامههای لینوکس متنباز هستند. متنباز یعنی هرکسی روی کره خاکی (یا کرات دیگر!) میتواند کدهای برنامه رو دانلود کند، نگاهی به اونها بیندازد، اصلاحشان کند و دوباره آپلود نماید. با حضور هزاران چشمی که به سورس کدها نگاه میکنند خیلی سخت است که یک ویروس بتواند خودش را در برنامه مخفی نگه دارد.
- هر وقت که یک حفره امنیتی در نرمافزاری پیدا شود در کمتر از ۲۴ ساعت پس از تشخیص، وصله امنیتی آن منتشر میشود. بدیهیست که همچون سیستم عاملهای دیگر بروز نگه داشتن سیستم، عامل مهمی در کاهش میزان آسیبها خواهد بود.
- بیشتر ویروسهای کامپیوتری توسط ایمیل، مسنجرها و مرورگرها روی اینترتت گسترش مییابند. در ویندوز، فایلهای دانلود شده بصورت پیشفرض قابل اجرا هستند، چه شما به آنها اجازه اجرایی شدن بدهید چه ندهید. ولی در لینوکس فایلهای دانلود شده بصورت پیشفرض قابلیت اجرایی ندارند. پس فرضاً اگر یک فایل آلوده را دانلود کنید به خودی خود اجرایی نیست.
لینوکس برای اجرایی کردن فایلها وابسته به پسوند فایل نیست (مثل exe در ویندوز) پس تغییر دادن پسوند فایل آن را قابل اجرا نمیکند. شما نیاز دارید بدانید چطور به یک فایل قابلیت اجرایی ببخشید و راه بیندازیدش، اگر شما این چیزها را میدانید حتماً آنقدر باهوش هستید که از محتوای فایلها و پکیجها هم مطلع باشید.
- پورتهای لینوکس بصورت پیشفرض بستهاند، به همین دلیل شما حتی به فایروال هم نیازی ندارید مگر اینکه خودتان پورتی را باز کنید که با فرض استفاده از فایروال، در این شرایط هم نباید ترسی از ورود ویروسها داشته باشید.
همانطور که اشاره شد یکی از عوامل موفقیت ویروس، تکثیر و گسترش هر چه بیشتر آن است. یک ویروس کامپیوتری – دقیقاً همانند یک ویروس بیولوژیکی – باید نرخ تکثیرش از میزان مرگش بیشتر باشد. عوامل اشاره شده در بالا، ایجاد این شرایط را غیرممکن میسازد، نتیجه کار، انقراض ویروس خواهد بود.
—---------------------—
@playcode
—------------------------------------
ویروسها برای موفقیت نیاز به آلوده کردن فایلهای اجرایی باینری در سیستم عامل دارند. لینوکس طوری طراحی شده که تقریباً همه فایلهای حیاتی سیستم و فایلهای اجرایی اصلی در اختیار کاربر روت، (root) که بالاترین سطح دسترسی را دارد است و کاربر عادی فقط قادر به اجرای آنهاست. این امر شانس آلودگی را به کمترین میزان ممکن میرساند. یعنی هنگامی که شما تحت مجوز کاربر عادی از سیستم استفاده میکنید اگر ویروسی قصد داشته باشد تا در فایلهای اجرایی مهم خرابکاری کند موفق نخواهد بود چون نیاز دارد به کاربر روت دسترسی داشته باشد.
اگرچه بعضی از کاربران باتجربه دوست دارند تحت مجوز روت وارد شوند و مالکیت فایلهای اجرایی را در اختیار بگیرند ولی براساس تجربهای که دارند از کارشان آگاهند و بلدند چه کار کنند. این دلیلیست که کاربر روت در اوبونتو و سایر توزیعها بصورت پیشفرض غیرفعال است.
- تقریباً همه برنامههای لینوکس متنباز هستند. متنباز یعنی هرکسی روی کره خاکی (یا کرات دیگر!) میتواند کدهای برنامه رو دانلود کند، نگاهی به اونها بیندازد، اصلاحشان کند و دوباره آپلود نماید. با حضور هزاران چشمی که به سورس کدها نگاه میکنند خیلی سخت است که یک ویروس بتواند خودش را در برنامه مخفی نگه دارد.
- هر وقت که یک حفره امنیتی در نرمافزاری پیدا شود در کمتر از ۲۴ ساعت پس از تشخیص، وصله امنیتی آن منتشر میشود. بدیهیست که همچون سیستم عاملهای دیگر بروز نگه داشتن سیستم، عامل مهمی در کاهش میزان آسیبها خواهد بود.
- بیشتر ویروسهای کامپیوتری توسط ایمیل، مسنجرها و مرورگرها روی اینترتت گسترش مییابند. در ویندوز، فایلهای دانلود شده بصورت پیشفرض قابل اجرا هستند، چه شما به آنها اجازه اجرایی شدن بدهید چه ندهید. ولی در لینوکس فایلهای دانلود شده بصورت پیشفرض قابلیت اجرایی ندارند. پس فرضاً اگر یک فایل آلوده را دانلود کنید به خودی خود اجرایی نیست.
لینوکس برای اجرایی کردن فایلها وابسته به پسوند فایل نیست (مثل exe در ویندوز) پس تغییر دادن پسوند فایل آن را قابل اجرا نمیکند. شما نیاز دارید بدانید چطور به یک فایل قابلیت اجرایی ببخشید و راه بیندازیدش، اگر شما این چیزها را میدانید حتماً آنقدر باهوش هستید که از محتوای فایلها و پکیجها هم مطلع باشید.
- پورتهای لینوکس بصورت پیشفرض بستهاند، به همین دلیل شما حتی به فایروال هم نیازی ندارید مگر اینکه خودتان پورتی را باز کنید که با فرض استفاده از فایروال، در این شرایط هم نباید ترسی از ورود ویروسها داشته باشید.
همانطور که اشاره شد یکی از عوامل موفقیت ویروس، تکثیر و گسترش هر چه بیشتر آن است. یک ویروس کامپیوتری – دقیقاً همانند یک ویروس بیولوژیکی – باید نرخ تکثیرش از میزان مرگش بیشتر باشد. عوامل اشاره شده در بالا، ایجاد این شرایط را غیرممکن میسازد، نتیجه کار، انقراض ویروس خواهد بود.
—---------------------—
@playcode
خب بعد از اینهمه حرف فهمیدم چرا ویروسها در لینوکس خطرناک نیستند پس دیگر چه نیازی به نصب آنتیویروس است! در واقع نصب آنتیویروس روی لینوکس هدفی خیرخواهانه دارد! درسته که ویروسها در لینوکس ناتوانند ولی سیستمهای ویندوزی که ما با آنها در ارتباطیم همیشه آسیبپذیر هستند.
- شاید شما یک سیستم دوالبوت داشته باشید که مرتباً پارتیشنهای ویندوز را در لینوکس باز کنید و فایل اینو اونور بفرستید. یا شاید یک پارتیشن مشترک داشته باشید که دیتاهای آن بین لینوکس و ویندوز به اشتراک گذاشته میشوند، حتی کول دیسکی که بین سیستمها میچرخه و فایل جابهجا میکند.
- شاید دلتان نخواهد که فایلهای ویروسی را توسط ایمیل یا چیزهای دیگر بین کاربران ویندوز پخش کنید. یا میتواند شبکهای از سیستمهای ویندوزی را تحت شبکه با لینوکستان اسکن و پاکسازی کنید.
- همچنین اگر از Wine استفاده میکنید میدانید که ویروسها امکان اجرا شدن در محیط واین را نیز دارد پس یک آنتیویروس خواهد توانست از آسیبهای آن جلوگیری کند.
—---------—
@playcode
- شاید شما یک سیستم دوالبوت داشته باشید که مرتباً پارتیشنهای ویندوز را در لینوکس باز کنید و فایل اینو اونور بفرستید. یا شاید یک پارتیشن مشترک داشته باشید که دیتاهای آن بین لینوکس و ویندوز به اشتراک گذاشته میشوند، حتی کول دیسکی که بین سیستمها میچرخه و فایل جابهجا میکند.
- شاید دلتان نخواهد که فایلهای ویروسی را توسط ایمیل یا چیزهای دیگر بین کاربران ویندوز پخش کنید. یا میتواند شبکهای از سیستمهای ویندوزی را تحت شبکه با لینوکستان اسکن و پاکسازی کنید.
- همچنین اگر از Wine استفاده میکنید میدانید که ویروسها امکان اجرا شدن در محیط واین را نیز دارد پس یک آنتیویروس خواهد توانست از آسیبهای آن جلوگیری کند.
—---------—
@playcode