<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های امین خوش زحمت</title>
        <link>https://virgool.io/feed/@aminkhoshzahmat</link>
        <description>توسعه دهنده وب ( وب پندار )</description>
        <language>fa</language>
        <pubDate>2026-06-16 22:16:09</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/15043/avatar/avatar.png?height=120&amp;width=120</url>
            <title>امین خوش زحمت</title>
            <link>https://virgool.io/@aminkhoshzahmat</link>
        </image>

                    <item>
                <title>نحوه نصب ZSH, oh-my-zsh, Terminator</title>
                <link>https://virgool.io/@aminkhoshzahmat/%D8%AA%D9%88%DB%8C%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%DA%A9%D8%A7%D8%B1-%D9%85%DB%8C%DA%A9%D9%86%DB%8C-%D8%A8%D8%A7-%DB%8C%D9%87-%D8%AA%D8%B1%D9%85%DB%8C%D9%86%D8%A7%D9%84-%D8%AE%D9%81%D9%86-%DA%A9%D8%A7%D8%B1-%DA%A9%D9%86-ajuf4227aj5r</link>
                <description>تویی که با لینوکس کار میکنی، با یه ترمینال خفن کار کن!کار با Terminal پیش فرض سیستم عامل های لینوکس هیچ مشکلی نداره، اما وقتی بهترش هست چرا استفاده نکرد!؟اگر به دنبال نحوه نصب هرکدام از این موارد ZSH, oh-my-zsh, Terminator هستید این مطلب میتونه برای شما مفید باشه.این توضیحات بر روی سیستم عامل Ubuntu داده شده و اگر علاقه ایی به خواندن متن ندارید، میتونید ویدئوی این دستورات رو در آپارات ببینید.Terminatorاون بیرون کلی ترمینال های دیگه ای هست که میشه ازش استفاده کرده، ۱۰ تا از بهترین هارو میتونید ایجا ببینید: http://www.linuxandubuntu.com/home/10-best-linux-terminals-for-ubuntu-and-fedoraکه  طبق نظر سنجی های صورت گرفته Terminator جایگاه اول رو به خودش اختصاص داده و نمایی از Terminator این پایین میتونید ببینید:https://gnometerminator.blogspot.com/p/introduction.html چیز خفنیه، بریم نصبش کنیم ...برای نصبش کافیه دستور زیر رو وارد کنید:sudo apt-get install terminatorبعد از نصب تو پکیج هاتون دنبال terminator بگردید و روش کلیک کنید‌، (دکمه host بزنید و تایپ کنید terminator)یکسری shortcut داره این زیر نوشتم، توجه داشته باشید که اینها بر روی ترمینالی که روش تمرکز دارید اعمال میشه.ctrl + shift + o  تقسیم افقی ctrl + shift + e تقسیم عمودی ctrl + shift + t ایجاد تب جدیدctrl + shift + w بستن تب جاریمیتونید روی تب ها Double-click کنید و روی اون ها اسم گزاری کنید.برای تغییر دیگر تنظیمات روی ترمینال right-click کنید و روی گزینه preferences کلیک کنید.خب تا اینجا Terminator نصب کردیم و باهاش کمی آشنا شدیم، حالا بریم سراغ ZSH و ببینیم چی هست و چطوری باید نصبش کرد و ازش استفاده کرد ...ZSHدر واقع مخفف Z Shell، که نسخه توسعه یافته ایی از ‌Bourne shell هست اما با کلی امکانات بیشتر با برخی از ویژگی هایی از دیگر shell ها مانند Bash, ksh و  tcsh  هست.https://www.zsh.org/برای چی باید نصبش کنم؟ دقیقا چه امکانات بهتری میده که از /bin/bash/ نباید ترجیحا استفاده کنم!؟برخی ای از این موارد این زیر لیست شده:جابه جایی خودکار، به جای اینکه حتما از cd استفاده کنید، کافیه که اسم دایرکتوری رو بنویسید، به طور مثال:/home/amin/Projects/my-project بسط بازگشتی مسیر ها، یعنی لازم نیست آدرس دایرکتوری هارو کامل بنویسی، هم حدس میزنه هم انتخاب میکنه، مثلا  home/amin/P/ به /home/amin/Projects/ تبدیل میشه با زدن یک tabساده.تصحیح املا و تکمیل تقریبی، اگر کلمه ایی رو به صورت جزیی اشتباه بنویسید براتون درستش میکنه یا موارد دیگه ایی رو براتون حدس میزنه.افزونه ها و قالب های متنوع، میتونید روش یه قالب باحال بزارید و پلاگین نصب کنید.حالا برای نصبش باید دستور زیر رو بزنید:sudo apt-get install zshبعد از اینکه نصب شد، هیچ اتفاقی نمیافته، باید برای اولین بار صداش کنید تا بیاد تنظیمات اولیه رو انجام بده و کارش نهایی بشه، خب الان توی ترمینالتون بنویسید zsh و enter کنید:zshیکسری گزینه برای تنظیمات میاد که میتونید اگه حوصله دارید بخونیدش و مخصوص خودتون به اصطلاح config  کنید، اگه حوصله ندارید و میخواید سریع با تنظیمات پیش فرض و توصیه شده خود zsh شروع کنید عدد ۲ را وارد کنید و  enter  کنید، خب الان  zsh  فعال شده و روی ترمینال قابل مشاهدست.در نظر داشته باشید برای اینکه zsh، برای شما shell پیش فرض بشه، باید shell خودتون رو تغییر بدید، دستور زیر رو بزنید:sudo chsh -s $(which zsh)مجدد تو shell باید لاگین کنید (su - amin)  یا ترمینال رو ببندید و دوباره باز کنید تا تنظیمات مجدد خونده بشه، در این صورت حالا شما باید ZSH داشته باشید.oh-my-zshخب رسیدیم به oh-my-zsh، به گفته ناشران این پکیج در گیت هاب، oh-my-zsh یک فریمورک برای تنظیمات zsh  هست که در حال حاضر بیش از ۱۳۰۰ نفر بر روی آن کار کرده اند، که افزونه های بسیاری در  رابطه با rails, git, OSX, hub, capistrano, brew, ant, php, python و... داره، همچنین بیش از ۱۴۰ قالب برای zsh.https://github.com/robbyrussell/oh-my-zshقبل از نصب باید git  رو روی سیستمتون نصب داشته باشید، چون در حین فرآیند نصب نیاز داره تا از repository خودش clone بگیره، برای نصب git  دستور زیر رو وارد کنید:sudo apt-get install gitحالا یکی از دستورات زیر رو وارد کنید:از طریق curlsh -c &quot;$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)&quot;یا توسط wgetsh -c &quot;$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)&quot;از شما کلمه عبور میپرسد، وارد کنید، و در ادامه نصب انجام میشود و فایل config به نام .zshrc در دایرکتوری کاربری شما ایجاد میشود، مثلا من کاربر amin هستم باید اینجا دنبالش بگردم: /home/amin/.zshrcخب حالا اگر میخواهید یه قالب خاص داشته باشید، به این آدرس زیر برید و اسم قالب رو که میخواهید در نظر بگیرید، مثلا blinkshttps://github.com/robbyrussell/oh-my-zsh/wiki/Themesتمام این قالب ها با نصب oh-my-zsh بر روی سیستم شما در یک دایرکتوری خاصیی آرشیو شده اند، فقط باید اسم قالب را ببرید، با یک ویرایشگر متن فایل zshrc. رو باز کنید (من از nano استفاده میکنم) :nano /home/amin/.zshrcدر همون خط های اول فایل یک متغیر به نام ZSH_THEME میبینید که مساوی یه مقداری هست، اون مقدار در اصل اسم قالب شماست، اسم هر قالبی رو اونجا جایگزین کنید، theme شما هم اونطوری میشه، بریم تست کنیم:ZSH_THEME=&quot;blinks&quot;فایل رو ذخیره کنید، و ترمینال مثل قبل که گفتیم مجدد راه اندازی کنید.الان یه Terminator با ZSH نصب شده و قالب oh-my-zsh دارید!اگر فکر میکنید هر جایی از توضیحات ناقص هست یا جزئیات بیشتری نیاز دارید، اطلاع بدید در سریع ترین زمان ممکن جواب میدم ;)اگر متوجه روند کار ها نشدید میتونید در آپارات نحوه انجام رو به صورت ویدئویی دنبال کنید.زنده باد دانش!</description>
                <category>امین خوش زحمت</category>
                <author>امین خوش زحمت</author>
                <pubDate>Sat, 11 May 2019 16:42:57 +0430</pubDate>
            </item>
                    <item>
                <title>افزایش swap در ubuntu در ۳۰ ثانیه</title>
                <link>https://virgool.io/@aminkhoshzahmat/%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-swap-%D8%AF%D8%B1-ubuntu-1804-%D8%AF%D8%B1-%DB%B3%DB%B0-%D8%AB%D8%A7%D9%86%DB%8C%D9%87-qfryt61cxpzu</link>
                <description>https://www.aparat.com/v/cvqGSاصلا swap چی هست؟یه موقع هایی هست که برای انجام کارهای سنگینتون با کامپیوتر رم کم میارید و نیاز شدیدی به فضای بیشتر  دارید، اگر هارد ssd داشتیه باشید شما میتونید ازش کمک بگیرید و فضای نسبتا کوچکی رو از هاردتون به رم قرض بدید (با اون قسمت از هارد مثل رم برخورد خواهد شد) که بتونه روش بنویسه و بخونه، اگر هاردتون ssd نیست اصلا بهش فکر نکنید، چون سرعت خواندن و نوشتن رم خیلی فراتر از هارد دیسکی هست و سیستم شما کند میشه.میتونید اجرای این روند هارو در این اینجا تماشا کنید.در واقع چی روی swap نوشته میشه؟رم اطلاعاتی رو که به صورت موقت بهشون نیاز نداره یا الویتشون پایین هست رو در این فضای swap مینویسه و در صورت نیاز خیلی سریع بهشون رجوع میکنه و می خونه و اگر دیگه بهشون کاری نداشته باشه پاکشون میکنه، نحوه ذخیره و بازیابی این روند خیلی پیچیده تر از این ۳ خطی که توضیح داده شده هست، برای اطلاعات بیشتر سرچ کنید.نوعش در اصل یک فایل هست! یعنی تمام مدت داریم روی یک فایل از جنس swap مینویسیم و میخونیم.حالا بریم ببینیم چطوری میشه اینکارو کرد.* در نظر داشته باشید که استفاده هارد ssd به عنوان swap (به علت خواندن و نوشتن متوالی)  طول عمر  هارد شما رو کاهش میده.با این ۵ تا دستور به راحتی میتونید swap افزایش دهید یا ایجاد کنید.گام اول، خاموش کردن swap در صورت وجود داشتناگر در حال استفاده از swap هستید باید اول خاموشش کنید تا سیستم ازش موقتا استفاده نکنه تا تنظیمات جدید رو پیاده کنیم.دستور زیر را وارد کنید:sudo swapoff -aگام دوم، ایجاد یا افزایش swapبرای افزایش swap با استفاده از dd  سعی میکنیم حجم این فایل رو با داده های صفر پر کنیم!!!(فرقی نمیکند این فایل از قبل وجود داشته یا برای اولین بار ایجاد میکنید، اگر نباشه این دستور ایجادش میکند)به طور مثال این فایل قبلا ۴ گیگابایت بوده، اما الان میخواهیم به ۸ تا بلوک ۱ گیگابایتی افزایشش بدیم.دستور زیر را وارد کنید:sudo dd if=/dev/zero of=/swapfile bs=1G count=8این دستور چند ثانیه طول میکشه تا کارشو انجام بده!if =  آدرس ورودی اطلاعات، که اینجا قراره صفر تولید کنهof =جایی که باید نوشته بشهbs = سایز بلاکcount = تعداد بلاک هاگام سوم، محدود کردن سطح دسترسیاین فایل باید فقط توسط root قابل خواندن و نوشتن باشد، پس در این بین سطح دسترسی فایل رو با دستور زیر تغییر بدید:sudo chmod 600 /swapfileگام چهارم، فرمت کردن یا راه اندازی محیط Swapخب الان حجمش بزرگتر شده ولی تنظیمات درستی برای نوشتن اطلاعات روش رو نداره، باید درستش کنیم.دستور mkswap اینکارو برای ما میکنه، فقط کافیه بهش آدرس فایل swap رو بدیم.دستور زیر را وارد کنید: https://virgool.io/p/qfryt61cxpzu/sudomkswap/swapfile sudo mkswap /swapfileگام پنجم، روشن کردن swapنحوه روشن کردن با خاموش کردن یکمی متفاوته، برای روشن کردنش باید آدرس فایل رو بدید.با استفاده از دستور swapon.دستور زیر را وارد کنید:sudo swapon /swapfileنیازی به restart نیست.تبریک، الان صاحب ۸ گیگ فضای کمکی شدید، البته اگر انقدر فضا روی هارد ssd داشته باشید!برای بررسی دستور زیر را بزنید، تا مشخصات آن را ببینید.sudo swapon --showتوجه داشته باشید که این تنظیمات موقتی هستند، یعنی اگر سیستم شما reboot بشه swap از کار میافته،‌برای این که سیستم همیشه یادش بمونه از اون فضا استفاده کنه باید تو یه فایلی که سیستم عامل همیشه موقع راه اندازی خودش بهش نگاه میکنه آدرس رو بهش یادآوری کنید.این فایل رو با یک ویرایشگر باز کنیدsudo nano /etc/fstabآدرس فایل و نوعش رو در آخر فایل بهش اضافه کنید:/swapfile                                 swap            swap    defaults          0       0اگر براتون سوال پیش اومد یا پیشنهاد بهتری برای انجام دادن این روند ها دارید این پایین درمیون بزارید.زنده باد دانش!</description>
                <category>امین خوش زحمت</category>
                <author>امین خوش زحمت</author>
                <pubDate>Fri, 03 May 2019 22:48:51 +0430</pubDate>
            </item>
                    <item>
                <title>چرا لینوکس و از کجا شروع کنیم؟</title>
                <link>https://virgool.io/@aminkhoshzahmat/%DA%86%D8%B1%D8%A7-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%88-%D8%A7%D8%B2-%DA%A9%D8%AC%D8%A7-%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D9%86%DB%8C%D9%85-wlvkwybhqokt</link>
                <description>اگر از کودکی تا به حال به غیر از سیستم عامل ویندوز با هیچ سیستم عامل دیگری کار نکردید این مقاله برای شماست!احتمالا اطراف شما دوست و یا همکارانی وجود دارند که با یکی از توزیع های لینوکس رو سیستم خودشون دارند کار میکنند و پیش خودتون میگید چه محیط ناشناخته و پیچیده ای داره، چقدر دستورات خطی وارد می کنند و کلی متن رو صفحه چاپ میشه، چقدر کارهای عجیبی میکنند که ما اصلا تو ویندوز دست به خط فرمان نمی زنیم (command prompt) مگر اینکه چندتا دستور خیلی معروف که از همدیگه شنیده باشیم، به طور مثال یه ping ساده، معمولا ویندوز با محیط گرافیکی و روانی که داره همه ی کارهای مارو انجام میده، فقط کافیه چندتا کلیک ساده بکنیم و این خیلی کاربر پسند و البته &quot;عام پسند&quot; هست.خب چرا کاربران ویندوز انقدر زیادن، آیا این آمار داره میگه که ویندوز بهتر از همه سیستم عامل های دیگست؟ در واقع بحث بهتر و بدتر بودن نیست، تعصبی نباید در میان باشه، چون هر سیستم عاملی برای یک عده از کاربران مناسب تره.کار با ویندوز برای همه کاربران سیستم های خانگی و حتی کاری راحت هست در واقع هدف ویندوز در سادگی محیط کاربریش هست و البته شاید این سادگی برای این باشد که ما تا به حال فقط با ویندوز کار کردیم، حسی که وقتی شما یک گوشی اندروید دارید و بعد صاحب یک گوشی اپل میشید؛ واقعا براتون گیج کنندست دو روز اول، اما با کلنجار رفتن با محیط اون سیستم عامل متوجه میشید که چقدرم باحاله!یه مثال بد ولی جالب، تصور کنید که شخصی که تا به حال جز سیب زمینی برای تغذیه خودش هیچ مواد غذایی دیگه ایی نداشته و همیشه فکر میکرده فقط سیب زمینی هست که وجود داره و بدون اون نمیشه زنده ماند! اما یک روز یکی از دوستانش براش ماکارونی با گوشت  و سبزی معطر میاورد، آن شخص در قدم اول هیچ ایده ندارد که آیا این غذا اصلا مفید هست؟ چقدر به من کمک میکنه از لحاظ انرژی و ...؟ اصلا چطوری میشه خوردش؟ ( به خاطر رشته رشته بودنش)...خب اگر این شخص ماکارونی رو تجربه کنه، به احتمال زیاد خیلی کمتر دیگه سیب زمینی آب پز بخوره، چون تاحالا چیزی جز سیب زمینی ندیده بود یا حتی تجربش نکرده بوده، هدف این نیست که بگیم ویندوز مثل سیب زمینی هست و لینوکس فوق العاده، نه میخواهیم به این نکته برسیم که نترسید و سیستم عامل های دیگه رو تجربه کنید، که پیشنهاد من لینوکس هست!نماد سیستم عامل لینوکس رو با این تصاویر احتمالا دیده ایدخب تا اینجا یه سلامی هم بکنم، امین خوش زحمت هستم توسعه دهنده وب و عاشق لینوکس، ملقب به وب پندار در خدمت شما که دارید به لینوکس فکر میکنید و در حال کنجکاوی در این زمینه هستید، خب بریم که به اصل مطلب برسیم.حالا اسم لینوکس رو که شنیدید، ممکنه براتون سوال پیش آمده باشه که اون GNU پس چی هست؟ وبا نماد پنگوئن بیشتر دیدم اما اون گوزن یالدار دیگه چیه؟ در یک مقاله دیگه ایی به این داستان هم میرسیم.میرسیم به جایی که حالا واقعا چرا لینوکس؟ و من هم میگم تا زمانی که تجربه اش نکردید نمی تونید بگید چرا!اتفاقی که برای شمایی که همیشه از ویندوز استفاده کردید ممکنه بیافته اینه که شمارو تنبل میکنه، ویندوز از شما میخواد دستاتونو کثیف نکنید و فقط فرمان بدهید همه چیز به صورت خودکار انجام بشه، اگر شما یک برنامه نویس تحت وب باشید و از زبان PHP استفاده کنید معمولا برای توسعه برنامه خودتون از ابزاری های ترکیب شده از چند برنامه دیگر و تنظیم شده آماده به کاری مثل WAMP استفاده میکنید و شما شروع به استفاده از این محیط می کنید، خب اینکه شاید خوب باشه و وقت رو میخره! شاید وقت رو بخیره براتون اما شما اصلا متوجه این موضوع نشدید که نصب این نرم افزار ها و تنظیم کردن(config) آن ها به چه صورت اتفاق افتاده است، اما WAMP یک برنامه که برای خود ویندوز نیست! درسته اما ابزار هایی تهیه شدند که بر اساس این تفکر که &quot; تو بهش فکر نکن، من برات تهیه میکنم و تنظیمش میکنم و فقط استفاده کن&quot;.تجربه ایی که من وقتی وارد دنیای لینوکس شدم بدست آوردم این بود که این تفکر از بین میبره، ازتون میخواد دستاتونو کثیف کنید، به چالش میکشه شمارو، به فکر میبره و شما با خیلی از اجزا برنامه هاتون آشنا میشید و حتی دوست! از اینکه خودتون یاد میگیرید چطوری نرم افزار های مثل PHP, MySQL, Apache, Nginx و ...نصب و تنظیم کنید لذت میبرید و در کنار این ها شما با ترمینال سرکله میزنید و دیگه فقط با یه محیط گرافیکی بسیار ساده و روان کار نمیکنید، شما این اعتماد به نفس را بدست می آورید که من هر چیزی رو میتونم نصب کنم و تنظیمش کنم به روش دلخواه خودم و ازش استفاده کنم!دچار این سو برداشت نشید که با ویندوز نمیشه این کار هارو کرد، قطعا میشه، اما به عنوان یه برنامه نویس تجربه ایی که از این سیستم عامل بدست آوردم به اشتراک گزاشتم و اون این بود که تجربه کنید و از محیط امنتون بیاید بیرون.ازکجا شروع کنیم؟ سیستم عامل لینوکس یه تاریخچه جالبی داره که یکمی هم زیاده و تو یه مقاله دیگه بهش میپردازم، اما برای شروع  باید بدونید که این سیستم عامل متن باز هست، یعنی مانند ویندوز برای استفاده ازش نباید پول پرداخت کنید و براحتی میتونید دانلود و روی سیستم خودتون نصب کنید.یه جا گفتیم توزیع های لینوکس، درسته؟ خب همونطور که متن باز هست یعنی همه میتوانند کد منبع این سیستم عامل دانلود کنند و کدهای اون تغییر بدهند و در اختیار عموم قرار بدهند و آن ها هم ازش استفاده کنند، یعنی هر کسی میتونه برای خودش سیستم عامل لینوکس خودش رو انتشار بده و اسم خودش یا شرکتش روش بزاره، این شد یک توزیع از لینوکس!خیلی از شرکت ها در زمان قدیم و حتی الان درحال توسعه سیستم عامل های لینوکسی خودشان بودند و هستند، به طور مثال شرکت Canonical که سیستم عامل Ubuntu تهیه کرده و خودش از سیستم عامل دیگری مشتق شده است به نام Debian! اینجا میتونید یه نگاه به توزیع های مختلف لینوکس بندازید.برای اینکه با سیستم عامل های لینوکسی شروع به کار بکنید منابع بسیار زیادی توی اينترت وجود داره، یا حتی کتاب و دوستان! یکسری از توزیع ها برای کسانی که تازه وارد هستند بسیار مناسب تر هست مانند Ubuntu, Mint, Elementry و... که من  Ubuntu رو پیشنهاد میکنم. اگر وقت کند و کاو برای یادگیری ندارید که جستجو کنید و بگردید تا خودتان یاد بگیرید می تونید کلاس های آموزش از پایه ثبت نام کنید که حتی به شما مدارک رسمی از کانادا هم می دهند! اگر در این مورد بیشتر سوال داشتید بپرسید.ویندوز رو یک شبه پاک نکنید و جاش یه سیستم عامل لینوکسی نصب کنید! چون تا با لینوکس راه بیافتید یکمی زمان میبره و از طرفی زده میشید، در کنار ویندوز نصبش کنید و کم کم باهاش کار کنید و بهش چیره بشید، اگر اهل بازی های کامپیوتری هم هستید که ویندوز حتما نگه دارید، چون بازی های کامپیوتری برای سیستم عامل های لینوکسی همچین تعریفی نداره!سوال پیش میاد خود هسته لینوکس کی نوشته؟ اینم باشه برای مقاله ای که توش به تاریخچه میپردازیم.اما این اسم ها رو شنیده باشید خوبه :‌ Richard Stallman, Linus Torvalds, Andrew S. Tanenbaumخیلی از عاشقان لینوکس میگن که نگید Linux،  بگید GNU/Linux درواقع میخوان اسم کاملش رو بگن، چون تمام زحمات این سیستم عامل قوی رو یک نفر متحمل نشده و اسم گذاری ها باید منصفانه باشه، سیستم عامل های لینوکسی توسط جمعی از نخبگان نوشته شده و بسیاری از برنامه نویسان با اخلاقی که به رایگان این سیستم عامل رو توسعه دادند.خب این موضوع در اینجا به پایان میرسه و ادامش در مقاله بعدی خواهد بود.شما هم تجربه من رو داشتید؟ اگر نظر یا پیشنهادی دارید برای من و دیگران بنویسید.( این هم اکانت من در لینکداین هست https://www.linkedin.com/in/amin-khoshzahmat-18165182/)زنده باد دانش.</description>
                <category>امین خوش زحمت</category>
                <author>امین خوش زحمت</author>
                <pubDate>Wed, 17 Oct 2018 14:43:19 +0330</pubDate>
            </item>
            </channel>
</rss>