2007-06-07

BASH SHELL -талаар жаахан хе хе

Пээх ойрд блог дээрээ юм бичээгүй юм байнее.

Та бүхэндээ өнөөдөр bash shell-талаар товчхон танилцуулая гэж бодлоо.. Хүн л юм чинь алдаж таараа, буруу зөрүү юм байхыг бас үгүйсгэшгүй тул та бүхэн уучилж ажаам уу.

BASH SHELL түүний хэрэглээ

Линукс үйлдлийг системд хэрэглэгддэг хэд хэдэн төрлийн shell командууд байдаг. Эдгээрийг доор дурьдлаа.

ASH shell /bin/ash /bin/bsh

*Unix-V system –д AT&T‘ shell-г ашиглахтай адилхан

BASH shell /bin/bash /bin/bash2

*Unix-н Bourne shell-д үндэслэсэн стандарт shell. Администраторын Shell юм.

C shell /bin/csh /bin/tcsh

Unix-н хоёрдахь shell юм. Олон боломж болон функцуудыг агуулдаг. Программчлалын C хэлтэй төстэй.

Korn shell /bin/ksh

Unix-н гуравдахь shell бөгөөд C болон BOURNE-н shell-г агуулдаг.

Z shell /bin/zsh

Korn shell-д тулгууралсан бөгөөд түүний багцыг агуулсан байдаг.

Bash shell гэж юу вэ?

Хэрэглэгчидтэй шууд холбогдож тэдгээрийн команд, даалгаварыг компьютерт оруулах боломж олгох үүрэгтэй хөрвүүлэгчийг (interpreter) bash shell гэдэг.Bash shell гэдэг нь Bourne-Again Shell үгийн товчлол бөгөөд Bourne нь UNIX-н shell болох /bin/sh-г анх хийсэн хүн юм.

Bash shell –г эхлүүлэх

Хэрвээ таны компьтер GUI тэй бол terminal-н icon дээр дарсанаар эхлүүлэх боломжтой. text горимд ажиллаж байгаа бол Alt-Ctrl-F1 дарсанаар terminal-г ажиллуулах боломжтой. Энэ нь F6 хүртэл байх бөгөөд Alt-Ctrl-F7 дарсанаар график горимд шилжих боломжтой.Хэрэглэгч login хийж орох үед bash shell-н эхлэлийн командууд нь /etc/profile директорт байрлана.

Bash shell нь танд дараах зүйлсийг хийх боломж олгоно

оролт гаралтын бичих

file-н нэрийг богиносгох

Shell-г хүссэнээрээ өөрчлөх боломжтой

маш хүчирхэг программын орон зай

өмнөх командуудад эргэж хандах

командын мөрийг засварлах

бүхэл тоон арфиметик

арфиметик илэрхийлэл

командын нэрийг богиносгох

ажлын удирдлага

нэгтгэж болох программын дүр төрх

удирдлагын бүтэц

Бүрхүүлийн скриптүүд нь bin/bash–д ажиллах бөгөөд ажиллуулахдаа sh fileaname.shбайна.

Bash shell-н бичигдэх хэлбэр

bash [options] [arguments]

Options
- , //--дараагийн холбоосын бүх аргументийг авна.[options байхгүй]

-D, --dump-strings
//Англи бус зүйлсийг bash-руу хөрвүүлэлт хийннэ

--dump-po-strings
//dump-strings-тай адилхан , гэхдээ GNU gettext po (portable object) форматтай тэмдэгтийг оруулахад ашигладаг.

--version
//таныг bash shell-н ямар хувилбар-г хэрэглэж байгааг харуулна.

--rcfile
//систем эхлэх үед эхлэн ачаалагдах дэд файлууд байна.

--norc
//систем эхлэх үеийн процессыг ~/.bashrc ачаалахгүй болгоно.

-x
//Алдааг илрүүлэхэд ашигладаг.

-s
//Стандар оролтоос командыг уншихад хэрэглэгдэнэ.

Arguments< >

Тушаал болон дүрмийг тодорхойлох ба $1, $2 г.м параметртэй байна.Хэрвээ эхний аргумент нь бичлэгийн гүйцэтгэл бол аргумент нь $0 байна.

Командын хэлбэр

cmd & //Үндсэн командыг биелүүлнэcmd1 ;

cmd2 //Командуудыг залгаж бичиж болох ба ; тусгаарлана

(cmd1 ; cmd2) //Дэд shell, эдгээр командууд нь нэг групп команд

cmd1 cmd2 //Хоолой, cmd2-н оролтыг cmd1-н гаралтанд ашигладаг

cmd1 `cmd2` //cmd2-н оролтын аргументыг cmd1-д шилжүүлэх

cmd1 $(cmd2) //Төрлийг зөвшөөрөх

cmd1 &&amp;amp;amp;amp; cmd2 //AND; хэрвээ зөвхөн cmd1 нь биелвэл cmd2-г биелүүлнэ

cmd1 cmd2 //OR; хэрвээ cmd1 амжилтгүй болсон үед cmd2-г биелүүлнэ

{ cmd1 ; cmd2 } //идэвхтэй командыг биелүүлнэ

Жишээ нь:

$ cd; ls //дараалан биелүүлнэ

$ (date; who; pwd) > logfile //бүх оролтыг бичнэ

$ sort file pr -3 lp // файлыг эрэмбэлээд хуудасаар нь харуулна

$ vi `grep -l ifdef *.c` //файлыг бичээд хэвлэнэ

$ egrep '(yesno)' `cat list` //файлын жагсаалтаас тусгайлан хайлт хийнэ

$ egrep '(yesno)' $( // дээрхтэй ижилхэн гэхдээ хурдан

$ grep XX file &&amp;amp;amp;amp; lp file // файлын эцэг файлыг хэвлэнэ

$ grep XX file echo "XX not found"

Redirection

Гурван үр дүн тодорхойлогч байдаг.

0 - Стандарт оролт - Stdin

1 - Cтандарт гаралт - Stdout

2 - Стандарт алдаа - Stderr

Жишээ нь

Stdout -> filels – 1 > list.txt // үр дүнг list.txt бичнэ

stderr -> filegrep da * 2 // үр дүнг grep-error.txt бичнэ

Эцэст нь хэлэхэд LINUX-н команд нь маш мэдрэмтгий бөгөөд жишээ нь ‘ls’ гэдэг бидний сайн мэдэх командыг ‘LS’ гэж бичвэл ажиллахгүй шүү андуудаа.

11 comments:

Anonymous said...

Ok tegie ee chadhiin hereer tailbarlaj ogie ee chi mail hayagaa ch yum uu ogchwol bi chamruu yawuulchii

batbayar said...

c shell-iin tuhai jaahan delgerengui tailbarlaj uguuch, please

Unknown said...

hi shell.n file.tai ajillah command.uudiig (cp, mv geh met) bolon VI gej text editor.r herhen file edit/save/create hiih talaar zaavar oruulaach ho

badmaa said...

enehvv medeellig niitelsen tand bayrlalaa. vneheer tus bolj chadlaa. dan gants bash gelgvi shell-iin bvh turluudiinh ni talaar baiwal vneheer heregtseetei, ontsgoi medeelel boloh bolnoo. tgd bas tanias hvseh neg hvselt bn. shell script-iin talaarh bvh l oilgoltuudiig bi yaaraltai medej awah shaardlagatai bgaamaa. tus bolooch??? pls

Anonymous said...

yubnaaa

Anonymous said...

twndaa yum bn

Anonymous said...

shaaltsahuu

Anonymous said...

tgd yuuu bgaan be neg yum n yuiiin

Anonymous said...

shaaltsiildaa bebe

Anonymous said...

za aliwee nmg chinzoo gedg

Anonymous said...

s awna nmg chinzoo gdg