کدنگار

وبلاگ شخصی علی رشیدی

کدنگار

وبلاگ شخصی علی رشیدی

طبقه بندی موضوعی
بایگانی
پیوندها

به وبلاگ شخصی من خوش آمدید!

یادداشت ها و نوشته های شخصی، آموزش ها و ... خودم رو اینجا میذارم. پیدا کردنشون هم آسونه، دسته بندی موضوعی رو نگاه کنید!

کپی با ذکر منبع بلامانع است.

این وبلاگ از جای دیگری کپی نمیکند.

اوقات خوشی را برایتان آرزومندم.

.:*علی رشیدی*:.

۵ نظر موافقین ۱ مخالفین ۰ ۱۰ خرداد ۹۵ ، ۱۵:۳۲
علی رشیدی

در این قسمت در ادامه مبحث کار با فایل ها به بررسی انواع لینک ها و روش ایجاد آن در لینوکس میپردازیم

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ مرداد ۹۵ ، ۱۶:۲۹
علی رشیدی

تازگی ها مشکل جدیدی پیش اومده به اسم " آشنایی نوب ها با "متن باز"" که در این پست کمی آنرا بررسی میکنیم.

۱ نظر موافقین ۰ مخالفین ۰ ۰۸ مرداد ۹۵ ، ۱۰:۱۸
علی رشیدی

با درود!


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


@Ali_RNT_Blog

۰ نظر موافقین ۰ مخالفین ۰ ۲۷ تیر ۹۵ ، ۱۷:۲۰
علی رشیدی

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

۰ نظر موافقین ۰ مخالفین ۰ ۰۸ تیر ۹۵ ، ۱۹:۳۹
علی رشیدی

یه برنامه ی ساده نوشته شده با ++C برای اینکه مباحث اساسی شی گرایی رو بهتر بفهمید. هر گونه سوالی در زمینه ی کامپایل و عیب یابی داشتید در بخش نظرات اعلام کنید.


دانلود سورس برنامه


دانلود فایل اجرایی برای لینوکس (فایل های uit باید در کنار فایل اجرایی باشند)


دانلود فایل اجرایی ویندوز (فایل های uit باید در کنار فایل اجرایی باشند)

۱ نظر موافقین ۱ مخالفین ۰ ۱۸ خرداد ۹۵ ، ۱۱:۲۳
علی رشیدی

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

۰ نظر موافقین ۱ مخالفین ۰ ۱۵ خرداد ۹۵ ، ۰۹:۳۹
علی رشیدی

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

۰ نظر موافقین ۱ مخالفین ۰ ۱۱ خرداد ۹۵ ، ۱۳:۳۱
علی رشیدی

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

۰ نظر موافقین ۱ مخالفین ۰ ۱۱ خرداد ۹۵ ، ۰۹:۰۴
علی رشیدی

ورود به سیستم و خروج از آن (Login and Logout)


یک کامپیوتر ممکن است یک یا چند کاربر داشته باشد، که مواردی از قبیل تنظیمات، برنامه‌های پیشفرض، … برای آن‌ها متفاوت است. بنابراین هر بار که رایانه را روشن میکنید، کامپیوتر باید بداند که شما که هستید (کدام کاربر هستید) یا بهتر بگویم، باید به سیستم وارد شوید (Login کنید)
سپس شما میتوانید به کار با رایانه بپردازید. پس برای کار با رایانه نیاز به یک نام کاربری (Username) و رمز عبور (Password) دارید. فردی که سیستم شما را راه اندازی کرده (یا خود شما) احتمالاً شما را به عنوان یک کاربر ثبت کرده و یک نام کاربری(مثلا ali_rnt) و رمز عبور(مثلا ascvdfg) به شما داده است.

ورود به حساب از طریق محیط گرافیکی

این روزها اکثر توزیع‌های لینوکسی برای ورود به حساب از یک محیط گرافیکی استفاده میکنند که شما به راحتی میتوانید کادر های مربوط به نام کاربری و رمز عبور را پر کنید تا به سیستم وارد شوید. بعد از وارد کردن اطلاعات خواسته شده و ورود به حساب، یک نشست (Session) گرافیکی برای شما اجرا می‌شود و میتوانید به راحتی از سیستم استفاده کنید. برخی توزیع‌ها از مدیریت نشست (Session management) پشتیبانی میکنند، یعنی میتوانند هنگامی که مجدداً وارد حسابتان می‌شوید برنامه‌هایی که آخرین بار در حال اجرا بوده‌اند بازگردانی کنند.

خروج از حساب به وسیله ی محیط گرافیکی

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

ورود به حساب از طریق کنسول متنی

برخلاف اکثر دسکتاپ ها، سرور ها اغلب از رابط گرافیکی استفاده نمیکنند و برای ورود یک پیغام شبیه به این روی صفحه ظاهر میشود:

Computer Login:



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

:Password

حالا نام کاربری خود را وارد کنید و اینتر را بزنید. نکته‌ای که باید به آن توجه کنید این است که هنگام وارد کردن رمز، برخلاف محیط گرافیکی، حتی کاراکتری مانند * هم نمایش داده نمیشود و به نظر میرسد که شما چیزی نمینویسید، اما اینطور نیست.

خروج از حساب در کنسول متنی

کافیست بنویسید:
logout

محیط های گرافیکی دسکتاپ (Graphical Desktop Environments)

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

بر خلاف سیستم عامل هایی مانند ویندوز و OS X که از یک محیط گرافیکی دسکتاپ رسمی استفاده میکنند، در لینوکس میتوانید هر کدام از محیط های گرافیکی دسکتاپ موجود را که دوست دارید انتخاب کنید. برخی از آن‌ها را در اینجا معرفی میکنیم:

گنوم و KDE محیط های دسکتاپ (Desktop Environment) هستند که قصد دارند مجموعه‌ای از نرم‌افزار هارا با حس و حالی مشابه ارایه دهند. مثلاً در KDE مجموعه برنامه‌هایی مانند Amarok و Dolphin ارائه میشود. هدف این دو محیط دسکتاپ آن است که کاربر با استفاده از آن‌ها تجربه‌ای قابل قیاس با سیستم عامل های دیگر داشته باشند. آن‌ها قابلیت‌هایی خلاقانه به دسکتاپشان اضافه میکنند، مانند جستجوی معنایی (Semantic Search) در KDE که در پشت صحنه (Background) مشغول فهرست گیری از فایل‌های روی دیسک می‌شود تا راحت‌تر بتوانید جستجویشان کنید و به آن‌ها دسترسی داشته باشید. KDE بر روی ارائه قابلیت‌های فراوان برای راحتی کاربران تمرکز دارد، در حالی که گنوم سادگی و کاربردی بودن را به کاربران ارائه میدهد.

LXDE و XFCE دو محیط گرافیکی سبک هستند. آن‌ها همان قابلیت‌های KDE و GNOME را ارائه میدهند اما بیشتر روی استفاده ی بهینه از منابع سیستم توجه دارند.

حتی اگر دو توزیع متفاوت از یک محیط دسکتاپ یکسان استفاده کنند، ممکن است در ظاهرشان تفاوت‌هایی دیده شود زیرا اکثر محیط های گرافیکی دسکتاپ (که از این به بعد به اختصار به آنها DE میگوییم) به کاربران اجازه میدهند تا آن‌ها را دستکاری و جلوه‌های گرافیکی و تم های آن‌ها را تغییر دهند.

اکثر DE ها یک نوار کنترل دارند که معمولاً شامل یک دکمه مانند دکمه استارت ویندوز و برنامه‌های مهم است و به کمک آن میتوانید بین برنامه‌های باز شده سوییچ کنید. در KDE این نوار ها پنل نام دارند و طراحی آن‌ها زیاد تفاوتی با ویندوز ندارد. اما در گنوم کاملاً متفاوت است.

همچنین هر DE یک فایل منیجر به‌خصوص دارد که اصلی‌ترین و حداقل امکاناتی که در اختیار میگذارد مرور فایل‌های روی دیسک، حذف، انتقال، تغییر نام و … مباشند. در KDE برای مثال به طور پیش‌فرض دلفین (Dolphin) و در اوبونتو ( یونیتی) nautilus مورد استفاده قرار میگیرند.

یک ویژگی مهم که در OS X و ویندوز نمیبینید پشتیبانی از دسکتاپ های مجازی است (Virtual Desktops). با استفاده از این قابلیت شما میتوانید چندین دسکتاپ همزمان داشته باشید و به راحتی بین آن‌ها سوییچ کنید، برای مثال خود من معمولاً مرورگر یا PDF های آموزشی رو روی یه دسکتاپ باز میکنم و کارای کد نویسیو تو یه دستاپ دیگه انجام میدم.

مرورگر های وب

خوشبختانه اکثر مرورگر های محبوب وب، اپن سورس و رایگان اند و برای لینوکس موجودند، مانند فایرفاکس و اپرا. همچنین گوگل کروم، که نسخه ی اپن سورس آن به نام کرومیوم (Chromium) را میتوانید در توزیع خود پیدا کنید.

۰ نظر موافقین ۱ مخالفین ۰ ۱۰ خرداد ۹۵ ، ۱۹:۵۷
علی رشیدی

توزیع های مهم لینوکس، تفاوت میان توزیع‌ها

توزیع‌های مهم لینوکس

اگر شخصی بگوید که روی رایانه اش «لینوکس» اجرا میکند، معمولاً منظورش این نیست که کرنل را به تنهایی اجرا میکند، بلکه منظورش این است که یک محیط نرم افزاری بر پایه لینوکس را اجرا میکند که به آن یک توزیع لینوکس میگویند، که معمولاً شامل پوسته (bash)، ابزار های خط فرمان که معمولاً مربوط به پروژه GNU‌هستند، سرور گرافیک X.Org و یک محیط دسکتاپ مانند KDE و Gnome، و چندین نرم‌افزار ضروری مانند مرورگر وب، ابزار های آفیس و … میباشد.

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

نخستین توزیع های لینوکس در اوایل ۱۹۹۲ تولید شدند، که البته همه ی آن‌ها متوقف و فراموش شده اند. قدیمی ترین توزیعی که همچنان نیز فعال است، Slackware میباشد که در جولای ۱۹۹۳ برای نخستین بار منتشر شد.

برای اطلاعات بیشتر در مورد توزیع‌های لینوکسی میتوانید به وبسایت Distrowatch.com مراجعه کنید.

رد هت (Red Hat)

ردهت در ۱۹۹۳ توسط ACC Corporation پایه گذاری شد. در ۱۹۹۵، باب یانگ، بنیان گذار شرکت، سهام Marc Ewing را که در ۱۹۹۴ توزیعی به نام Red hat Linux را منتشر کرده بود خریداری کرد، و نام شرکت را به Red Hat Software تغییر داد. در ۱۹۹۹ ردهت عمومی شد و و هم‌اکنون میتوان از آن به عنوان یکی از بزرگترین شرکت هایی که بر پایه لینوکس و نرم‌افزار آزاد میباشد یاد کرد. ردهت تا ۲۰۰۴ به انتشار Red Hat Linux ادامه داد و پس از آن، شروع به انتشار Red Hat Enterprise Linux یا همان (RHEL) کرد.این توزیع پولی است( اما اپن سورس) و بیشتر در سرور ها و مراکز اطلاعاتی استفاده میشود.

فدورا

فدورا تقبا توسط ردهت کنترل می‌شود و بیشتر از آن برای تست قابلیت‌های جدید استفاده میشود. برنامه‌ها و ایده‌هایی که در فدورا نمایان میشوند، ممکن است دیر یا زود به RHEL اضافه شوند. فدورا برعکس رد هت، پولی نیست و برای دانلود رایگان ارائه میشود. پروژه فدورا توسط کمیته ای مدیریت میشود. اعضای این کمیته توسط جامعه ی توسعه دهندگان و ردهت انتخاب میشوند.

درست است که ردهت تحت لایسنس FOSS که بسیار شبیه به GPL است ارائه میشود، اما میتوان یک سیستم را توزیعی که بر پایه ردهت است اداره کرد، مانند CentOS و scientificLinux که کاملاً بر پایه ردهت هستند اما تمامی برند های ردهت را از خود حذف کرده اند. یعنی میتوانید همان توزیع ردهت را دقیقاً داشته باشید، اما بدون بهره مندی از پشتیبانی رسمی رد هت. البته جا دارد بگویم که توزیع‌های لینوکسی از انجمن‌های اینترنتی قوی برخوردارند که میتوانید سوالاتتان را آنجا مطرح کنید.

دبیان

این توزیع با همکاری داوطلبانی از سراسر دنیا تولید می‌شود (برخلاف توزیع ردهت که توسط کمپانی حمایت میشود). در ۱۶ آگوست ۱۹۹۳ توسط یان مورداک منتشر شد و نام آن ترکیبی از نام خود او و دوست دخترش دبرا بود. روی این پروژه تا کنون بیش از ۱۰۰۰ داوطلب کار کرده اند. در هر زمان حداقل سه نسخه از این توزیع موجود است:

پکیج های جدید و تصحیح شده در شاخه ی unstable (ناپایدار) قرار دارند. هر پکیجی که پس از مدتی در آن خطایی مشاهده نشود، در شاخه ی testing قرار میگیرد و به طور کامل بررسی می‌شود و سرانجام به شاخه ی stable کپی میشود. بنابراین فاصله ی زمانی میان دو نسخه ی stable خیلی طولانی است، گرچه برخی آنرا یک مزیت میدانند. این پروژه آزادی‌های زیادی را برای توسعه دهندگان به همراه دارد که آنرا برای پایه ی یک توزیع بسیار مناسب میکند.

اوبونتو

یکی از معروفترین توزیع‌ها بر پایه ی دبیان است که توسط کمپانی بریتانیایی کانونیکال منتشر میشود. هدف آن ارائه ی توزیعی مدرن، پر قابلیت و آسان است که کار با آن برای همه راحت باشد. اوبونتو بر اساس شاخه ی unstable دبیان منتشر می‌شود و اکثر پکیج های دبیان را استفاده میکند، گرچه پکیج های دبیان و اوبونتو از لحاظ ساختاری کاملاً همسان نیستند. اوبونتو در یک چرخه شش ماهه نسخه های جدیدش را منتشر میکند، و هر دوسال یکبار یک نسخه ی LTS (Lont-term support) را منتشر میکند که تا پنج سال پشتیبانی میشود.

دیگر توزیع‌ها

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

تفاوت‌ها و شباهت‌های توزیع‌ها

با وجود اینکه توزیع‌های زیادی از لینوکس وجود دارند، اما تقریباً تمامی آن‌ها برای کار های روزمره به هم شبیه اند. برای مثال، اکثر آن‌ها از bash به عنوان خط فرمان استفاده میکنند. همچنین برخی استاندارد ها نیز از رشد بیرویه تعداد توزیع‌های لینوکسی جلوگیری میکنند. مانند FHS (Filesystem Hierarchy standard) یا LSB (Linux Standard Base) که ویژگی‌هایی مانند ساختار درختی فایل در لینوکس را شامل می‌شوند و به توسعه دهندگان کمک میکنند تا برنامه هایشان را برای بسیاری از توزیع‌های لینوکس تولید کنند، بدون آنکه نیاز باشد به تفاوت‌ها در سیستم فایل و غیره توجهی داشته باشند.

اما تفاوت‌هایی نیز هست، که مهم ترینشان مدیریت بسته ها (Package management) میباشد. عملیاتی مانند حذف و نصب پکیج ها، که بسته به قالب بندی (فرمت) پکیج به طور متفاوتی انجام میگیرد. برای مثال توزیع دبیان از پکیج های deb و مدیر بسته ی dpkg استفاده میکند و ردهت از پکیج های rpm و مدیر بسته ای به همین نام استفاده میکند. هیچ یک از این مدیر بسته ها از دیگری قویتر نیستند، اما علت اصلی تفاوت توزیع‌های پایه، و توزیع‌های مشتق آنها، همین تفاوت در مدیر بسته هاست. برای مثال، SUSE و فدورا که از ردهت مشتق شده‌اند از rpm و اوبونتو و مینت که از دبیان مشتق شده‌اند از dpkg استفاده میکنند.

۱ نظر موافقین ۲ مخالفین ۰ ۱۰ خرداد ۹۵ ، ۱۹:۵۱
علی رشیدی