‌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 قسمت اول

176
دیدگاه بگذارید

avatar
89 Comment threads
87 Thread replies
5 Followers
 
Most reacted comment
Hottest comment thread
60 Comment authors
hmdbbghحسنSiminامینnoname Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
حسن
مهمان
حسن

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

Simin
مهمان
Simin

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

hmdbbgh
مهمان
hmdbbgh

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

امین
مهمان
امین

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

noname
مهمان
noname

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

nixi
مهمان
nixi

سلام استاد
استاد من این اسکریپتو با توجه به درس ۱۰ نوشتم ولی هر سوییچی رو که تست میکنم هیچ مقداری به من برنمگردونه
ممنون میشم راهنماییم کنید
#! /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

محمد
مهمان
محمد

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

syna
مهمان

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

مهدی
مهمان
مهدی

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

حسین
مهمان
حسین

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

tarane
مهمان
tarane

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

Alireza Niksejel
مهمان
Alireza Niksejel

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

Alireza Niksejel
مهمان
Alireza Niksejel

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

ho3ein
مهمان
ho3ein

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

حسین
مهمان
حسین

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

زینب
مهمان
زینب

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

Bita
مهمان
Bita

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

seyyedsardar
مهمان
seyyedsardar

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

Bita
مهمان
Bita

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

behzad
مهمان
behzad

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

ghaderi
مهمان
ghaderi

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

علی
مهمان
علی

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

سپاس

ramin
مهمان
ramin

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

Arshia
مهمان
Arshia

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

hamid
مهمان
hamid

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

hamid
مهمان
hamid

not a git repository
sttoping at filesystem boundary
shell return 128

hamid
مهمان
hamid

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

hamid
مهمان
hamid

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

Hamid
مهمان
Hamid

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

hamid
مهمان
hamid

سلام اقای امیر صمیمی خداقوت .
این script هایی که توی bash اموزش دادید رو تو ی windows هم میشه اجرا کرد ؟
مثلا همون notify-send رو؟

hamid
مهمان
hamid

یه سوال دیگه اینکه بعضی از سوییچ ها و دستور ها ی scrip نویسی که استفاده کردید رو نتونستم توی manual اون پیدا کنم میشه بگید از کجا پیدا کردید؟
مثلا سوییچ s- در دستور read

hamid
مهمان
hamid

سلام اقا خیلی عالیه
یه سوال برام پیش اومد این که توی دستور if داخل “” که باید متغییر فراخونی کنیم اگه بخواییم directory فراخونی کنیم . جدای از سوییچ f- . برای directory های غیر از home که خودش متغییری با نام HOME داره چه جوری باید متغییر تعریف کرد؟
ممنون

morteza
مهمان
morteza

با سلام و تشکر خدمت آقای امیرصمیمی. ویدیو آموزشیتون بسیار مفید و خوب بودند .
استاد اگه امکانش هست آموزش زبان پایتون را هم در ادامه ی برنامه هاتون بزارین . ^_^

علی
مهمان
علی

با سلام خدمت استاد عزیز. تشکر بابت فیلم های بسیار عالیتون. ۱ سوال داشتم از خدمتتون. بنده یه اسکریپت ساده که ۲ تا پروسه را به صورت همزمان اجرا کند را میخوام در ابتدا اجرا و سپس نتایج آن ها را در داخل یک فایل نمایش دهم.
اما مشکل اینجاست که پروسه اول که زمینه میشود اجرا میشوذ اما هیچ چیزی را نمایش نمیدهد و فایل مربوطه خالی است.
#!/bin/bash
f=iperf3 -u -c 127.0.0.1 -p 5206 -i 5 -t 5 -b 0 &
d=iperf3 -u -c 127.0.0.1 -p 5207 -i 5 -t 5 -b 0
wait
echo “$f” > ee.txt
echo “$d” > er.txt

mohamad
مهمان
mohamad

سلام اموزشها ادامه پیدا نمیکنه؟

میم
مهمان
میم

سلام خسته نباشید
چطوری میتونم یه فایل bash script یا یه همچین چیزی درست کنم شامل یه سری command ها که بتونم هر وقت خواستم فایل رو اجرا کنم و یه سری عملیات مثل بک آپ گیری یا … رو انجام بدم؟
ممنون میشم کمی راهنمایی بفرمایید

حیدر
مهمان
حیدر

سلام و عرض ادب
در صورت امکان درخصوص پروفایلهای لینوکس راهنمایی میخواستم

sajjad
مهمان
sajjad

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

محمد گنجی
مهمان
محمد گنجی

ویدیو ها واقعا عالیه
یه ویدیو ۳۰ دقیقه ای رو پلی می‌کنم و کنارش ترمینال رو باز می‌کنم، همراهتون کد می‌زنم، هر دستوری که برام جدیده رو گوگل می‌کنم و ته و توشو در میارم، دستورای ریزی که لابلای آموزش های اصلی گفته می‌شه خیلی خوبه، هر ویدیویی که می‌بینم یه ذره ترمینالم رو شخصی سازی می‌کنم و یه سری فیچر ها به bashrc اضافه می‌کنم، کامند های خود ساخته مث timer و alarm clock و اینجور چیزا همینطوری داره به دستورات ترمینالم اضافه می‌شه.
شکل آموزش هم صمیمی و کاربردیه!
خیلی ممنون آقای امیرصمیمی.

mostafa
مهمان
mostafa

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

دانلود پروژه معماری
مهمان

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

حیدر
مهمان
حیدر

روش و سبک آموزشی شما خیلی عالی
اگه بشه آموزش طراحی سایت هم داشته باشیم خیلی خوب میشه

جواد پویا
مهمان
جواد پویا

سلام مجدد . اون فونتی که توی ارچ لینوکس استفاده می کنید چیه ؟؟؟ خیلی باحاله !!!

ایرج
مهمان
ایرج

سلام مهندس و موزیسین عزیز
آقا یه سوال من دارم با آموزشهای عالیه شما پیش میرم قسمت ۱۵ قسمت آخر آموزش بش اسکریپت هست یا ادامه داره؟

جواد پویا
مهمان
جواد پویا

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

وارد میکنم پیغام رو اکو نمیکنه . !؟؟!؟!؟ مشکل کجاست مهندس ؟؟ ضمن حل مشکل توضیح هم بدید . ممنون

#!/bin/bash

clear

read -p “PLEASE ENTER A NAME : ” name

clear

if [ “$name” == “JAVAD” ];then

clear

read -p “PLEASE ENTER A DIRECTORY :” dir

if [ -d “$HOME/$dir” ];then

echo “OK !”

fi

else

echo “UNKNOWN !”

exit

fi

ایرج
مهمان
ایرج

دوست عزیز
کد اصلاح شده شما
#!/bin/bash
clear
read -p “PLEASE ENTER A NAME : ” name
clear
if [ “$name” == “JAVAD” ];then
clear
read -p “PLEASE ENTER A DIRECTORY :” dir
if [ -d “$HOME/$dir” ];then
echo “OK !”
fi
else
echo “UNKNOWN !”
fi
exit

سید صفوی
مهمان
سید صفوی

سلام و عرض ادب در مورد نصب کارت گرافیک و صدا بر روی کالی لینوکس فیلم اموزشی خاصی دارید ??

قثظش
مهمان
قثظش

خیلی عالی.
من اگه اینا رو یاد بگیرم کارم توی i3 پیش میره؟

Milad Bazisaz
مهمان

سلام استاد من قسمت ۱۰ رو دیدم مثل اینکه یک باگ کوچکی داره دانلود منیجری که ساختید اینکه شما هیچ وقت نمی توانید به برنامه بگید که از ساعت ۶ بعد از ظهر شروع به دانلود کن (۱۸:۰۰) تا ساعت ۱۲ شب (۰۰:۰۰) دقیقه های End تایم رو که ضرب میکنه کم میشه و این باگ بدی به حساب میاد یا مثلا از ساعت ۲۳ نمی شود تنظیم کرد شروع بشه تا ۳ نصفه شب. و یه چیز دیگه خیلی وقت هست که آموزش هارا ادامه ندادید آیا قسمت ۱۵ به بعد ادامه خواهد داشت؟ منبع کاملی برای یادگیری بش… Read more »

Milad Bazisaz
مهمان

سلام استاد ممنون از آموزش ها یه مشکلی داشتم استاد
این عکس را ببینید

comment image

بعد از اجرای اسکریپت two.sh دستور echo hello اجرا نمیشه

چجوری میتونم ادامه اسکریپت را اجرا کنم استاد

خیلی ممنون میشم مرسی.

نانوک
مهمان
نانوک

سلام
ببخشید تو lubuntu یا LXLE فایل bashrc کجاست؟ تو پوشه home نیست! مخفی هم نیست

gh.ghdarya
مهمان
gh.ghdarya

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