ترمینالquteآموزش

ترمینالquteآموزش
میشه مثل فیلم In Time
ثروت مندا میلیون ها سال عمر میکنن
فقیر ها هر روز دستو پا میزنن برای بدست آوردن کمی زمان برای زنده موندن.
ای بابا فک کردم نوشته core-m اینتل رو میگه تا وسطاش رفتم میگم خدایا آرم چی میگه این وسط :lol:
منم میگم لینوکس اصلا خوب نیست.کار هم کردم.
لینوکس فقط خط فرمان نیست . ولی هرکاری بخوای بکنی به ترمینال و خط فرمان و. وابسته س. اینو نمیتونی انکار کنی.
[quote]اگه کپی رایت تو ایران بود الان 99 درصد ایرانیا همون XP داشتن.
[/quote]
اگه تو ایران حقوق ها ترمینالquteآموزش و وضع مالی مردم خوب بود دیگه کرک هم وجود نداشت.در ضمن شما فک میکنی لینوکس وقتی سهم بگیره شرکتای بزرگ صلواتی واسش برنامه میدن؟
[quote]تو همه دنیا از ویندوز 8 استقبال نشده ولی ماشالله تو ایران خیلی طرفدار داره اگه مایکروسافت بدونه کادو خوبی بتون میده
[/quote]
ویندوز 8 دو برابر مک و 10-15 برابر لینوکس سهم داره تو دسکتاپ :-)
[quote]چه اشکال داره؟ هم سواد خودت بالاتر میره هم خیلی لذت بخشه اصلا هر کس یه مدت با ترمینال لینوکس کار کنه عاشقش میشه ![/quote]
اشکالش اینه سال 198x اونموقع ها سیستم عامل رابط متنی داشت! در ضمن ترمینالquteآموزش کد های ترمینال واضح نیستن و قابل حفظ یا یاد گرفتن نیستن. مثل همون کد Bash!
[quote]در ضمن دستورات روزمره لینوکس برای یه کاربر عادی کلا 40 تا نمیشن یعنی کنار اومدن با خط فرمان اینقدر برا شما سخته؟؟[/quote]
برای ویندوز صفره! یه کد های عجیب غریبی وجود داره حالم از لینوکس بهم خورد.
[quote]
ویندوز هر 3سال میاد . یعنی اگه وضع مردم خوب باشه هر 3 سال نمیتونن یه ویندوز جدید بخرن؟این دیگه واقعا مسخرس!
درضمن کشور ما از پایه مشکل داره. وزارت فرهنگ و ارشاد!! ما که به برنامه های کرکی خیلی قشنگ مجوز میده! دیگه حساب کن دیگه
[quote]دوست من. وقت خودت رو با آدمایی که بلد نیستن با لینوکس کار کنن تلف نکن.
[/quote]
جز این چی میتونی بگی؟
[quote]اینجا هم پست ویندوزه. خواهشا دیگه در مورد لینوکس توی پست ویندوزی چیزی ننویس که جوری باهات برخورد میکنن که انگار ارث پدرشون رو خوردی.[/quote]
حرف بی منطق جواب بد میگیره :-)
حذف فایل در لینوکس از طریق ترمینال — راهنمای کاربردی
برای حذف فایل در لینوکس روشها و دستورات مختلفی وجود دارد. دستورهای rm و rmdir به ترتیب برای حذف فایل و دایرکتوریهای لینوکس، macOS و دیگر سیستمهای عامل شبه یونیکس استفاده میشوند. این دستورها مشابه دستورهای del و deltree در ویندوز و DOS هستند. دستورهای حذف فایل و دایرکتوری بسیار قدرتمند هستند و چندین گزینه مختلف دارند.
لازم به ذکر است که فایلها و دایرکتوریهایی که با استفاده از دستورهای rm و rmdir پاک میشوند به سطل زباله انتقال نمییابند. این موارد بیدرنگ از روی رایانه حذف میشوند. اگر به صورت تصادفی فایلها را با استفاده از این دستورها حذف کنید، تنها راه برای بازیابی آنها از طریق نسخه پشتیبان خواهد بود.
حذف فایل در لینوکس با دستور rm
سادهترین روش برای حذف کردن یک فایل منفرد در دایرکتوری جاری استفاده از دستور rm است. بدین منظور عبارت rm و سپس یک فاصله و در ادامه نام فایلی که میخواهید حذف کنید را بنویسید:
اگر فایل در دایرکتوری جاری نباشد، میتوانید مکان آن را تعیین کنید:
امکان درج نام بیش از یک فایل در دستور rm وجود دارد. بدین ترتیب همه فایلهای ذکر شده حذف خواهند شد.
با استفاده از کاراکترهای «وایلدکارد» (Wildcards) میتوان گروهی از فایلها را به صورت جمعی حذف کرد. در این روش کاراکتر * نشاندهنده وجود چندین کاراکتر در نام فایل و ? نشاندهنده وجود یک کاراکتر منفرد (هر کاراکتری) است. برای نمونه دستور زیر همه فایلهای تصویر png را در دایرکتوری کاری فعلی پاک میکند:
دستور زیر همه فایلهایی را که پسوند آنها تکحرفی است حذف میکند. برای مثال این دستور میتواند فایلهایی به صورت File.1 و File.2 را حذف کند؛ اما فایل F.12 پاک نخواهد شد.
اگر فایلی به صورت «غیر قابل نوشتن» (write-protected) تنظیم شده باشد، قبل از حذف کردن فایل هشداری نمایش مییابد. در این موارد باید با وارد کردن حرف y یا n که به ترتیب نشاندهنده موافقت یا مخالفت شما با حذف فایل است، نظرتان را اعلام کرده و کلید Enter را بزنید.
برای کاستن از ریسک استفاده از دستور rm به همراه کاراکترهای وایلدکارد میتوانید از گزینه i- به معنی «تعاملی» (Interactive) استفاده کنید. به این ترتیب حذف تکتک فایلها به تأیید شما نیاز خواهد داشت:
گزینه f- که اختصاری برای عبارت «اجباری» (force) است، معکوس گزینه تعاملی که در بخش فوق اشاره کردیم، عمل میکند. این گزینه حتی در صورتی که فایلهای به صوت غیر نوشتنی تنظیم شده باشند، هشداری نمایش نخواهد داد.
حذف دایرکتوریها در لینوکس با دستور rm
برای حذف یک دایرکتوری خالی، باید از گزینه d- که اختصاری برای عبارت «دایرکتوری» (directory) است، استفاده کنید. امکان بهرهگیری از کاراکترهای وایلدکارد (* و ?) در نامهای دایرکتوریها همانند روشی که در مورد نامهای فایلها اشاره کردیم، نیز وجود دارد.
برای حذف کردن بیش از یک دایرکتوری، میتوانید نام هر چند دایرکتوری که میخواهید حذف شوند را به صورت پشت سرهم وارد کنید.
برای حذف دایرکتوریهایی که خالی نیستند، باید از گزینه r- به معنی «بازگشتی» (recursive) استفاده کنید. این گزینه دایرکتوریها و همه فایلها و دایرکتوریهای فرعی داخل آن را پاک میکند.
فایل یا دایرکتوری غیر نوشتنی
اگر یک دایرکتوری یا یک فایل به صورت «غیر نوشتنی» تنظیم شده باشد، در مورد تأیید حذف آنها از شما سؤال پرسیده میشود. برای حذف دایرکتوریهایی که خالی نیستند و عدم نمایش این اعلان هشدار، میتوانید از گزینههای r- و f- به صورت همزمان استفاده کنید.
در مورد استفاده از دستور فوق کاملاً باید هوشیار باشید. اگر در هنگام استفاده از دستور rm –rf اشتباهی مرتکب شوید، ممکن است دادهها به کلی از دست بروند و یا سیستم از کار بیفتد. این دستور خطرناکی است و بهترین تدبیر این است که کاملاً هوشیارانه از آن استفاده کنید. برای این که درکی از ساختار دایرکتوری و فایلهایی که به وسیله دستور rm -rf حذف خواهند شد، به دست بیاورید، از ترمینالquteآموزش دستور tree استفاده کنید.
اگر tree روی سیستم شما نصب نیست، میتوانید از apt-get برای نصب این پکیج روی سیستمهای اوبونتو یا مبتنی بر دبیان استفاده کنید. روی دیگر توزیعهای لینوکس نیز میتوانید از ابزارهای مدیریت بسته مربوطه استفاده کنید.
اجرای دستور tree یک نمودار ساده فهم از ساختار دایرکتوریها و فایلهای درون آن دایرکتوریها ارائه میکند:
همچنان میتوان یک مسیر برای این دستور تعیین کرد تا این درخت از مبدأ دایرکتوری دیگری روی فایلسیستم ترسیم شود.
دستور rm گزینههایی به صورت one-file-system ،–no-preserve-root ،–preserve-root– نیز دارد؛ اما استفاده از این گزینهها صرفاً به کاربران حرفهایتر توصیه میشود، چون اگر هر گونه اشتباهی مرتکب شوید، ممکن است همه فایلهای سیستم را پاک کنید. برای کسب اطلاعات بیشتر در این خصوص به صفحه راهنما (+) مراجعه کنید.
حذف دایرکتوریها در ترمینال لینوکس با دستور rmdir
دستور دیگری به نام rmdir نیز وجود دارد که با استفاده از آن میتوان دایرکتوریها را حذف کرد. تفاوت بین rm و rmdir این است که rmdir تنها میتواند آن دایرکتوریهایی را حذف کند که خالی هستند. این دستور هرگز فایلها را پاک نمیکند.
سادهترین استفاده از دستور rmdir برای حذف یک دایرکتوری منفرد است. همانند دستور rm میتوانید نام چنین دایرکتوری را به rmdir بدهید یا این که مسیر دایرکتوری را وارد کنید.
با ارسال نام دایرکتوری به دستور rmdir میتوانید یک دایرکتوری خالی را در مسیر جاری حذف کنید:
امکان حذف چندین دایرکتوری با ارسال فهرستی از نامها به دستور rmdir وجود دارد:
یک دایرکتوری را که ترمینالquteآموزش در دایرکتوری جاری قرار ندارد با تعیین مسیر کامل آن میتوانید حذف کنید:
اگر تلاش کنید پوشهای را که خالی نیست حذف کنید، rmdir پیام خطایی نمایش میدهد. در مثال زیر rmdir با موفقیت و بدون نمایش خطا دایرکتوری clients را حذف میکند؛ اما امکان حذف دایرکتوری Projects وجود ندارد ، چون شامل چندین فایل است. دایرکتوری Projects دقیقاً همچنان که بود باقی میماند و فایلهای درون آن دستنخورده میمانند.
حذف دایرکتوریهای خالی
زمانی که rmdir یک خطای «Directory not empty» نمایش میدهد، پردازش دایرکتوریهایی که به خط فرمان ارسال شدهاند متوقف میشود. اگر شما از این دستور خواسته باشید که چهار دایرکتوری را حذف کند و دایرکتوری اول شامل فایلهایی باشد، یک پیام خطا نمایش مییابد و کار دیگری صورت نمیگیرد. البته امکان الزام به نادیده گرفتن خطاها با استفاده از گزینه ignore-fail-on-non-empty– وجود دارد و بدین ترتیب دایرکتوریهای دیگر نیز پردازش (حذف) میشوند.
در مثال زیر، دو پوشه به rmdir ارسال شدهاند که work/reports و work/quotes نام دارند. گزینه ignore-fail-on-non-empty– نیز در دستور گنجانده شده است. پوشه فایلهایی در درون خود دارد و از این رو rmdir نمیتواند آن را حذف کند. گزینه ignore-fail-on-non-empty– دستور rmdir را الزام میکند که خطا را نادیده گرفته و به پوشه بعدی یعنی work/quotes رفته و آن را پردازش کند. این یک پوشه خالی است و rmdir آن را حذف میکند.
دستوری که استفاده شده به صورت زیر است:
شما میتوانید از گزینه (پارامتر) p– برای حذف یک دایرکتوری و همچنین حذف دایرکتوریهای والد آن استفاده کنید. دلیل کارکرد صحیح این ترفند آن است که rmdir با دایرکتوری مقصد شروع به کار میکند و سپس به سمت دایرکتوریهای والد حرکت میکند. در این مرحله آن دایرکتوری خالی است و از این رو میتواند به وسیله rmdir حذف شود و این فرایند با حرکت به سمت بالا در سلسلهمراتب دایرکتوریهایی که به دستور rmdir ارسال شدهاند تداوم مییابد.
حذف دایرکتوری والد
در مثال زیر، دستوری که به rmdir ارسال میشود چنین بوده است:
در این دستور هر دو دایرکتوری invoices و work چنان که درخواست شده است، حذف میشوند. چه از Bash یا هر پوسته دیگری استفاده کنید، لینوکس دستورهای قدرتمند و انعطافپذیری برای حذف دایرکتوریها و فایلها از خط فرمان ارائه میکند. برخی افراد ممکن است تمایل داشته باشند تا کار با ترمینال و دستورهای آن را بیشتر و بهتر یاد بگیرند، برخی دیگر احتمال دارد با سیستمهایی سر و کار داشته باشند که فاقد رابط کاربری گرافیکی باشند و یا به صورت ریموت با سروری در ارتباط باشند که فقط میتوانند آن را از طریق ترمینال مدیریت کنند. توضیحاتی که در بالا آمده و دستوراتی که شرح داده شدهاند، برای کلیه این افراد مفید و کاربردی هستند.
در هر حال، با وجود هر گردش کاری که ترجیح میدهید استفاده کنید، این دستورها همه جا در اسکریپتهای شل حضور دارند. اگر یک اسکریپت به وسیله یک cron job اجرا شود، میتواند وظایف روزمره نگهداری از سیستم مانند حذف فایلهای لاگ بیاستفاده را بر عهده بگیرد. اگر چنین کاربردی را میخواهید پیادهسازی کنید، به بهره گرفتن از این دستورهای ترمینال نیاز خواهید داشت و در چنین حالتی باید همه چیز را به دقت تست کنید و همواره یک نسخه پشتیبان بهروز داشته باشید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
آموزش گام به گام پایتون - قسمت اول
در قسمت قبل توضیحاتی کلی در مورد پایتون دادم و خیلی سریع و کوتاه به کد «سلام دنیا!» اشاره کردم. در این قسمت میخوام در مورد مقدمات پایتون بنویسم و کم کم بریم سراغ کد نوشتن.
نوشتن و اجرای کد#
در قسمت قبل، کد «سلام، دنیا!» رو نوشتم ولی توضیحی در مورد اجراش ندادم. کدهای پایتون رو باید در فایلهایی با پسوند py نوشت و بعد به وسیلهی مفسر پایتون کد رو اجرا کرد. برای مثال اگر کد «سلام، دنیا!» رو در فایلی به اسم helloworld.py بنویسیم و ذخیره کنیم، با اجرای این دستور در شِل (ترمینال لینوکس و مک یا پاورشِل ویندوز) میتونیم کد رو اجرا کنیم.
یا میتونید دستور python رو اجرا کنید و در شِل پایتون کد رو خط به خط بنویسد و خط به خط اجرا کنید. این قابلیت برای آزمایش کدهای کوچک و دنبال کردن روند اجرای کد خیلی میتونه مفید باشه.
خوب تا اینجا یاد گرفتیم چجوری یه کد ساده پایتون رو بنویسیم و اجرا کنیم.
متغیرها و تایپها#
تعریف متغیر تو پایتون به سادگی کدهای زیره.
تو پایتون نوع متغیرها نوشته نمیشه و خود مفسر موظفه تا نوعش رو تشخیص بده. تایپهای زیادی تو پایتون داریم که فعلا چند تایپ ساده و پرکاربرد رو معرفی میکنم و بعدا در ادامه با تایپهای بیشتری آشنا خواهیم شد.
دو نوع int و float برای اعداد صحیح و اعشار هستند.
نوع bool هم برای نگهداری درست و غلط.
برای کاراکترها پایتون تایپ str ترمینالquteآموزش رو داره که از یونیکد هم پشتیبانی میکنه. تو پایتون با سه روش میشه متغیر از نوع رشته تعریف کرد.
اگر جایی خواستید با نوع یه متغیر رو بدونید میتونید از تابع type استفاده کنید.
عملگرها#
الان که یاد گرفتیم چجوری متغیر تعریف کنیم، میتونیم بریم سراغ اینکه چجوری از این متغیرها استفاده کنیم.
عملگرهای محاسباتی#
همچنین با یک سری از این عملیاتها رو میشه برای رشته هم انجام داد.
و از اونجایی که True و False در واقع ۱ و ۰ هستند در عملگرهای محاسبهای به عنوان ۱ و ۰ عمل میکنن.
برچسب: کتاب خط فرمان لینوکس
نادیده گرفتن کارکترها یا همان Character Escaping یا عبور از کاراکترها چه معنا و کاربردی دارد ؟ در این بخش به توضیح این مطلب خواهیم پرداخت. نادیده گرفتن کارکترها برخی اوقات ما می خواهیم فقط یک تک کاراکتر را نادیده بگیریم . به این منظور می توانیم به جای کوتیشن از کاراکتر بک اسلش \ …
‘تک کوتیشن’ (Single Quotes) – درس دهم
تک کوتیشن نیز یکی دیگر انواع کوتیشن گذاری می باشد . کاربرد آن در خط فرمان لینوکس چیست ؟ در این مطلب درباره این موضوع گفتگو خواهیم کرد . تک کوتیشن اگر نیاز داشته باشیم که همه بسط ها را نادیده بگیرید از تک کوتیشن ها استفاده می کنیم . این یک مثال مقایسه ای …
دابل کوتیشن Double Quotes
دابل کوتیشن یا همان کوتیشن دوتایی چگونه استفاده می شود ؟ چه کاربردی در خط فرمان لینوکس دارد ؟ در این بخش به شرح موضوع خواهیم پرداخت . دابل کوتیشن اولین نوع از Quoting که آن را بررسی می کنیم دابل کوتیشن می باشد . اگر که متنی را در داخل دابل کوتیشن “” قرار …
کوتیشن گذاری (Quoting)
حتما تاکنون با مفهوم کوتیشن گذاری در موضوعات مختلف آشنا شده اید . کوتیشن گذاری در خط فرمان لینوکس چه کاربرد و معنایی دارد و چگونه استفاده می شود ؟ کوتیشن گذاری اکنون که دیدیم از چه راههایی شل (Shell) می تواند بسط را انجام دهد , زمان این رسیده که یاد بگیریم چگونه آن را کنترل …
جانشینی دستور Substitution Command
جانشینی دستور چه مفهومی است و چه کاربردی می تواند برای ما داشته باشد ؟ در این بار گفتگو خواهیم کرد . جانشینی دستور جانشینی به ما اجازه می دهد تا از خروجی یک دستور به عنوان یک بسط استفاده کنیم : یک مثال مورد علاقه من : در اینجا ما نتایج دستور which cp …
بسط پارامتر parameter expansion
بسط پارامتر چیست ؟ به صورت خلاصه در این درس بسط پارامتر (Parameter Expansion) را توضیح می دهیم و در درس های آتی به طور مفصل این موضوع را پوشش خواهیم داد . بسط پارامتر این یک ویژگی است که بیشتر در اسکریپت های شل (Shell Scripts) کاربرد خواهد داشت تا به صورت مستقیم در …
بسط آکولاد (Brace Expansion)
یکی دیگر از انواع بسط در خط فرمان لینوکس , بسط آکولاد می باشد که در این باره شروع به گفتگو می کنیم . بسط آکولاد شاید عجیب ترین نوع بسط , بسط بریس یا همان آکولاد نامیده شود . با استفاده از آن شما می توانید چندین رشته متنی از یک الگو حاوی بریس …
بسط حسابی (Arithmetic Expansion)
بسط حسابی یکی دیگر از انواع بسط در خط فرمان لینوکس می باشد . بسط حسابی چه کاربردی دارد و چگونه از آن استفاده کنیم . در این بخش توضیح خواهیم داد . بسط حسابی شل (Shell) اجازه می دهد تا عملیات حسابی توسط بسط انجام شود . این به ما اجازه می دهد تا از …
بسط با تیلدا
بسط تیلدا چیست ؟ اگر از معرفی دستور cd به خاطر داشته باشید , کاراکتر تیلدا (~) معنی خاصی دارد . وقتی که عملگر تیلدا در اول یک کلمه استفاده می شود , این عملگر مسیر را به دایرکتوری home کاربر بسط می دهد و یا اگر کاربری نام گذاری نشده باشد به پوشه کاربر …
بسط نام مسیر Pathname Expansion
بسط نام مسیر چیست ؟ در این بخش یکی دیگر از انواع بسط در خط فرمان با نام بسط نام مسیر را به شما معرفی کرده و نحوه استفاده و کاربرد آن را شرح می دهیم . بسط نام مسیر مکانیزمی که توسط آن وایلدکاردها کار می کنند بسط از نوع نام مسیر (Pathname Expansion) نامیده …
بسط Expansion در خط فرمان چیست
بسط در خط فرمان چیست ؟ در این بخش می خواهیم شما را با مفهوم بسط در خط فرمان آشنا کرده و کاربرد بسط در خط فرمان را شرح دهیم . بسط در خط فرمان هر زمان که شما یک خط فرمان در ترمینال می نویسید و کلید Enter را فشار می دهید , Bash …
پایپ لاین در دستورات لینوکس
پایپ لاین در خط فرمان !؟ چه معنایی دارند ؟ پایپ لاین در خط فرمان چگونه استفاده می شوند ؟ پاسخ این سوالها را در این آموزش دریافت می کنید . پایپ لاین در خط فرمان توانایی خواندن اطلاعات از ورودی استاندارد و ارسال آن به خروجی استاندارد با یک ویژگی شل (Shell) به نام پایپ …
آموزش ساخت ربات تلگرام با پایتون – راهنمای ساخت ربات تلگرام با استفاده از زبان برنامه نویسی پایتون
ربات
امروزه از رباتها در همه جا استفاده میشود. تا دیروز حتی از وجود آنها نیز خبر نداشتیم، اما امروز نمیتوانیم زندگی خود را بدون آنها تصور کنیم.
رباتها در بسیاری از پیام رسانها وجود دارند و عملکردهای گوناگونی از خود نشان میدهند. از رباتها برای ساخت بازی، دادن رژیم غذایی، پیدا کردن رستورانهای اطراف موقعیت مکانی شما، ارتباط با پشتیبانی سایت فروش آنلاین و حتی ارائه خدمات پرداخت استفاده میشود.
اما علت و راز محبوبیت رباتها چیست؟ مهمترین دلیل این است که برای برخی از کاربردها، استفاده از ربات به جای اپلیکیشن به صرفه تر و راحتتر است. سایر دلایل نیز عبارتاند از:
طراحی ساده رباتها:
درست است که یک ربات از طراحی زیبایی بهره مند نیست و بسیار طراحی سادهای دارد، اما بدون شک در مقایسه با اپلیکیشنها، استفاده از آنها نیز سادهتر است. سادگی ترمینالquteآموزش استفاده از رباتها به علت طراحی ساده و مینیمال آنها است.
عملکرد رباتها روی وظیفه آنها متمرکز شده و خبری از وجود تبلیغات فراوان در آنها نیست:
مجبور نیستید که برای انجام هر کاری یک اپلیکیشن را نصب کنید. میتوان بسیاری از خدمات را به وسیله استفاده از رباتها دریافت کرد. استفاده از رباتها بسیار برای صاحبان رستوران و فروشگاهها مفید است. معمولاً نمیتوان مشتریان را به نصب اپلیکیشنها ترغیب کرد. اما میتوان به ارائه رباتها در پیام رسانهایی که همین الان مشتریان در حال استفاده از آنها هستند پرداخت و خدمات متنوعی را در اختیار مشتریان قرار داد.
هیچ کس علاقه ندارد فضای گوشی خود را با نصب اپلیکیشن جدید پر کند. بنابراین استفاده از ربات به جای اپلیکیشنهای پر از تبلیغات و سنگین، در بسیاری از مواقع بهتر است.
نیازی به ساخت اکانت و احراز هویت برای استفاده از ربات وجود ندارد:
برای استفاده از ربات، احتیاجی به ساخت اکانت و احراز هویت نیست. شما از قبل در یک پیام رسان اکانت ساختهاید و عملیات احراز هویت را انجام دادهاید.
ربات در میان سایر چتهای شما پدیدار شده و در واقع انگار در حال صحبت کردن با یک دوست هستید. اگر قصد استفاده از ربات را نداشته باشید، به راحتی آن را بلاک میکنید! اگر دوباره به آن نیاز پیدا کردید، ربات را از لیست بلاک خود خارج می کنید.
بنابراین عدم نیاز به ساخت اکانت و وارد کردن رمز عبور، از ویژگیهای مثبت ربات محسوب میشود.
پیام رسان تلگرام
تلگرام
حالا که از دلایل اصلی محبوبیت استفاده از رباتها صحبت کردیم، میخواهیم خودمان به ساخت ربات بپردازیم!
در این مطلب قصد داریم یک ربات برای اپلیکیشن محبوب تلگرام طراحی کنیم. تلگرام یک اپلیکیشن پیام رسان است که با ورود خود به بازار پیام رسانها و ارائه امکانات بینظیر، گوی سبقت را از بسیاری از پیام رساهای قدیمی و پرچم دار موجود ربوده است.
کانالهای زیادی در پیام رسان تلگرام وجود دارد که در آنها اخبار و آموزشهای متنوعی وجود دارد. در همین رابطه مقاله ۲۴ کانال تلگرام مفید برای مهندسین کامپیوتر و برنامه نویسان — فهرست جامع را در مجله فرادرس مطالعه کنید.
یکی از امکانات جذاب ارائه شده در پیام رسان تلگرام نیز رباتها هستند. رباتهای کاربردی زیادی در تلگرام وجود دارند.
در این قسمت میتوانید لیستی از بهترین رباتهای تلگرام را مشاهده کنید.
لیست رباتهای کاربردی تلگرام
· ربات [email protected] برای آموزش زبان انگلیسی
· ربات دریافت اطلاعات فیلم و سریال @IMDB
· ربات تبدیل فرمتهای مختلف صوتی و تصویری @NewFileConverteBot
چگونگی ساخت ربات تلگرام
بات فادر
تلگرام برای ساخت ربات، خود رباتی به نام بات فادر (BotFather) را ارائه کرده است. با استفاده از این ربات میتوان یک ربات جدید ایجاد کرد.
کار با این ربات بسیار ساده است و پیچیدگی خاصی در استفاده از آن وجود ندارد. پس از ساخت ربات به وسیله بات فادر، یک کلید در اختیار شما قرار میگیرد که از آن با نام Access Token یاد میشود. این کلید مختص شماست و باید آن را در جایی ذخیره کنید، چرا که در مراحل بعدی ساخت ربات به کار شما خواهد آمد.
همانطور که میدانید رباتها وظایف خود را که از قبل برای آنها تعیین شده با دریافت دستوراتی مشخص انجام میدهند.
به عبارت دیگر، شما برای تعامل با ربات میتوانید از چند دستور مشخص استفاده کنید. با فرستادن این دستورات به ربات، ربات عملیات مشخصی را انجام میدهد.
این که به ازای دریافت چه دستوری، چه کاری انجام شود را میتوان با برنامه نویسی ربات مشخص کرد.
برنامه نویسی ربات
با استفاده از زبانهای برنامه نویسی، میتوان منطق عملکرد ربات را مشخص کرد. در ساخت ربات تلگرام از زبانهای معروف و پرکاربردی مانند پایتون، جاوا، متلب و پی اچ پی استفاده میشود.
هر یک از این زبانها از نقاط قوت و ضعف مخصوص خود برخوردار است و از آنها برای طراحی رباتهای مختلف با عملکردهای گوناگون استفاده میشود.
در همین رابطه میتوانید آموزشهای فرادرس در زمینه برنامه نویسی و ساخت ربات تلگرام را تهیه و مشاهده کنید.
زبان برنامه نویسی پایتون
زبان برنامه نویسی پایتون
زبان برنامه نویسی پایتون یک زبان چند منظوره و پرکاربرد است. پایتون در دنیا و در میان توسعه دهندگان از محبوبیت بسیار بالایی برخوردار است.
از پایتون در زمینههای مختلفی استفاده میشود، از جمله:
· هوش مصنوعی و یادگیری ماشین
· برنامه نویسی وب
· ساخت اپلیکیشنهای دسکتاپ
· برنامه نویسی موبایل
و البته ساخت رباتهای تلگرام.
مزایای پایتون
پایتون مزایای زیادی دارد، از جمله:
- یادگیری، نوشتن کد و خواندن کد آن آسان است
- رایگان و متن باز است
- میتوان با استفاده از مفاهیم شی گرایی با آن برنامه نوشت
- کتابخانههای فراوانی را در اختیار توسعه دهنده قرار میدهد
- کدها را خط به خط اجرا میکند و در صورت وجود خطا از اجرای کدهای بعدی جلوگیری میکند
نحوه نصب پایتون
در این قسمت نحوه نصب پایتون را برای سیستم عاملهای مختلف شرح میدهیم. از پایتون میتوانید در ترمینالquteآموزش سیستم عاملهای مختلفی نظیر ویندوز، لینوکس و مک استفاده کنید.
از آنجایی که آموزش ما در محیط لینوکس انجام میشود، نحوه نصب پایتون روی توزیعهای مختلف لینوکس را توضیح خواهیم داد.
نصب پایتون روی لینوکس
برای نصب پایتون روی لینوکس، مراحل زیر را دنبال کنید.
ابتدا بررسی کنید که پایتون در حال حاضر روی سیستم شما نصب است یا نه. برای این کار، ترمینال را باز کرده و دستور زیر را تایپ و اجرا کنید:
برای بررسی نصب بودن سایر نسخههای پایتون به جای python3، python2 یا python1 را تایپ کنید.
اگر به طور مثال پایتون نسخه 3.6.10 روی سیستم شما نصب باشد، نتیجه زیر را مشاهده خواهید کرد:
اگر پایتون روی سیستم شما نصب نباشد، باید آن را خودتان نصب کنید.
به لینک زیر مراجعه کنید. این لینک شما را به وبسایت رسمی پایتون برای دانلود آن هدایت خواهد کرد.
نسخه موردنیاز پایتون خود را دانلود کنید.
تقریباً برای هر توزیع لینوکسی موجود، با استفاده از دستور زیر میتوانید پایتون را نصب کنید. دستور زیر را ترمینال نصب و اجرا کنید:
$ sudo apt-get install python3.8
ممکن است شما قصد نصب نسخه دیگری از پایتون را داشته باشید. در این صورت باید شماره نسخه را در دستور بالا اصلاح کنید.
در ترمینال، ابتدا از شما رمزعبور اکانت لینوکس خواسته میشود:
وارد کردن رمز عبور برای نصب پایتون
سپس از شما میخواهد تا اختصاص فضای ذخیره سازی برای نصب پایتون را تأیید کنید:
اختصاص فضای ذخیره سازی برای نصب پایتون
در مرحله بعد، پکیجها یا همان بستههای موردنیاز نصب میشوند:
نصب بستههای مورد نیاز
تا اتمام نصب شدن بستههای مورد نیاز منتظر بمانید:
فرآیند نصب بستههای مورد نیاز پایتون
اتمام نصب پایتون
برای سنجش نصب پایتون روی سیستم خود دستور زیر را در ترمینال تایپ و اجرا کنید:
در صورتی که پایتون روی سیستم شما نصب باشد، خروجی زیر را در ترمینال مشاهده خواهید کرد:
نصب موفق پایتون روی لینوکس
اگر میخواهید درمورد نصب پایتون روی لینوکس اطلاعات بیشتری را کسب کنید، به شما مطالعه مقاله نصب پایتون در لینوکس — از صفر تا صد را در مجله فرادرس پیشنهاد میکنیم.
ساخت ربات با پایتون
در این قسمت قصد داریم نحوه ساخت یک ربات تلگرام را با زبان برنامه نویسی پایتون شرح دهیم.
پیش نیازها
شما برای خواندن ادامه این مطلب و ساخت اولین ربات تلگرام خود باید به زبان برنامه نویسی پایتون مسلط باشید. در همین رابطه میتوانید از آموزشهای زیر استفاده کنید.
ساخت ربات در بات فادر
برای ایجاد یک ربات جدید، ابتدا باید آن را در بات فادر ایجاد و ثبت کنیم. برای استفاده از بات فادر، احتیاج به یک اکانت تلگرام دارید.
اگر در تلگرام اکانت ندارید روی لینک زیر کلیک کنید.
- · ساخت حساب کاربری در تلگرام
در اپلیکیشن تلگرام، روی دکمه سرچ یا همان جستجو کلیک کنید. عبارت @botfather را در نوار جستجو تایپ کنید.
بات فادر، ربات رسمی تلگرام است که خدمات لازم برای ساخت ربات را به کاربران ارائه میدهد.
جستجوی ربات بات فادر در تلگرام
محیط ربات به شکل زیر خواهد بود:
محیط ربات بات فادر
حال روی دکمه start کلیک کنید. سپس باید دستور /newbot را در ربات تایپ کنید، یا این که آن دستور را از لیستی که بات فادر برای شما ارسال کرده است، پیدا کنید:
ایجاد ربات جدید در بات فادر
حال نام و نام کاربری مناسبی را برای ربات خود انتخاب کنید:
انتخاب نام و نام کاربری
بات فادر برای شما یک access token ارسال میکند. آن را در جایی ذخیره کنید چرا که در مراحل بعدی به آن احتیاج پیدا خواهید کرد.
برنامه نویسی ربات
یک پوشه جدید ایجاد کنید و در ترمینال به مسیر آن پوشه بروید.
سپس باید یک محیط مجازی یا virtual environment ایجاد کنیم. محیط مجازی به شما این اجازه را میدهد که فضاهای مختلفی را در کامپیوتر خود ایجاد کرده و مجموعه کتابخانهها و نسخههای مختلفی را در آن فضاها استفاده کنید.
با ساخت محیط مجازی، قادر به جداسازی محل نصب کتابخانههای ضروری مورد نیاز برای یک پروژه خواهید بود.
با نوشتن دستور زیر در ترمینال، یک محیط مجازی را ایجاد میکنیم:
python -m venv env
سپس، محیط مجازی را با استفاده از دستور زیر فعال میکنیم:
بعد از آن، نیاز است تا یک گروه تلگرام ایجاد کرده و ربات خود را به عنوان یک عضو به آن اضافه کنیم:
اضافه کردن ربات به گروه
سپس نیاز داریم تا Chat ID را به دست آوریم. این کار را با ارسال دستور زیر به گروه تلگرامی انجام میدهیم:
سپس، نیاز است تا آدرس اینترنتی زیر ترمینالquteآموزش را در مرورگر خود وارد کنید:
در آدرس بالا، منظور از BOT_TOKEN، همان Access Token است که قبلاً از بات فادر دریافت کردهایم.
این آدرس، پاسخ JSON مورد نیاز را به ما باز میگرداند. این پاسخ، شامل Chat id ما نیز میشود:
پاسخ JSON
حال باید یک فایل پایتون ترمینالquteآموزش به نام bot و با پسوند .py ایجاد کنیم. (یعنی فایلی با نام bot.py). سپس کد زیر را به این فایل اضافه میکنیم:
'First, solve the problem. Then, write the code. – John Johnson',
'Experience is the name everyone gives to their mistakes. – Oscar Wilde',
'Code is like humor. When you have to explain it, it’s bad. – Cory House',
'Before software can be reusable it first has to be usable. – Ralph Johnson',
'Optimism is an occupational hazard of programming: feedback is the treatment. - Kent Beck'
# loop through the quotes
for quote in quotes:
# sends new quotes every 20seconds
قبل از اجرا و تست ربات، نیاز است تا ماژولهای پیش نیاز را با استفاده از دستور زیر نصب کنیم:
pip install requests
حال باید برنامه خود را اجرا و آزمایش کنیم. برای این کار دستور زیر را در ترمینال تایپ و اجرا میکنیم:
نتیجه به صورت زیر خواهد بود. در ربات ما هر ۲۰ ثانیه، یک جمله به صورت تصادفی نمایش داده خواهد شد:
ارسال جملات تصادفی با استفاده از ربات در گروه
حال میخواهیم ربات خود را به یک API متصل کنیم که جملات مربوط به ترمینالquteآموزش برنامه نویسی را برای ما نمایش دهد.
از این API در برنامه خود استفاده خواهیم کرد.
سپس، کدهای زیر را به بالای فایل bot.py خود اضافه میکنیم:
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
حال، تابعی را ایجاد میکنیم تا جملات تصادفی را برای ما ارسال کند. تکه ترمینالquteآموزش کد زیر، تابع مورد نظر را برای ما ایجاد خواهد کرد:
updater =Updater(token=telegram_bot_token, use_context=True)
def random(update, context):
# fetch data from the api
# linking the /random command with the function random()
quotes_handler =CommandHandler('random', random)
اجازه دهید برنامه را اجرا کرده و خروجی را ببینیم:
ارسال جملات تصادفی در رابطه با برنامه نویسی
سخن پایانی در رابطه با ساخت ربات تلگرام با پایتون
در این مطلب، آموزش ساخت ربات تلگرام برای استفاده در گروهها مطرح شد.
کارهای زیادی را میتوان با استفاده از رباتها انجام داد. میتوانید ویژگیهای زیادی را به ربات خود اضافه کرده و از کاربران بابت استفاده از بخضی از آن ویژگیها، هزینهای را دریافت کنید.
در واقع میتوان با ساخت ربات تلگرام به کسب درآمد نیز پرداخت.
در همین راستا میتوانید از آموزش فرادرس در رابطه با ساخت ربات تلگرام با پایتون و سایر آموزشهای کاربردی این سایت فوقالعاده استفاده کنید.