‌BashGNU / LINUX

ویدیوهای آموزش Bash (قسمت پانزدهم اضافه شد)

در این قسمت سعی میکنم هفته ای یک ویدیو درباره آموزش Bash قرار بدم:

پیش نیاز این آموزشها یه آشنایی ساده و اولیه با گنو / لینوکس هست و دانش برنامه نویسی خاصی نیاز ندارید ، چون سعی کردم همه مسائل ساده عنوان بشه 🙂


قسمت پانزدهم :

در این قسمت string manipulation رو توضیح دادم.

 

آموزش Bash قسمت پانزدهم
آموزش Bash قسمت پانزدهم

 

 


قسمت چهاردهم:

در این قسمت آرایه ها رو ادامه دادم و کمی درباره find صحبت کردم و با دیدن این قسمت یه اسکریپت خواهید نوشت که با یه فرمت خاص فایل ها رو در کامپیوتر شما جستجو میکنه و ازشون backup میگیره.

 

آموزش Bash قسمت چهاردهم
آموزش Bash قسمت چهاردهم

 

این هم یه لینک که داخلش ۳۵ تا مثال برای دستور find آورده


قسمت سیزدهم:

در این قسمت آرایه ها رو توضیح دادم

 

آموزش Bash قسمت سیزدهم
آموزش Bash قسمت سیزدهم

 


قسمت دوازدهم :

در این قسمت sed رو توضیح دادم

در این لینک میتونید توضیحات خوبی درباره sed ببینید

ویدیوی آموزش Bash قسمت دوازدهم
ویدیوی آموزش Bash قسمت دوازدهم

 

 


قسمت یازدهم:

در این قسمت grep و regexp و pipe رو توضیح دادم
ویدیوی آموزش Bash قسمت یازدهم
ویدیوی آموزش Bash قسمت یازدهم

 


 

قسمت دهم :

در این قسمت اسکریپت دانلود قبل رو کامل میکنیم و زمان شروع و پایان دانلود بهش اضافه میکنیم و string manipulation رو شروع کردم و getopts و کار با aria۲ رو آموزش دادم.

این اسکریپت هنوز یه نقطه ضعف کوچیک داره که در جلسات آینده رفعش میکنیم 🙂

آموزش Bash قسمت دهم
ویدیوی آموزش Bash قسمت دهم

 


 

قسمت نهم :

در این قسمت بحث function رو ادامه دادم و درباره متغیر های global و local صحبت کردم

 

قسمت هشتم :

در این قسمت continue و break رو توضیح دادم و مقدماتی از function ها رو شروع کردم

 

قسمت هفتم :

در این ویدیو استفاده از آرگومان های ورودی هنگام اجرای اسکریپت رو توضیح دادم

ویدیوی آموزش Bash قسمت هفتم
ویدیوی آموزش Bash قسمت هفتم

 


 

قسمت ششم :

در این ویدیو حلقه for و until رو آموزش دادم و درباره IFS توضیح دادم .در این ویدیو اسکریپتی برای تشخیص فایلهای png و تبدیل اتوماتیک اونها به jpg و کم کردن خودکار حجم اونها مینویسیم

 

ویدیوی آموزش ‌Bash قسمت ششم
ویدیوی آموزش ‌Bash قسمت ششم

 

قسمت پنجم :

در این ویدیو حلقه while رو آموزش دادم و بعد از دیدن این ویدیو یه اسکریپت خواهید نوشت که زمان استراحت رو به شما گوشزد کنه و یه اسکریپت هم برای زمان بندی آغاز دانلود مینویسید و در جلسات بعد اون رو با هم کامل میکنیم

 


 

قسمت چهارم :

در این قسمت case و عملگرهای مقایسه ای و چهارعمل اصلی بر روی اعداد رو آموزش دادم

نکته ای که یادم رفت :

برای ضرب با expr قبل از علامت ستاره یه علامت بک اسلش بذارید 🙂 من فراموش کردم

 echo `expr 2 \* 2`

 


 

قسمت سوم :

در این ویدیو کار کردن با متغییرها و if رو توضیح دادم و یه اسکریپت خواهید نوشت که محتویات home رو چک میکنه و اسم یک پوشه رو از کاربر میگیره و اگر موجود نبود پوشه رو ایجاد میکنه

در این ویدیو چند بار دستور if رو حلقه خطاب کردم که اشتباه هست . if دستور کنترلی محسوب میشه  و while حلقه شرط که بعدا دربارش توضیح خواهم داد 🙂

ویدیوی آموزش Bash قسمت سوم
ویدیوی آموزش Bash قسمت سوم

 


 

قسمت دوم :

در این قسمت با echo , read آشنا خواهید شد و یک اسکریپت ساده مینویسید و با شیوه های مختلف درست و غلط اجرای یک اسکریپت بش آشنا میشید


قسمت اول :

در این قسمت با مفاهیم مقدماتی مثل shell , sh , zsh , bash آشنا میشید

 

ویدیوی آموزش Bash قسمت اول
ویدیوی آموزش Bash قسمت اول
Subscribe
Notify of
guest
220 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
MR.ROBOT
MR.ROBOT
نوامبر 21, 2020 11:56 ب.ظ

سلام ببخشید بازم مزاحمتون میشم
من تازه کار هستم با لینوکس و اینا
بعد هرجا رفتم کسی به بزرگواری شما ندیدم برای همین زیاد مزاحم میشم
شما از چه نسخه ای از لینوکس استفاده کردید در وسط دوره تدریس
بنظر شما کدوم نوع سیستمش بهتره برای وارد شدن به دنیای هک و امنیت
من الان از کالی لینوکس استفاده می کنم فک کنم یکم سطحش بالاست
شما پیشنهادی ندارید ؟
من الان تفاوت اوبونتو و کالی و اینا رو نمیدونم

MR.ROBOT
MR.ROBOT
نوامبر 22, 2020 12:40 ب.ظ
Reply to  MR.ROBOT

مقاله هاتون رو در مورد انواع توزیع های گنو لینوکس خوندم
گفتید که archlinux یکی از موارد مورد علاقتون هستش
منم کنجکاو شدم رفتم کار باهاش رو دیدم چند عکس از پس زمینه ش دیدم و..و خلاصه به دل منم نشست به نظر شما برای من خوبه؟
من الان از لینوکس نسخه کالی استفاده می کنم و می خوام یکم محیطش ساده تر باشه

MR.ROBOT
MR.ROBOT
نوامبر 7, 2020 8:49 ب.ظ

سلام مجدد …
من الان وقتی ترمینال رو باز میکنم فونش خیلی خیلی کوچیکه .
رفتم بخش file>preferences بعد رفتم قسمت فونت …. هر کاری کردم نه تونستم فونتشو عوض کنم نه سایز فونتش ……
میشه جواب بدین
راستی من از VMware استفاده می کنم این دلیل این نقص میشه؟

محمد
محمد
نوامبر 2, 2020 6:14 ب.ظ

سلام استاد
شما خیلی خوب درس میدید
به شکلی که از دوره های پولی و… هم بهتر هست دوره هاتون
اگر مشکلی ندارید ما موافق هستیم که دوره هاتون رو در سایر چیز ها
اگر میل داشتید به صورت پولی بخریم!
شما از مدرس هایی که کارشون رو رایگان عرضه نمی کنند هم بهتر درس میدید

MR.ROBOT
MR.ROBOT
نوامبر 3, 2020 9:36 ب.ظ
Reply to  محمد

ایشون کامل صحیح می گه
اگه بشه دوره های مقدماتی پایتون و php و اینا بزارین چه پولی چه رایگان بدونید که ما پشتتون هستیم.
من رفتم تریلر این آموزش پولی هارو دیدم اصلا هیچی خداوکیلی خودشون میدونن ی میگن همش با اصطلاح حرف می زنن
مثلا یکی میگه همانطور که در c++ گفته شد …. می ریم c++ میگه همونطور که در جاوا گفته شد… می ریم جاوا میگه و…..
شما اصلا عالی تدریس می کنین اولش گفتم هیی نمی فهمم الان به درجه ای رسیدم که با مهندس نرم افزار می تونم مشاجره کنم

MR.ROBOT
MR.ROBOT
اکتبر 30, 2020 3:32 ب.ظ

سلام آقای امیرصمیمی ممنون از ویدیو ای خوبتون کلی ازشون استفاده کردم
میشه بگید چطوری میشه حالت انتظار دانلودر رو زیباتر کنیم(مثلا نقطه ها پشت سرهم اضافه بشن بعد بیان از اول دوباره شروع به زیاد شدن کنن)

محمد محمدی
محمد محمدی
ژوئن 29, 2020 11:14 ب.ظ

سلام آقای امیر صمیمی من وقتی که داشتم خودم اون دانلود منیجر که با هم ساختیم رو از اول می ساختم خواستم که متغیر IFS رو بزارم : وقتی که میخاستم با حلقه ی for اون رو تجزیه کنم یه مشکلی پیش اومد اینکه ساعت ورودی به همون صورت که وارد شده بود مونده بود و : ساعت و دقیقه رو از هم جدا نکرده بود بعد از کلی سرچ تو اینترنت به این نتیجه رسیدم که نباید متغیرمو داخل دابل کوتیشن بزارم وقتی میزارم دیگه ifs کار نمیکنه شما میگفتید همه جا برا فراخانی از دابل کوتیشن استفاده کنید… Read more »

سهیلا
می 21, 2020 1:16 ب.ظ

سلام از $ در bash در کجاها استفاده میشه

perfect68
perfect68
آوریل 30, 2020 10:17 ق.ظ

با سلام خدمت استاد امیرصمیمی قبل از هر چیز تشکر می کنم از آموزش بسیار ساده و قابل فهمتون و می خواستم بدونین من با آموزشهای بش شما تونستم تو یه شرکت استخدام بشوم و از این بابت همیشه به شما مدیون خواهم بود… حالا یه سوال داشتم اینکه شما گفتین مواقغی که کاربر یادش میره ورودی آرگمان را وارد کند با استفاده از یک کامند ساده مثل [ “” == ۱$ ] بود به کاربر رو متوجه می کنیم حالا من اسکریپتی میخوام که یک ورودی با فرمت مثلا mkv وارد کنه و در صورتی که با این فرمت… Read more »

sara
آوریل 4, 2020 2:23 ب.ظ

slm bebakhshid torye linux shortcut minimize chie

sessio desktop mn ham gnome hast?

hadise
مارس 1, 2020 12:31 ب.ظ

آقای صمیمی منظورم اینکه توی لینوکس به چه کاری میاد و کاراییش چیه
و اینکه پیکربندی اصلایعنی چی ؟ چون معنی این کلمه رو اصلا متوجه نمیشم
ممنون

hadise
فوریه 29, 2020 7:32 ب.ظ

سلام آقای صمیمی
ببخشید configuration files توی لینوکس چی هستن؟

trackback

[…] که یک bash script براش بنویسید. برای آموزش bash می تونید از ویدو های آمورشی آقای علیرضا امیر صمیمی استفاده […]

mr459
mr459
ژانویه 5, 2020 10:49 ب.ظ

سلام
یک سوال برام پیش اومده در مورد سرعت اجرای لینوکس
ویندوز ۱۰ یه قابلیت داره به اسم windows sybsystems for linux یا به اصطلاح wsl که باهاش می تونید لینوکس رو بدون شبیه ساز اجرا کرد
این لینوکس ها چطورن برای کار با اسکریپت ها(اکثر توضیع های مورد استفاده ایرانیا مثل ubuntu , kali , debian و چند تای دیگه هستش)
اگه برای اسکریپت نویسی مشکل ندارن سرعت اجرا شون چطوره؟
مثل لینوکس هستیا از محدودیت های زیر ساختی ویندوز استفاده میکنه؟

mr459
mr459
ژانویه 5, 2020 10:43 ب.ظ

سلام اقای صیمیمی

خیلی ممنون از اموزش هاتون با استفاده از کلیپ هاتون تونستم یک ابزار بروت فورس برای پروتوکل ssh بسازم

ali
ali
دسامبر 22, 2019 1:03 ب.ظ

سلام ببخشید پیشنیاز زبان bash پیست ؟

trackback

[…] سعی کردم کدها رو خوانا بنویسم. تقریبا همه این خطوط رو در آموزش بش توضیح […]

سعید
دسامبر 7, 2019 2:59 ب.ظ

سلام آقای صمیمی

توی ویدیو کست ۹ وقتی اسکریپت اجرا میشه باید همونطور که گفتید xهای هم رو بخونند ولی یک چیز دیگه اجرا میشه
مثلا اول باید function1 اجرا بشه بعد function2 اما هنگام اجرای اسکریپت از function2 دوتا پشت هم نمایش میده اینو باید چیکار کنیم چون تو ویدیو کست ۹ هم همین مشکل رو داشت

اگه منظورمو نتونستم برسونم ایمیلتونو بدید من اکرین گرفتم بفرستم

سعید
نوامبر 15, 2019 2:14 ب.ظ

سلام ببخشید من یک اسکریپت نوشتم و یک قسمتش کار نمیکنه میشه از طریق ایمیل برای شما بفرستم چک کنید؟

امیرراد
امیرراد
اکتبر 22, 2019 6:19 ب.ظ

سلام میشه یه راهنمایی در خصوص برنامه نویسی گرافیکی در بش یا zenity بکنید ممنون لظفا اگر منبع آموزشی خوب میشناسید بگید

saeed.ahm
اکتبر 20, 2019 12:34 ب.ظ

سلام

آقای صمیعی با زبان bash چیکار میشه کرد یعنی در کجا بکارمون میاد و اینکه اصلا این زبان به چه دردی میخوره اگه جواب بدید واقعا ممنون میشم
با تشکر

سعید
اکتبر 20, 2019 12:30 ب.ظ

سلام
خیلی ممنون بابت ویدیوهای خوبتون

من ی سوال داشتم
دستور fi و then در کجا ها کاربرد داره یعنی کی ها باید ازش استفاده کنم؟

Mjam
Mjam
سپتامبر 26, 2019 11:52 ب.ظ

سلام با تشکر از زحماتتون این دوره تکمیل شده؟

reza
reza
سپتامبر 10, 2019 8:55 ب.ظ

با سلام
ببخشید میخواستم یه خط اسکریپت بنویسم که تشخیص بده حجم یه درایوی پر شده یا نه که بعدا اگه دیدم پر شده یه کار خاصی انجام بدم مثلا درایو dev/sda1/ ممنون میشم راهنماییم کنید

حسن
حسن
جولای 22, 2019 2:49 ب.ظ

سلام ممنون از اموزش های خوبتون
اموزش های جدیدتون کی شروع میشه ؟ منتظر هستم خیلی ممنون

Simin
Simin
ژوئن 21, 2019 12:05 ق.ظ

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

hmdbbgh
hmdbbgh
جولای 26, 2019 4:50 ب.ظ
Reply to  Simin

سلام اگه درست متوجه منظورتون شده باشم اون شماره ها برای تنظیمات vim باید باشه
اگر داخل بخش vim برین و ویدیو های مرتبط برای شخصی سازی رو ببینید مشکلتون حل میشه
هرچند در vim در حالت نرمال :set number رو وارد کنید شماره ها ظاهر میشن

امین
امین
ژوئن 1, 2019 2:53 ب.ظ

سلام می خواستم بدونم با بش میشه ویروس ساخت

noname
noname
آوریل 5, 2019 8:42 ب.ظ

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

nixi
nixi
دسامبر 11, 2018 11:22 ق.ظ

کد رو اینجا اپلود کردم
http://s8.picofile.com/file/8345391642/create.sh.html

nixi
nixi
دسامبر 11, 2018 11:17 ق.ظ

سلام استاد
استاد من این اسکریپتو با توجه به درس ۱۰ نوشتم ولی هر سوییچی رو که تست میکنم هیچ مقداری به من برنمگردونه
ممنون میشم راهنماییم کنید
#! /bin/bash

while getopts “name:pass:ram:vcpu:ip:mac:v” options;do
case “$options” in
name)
name=”$OPTARG”
echo $name ;;

pass)
pass=”$OPTARG” ;;

ram)
ram=”$OPTARG” ;;

vcpu)
vcpu=”$OPTARG” ;;

ip)
ip=”$OPTARG” ;;

mac)
mac=”$OPTARG” ;;

v) echo version 4.9.15
exit ;;
esac
done

echo $name

برای مثال زمانی که من برای -name مقداری وارد می کنم هیچ مقداری را برای من echo‍ نمیکند
کد در این جا نیز اپلود شده
http://s8.picofile.com/file/8345391642/create.sh.html

محمد
محمد
اکتبر 27, 2018 11:24 ق.ظ

سلام…مهندس خدا خیرت بده بابت ویدیوهای خوبت
ایشالا تو مراحل زندگیتون همیشه موفق باشین.

syna
اکتبر 25, 2018 1:45 ب.ظ

سلام یه اسکریپت میخوام برای کالی لینوکس که در محیط متاسپلویت قابل اجرا باشه موقع دسترسی به گوشی اندروید تموم فایل های که در پوشهcamera هستن رو از گوشی اندروید دانلود بشن به داخل سیستم لینوکسیم
ممنون میشم کمکم کنید
اول هزینه اش رو هم پرداخت میکنم

مهدی
مهدی
سپتامبر 10, 2018 8:50 ب.ظ

سلام
چطور میشه با استفاده از دستورات bash پیامک هاای گوشی رو پاک کرد؟ ایا میشه؟

حسین
حسین
جولای 31, 2018 1:32 ق.ظ

سلام
استفاده از افزونه ی bash-support که روی vim نصب میشه هم واسه اسکریبت نویسی کمکای زیادی میکنه

tarane
tarane
آوریل 24, 2018 11:40 ق.ظ

سلام و وقت به خیر
ببخشید من میخوام یه اسکریپت بنویسم که یه مرورگر خاص(مثل فایر فاکس و یا Tor ) رو باز کنه و بعد به صورت خودکار چند تا سایت برام باز شه البته هر سایت بعد از لود شدن سایت قبلی .میشه یه راهنمایی بفرمایید.
ممنون میشم .

Alireza Niksejel
Alireza Niksejel
آوریل 19, 2018 4:37 ب.ظ

با سلام
تو قسمت دهم از آموزشتون که کد یک دانلود منیجر رو نوشتین فکر کنم باگ کوچیکی وجود داشته باشه. انتهای فانکشن endtime اگر بخوایم برنامه رو بجای killall aria2c با kill $PID ببندیم این اتفاق نمی افته و دانلود ادامه پیدا میکنه. البته امیدوارم اشتباه نکرده باشم اما فکر کنم تو این بخش باید PID مربوط به aria2c قزار بگیره تا برنامه کاملا متوقف بشه نه PID اسکریپت.

Alireza Niksejel
Alireza Niksejel
آوریل 17, 2018 3:24 ب.ظ

با سلام
ممنون از ویدئوهای مفیدتون. بسیار عالی بودن
فقط حیف که awk رو توضیح ندادین.

ho3ein
ho3ein
فوریه 20, 2018 11:17 ب.ظ

سلام آقای امیر صمیمی عزیز
notify-send تو ارچ من نصبه ولی اون اسکریپ اجرا میکنم تو دسکتاپ نمیاد انگاری فعال نیس
ویکی هم رفتم چیزی دستگیرم نشد قبلا کار میکرد امروز ارچ پاک کردم دوباره نصبش کردم دیگه کار نمیکنه

حسین
حسین
فوریه 9, 2018 10:39 ق.ظ

سلام اقای امیر صمیمی قسمت ۱۴ اسکریپ نویسی از آپارات حذف شده

حسین
حسین
فوریه 10, 2018 10:39 ق.ظ

سلام اقای امیر صمیمی بسیار سپاس گذارم اموزش ها واقعا عالی هستن

Abolfazl
Abolfazl
آوریل 6, 2018 9:04 ق.ظ

پس لطفا در قسمت ۱۴ لینکشو اصلاح کنید.ممنون

زینب
زینب
ژانویه 27, 2018 1:51 ق.ظ

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

Bita
Bita
ژانویه 3, 2018 8:17 ب.ظ

یه سوال برام پیش اومده. اینکه چرا وقتی دو تا تابع رو همزمان با هم اجرا کردیم بعضی وقتا دو خط از یکی اجرا میشد؟!؟ مگه نباید یه خط از تابع اول و یه خط از تابع دوم اجرا بشه؟

seyyedsardar
seyyedsardar
ژانویه 2, 2018 8:35 ب.ظ

آقا عالی تر از این سایت ندیدم ب خدا
آقای امیرصمیمی ادامه بدین ما حمایتتون میکنیم :)))))))

Bita
Bita
ژانویه 1, 2018 10:35 ب.ظ

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

behzad
behzad
نوامبر 24, 2017 8:25 ب.ظ

سلام!خسته نباشید..ضمت تشکر از آموزش های خیلی عالی تون..
من میخوام یه برنامه بنویسم که فایل های .txt رو به فایل های .txt.back تبدیل کنه..چیکار کنم؟؟اول بایدبسوند تکست رو از فایل ها حذف کنم و بعدش بسوند تکست دات بک رو اضافه کنم؟؟یا میشه مستقیما هم تبدیل کرد…اگه میشه با چه دستوری؟؟

ghaderi
ghaderi
نوامبر 9, 2017 3:18 ب.ظ

با سلام و عرض ادب خدمت شما
واقعا کاربردی و ازصفر آموزش دادید bash script ما منتظر ادامه این ویدیوها برای مباحث پیشرفته تر هستیم
اگر امکانش هست درباره پاورشل و برنامه نویسی اسمبلی هم آموزش بزارید
بازم خیلی تشکر

علی
علی
نوامبر 3, 2017 1:11 ب.ظ

با عرض سلام و ادب
از بابت آموزش های عالی که بصورت رایگان گذاشتید بسیار متشکرم. بیصبرانه منتظر آموزشهای بیشترتون هستم. و از خداوند براتون آرزوی سلامتی و موفقیت دارم.

سپاس

ramin
ramin
نوامبر 2, 2017 4:28 ب.ظ

سلام ویدیو ۱۴ لینکش خراب شده . لطفا برسسی کنید . ممنون

Arshia
Arshia
اکتبر 12, 2017 11:51 ق.ظ

سلام مرسی بابت اموزش خوبتون
توزیع لینوکس و نام دسکتاپی که استفاده میکنید و شبیه مک هست چیه؟

hamid
hamid
سپتامبر 1, 2017 11:30 ب.ظ

دستوری همکه باید توی ویم ارسی وارد کنیم طبق اپرس سایتی که خودتون به من دادید اینه:
map :!git commit -a -m “test”

hamid
hamid
سپتامبر 1, 2017 11:28 ب.ظ

not a git repository
sttoping at filesystem boundary
shell return 128

hamid
hamid
سپتامبر 1, 2017 11:25 ب.ظ

سلام من نتونستم دستور chmod +x filename رو ست کنم این ارور رو میده وقتی که توی ویم ارسیم ذخیرش میکنم و کلید مربوطش رو میزنم…

hamid
hamid
آگوست 21, 2017 11:36 ب.ظ

سلام مجدد
یه سوال :برای map کردن دستور chmod +x filename.sh که هموم قابلیت اجرایی فایله با توجه به اینکه filename یه چیز مشخص و ثابت نیس باید چیکار کرد؟
یعنی اینکه کلید map ش رو توی فایل vimrc. باید چه طوری تعریف کنم؟