Professional Documents
Culture Documents
ZayYarWin
1
Moscow Institute of Electronic Technology Capt.ZayYarWin
2
Moscow Institute of Electronic Technology Capt.ZayYarWin
Note:
To login the system:
login:<username>
Password:
3
Moscow Institute of Electronic Technology Capt.ZayYarWin
4
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “man/help”
5
Moscow Institute of Electronic Technology Capt.ZayYarWin
$ command --help
Example:
[myn@panda myn]$ date
[myn@panda myn]$ man cp
command “mount/umount”
Unix system rSmtoHk;jyKwJh file system [m ‘/’ root &JUatmufrSm tree yHkpHeJU
tqifhqifhwnf&Sdaewmjzpfygw,f/ 'DzdkifawGxJrS tcsdKU[m device file awGvnf;jzpfEdkifyg
w,f/ (Oyrm- cdrom, floppy device,…) 'D device awGudk uRefawmfwdkUtoHk;jyKvdkwJh
tcg file system (‘/’ tree)rSmoGm;NyD;csdwfquf(wyfqif)&ygw,f/ mount vkyfw,fvdkUac:yg
w,f/ tJ'DhtcgrSom system uaeNyD; uRefawmfwdkUtoHk;jyKvdkwJh device udkod&SdNyD;awmh 'D
device awGudktoHk;jyKEdkifrSmjzpfygw,f/ toHk;jyK&r,fh command uawmh ‘mount’
jzpfygw,f/ command ‘mount’ udk toHk;jyKwJhtcgrSm argument (2)ckeJU toHk;jyK&ygw,f/
tJ'guawmh mount vkyfcsifwJh device (device’s name) eJU file system rSm mount
vkyfr,fhae&m mount point jzpfygw,f/ 'D ‘mount’ command udk superuser(root)
account eJUomjyKvkyfEdkifygw,f/
mount vkyfxm;wJh device ukd file system rSjyefNyD; jzKwf (disable) vdkwJhtcgrSm
command ‘umount’ udktoHk;jyK&ygw,f/ atmufrSmazmfjyxm;wJh OyrmawGudk avhvmMunfh
&if ydkNyD;oabmaygufrSmjzpfygw,f/
Syntax:
# mount device mount_point(directory)
# umount device umount_point(directory)
Options:
# mount –o,f,w,v
6
Moscow Institute of Electronic Technology Capt.ZayYarWin
Cdrom device udk mount point directory jzpfwJh /mnt ae&mrSm mount
vkyfvdkufwmjzpfygw,f/
command “who”
Example:
7
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “pwd”
user vuf&Sda&mufaewJh (tvkyfvkyfaewJh) current directory udk azmfjyay;ygw,f/
Syntax:
$ pwd
Example:
[myanmar@panda myanmar]$ pwd
/home/myanmar
command “cd”
vuf&Sda&mufaewJh (tvkyfvkyfaewJh) directory rS tjcm; directory wpfckudk
ajymif;wJhtcgrSm toHk;jyKygw,f/
Syntax:
$ cd pathname
Example:
[myn@panda myn]$ cd /etc/sysconfig
[myn@panda sysconfig]$
command “ls”
Directory xJrSm yg0ifwJh file awG&JU list ukdazmfjyay;ygw,f/ rdrda&mufaewJh
directory xJrSmyg0ifwJh file awGudkodvdkwJhtcg toHk;jyKEdkifygw,f/ MS-DOS rSm
toHk;jyKwJh ‘dir’ command eJU twllwlyJjzpfygw,f/
Syntax:
$ ls
$ ls [options] directory
Example:
8
Moscow Institute of Electronic Technology Capt.ZayYarWin
9
Moscow Institute of Electronic Technology Capt.ZayYarWin
(-l) option uawmh yg0ifwJhzdkifawG&JU list ukd tcsuftvuf twdtus long format
eJU azmfjyay;wm awGU&rSmjzpfygw,f/ azmfjyxm;wJh tcsuftvufawGu bmawGudkqdkvdkw,f
qdkwm atmufrSm&Sif;jyxm;ygw,f-
command “ln”
File awG wpfckeJUwpfckMum; link jyKvkyf&mrSm toHk;jyKygw,f/ hard link eJU soft
link (symbolic link) qdkNyD; (2)rsdK;&Sdygw,f/ bmawGuGm;jcm;w,fqdkwm atmufrSmjyxm;wJh
OyrmawGudk wpfqifhcsif;avhvmMunhfvdkuf&if oabmaygufrSmjzpfygw,f/
Syntax:
$ln source destination
$ln [options] source destination
Option:
[-s] symbolic link
Example:
10
Moscow Institute of Electronic Technology Capt.ZayYarWin
11
Moscow Institute of Electronic Technology Capt.ZayYarWin
Example:
[myn@panda myn]$ cat file1
My name is Mg Mg.
I live in Myanmar.
[myn@panda myn]$
Text file jzpfwJh file2 xJudk file1 xJu text awGaygif;xnfhNyD; file3 tjzpf file
topfxyfNyD; create vkyfvdkufwmjzpfygw,f/
‘cat’ command eJUygwfoufNyD; aemufvmr,fh lab: No.10 rSmxyfNyD; awGU&OD;rSm
jzpfygw,f? tu,fí uRefawmfwdkU zwfvdkwJh text file [m size BuD;rm;NyD;wJh zdkifrsdK;qdk&if
awmh text awGudk screen rSm vQyfwjyufyJjrifvdkuf&NyD; file &JU atmufqHk;udk csufcsif;
a&mufoGm;rSmjzpfwJhtwGuf uRefawmfwdkUtwGuf tqifrajyawmhygbl;? tJ'DhtwGuf aemufxyf
toHk;jyKEdkifwJh command uawmh ‘less’ jzpfygw,f/
12
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “file”
'D command uawmh file type trsdK;tpm;udk azmfjyay;ygw,f/ uRefawmfwdkUrSm
&SdaewJh file awG[m b,fvdk file type trsdK;tpm;vJqdkwmudk 'D ‘file’ command u
tvG,fwul azmfjyay;ygw,f/
Syntax:
$ file somefile
Example:
command “cp”
13
Moscow Institute of Electronic Technology Capt.ZayYarWin
Example:
[myn@panda myn]$ cp file1 file2
command “mv”
Example:
[myn@panda myn]$ mv file1 file2
14
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “rm”
'D command udkawmh file awGeJU directory awG delete vkyf&mrSm toHk;jyKygw,f/
Syntax:
$ rm filename
$ rm –r directory
Example:
[myn@panda myn]$ rm file1 file2
[myn@panda myn]$ rm –r dir1 dir2
command “mkdir”
Directory (folder) topf create vkyf&mrSm toHk;jyKygw,f/
Syntax:
$ mkdir dir_name
Example:
[myn@panda myn]$ mkdir yangon
15
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “rmdir”
Example:
[root@panda myn]# rmdir /home/myanmar/yangon
command “chmod”
'D ‘chmod’ command udkawmh file eJU directory awG&JU access permission udk
management vkyf&mrSm toHk;jyKygw,f/ Linux [m uRefawmfwdkU odxm;wJhtwdkif;
multi-task system jzpf&Hkomru system wpfckwnf;udk wpfcsdefwnf; wpfjydKifwnf;rSm
user trsm;tjym;toHk;jyKEdkifwJh multi-user system trsdK;tpm;vnf;jzpfygw,f/ tJ'gaMumifh
uRefawmfwkdU&JU computer xJrSm&SdwJh ta&;BuD; file, data awGudk uRefawmfwdkU cGifhjyKvdkwJh
user awGuvGJNyD; tjcm; rvdkvm;wJh user awG vma&mufNyD; access rvkyfEdkifzdkUtwGuf
security system vdktyfygw,f/ tJ'DhtwGuf uRefawmfwkdU ‘chmod’ command udk
toHk;jyKNyD; file access permission setting eJU user awG&JUtMum;rSm security udk
xdef;odrf;xm;Edkifygw,f/ uRefawmfwkdU qufNyD;avhvmMunhf&atmif? yxrqHk; uRefawmfwdkU
taeeJU permission setting udk em;vnfxm;zdkU vdktyfygw,f? permission setting
twGufodxm;&r,fh user trsdK;tpm;awGuawmh-
u owner
g Group
o others
a all(u, g and o)
Permission trsdK;tpm;awGuawmh-
r read access
w write access
x Execute(run)
16
Moscow Institute of Electronic Technology Capt.ZayYarWin
&vmwJh result t& 'Dzdkif&JU owner uawmh ‘zyw’ jzpfNyD;awmh owner u 'Dzdkifudk
read, write, execute vkyfEdkifygw,f? group ‘zyw’ xJrSmyg0ifwJh member user
awGtm;vHk;u 'Dzdkifudk read, write, execute vkyfEdkifygw,f? owner eJU group xJrSm
ryg0ifwJh tjcm;aom user awGtm;vHk;u 'Dzdkifudk read vkyfEdkifygw,f? 'Dzdkif[m program
wpfyk'fjzpfcJhr,fqdk&if run (execute) vdkU&ygw,f? write vkyfvdkUawmhr&ygbl;/ 'D
permission setting udk ‘chmod’ command udktoHk;jyKNyD; owner u usefwJh user
awGtwGuf access permission udk change vdkU&ygw,f/ command udktoHk;jyKyHkuawmh
atmufygtwdkif;jzpfygw,f-
Syntax:
$ chmod [mode] file
Example:
[myn@panda myn]$ chmod g+w file (add write access for the group)
[myn@panda myn]$ chmod o-rwx file (remove all permission for the other)
[myn@panda myn]$ chmod u+x file (allow the file owner to execute the file)
[myn@panda myn]$ chmod a+rw file (allow everyone to read and write to the file)
[myn@panda myn]$ chmod ug+r file (allow the owner and group to read the file)
17
Moscow Institute of Electronic Technology Capt.ZayYarWin
18
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “chown”
change owner jzpfygw,f/ file &JU ownership udk ajymif;zdkU vdktyfwJhtcgrSm
toHk;jyKygw,f/
Syntax:
# chown new_owner file
[zyw@zayar-pc zyw]$ su
Password:
[root@zayar-pc zyw]#
[root@zayar-pc zyw]# exit
exit
[zyw@zayar-pc zyw]$
Example:
erlemudk wpfqifhcsif; avhvmMunhfyg? oabmaygufr,fvdkU arQmfvifhygw,f/
Line No.4 rSm jrif&wJh 'Dzkdif&JU owner [m command udkoHk;tNyD; Line No.9 rSm
tjcm; owner name odkU ajymif;oGm;wmudk awGU&rSmjzpfygw,f/
19
Moscow Institute of Electronic Technology Capt.ZayYarWin
vufawG>av>usifhcef;rsm;
20
Moscow Institute of Electronic Technology Capt.ZayYarWin
‘>’ oauFwu ‘ls’ command &JU output ukd screen odkUrjyyJ list.txt file xJodkU
direction ajymif;ay;vdkufwmjzpfygw,f/ tu,fí uRefawmfwdkU redirection vkyfay;vdkufwJh
list.txt zdkif[m rlvuwnf;u &SdNyD;om; jzpfaecJh&if overwrite vkyfoGm;rSmjzpfygw,f/ tJ'Dh
jyóemtwGuf ‘>>’ oauFwudk tokH;jyKEdkifygw,f/
21
Moscow Institute of Electronic Technology Capt.ZayYarWin
Using a Pipe
Pipe &JU oauFwuawmh ‘|’ jzpfygw,f/ command awGwpfckeJUwpfckudk csdwfqufwJh
tcgrSm pipe u ulnDay;ygw,f/ yxr command &JU Standard output (stout) udk
'kwd, command &JU standard input (stdin) tjzpf ‘|’ u jyKvkyfay;ygw,f/ ‘>’
eJUoabmw&m;csif; qifwlygw,f/ 'gayr,fh ‘|’ eJU ‘>’ &JUuGmjcm;csufuawmh ‘|’ u
command wpfck&JU output udk aemuf command qDudkydkUay;wmjzpfygw,f/ ‘>’ vdk file
udk ydkUay;wm r[kwfygbl;/ Oyrmudk em;vnfatmifavhvmMunfhyg/
'D OyrmxJrSm ‘ls’ eJU ‘less’ command ESpfckudk wGJoHk;xm;wmjzpfygw,f/ 'D /etc
directory xJrSm system &JU configuration file awG trsm;BuD;&Sdygw,f/ yxrqHk; ‘ls’
command wpfckwnf;udk toHk;jyKNyD; 'D directory xJrSmyg0ifwJh file awG&JU list udk
Munfhyg/ 'Ddirectory xJrSm zdkifawGtajrmuftrsm;&SdaewJhtwGuf one screen eJU display
vkyfzdkUrqHhygbl;/ tJ'DhtwGuf tay:ydkif;rSm&SdwJh zdkifawGudkjrif&zdkU tcuftcJawGU&rSm jzpfyg
w,f/ 'Djyomemudk ajz&Sif;EdkifzdkUtwGuf ‘less’ command udk wGJzuftoHk;jyKEdkifygw,f/
‘ls’ rS xGufvmr,fh ouput udk ‘less’ command &JU input (argument) tjzpf ‘|’
tultnDeJUydkUay;vdkuf&if less u wpfBudrfrSm one screen ESHK;eJU display vkyfay;rSmjzpfwJh
twGuf tqifajyoGm;aprSm jzpfygw,f/ Pipe u yxr command &JU output udk 'kwd,
command &JU input tjzpfydkUay;vdkufwmyJ jzpfygw,f/ aemuf Oyrmwpfckudk avhvmMunfh
ygOD;-
22
Moscow Institute of Electronic Technology Capt.ZayYarWin
yxrqHk; cat command eJU zkdifxJrSmyg0ifwJh text awGudk standard output rSm
display vkyfvdkufygw,f/ 'kwd, command line rSmawmh cat &JU output udk stout rSm
rjyawmhyJ ‘|’uaeNyD; ‘wc’ command qDudkydkUay;vdkufygw,f (wc – word count)/ ‘|’
uydkUay;vdkufwJh input udktoHk;jyKNyD; ‘wc’ command u zdkifxJrSmyg0ifwJh line ta&twGuf?
word ta&twGufeJU character ta&twGufudk count vkyfNyD; stout rSm azmfjyay;wm jzpfyg
w,f/ vufawGUjyKvkyfavhvmMunfhyg/
Using a Filter(Фильтр)
Filter qkdwmuawmh Unix command awGygyJ/ Pipe u uRefawmfwdkU avhvmcJhwJh
twdkif; command wpfck&JU standard output udk tjcm; command wpfck&JU toHk;jyK&r,fh
input (argument) tjzpf ydkUay;ygw,f/ Filter awG tvkyfvkyfyHkuawmh stdin rS data udk
&,lNyD;awmh result udk stout odkUxkwfay;ygw,f/ text file awGukd Filter toHk;jyKNyD;
modify vkyfay;Ekdifygw,f/ Linux rSm toHk;rsm;wJh filter awGuawmh cat, cut, grep, sort,
spell, wc, … ponfjzifh jzpfygw,f/
command “cat”
Filter ‘cat’ u standard input rS uRefawmfwdkU &dkufxnfhvdkufwJh data udk copy
vkyfNyD; screen rSmazmfjyay;ygw,f/ ‘>’ oauFweJUwGJzufNyD; input ukd file odkUydkUay;edkifyg
w,f/
Syntax:
$ cat > file
Example:
[myn@panda myn]$ cat
Russian Federation
Russian Federation
[myn@panda myn]$
23
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “tee”
Filter ‘tee’ uawmh standard input udk read vkyfNyD;awmh standard output rSm
xkwfay;ygw,f/ wpfcsdefwnf;rSmyJ output udk file xJrSmvnf; save ay;ygw,f/
Syntax:
$ tee file
Example:
[myn@panda myn]$ tee test.txt
Input from keyboard.
Input from keyboard.
[myn@panda myn]$ cat test.txt
Input from keyboard.
yxrOD;pGm command line rSm tee test.txt udk &dkufvdkufwJhtcgrSm user input
awmif;ygw,f/ Keyboard rS “Input from keyboard.” qdkwJh text udk &dkufxnfhvdkufyg
w,f/ tJ'DhtcgrSm standard output jzpfwJh screen rSm uRefawmfwdkU&dkufvdkufwJh text udk
output taeeJU jyef display vkyfay;NyD;awmh wpfcsdefwnf;rSmyJ test.txt zdkifxJrSmvnf;
uRefawmfwdkU &kdufvdkufwJh text udk oGm;NyD; save ay;ygw,f/ aocsmatmif ‘cat’ command
eJU zdkifudk display vkyfjyxm;ygw,f/ atmufrSmjyxm;wJhOyrmudk qufNyD;avhvmMunfhygOD;-
'Dae&mrSmawmh yxr command jzpfwJh ‘ls’ &JU output udk ‘|’ tultnDeJU input
tjzpftoHk;jyKNyD; result udk screen eJU test.txt rSm save vdkufwmjzpfygw,f/ ‘-a’ option
uawmh test.txt zkdifxJrSm rlv&SdaewJh text awGukd replace rvkyfyJ atmufrSxyfxnfhcsifwJh
twGuf toHk;jyKwmjzpfygw,f/
24
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “wc”
Option:
-c , Print the byte counts
-m , Print the character counts
-l , Print the newline counts
-L , Print the length of the longest line
-w , Print the word counts
Example:
[myn@panda myn]$ cal
February 2006
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28
yxr command line rSm ‘cal’ command u calendar udk print vkyfay;ygw,f/
'kwd, command line rSmawmh ‘wc’ command u calendar rSm&SdwJh line ta&twGuf?
word ta&twGufeJU character ta&twGufawGudk azmfjyay;oGm;wmjzpfygw,f/
command “spell”
Filter ‘spell’ uawmh file xJrSm&SdwJh words awGudk system rSm&SdwJh spelling list eJU
checking vkyfNyD; spelling list rSmrygwJh rSm;aewJh spelling awGudk standard output rSm
xkwfay;ygw,f/
Syntax:
$ spell file
25
Moscow Institute of Electronic Technology Capt.ZayYarWin
Example:
[myn@panda myn]$ spell foodlist
soop
vegetebels
[myn@panda myn]$
command “sort”
Filter ‘sort’ ukdawmh text file xJrSm&SdwJh pmaMumif;awGudk sorting vkyf&mrSm toHk;jyK
ygw,f/ rdrd sorting jyKvkyfvdkwJh tay:rSmrlwnfNyD;awmh options awGeJU wGJzuftoHk;jyKEdkif
ygw,f/
Syntax:
$ sort [-bdfimMnru] [-k fields] filename [-o output_file]
Option:
-b Ignores spaces at the beginning ot the line.
-f Ignores caps.
Example:
[myn@panda myn]$ cat myanmar.txt
yangon
mandalay
bagan
26
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “cut”
File odkU input data wpfckckrS uRefawmfwkdU vdktyfwJh text awGudk column (odkU)
field tvdkuf cut vkyfNyD; screen rSm output xkyfay;vdkwJhae&mrSm cut udk toHk;jyKygw,f/
Syntax:
$ cut -c list file
$ cut -f list [-d delim] [-s] file
Example:
[myn@panda myn]$ uname
Linux
[myn@panda myn]$ uname | cut -c1-3
Lin
[myn@panda myn]$ uname | cut –c4-
ux
[myn@panda myn]$
27
Moscow Institute of Electronic Technology Capt.ZayYarWin
‘-d’ option udk ‘-f’ option eJUwGJoHk;ygw,f/ ‘-d’ option eJU uyfvsufwGJoHk;wJh
character uaepNyD; column (field) cGJjcm;ay;ygw,f/
command “diff”
Command ‘diff’ uawmh file ESpfckudk ESdKif;,SOfNyD; rwlnDwJh line awGudk print vkyf
ay;ygw,f/ xdkUtjyif 'kwd,zdkifeJU wlnDoGm;zdkUtwGuf yxrzdkifxJrSm b,fae&mawGudk
xyfNyD; add zkdUvdkr,f? delete vkyfzdkUvdkr,f? change zdkUvdkr,f qdkwmawGudkyg azmfjyay;yg
w,f/ yxrzkdifxJu line awGudk ‘<’ oauFweJUazmfjyNyD; 'kwd,zdkifxJu line awGudkawmh
‘>’ oauFweJUazmfjyygw,f/
Syntax:
$ diff file1 file2
Line_number_from_file1 Action line_number_from_file2
< different line from file1.
> different line from file2.
Option:
-b , Ignore changes in amount of white space.
-c , Use the context output format
-i , Ignores the case of letters.
28
Moscow Institute of Electronic Technology Capt.ZayYarWin
Example:
[myn@panda myn]$ cat myanmar.old
Rangoon
Mandalay
Ayeyarwaddy
[myn@panda myn]$ cat myanmar
Yangon
Mandalay
Ayeyarwaddy
[myn@panda myn]$ diff myanmar.old myanmar
1c1
< Rangoon
---
> Yangon
[myn@panda myn]$
29
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “grep”
Filter grep uawmh file xJrSm&SdwJh uRefawmfwdkU &SmvdkwJh text awGudk &SmazGNyD; tJ'Dh
text awGyg0ifwJh pmaMumif;wpfaMumif;vHk;udk screen rSmjyay;ygw,f/ ‘grep’ udk argument
ESpfckeJU wGJzuftokH;jyKygw,f/ tJ'gawGuawmh uRefawmfwdkU &SmvdkwJh text eJU tJ'Dh text udk
&SmvdkwJh file name yJjzpfygw,f/
Syntax:
$ grep [word_to_lookup] [filename]
Option:
-i Ignores upper and lower case.
-n Prefix each lines of output with the line number within its input file.
Example:
grep stream preface
consist of a stream of
[myn@panda myn]$ grep data preface intro
preface: data in the file
intro: new data
[myn@panda myn]$ fgrep “editor\
create" preface
characters. An editor can
be used to create such
[myn@panda myn]$
30
Moscow Institute of Electronic Technology Capt.ZayYarWin
31
Moscow Institute of Electronic Technology Capt.ZayYarWin
bag
bigger
grep '\^s' files {lines starting with '^s', "\" escapes the ^}
32
Moscow Institute of Electronic Technology Capt.ZayYarWin
vufawG>av>usifhcef;rsm;
33
Moscow Institute of Electronic Technology Capt.ZayYarWin
Programming in BASH
BASH [m command line interpreter jzpf&Hkomru high-level programming
languade vnf; jzpfygw,f/ NyD;cJhwJh avhusifhcef;awGrSm command line interpreter tjzpf
uRefawmfwdkU avhvmcJhMuNyD; jzpfygw,f/ 'Dtcef;rSmawmh programming language
wpfcktjzpf shell scripts awGudk avhvmxdawGUMu&rSm jzpfygw,f/ yxrqHk;taeeJU shell
script qdkwm bmvJqdkwmudk &Sif;vif;pGm oabmaygufzdkUvkdygw,f/ Script qdkwmuawmh
uRefawmfwdkU command line rSm toHk;jyKcJhwJh command awGudk pkpnf;NyD; store
vkyfxm;wJh text file jzpfygw,f/ tJ'gaMumifh script qdkwm command awGpkNyD;a&;xm;wJh
file vdkU ajymr,fqdk&ifvnf; &ygw,f/ MS-DOS rSm oHk;wJh ‘.batch file trsdK;tpm;
oabmrsdK;ygyJ/ 'gayr,fh .batch file awGxuf ydkNyD; pGrf;aqmifEdkifygw,f/
Shell script wpfcka&;zdkUtwGuf text editor wpfckckudk toHk;jyKNyD; a&;&ygw,f/
Text editor qdkwmuawmh Word Processor uJUodkU program ygyJ/ Linux System rSm
uRefawmfwdkU toHk;jyKEdkifwJh text editor program awG trsm;tjym;&Sdygw,f/ tJ'gawG
uawmh vi, emacs, pico, gedit, … ponfjzifh&Sdygw,f/ uRefawmfwdkU tck ‘vi’ udk toHk;jyK
34
Moscow Institute of Electronic Technology Capt.ZayYarWin
35
Moscow Institute of Electronic Technology Capt.ZayYarWin
yxrqHk; /bin qdkwJh directory wpfckudk user &JU home directory xJrSm create
vkyfvdkufygw,f/ ( ‘~/’ oauFwu user’s home directory udk qdkvdkw,fqdkwm
rSwfrdvdrfhr,fvdkU ,lqygw,f/) tJ'Dhaemuf ‘export’ command eJU vuf&Sd PATH xJudk
uRefawmfwdkUxyfNyD;xnfhvdkwJh /bin ukd xyfxnfhNyD; define vkyfvdkufwmjzpfygw,f/
tay:rSm uRefawmf&Sif;jycJhwmawGudk oabmaygufNyDqdk&if script udk pNyD;a&;MunfhvdkU
&ygNyD/ yxrqHk;taeeJU &dk;&dk;&Sif;&Sif; script wpfckprf;NyD; a&;Munfhygr,f/ avhvmMunfhyg-
#!/bin/bash
#My first script.
echo “We love LINUX.”
36
Moscow Institute of Electronic Technology Capt.ZayYarWin
Variables (Переменные)
rnfonfh programming language rSmrqdk variables qdkwm rygvQifrNyD;wJh
t&mwpfckyg/ Information (odkU) data wpfckckukd udk,fpm;jyKNyD; memory
ay:rSmae&m,lxm;wJh trnfemrav; wpfckygyJ/ shell rSm toHk;jyKwJh variable
trsdK;tpm;(3)ck &Sdygw,f/ tJ'gawGuawmh User Variable, Shell Variable eJU Read-
only Shell Variable awGyJ jzpfygw,f/
Variable wpfck create vkyfwmuawmh tjcm; programming language awGrSmvdk
ygyJ/ name eJU store vkyfr,fh data ukd ‘=’ oauFwcHNyD; ay;vdkuf&HkygyJ/
[myn@panda myn]$ country=Myanmar
37
Moscow Institute of Electronic Technology Capt.ZayYarWin
38
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “echo”
uRefawmfwdkU screen rSm data awGudk print vkyfvdkwJhtcgrSm command ‘echo’ ukd
toHk;jyKEdkifygw,f/ 'ghtjyif variable awG&JU value udk print vkyfwJhtcgrSmvnf; toHk;jyK
ygw,f/
Syntax:
$ echo [option] [string, variable,..]
Options:
-n , Do not output the trailing new line.
-e , Enable interpretation of the following backslash escaped characters in the strings.
Example:
[myn@panda myn]$ echo “We love LINUX.”
We love LINUX.
39
Moscow Institute of Electronic Technology Capt.ZayYarWin
\a Alert(bell)
\b Backspace
\n New line
\r Carriage return
\t Horizontal tab
\\ backslash
command “read”
#!/bin/bash
40
Moscow Institute of Electronic Technology Capt.ZayYarWin
#!/bin/bash
echo -n “Enter your password: ”
read -s pass
41
Moscow Institute of Electronic Technology Capt.ZayYarWin
vufawGUa&;NyD; avhvmMunfhyg/
Exit Status
Linux rSm uRefawmfwdkU command (odkU) script wpfckckukd execute vkyfvdkufwJh
tcg shell uaeNyD;awmh default tm;jzifh return value wpfckck tjrJxkwfay;ygw,f/
tqdkyg value udkMunfhNyD;awmh uRefawmfwdkU&JU command (odkU) script [m execute
vkyfcsdefrSm successful jzpfovm;? error jzpfoGm;vm;qkdwm odEdkifygw,f/ type (2)rsdK;tjzpf
rSwfom; Edkifygw,f/ tJ'guawmh zero eJU nonzero yg/ (0)rS (255) txd&Sdygw,f/ tJ'Dh
value udk exit status vdkUac:ygw,f/ successful jzpfw,fqdk&if exit status (0) udk
jyygw,f/ error wpfrsdK;rsdK;eJU exit jzpfoGm;w,fqdk&ifawmh error trsdK;tpm;tay:rlwnfNyD;
(1)rS(255)twGif; value wpfckckudk jyygw,f/
exit status udk stout rSm tvkdvdk razmfjyay;ygbl;/ uRefawmfwdkU MunfhvdkwJhtcgrSm
special variable jzpfwJh ‘?’ udk toHk;jyKNyD; MunfhEdkifygw,f/ OyrmudkMunfhyg-
oabmaygufr,fvkdU ,lqygw,f/
42
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “test”
Command ‘test’ udk rsm;aomtm;jzifh ‘if’ command eJU wGJzufNyD;awmh true, false
decision awGtwGuf toHk;jyKygw,f/ yHkpH(2)rsdK;eJU toHk;jyKEdkifygw,f/
Syntax:
#First form
test expression
#Second form
[ expression ]
#!/bin/bash
if [ -f .bash_profile ]; then
echo “You have a .bash_profile. Things are fine.”
else
echo “You have no .bash_profile.”
fi
Expression Description
43
Moscow Institute of Electronic Technology Capt.ZayYarWin
44
Moscow Institute of Electronic Technology Capt.ZayYarWin
Syntax:
$ exit n
$ return n
Example:
[myn@panda myn]$ cat exit_test
#!/bin/bash
if [ $(id –u) != 0 ]; then
echo “You must be the superuser to run this script” >&2
exit 100
fi
[myn@panda myn]$ exit_test
You must be the superuser to run this script
[myn@panda myn]$ echo $?
100
[myn@panda myn]$
45
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “let”
Command ‘let’ udkawmh shell rSm arithmetic operator awG tvkyfvkyfzdkUtwGuf
toHk;jyKygw,f/ arithmetic operation (odkU) tjcm;wGufcsuf&rSmawGudk wGufcsufay;NyD;awmh
variable value tjzpf assign vkyfay;ygw,f/ yHkpH(2)rsdK;eJU toHk;jyKEdkifygw,f/
Syntax:
$ let expression
(or)
$ ((expression))
Example:
[myn@panda myn]$ x=10
[myn@panda myn]$ y=3
[myn@panda myn]$ let “ans=x+y”
[myn@panda myn]$ echo $ans
13
[myn@panda myn]$
command “if-then”
tjcm; programming language awGrSmoHk;wJh ‘if’ &JUoabmw&m;eJU twlwlygyJ/
command toHk;jyKyHk format tenf;i,fyJ uGm;jcm;ygw,f/
Syntax:
if expression
then
commands
else
commands
fi
47
Moscow Institute of Electronic Technology Capt.ZayYarWin
#!/bin/bash
if [ $# -eq 0 ]
then
echo “You have no argument.”
else
echo “You have $# argument(s).”
echo “Your arguments are ”
echo $*
fi
oabmaygufr,fvdkU ,lqygw,f/
command “case”
‘case’ uawmh multiple-choice branch trsdK;tpm;jzpfygw,f/ ‘if’ eJUa&;wJhtcg
tqifhawGtrsm;BuD;eJU complex jzpfwJh problem awGtwGuf ‘case’ ukd toHk;jyKwJhtcg
tqifajyapygw,f/ toHk;jyKwJhyHkpHu tenf;i,f simple jzpfygw,f/ command format
uawmh atmufygtwdkif;jzpfygw,f-
Syntax:
case $variable in
pattern1 ) commands ;;
pattern2 ) commands ;;
patternN ) commands ;;
* ) commands ;;
esac
48
Moscow Institute of Electronic Technology Capt.ZayYarWin
#!/bin/bash
echo “----------------------------------------------------”
echo “ Main menu ”
echo “----------------------------------------------------”
echo “[1] Show today date and time”
echo “[2] Show files in current directory”
echo “[3] Show the calendar for 1980”
echo “[4] Show my network information”
echo “[5] Exit/stop”
echo “==========================================”
echo –n “Please enter your choice [1-5]: ”
read choice
case $choice in
1)
echo “Today is $(date)”
;;
2)
echo “Files in $(pwd) is $(ls -al)”
;;
3)
cal 1980
;;
4)
ifconfig
;;
5)
exit 0
;;
49
Moscow Institute of Electronic Technology Capt.ZayYarWin
*)
echo “You did not enter a number between 1 and 5. ”
esac
#!/bin/bash
echo –n “Type a digit of a letter: ”
read character
case $character in
[a-z] | [A-Z] )
echo “You typed the letter $character.”
;;
[0-9] )
echo “You typed the digit $character.”
;;
*)
echo “You did not type a letter or a digit. ”
esac
command “while”
‘while’ [mvnf; looping command wpfckygyJ/ expression uaeNyD; exit status
‘0’ (true) &aeoa&GU do eJU done statement Mum;rSm&SdaewJh command awGudk execute
vkyfaerSmyJ jzpfygw,f/
Syntax:
while expression
do
commands
done
#!/bin/bash
Number=1
while [ $number –le 5 ]
do
echo $number
number=$((number+1))
done
51
Moscow Institute of Electronic Technology Capt.ZayYarWin
command “for-in”
‘for’ uawmh tjcm; programming language awGrSmuJhodkU looping vkyf&mrSm
toHk;jyKwJh flow control statement wpfckyg/ toHk;jyKwJh yHkpHuawmh-
Syntax:
argument list rSm&SdwJh yxrqHk; item udk for &JU loop-index rSm pNyD; assign
vkyfygw,f/ tJ'Dhaemuf do eJU done statement Mum;rSm&SdwJh command awGudk execute
vkyfygw,f/ do eJU done statement awGu ‘for’ looping &JU tpeJU tqHk;ukd azmfjyyg
w,f/ program tvkyfvkyfvmNyD; done statement ukd pass jzpfoGm;wJhtcgrSm
aemufwpfBudrf argument list rSm&SdwJh 'kwd, item udk assign vkyfNyD; a&SUrSmvkyfoGm;wJh
twdkif;yJ tvkyfqufvkyfoGm;ygw,f/ argument list rSm&SdwJh item ukefwJhtxd tJ'Dhtwdkif;
looping ywfaerSmyJ jzpfygw,f/ Oyrmjyxm;wJh script(for_example1) udk avhvm
Munfhyg-
#!/bin/bash
for country in Myanmar Thaniland Singapore
do
echo “$country is in South-East Asia.”
done
52
Moscow Institute of Electronic Technology Capt.ZayYarWin
do
echo $i
done
shell variable jzpfwJh ‘$@’ uawmh uRefawmfwdkU command line rSm toHk;jyKwJh
argument awGukd assign vkyfay;ygw,f/ ,ckazmfjyxm;wJh OyrmxJrSm command line
argument (3)ckjzpfwJh aa, bb eJU cc wdkUudk for loop toHk;jyKNyD; wpfckcsif; display vkyfjy
xm;wmjzpfygw,f/ oabmaygufr,fvdkU ,lqygw,f/
vufawG>av>usifhcef;rsm;
3/ User tm; input number wpfvHk;awmif;í xdk number tm; (2) jzifhajrSmufyg/
&&dSonfh result udk screen wGifjyyg/ program udk ‘double’ trnfjzifh save yg/
53
Moscow Institute of Electronic Technology Capt.ZayYarWin
LITERATURE
54