جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
محتوای باز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]
  • خانه
  • کتاب آنلاین
  • درباره سایت
  • درباره لوگو
  • تماس با ما
محتوای باز
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0
[wcas-search-form]

استفاده از Bash Shell در اوبونتو

4 فروردین 1401
ارسال شده توسط فرشید نوتاش حقیقت
اوبونتو، گنو/لینوکس

بخش مهمی از یادگیری کار با اوبونتو و به طور کلی توزیع‌های لینوکس، شامل کسب مهارت در کار با محیط Shell است.

در حالی که محیط‌های دسکتاپ گرافیکی مانند GNOME همراه با لینوکس یک رابط کاربرپسند برای سیستم‌عامل فراهم می‌کنند، در عمل محیط شل قابلیت‌ها، انعطاف‌پذیری و اتوماسیون بسیار بیشتری را نسبت به ابزارهای گرافیکی دسکتاپ فراهم می‌نماید. محیط Shell همچنین ابزاری برای تعامل با سیستم‌عامل زمانی که محیط دسکتاپ در دسترس نیست فراهم می‌کند. یک اتفاق رایج هنگام کار با یک سیستم‌عامل مبتنی بر سرور مانند اوبونتو یا یک سیستم آسیب‌دیده که به‌طور کامل بوت نمی‌شود.

بنابراین، هدف این درس، ارائه یک نمای کلی از محیط Shell پیش‌فرض در اوبونتو (به ویژه پوسته Bash) است.

Shell چیست؟

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

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

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

پوسته Korn (که توسط دیوید کورن در آزمایشگاه های بل توسعه داده شده است) بر اساس ویژگی‌های ارائه شده توسط پوسته Bourne و پوسته C است.

Shell پیش‌فرض در اوبونتو پوسته Bash است (سرنام عبارتBourne Again Shell). این پوسته که زندگی خود را به عنوان یک نسخه متن‌باز پوسته Bourne آغاز کرد، برای پروژه گنو توسط برایان فاکس توسعه یافت و بر اساس ویژگی‌هایی است که توسط پوسته Bourne و پوسته C ارائه شده است.

دسترسی به Shell

از داخل محیط دسکتاپ GNOME، با انتخاب گزینه Activities در نوار بالا و وارد کردن Terminal در نوار جستجو و کلیک کردن بر روی آیکون Terminal می‌توان به اعلان Shell از پنجره ترمینال دسترسی پیدا کرد.

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

وارد کردن فرمان در اعلان (Prompt)

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

$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

فرمان‌های موجود یا در خود پوسته تعبیه شده‌اند یا در سیستم‌فایل فیزیکی قرار دارند. مکان موجود در سیستم‌فایل یک فرمان ممکن است با استفاده از یک فرمان شناسایی شود. به عنوان مثال، برای اینکه بفهمید فایل اجرایی ls در کجای سیستم‌فایل قرار دارد:

$ which ls alias ls='ls --color=auto'
  /usr/bin/ls

واضح است که فرمان ls در دایرکتوری /usr/bin قرار دارد. همچنین توجه داشته باشید که alias پیکربندی شده است، موضوعی که در ادامه به آن پرداخته خواهد شد. استفاده از فرمان which برای تعیین مکان مسیر فرمان‌ها ساخته شده در Shell منجر به پیامی می‌شود که نشان می‌دهد فایل اجرایی یافت نمی‌شود. به عنوان مثال، تلاش برای یافتن مکان فرمان history (که در واقع به جای وجود یک فایل اجرایی در سیستم‌فایل در شل ساخته شده است) خروجی مشابه زیر را به همراه خواهد داشت:

$ which history
/usr/bin/which: no history in (/home/demo/.local/bin:/home/demo/bin:/usr/share/
Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)

دریافت اطلاعات در مورد یک فرمان

بسیاری از فرمان‌های موجود لینوکس می‌توانند در ابتدا رمزآلود به نظر برسند. برای یافتن اطلاعات دقیق در مورد اینکه یک فرمان چه کاری انجام می‌دهد و نحوه استفاده از آن، از فرمان man استفاده کنید که نام فرمان را به عنوان آرگومان مشخص می‌کند. به عنوان مثال، برای کسب اطلاعات بیشتر در مورد فرمان pwd:

$ man pwd

زمانی که فرمان بالا اجرا شد، توضیحات دقیق فرمان pwd نمایش داده می‌شود. بسیاری از فرمان‌ها همچنین هنگام اجرا با گزینه -help command-line اطلاعات اضافی را ارائه می‌دهند:

$ wc --help

ویرایش خط فرمان Bash

محیط‌های شل اولیه هیچ‌گونه قابلیت ویرایش خطی را ارائه نمی‌دادند.خوشبختانه Bash طیف گسترده‌ی از گزینه‌های ویرایش خط فرمان را همانطور که در جدول زیر نشان داده شده است ارائه می‌دهد:

کلیدهای ترکیبیعملکرد
Ctrl+b یا Left Arrowمکان‌نما را یک موقعیت به عقب می‌برد.
Ctrl+f یا Right Arrowمکان‌نما را یک موقعیت به جلو می‌برد.
Deleteکاراکتر تحت مکان‌نما را حذف می‌کند.
Backspaceکاراکتر سمت چپ مکان نما را حذف می‌کند.
Ctrl+_تغییر قبلی را Undo می‌کند.
Ctrl+aمکان‌نما را به ابتدای خط منتقل می‌کند.
Ctrl+eمکان‌نما را به انتهای خط منتقل می‌کند.
Meta-f or Esc then fمکان‌نما را یک کلمه به جلو می‌برد.
Meta-b or Esc then b مکان‌نما را یک کلمه به عقب می‌برد.
Ctrl+lصفحه را از همه چیز به جز فرمان فعلی پاک می‌کند.
Ctrl+kاز موقعیت مکان‌نما تا انتها را حذف می‌کند.
Meta-d or Esc then dتا انتهای کلمه فعلی را حذف می‌کند.
Meta-DEL or Esc then DELاز ابتدا تا کلمه فعلی را حذف می‌کند.
Ctrl+wاز موقعیت مکان‌نما به فضای سفید قبلی را حذف می‌کند.

کار با تاریخچه شل

علاوه بر ویژگی‌های ویرایش خط فرمان، پوسته Bash از تاریخچه خط فرمان نیز پشتیبانی می‌کند. لیستی از فرمان‌هایی که قبلا اجرا شده را می‌توان با استفاده از فرمان history مشاهده کرد:

$ history
1	ps
2	ls
3	ls –l /
4	ls
5	man pwd
6	man apropos

علاوه بر این، Ctrl+p (یا فلش رو به بالا) و Ctrl+n (یا فلش رو به پایین) ممکن است برای پیمایش به جلو و عقب در میان فرمان‌ها وارد شده قبلی استفاده شود. وقتی فرمان history نمایش داده شد، کلید Enter را فشار دهید تا اجرا شود.

گزینه دیگر این است که کاراکتر «!» را وارد کنید و چند کاراکتر اول فرمان را وارد کنید و سپس کلید Enter را بفشارید.

Filename Shorthand

بسیاری از فرمان‌های پوسته یک یا چند نام فایل را به عنوان آرگومان می‌گیرند. به‌عنوان مثال، برای نمایش محتوای یک فایل متنی با نام list.txt، از فرمان cat به صورت زیر استفاده می‌شود:

$ cat list.txt

به طور مشابه، محتوای چندین فایل متنی را می‌توان با تعیین نام تمام فایل‌ها به عنوان آرگومان نمایش داد:

$ cat list.txt list2.txt list3.txt list4.txt

به جای تایپ کردن هر نام، می‌توان از تطبیق الگو برای تعیین همه فایل‌های دارای نام مطابق با معیارهای خاص استفاده کرد. به عنوان مثال، کاراکتر عام “*” را می‌‌توان برای ساده کردن مثال بالا استفاده کرد:

$ cat *.txt

فرمان بالا محتوای تمام فایل‌هایی که با پسوند txt ختم می‌شوند را نمایش می‌دهد. این می‌تواند بیشتر به هر نام فایلی که با لیست شروع می‌شود و به txt ختم می‌شود محدود شود:

$ cat list*.txt

نام فایل (Filename) و تکمیل مسیر (Path Completion)

شل به جای تایپ کردن در یک نام یا مسیر کامل فایل، یا استفاده از تطبیق الگو برای کاهش میزان تایپ، ویژگی تکمیل نام فایل را فراهم می‌کند. برای استفاده از تکمیل نام فایل، کافی است چند کاراکتر اول فایل یا نام مسیر را وارد کنید و سپس کلید Esc را دوبار فشار دهید. سپس شل ،نام فایل را با اولین فایل یا نام مسیر در فهرستی که با کاراکترهایی که وارد کرده اید مطابقت دارد، تکمیل می‌کند. برای به دست آوردن لیستی از مطابقت‌های احتمالی، پس از وارد کردن چند کاراکتر اول، Esc = را فشار دهید.

تغییر مسیر ورودی و خروجی

همانطور که قبلا ذکر شد، بسیاری از فرمان‌های Shell هنگام اجرا اطلاعات خروجی را صادر می کنند. به طور پیش فرض این خروجی به فایل دستگاهی به نام stdout می‌رود که اساسا پنجره ترمینال یا کنسولی است که شل در آن اجرا می‌شود. برعکس، شل ورودی را از یک فایل دستگاه به نام stdin می‌گیرد که به‌طور پیش‌فرض صفحه کلید است.

خروجی یک فرمان را می‌توان از stdout به یک فایل فیزیکی در سیستم‌فایل با استفاده از کاراکتر «>» هدایت کرد. به عنوان مثال، برای تغییر مسیر خروجی از یک فرمان ls به فایلی به نام files.txt، فرمان زیر مورد نیاز است:

$ ls *.txt > files.txt

پس از تکمیل، files.txt حاوی لیستی از فایل‌های دایرکتوری فعلی خواهد بود. به طور مشابه، محتویات یک فایل ممکن است به جای stdin به فرمانی وارد شود. به عنوان مثال، برای تغییر مسیر محتویات یک فایل به عنوان ورودی به یک فرمان:

$ wc –l < files.txt

فرمان فوق، تعداد خطوط موجود در فایل files.txt را نمایش می‌دهد.

توجه به این نکته مهم است که عملگر تغییر مسیر “>” یک فایل جدید ایجاد می‌کند یا یک فایل موجود را در هنگام استفاده کوتاه می‌کند. برای ضمیمه کردن فایل موجود، از عملگر “>>” استفاده کنید:

$ ls *.dat >> files.txt

علاوه بر خروجی استاندارد، شل خروجی خطای استاندارد را با استفاده از stderr ارائه می‌دهد. در حالی که خروجی یک فرمان به stdout هدایت می‌شود، هر پیام خطایی که توسط فرمان ایجاد می‌شود به stderr هدایت می‌شود. این بدان معنی است که اگر stdout به یک فایل هدایت شود، پیام های خطا همچنان در ترمینال ظاهر می‌شود. این معمولاً رفتار مورد نظر است، اگرچه stderr نیز ممکن است در صورت تمایل با استفاده از عملگر “2>” هدایت شود:

$ ls dkjfnvkjdnf 2> errormsg

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

هر دو stderr و stdout ممکن است با استفاده از عملگر &> به یک فایل هدایت شوند:

$ ls /etc dkjfnvkjdnf &amp;&gt; alloutput

پس از اتمام اجرا، فایل alloutput هم فهرستی از محتویات دایرکتوری etc و هم پیام خطای مرتبط با تلاش برای فهرست کردن یک فایل ناموجود را شامل می‌شود.

کار با Pipeها در Bash

علاوه بر تغییر مسیر ورودی/خروجی، Shell اجازه می‌دهد خروجی یک فرمان مستقیما به عنوان ورودی به فرمان دیگر ارسال شود. عملیات Piping با قرار دادن کاراکتر «|» بین دو یا چند فرمان در خط فرمان به دست می‌آید. به عنوان مثال، برای شمارش تعداد فرآیندهای در حال اجرا در یک سیستم، خروجی از فرمان ps را می‌توان به فرمان wc انتقال داد:

$ ps –ef | wc –l

هیچ محدودیتی برای تعداد عملیات Piping که می‌توان در خط فرمان انجام داد وجود ندارد. به عنوان مثال، برای یافتن تعداد خطوط یک فایل حاوی نام Smith:

$ cat namesfile | grep Smith | wc –l

پیکربندی نام مستعار

همانطور که در محیط Shell مهارت پیدا می‌کنید، احتمالا خواهید دید که اغلب فرمان‌هایی را با همان آرگومان ها صادر می کنید. به عنوان مثال، اغلب می‌توانید از فرمان ls با گزینه‌های l و t استفاده کنید:

$ ls –lt

برای کاهش میزان تایپ مربوط به صدور یک فرمان، می‌توان نام مستعاری ایجاد کرد که به فرمان و آرگومان نگاشت می‌شود. به عنوان مثال، برای ایجاد نام مستعار به گونه‌ای که با وارد کردن حرف l فرمان ls –lt اجرا شود، از فرمان زیر استفاده می‌شود:

$ alias l="ls –lt"

با وارد کردن l در خط فرمان، فرمان اصلی اجرا می‌شود.

متغیرهای محیطی

متغیرهای محیطی شل ذخیره‌سازی موقت داده‌ها و تنظیمات پیکربندی را فراهم می‌کنند. خود پوسته تعدادی متغیر محیطی را تنظیم می‌کند که ممکن است توسط کاربر تغییر کند تا رفتار شل را تغییر دهد. فهرستی از متغیرهای تعریف شده فعلی را می‌توان با استفاده از فرمان env به دست آورد:

$ env
SSH_CONNECTION=192.168.0.19 61231 192.168.0.28 22
MODULES_RUN_QUARANTINE=LD_LIBRARY_PATH
LANG=en_US.UTF-8
HISTCONTROL=ignoredups
HOSTNAME=demo-pc.ebookfrenzy.com
XDG_SESSION_ID=15
MODULES_CMD=/usr/share/Modules/libexec/modulecmd.tcl
USER=demo
ENV=/usr/share/Modules/init/profile.sh
SELINUX_ROLE_REQUESTED=
PWD=/home/demo
HOME=/home/demo
SSH_CLIENT=192.168.0.19 61231 22
SELINUX_LEVEL_REQUESTED= 
.
.
.

شاید مفیدترین متغیر محیطی PATH باشد. این متغیر، فهرست دایرکتوری‌هایی را که شل در آن‌ها دستورات وارد شده در خط فرمان را جستجو می‌کند و ترتیب انجام این کار را مشخص می‌کند. متغیر محیطی PATH برای یک حساب کاربری در یک سیستم اوبونتو تازه نصب شده احتمالا به صورت زیر پیکربندی می‌شود:

$ echo $PATH
/home/demo/.local/bin:/home/demo/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/ bin:/usr/local/sbin:/usr/sbin

متغیر مفید دیگر HOME است که فهرست اصلی کاربر فعلی را مشخص می‌کند. برای مثال، اگر می‌خواهید شل به دنبال فرمان در دایرکتوری اسکریپت واقع در فهرست اصلی شما باشد، متغیر PATH را به صورت زیر تغییر می‌دهید:

$ export PATH=$PATH:$HOME/scripts

مقدار فعلی یک متغیر محیطی موجود ممکن است با استفاده از فرمان echo نمایش داده شود:

$ echo $PATH

شما می‌توانید متغیرهای محیطی خود را با استفاده از فرمان export ایجاد کنید. مثلا:

$ export DATAPATH=/data/files

یک ترفند مفید برای تخصیص خروجی از یک فرمان به یک متغیر محیطی، شامل استفاده از نقل‌قول‌های پشتی (`) یا back quotes در اطراف فرمان است. به عنوان مثال، برای اختصاص تاریخ و زمان فعلی به یک متغیر محیطی به نام NOW:

$ export NOW=`date`
$ echo $NOW
Tue Apr 2 13:48:40 EDT 2020

اگر تنظیمات متغیر محیطی یا نام مستعار وجود دارد که باید هر بار که وارد محیط پوسته می‌شوید پیکربندی شوند، ممکن است به فایلی در فهرست اصلی شما به نام bashrc. اضافه شوند. به عنوان مثال، فایل .bashrc زیر برای تنظیم متغیر محیطی DATAPATH و یک نام مستعار پیکربندی شده است:

# .bashrc
  
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
 
# User specific environment
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
export PATH
 
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
 
# User specific aliases and functions
export DATAPATH=/data/files
alias l="ls -lt"

اسکریپت‌نویسی در Shell

تاکنون به طور انحصاری بر ماهیت تعاملی Bash تمرکز کرده‌ایم. منظور از تعاملی، وارد کردن دستی فرمان‌ها در اعلان و اجرای آنها است. در واقع، این تنها بخش کوچکی از توانایی Shell است. مسلما یکی از قدرتمندترین جنبه‌های شل، توانایی ایجاد اسکریپت است. اسکریپت‌های Shell اساسا فایل‌های متنی حاوی دنباله‌‌ای از عبارات هستند که می‌توانند در محیط شل برای انجام وظایف اجرا شوند. علاوه بر توانایی اجرای فرمان، شل بسیاری از ساختارهای برنامه‌نویسی مانند حلقه‌های for و do و دستورات if را ارائه می‌کند که ممکن است به طور منطقی انتظار داشته باشید که در یک زبان برنامه‌نویسی پیدا کنید.

اولین گام در ایجاد یک اسکریپت، ایجاد یک فایل است (برای اهداف این مثال نام آن را simple.sh می‌گذاریم) و موارد زیر را به عنوان خط اول اضافه می‌کنیم:

#!/bin/sh

#! “shebang” نامیده می‌شود و دنباله خاصی از کاراکترها است که نشان می‌دهد مسیر منتهی به مفسر مورد نیاز برای اجرای اسکریپت آیتم بعدی در خط است (در این مورد، فایل اجرایی sh واقع در /bin). اگر یکی از آن‌ها مفسری باشد که می‌خواهید از آن استفاده کنید، این می‌تواند به همان اندازه، /bin/csh یا /bin/ksh باشد.

مرحله بعدی نوشتن یک اسکریپت ساده است:

#!/bin/sh
for i in *
do
     echo $i
done

تمام کاری که این اسکریپت انجام می‌دهد این است که در بین تمام فایل‌های دایرکتوری فعلی تکرار می‌شود و نام هر فایل را نمایش می‌دهد. این ممکن است با ارسال نام اسکریپت به عنوان آرگومان به sh اجرا شود:

$ sh simple.sh

برای قابل اجرا کردن فایل (در نتیجه نیاز به ارسال آن به فرمان sh) را می توان از chmod استفاده کرد:

$ chmod +x simple.sh

هنگامی که بیت اجرا بر روی مجوزهای فایل تنظیم شد، ممکن است مستقیما اجرا شود. مثلا:

$ ./simple.sh

خلاصه

در این درس ما گشتی کوتاه از محیط Bash Shell داشته‌ایم. در دنیای محیط‌های دسکتاپ گرافیکی، به‌راحتی می‌توان فراموش کرد که قدرت واقعی و انعطاف‌پذیری یک سیستم عامل اغلب تنها با رها کردن زیر رابط کاربری دسکتاپ کاربرپسند و استفاده از یک محیط شل قابل استفاده است. علاوه بر این، آشنایی با شل زمانی که برای مدیریت و نگهداری سیستم‌های مبتنی بر سرور که دسکتاپ نصب نشده‌اند یا هنگام تلاش برای تعمیر سیستمی که به حدی آسیب دیده است که رابط دسکتاپ یا Cockpit راه‌اندازی نمی‌شود، ضروری است.

منبع: answertopia.com
درباره فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته‌های بیشتر از فرشید نوتاش حقیقت
قبلی مروری بر رابط وب Cockpit در اوبونتو 20.04
بعدی مدیریت کاربران و گروه‌ها در اوبونتو

دیدگاهتان را بنویسید لغو پاسخ

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

جستجو
جستجو برای:
دسته‌بندی موضوعی مقالات
  • برنامه‌نویسی
    • پایتون
    • دواپس
  • پایگاه‌داده
    • MariaDB
    • MySQL
  • تجارت الکترونیک
    • بازاریابی اینترنتی
    • دیجیتال مارکتینگ
    • شبکه‌های اجتماعی
  • جامعه کاربری
    • لاگ
  • دسته‌بندی نشده
  • شبکه و امنیت
  • طراحی وب
    • سئو
    • سیستم مدیریت محتوا
      • وردپرس
  • فناوری‌های نوظهور
    • اینترنت اشیاء
    • رایانش ابری
      • OpenStack
    • کلان‌داده‌ها
  • گنو/لینوکس
    • توزیع
      • CentOS
      • اوبونتو
      • دبیان
      • فدورا
    • چیست
    • خط فرمان
  • مهاجرت به آزاد/متن‌باز
  • نرم‌افزار
    • اداری
      • لیبره آفیس
        • ایمپرس
        • بیس
        • دراو
        • رایتر
        • کالک
    • کاربردی
    • گرافیک و انیمیشن
      • بلندر
      • گیمپ
نماد الکترونیکی (اینماد)
پرداخت‌یار

محتوای باز؛ مرجع آموزشی نرم‌افزارهای آزاد/ متن‌باز

از اینکه قصد همکاری با رسانه «محتوای باز» را دارید بسیار خرسندیم و این مایه مباهات ماست.

نحوه همکاری با ما چندان پیچیده نیست و شرایط آن در ادامه، ارائه گردیده است.

دستمزد مدرسین

پیش از بیان شرایط ضبط ویدئو شایان ذکر است اشاره‌ای به دستمزد مدرسین سایت داشته باشیم.

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

صرف نظر از هر حالت ممکنه، می‌بایست شرایطی که در ادامه ذکر شده‌اند را رعایت کرده باشید.

در حالت اول (رایگان) رسانه محتوای باز (Open Content)، نه وجهی از شما برای نشر ویدئو می‌گیرد و نه وجهی به شما پرداخت می‌نماید و دوره آموزشی شما را به رایگان منتشر می‌کند.

اما در حالت بعدی طریقه همکاری به روش درآمد از فروش خواهد بود، به گونه‌ای که 70 درصد از کل مبلغ فروش دوره آموزشی متعلق به مدرس دوره بوده و 30 درصد مابقی به رسانه محتوای باز تعلق می‌گیرد.

شرایط کلی ضبط دوره آموزشی

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

پیشنهاد می‌گردد برای ضبط دوره آموزشی در توزیع گنو/لینوکس از ابزار قدرتمند OBS استفاده نمایید. البته این صرفا یک پیشنهاد است و شما می‌توانید از هر ابزار مناسب دیگری برای این کار بهره ببرید.

برای آشنایی یا تسلط بیشتر می‌توانید دوره رایگان آموزش OBS محمد عابدینی را ببینید:

مشاهده دوره آموزش OBS
شرایط کیفی ضبط دوره آموزشی

کیفیت صدا از اهمیت ویژه‌ای برخوردار می‌باشد و می‌بایست فاقد هر گونه نویز یا صدای اضافی دیگری (صدای محیط پیرامون) باشد.

دوره آموزشی تهیه شده صرفا باید برای رسانه محتوای باز تدوین شده باشد و در هیچ سایت مشابه دیگری قرار نگرفته باشد.

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

دوره آموزشی ضبط شده می‌باید فاقد هر گونه لوگو یا آدرس سایت دیگری (در گوشه تصویر یا بک‌گراند صفحه دسکتاپ و هر جای دیگری) باشد.

در حین دوره، مدرس نباید به برند خاصی اشاره کند که جز رقبای ما به‌شمار می‌آیند.

مدرس باید در ابتدا در اواسط و در انتهای دوره به برند ما یعنی رسانه محتوای باز (Open Content) بصورت کلامی اشاره نماید.

مدرس، هنگام تدریس نباید تپق زده، سرفه یا عطسه کند یا صدای قورت دادن بزاقش شنیده شود و بایستی با صدای رسا، دوستانه و پرانرژی به تدریس بپردازد.

قبل از تدوین دوره آموزشی حتما با ما در تماس باشید و یک ویدیوی چنددقیقه‌ای (ترجیحا 5 الی 10 دقیقه)، بصورت نمونه‌کار برای ما بفرستید.

از همکاری با شما سپاسگزاریم.

فراخوان همکاری