Linux
Shell์ ์์ ํ์ผ? ๋ก๊ทธ์ธ Shell? ๋น๋ก๊ทธ์ธ Shell?
Shell์ด ์์๋๋ฉด ์์ ํ์ผ(startup files)์ด๋ผ๊ณ ํ๋ ํ์ผ์ด ์ํ๋ฉ๋๋ค! ์์ ํ์ผ์ ์ผ๋ จ์ ์คํฌ๋ฆฝํธ์ด๋ฉฐ ๋ชจ๋ ์ฌ์ฉ์๋ค์๊ฒ ์ ์ฉ๋๋ ํ๊ฒฝ์ค์ ๊ฐ์ ์ธํ ํฉ๋๋ค. ์ฒซ๋ฒ์งธ ๋ชจ๋ ์ฌ์ฉ์๋ค์๊ฒ ์ ์ฉ๋๋ ์ผ๋ฐ ํ๊ฒฝ์ค์ ์ ์ธํ ํ๊ธฐ ์ํ ์์ ํ์ผ์ด ๋์๊ฐ๊ณ , ๋๋ฒ์งธ ๊ฐ์ธ ์ฌ์ฉ์๋ค์๊ฒ ์ ์ฉ๋๋ ๊ฐ์ธ ํ๊ฒฝ์ค์ ์ ์ธํ ํ๊ธฐ ์ํ ์์ ํ์ผ์ด ๋์๊ฐ๋๋ค. ์์ ํ์ผ์ Shell ์ธ์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ Shell ์ธ์ ์ ๋๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ต๋๋ค. - ๋ก๊ทธ์ธ Shell ์ธ์ : ๋ก๊ทธ์ธ์ ํตํด ์คํ๋๋ Shell(์๊ฒฉ ssh ๋ฑ) - ๋น๋ก๊ทธ์ธ Shell ์ธ์ : ๋ก๊ทธ์ธ์์ด ์คํ๋๋ Shell(๋ก์ปฌ ํฐ๋ฏธ๋, sudo bash, su ๋ฑ) Shell ์ธ์ ์ ๋ฐ๋ผ์ ์คํ๋๋ ์์ ํ์ผ์ ์์น๊ฐ ๋ํ ๋ค๋ฆ ๋๋ค. ๋ก๊ทธ์ธ She..
5. ๋ช ๋ น์ด์ ์นํด์ง๊ธฐ
๋ช ๋ น์ด - /usr/bin์ ์ค์น๋์ด์๋ ์คํ ํ๋ก๊ทธ๋จ - shell์ ๋ด์ฅ๋ ๋ช ๋ น์ด - shell ํจ์ - ๋ณ์นญ ๋ช ๋ น์ด ํ์ธ [eunhye@computer ~]$ type cd cd is a shell builtin [eunhye@computer ~]$ type ls ls is /bin/ls [eunhye@computer ~]$ which cd /usr/bin/cd [eunhye@computer ~]$ which ls /bin/ls ๋ช ๋ น์ด ๋์๋ง ๋ณด๊ธฐ [eunhye@computer ~]$ help cd #help | ์ฐพ๊ณ ์ถ์ ๋ช ๋ น์ด(๊ฐ๋จํ) cd: cd [-L|-P] [dir] Change the current directory to DIR. The variable $HOME is the defaul..
4. ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ ์กฐ์
์์ผ๋์นด๋ ์์ผ๋์นด๋ ๋งค์นญ ๋ฌธ์ * ๋ชจ๋ ๋ฌธ์ ? ๋ชจ๋ ํ๋์ ๋ฌธ์ [characters] characters ๋ฌธ์์ ์ ํฌํจ๋ ๋ฌธ์ [!characters] characters ๋ฌธ์์ ์ ํฌํจ๋์ง ์์ ๋ฌธ์ [[:class:]] ์ ์ฅ๋ ๋ฌธ์ ํด๋์ค์ ํฌํจ๋ ๋ฌธ์ ๋ฌธ์ ํด๋์ค ๋งค์นญ ๋ฌธ์ [:alnum:] ๋ชจ๋ ์ํ๋ฒณ๊ณผ ์ซ์ ๋ฌธ์ [:alpha:] ๋ชจ๋ ์ํ๋ฒณ ๋ฌธ์ [:digit:] ๋ชจ๋ ์ซ์ ๋ฌธ์ [:lower:] ๋ชจ๋ ์๋ฌธ์ [:upper:] ๋ชจ๋ ๋๋ฌธ์ ํจํด ๋งค์นญ ๋ฌธ์ * ๋ชจ๋ ํ์ผ g* g๋ก ์์ํ๋ ๋ชจ๋ ํ์ผ b*.txt b๋ก ์์ํ๋ txt ํ์ผ Data??? Data๋ก ์์ํ๋ฉด์ ๋ค์ ์ ํํ ์ธ ๊ฐ์ ๋ฌธ์๋ง ์๋ ํ์ผ [abc]* a, b, c๋ก ์์ํ๋ ๋ชจ๋ ํ์ผ BACKUP[0-9][0-9][..
3. ์์คํ ์ดํด๋ณด๊ธฐ
ls ๋ช ๋ น์ด ์ต์ ๊ณผ ๋ช ๋ น ์ธ์ - ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ๊ณผ ํ์ ๋๋ ํ ๋ฆฌ๋ค์ด ๋ชจ๋ ํ์ - ls -์ต์ ๋ช ๋ น์ธ์ ์ต์ long ์ต์ ์ค๋ช -a --all ์จ๊น ํ์ผ์ ํฌํจํ์ฌ ๋ชจ๋ ํ์ผ ๋ณด๊ธฐ -d --dirctory ๋๋ ํ ๋ฆฌ ๋ด์ฉ์ ํ์ธ ๊ฐ๋ฅ, ls -ld๋ก ์ฌ์ฉํ๋ฉด ๋๋ ํ ๋ฆฌ ๋ด์ฉ์ด ์๋ ๋๋ ํ ๋ฆฌ ์์ฒด ์ ๋ณด ํ์ธ ๊ฐ๋ฅ -F --classify ์ง์ ๋ฌธ์๋ฅผ ์ถ๊ฐ๋ก ํ์, /์ด ๋ถ์ -h --human-readable -lh๋ก ์ฌ์ฉํ๋ฉด ํ์ผ ํฌ๊ธฐ๋ฅผ ์ฌ๋์ด ์ธ์ํ๊ธฐ ์ฌ์ด ํํ๋ก ๋ณ๊ฒฝ -l ์ข ๋ ์์ธํ ์ ๋ณด ์ถ๋ ฅ -r --reserve ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ญ์์ผ๋ก ํ์, ์ผ๋ฐ์ ์ผ๋ก๋ ์ํ๋ฒณ ์ค๋ฆ์ฐจ์์ผ๋ก ํ์๋จ -s ํ์ผ ํฌ๊ธฐ์์ผ๋ก ์ ๋ ฌ -t ํ์ผ ์์ ์๊ฐ์์ผ๋ก ์ ๋ ฌ long ํฌ๋งท์ผ๋ก ์ถ๋ ฅ ๊ฒฐ๊ณผ ๋ณด๊ธฐ [eu..
2. ํ์ผ์์คํ ํ์
ํ์ผ์์คํ - ๊ณ์ธต์ ์ธ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ก ํ์ผ์ ๊ตฌ์ฑ(ํธ๋ฆฌ ํ์) - ์ต์์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฃจํธ(root) ๋๋ ํ ๋ฆฌ๋ผ๊ณ ํจ - ์ ๋์คํ ์์คํ ์์๋ ๋จ์ผ ํ์ผ์์คํ ์ผ๋ก ๊ด๋ฆฌ - ์ ์ฅ์ฅ์น๋ค์ ์ ์ ์ ์ฌ๋์ ๋ฐ๋ผ ๋ค์ํ ์์น์ ๋ง์ดํธ ๊ฐ๋ฅ ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ(print working dir) [eunhye@computer ~]$ pwd /usr/eunhye ๋ํ ํ ๋ฆฌ ๋ชฉ๋ก ํ์ - .๋ก ์์ํ๋ ํ์ผ๋ช ์ ๊ฐ์ง ํ์ผ์ ์จ๊ฒจ์ง ํ์ผ(user home dir์ด ์์ฑ๋๋ฉด ํ๊ฒฝ์ค์ ์ ์ํด ๋ค์์ ์จ๊ฒจ์ง ํ์ผ์ด ์์ฑ๋จ) - -a ์ต์ ์ ํตํด ์จ๊ฒจ์ง ํ์ผ๋ ํ์ธ ๊ฐ๋ฅ - ํ์ผ ํ์ฅ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ํ๋ ํ์ฅ์๋ฅผ ๋ง์๋๋ก ๋ง๋ค ์ ์์ - ๋์ด์ฐ๊ธฐ, ๊ตฌ๋์ ๊ธฐํธ(., -, _)๋ฅผ ํฌํจํ์ฌ ํ์ผ๋ช ์ค์ ์ด ๊ฐ๋ฅ but ๋์ด์ฐ๊ธฐ๋ ..
Script - ์ฐ์ฐ
1. bash ์ฐ์ฐ - ๊ดํธ๋ฅผ ์ด์ฉ a=1 b=10 c=$((a+b)) c=$[a+b] echo $c #11 2. let ๋ช ๋ น์ด a=1 b=10 let c=$a+$b echo $c #11 3. expr ๋ช ๋ น์ด - ์ซ์์ ์ฐ์ฐ์ ์ฌ์ด ๋์์จ์ผ ํจ a=1 b=10 expr $a + $b #11 4. awk ๋ช ๋ น์ด - ์์์ ๊ณ์ฐ ๊ฐ๋ฅ - ํ์ดํ ์ ๋ฌ ๊ณผ์ ํ์ a=1 b=10 echo $a $b | awk '{print $1+$2}' #11 echo $a $b | awk '{print $1/$2}' #0.75 5. bc ๋ช ๋ น์ด - ๋ฆฌ๋ ์ค bc๊ฐ ์ค์น๋์ด์ผ ํจ - ์์์ ๊ณ์ฐ ๊ฐ๋ฅ - ํ์ดํ ์ ๋ฌ ๊ณผ์ ํ์ a=1 b=10 echo "$a+$b" | bc #11
Script - ์ฐ์ฐ์
1. ์ซ์ ๋น๊ต ์ฐ์ฐ์ -lt : ๋ฏธ๋ง() ex) if["$a" -gt "$b"] ex) (("$a" > "$b")) -le : ์ดํ(= "$b")) -eq : ๊ฐ์ ex) if["$a" -eq "$b"] -ne : ๊ฐ์ง์์ ex) if["$a" -ne "$b"] 2. ๋ฌธ์์ด ๋น๊ต ์ฐ์ฐ์ =, == : ๊ฐ์ ex) if["$a" = "$b"] ex) if["$a" == "$b"] != : ๊ฐ์ง์์ ex) if["$a" != "$b"] -z : ๋ฌธ์์ด์ด null์(๊ธธ์ด๊ฐ 0์) ex) if[-z "$a"] -n : ๋ฌธ์์ด์ด null์ด ์๋(๊ธธ์ด๊ฐ 0์ด ์๋) ex) if[-n "$a"] > : ASCII๊ฐ์ด ๋ณด๋ค ํผ ex) if[["$a" > "$b"]] ex) if["$a" \> "$b"] < : ASC..
Script - ์ ์ธ ๋ฐ ์ฌ์ฉ
1. Shell Script - ๋ฆฌ๋ ์ค ์๋ฒ ์๋ํ๋ฅผ ์ํด ํ์ํจ - ๊ธฐ๋ณธ์ ์ธ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด์์ ๋ช ๊ฐ์ง ๋ฌธ๋ฒ์ด ์ถ๊ฐ - ํ์ผ(.sh)๋ก ์ ์ฅ ํ ์คํ - ํ์ผ ๋งจ ์์ ์ค์ #! /bin/bash ์ ์ ํ ์์ฑ 2. ์ฃผ์ ์ฒ๋ฆฌ - #์ผ๋ก ์์ํ๋ ๋ผ์ธ ์ฃผ์ ์ฒ๋ฆฌ ๋จ - ์) # ์ฃผ์์ ๋๋ค. 3. ๋ณ์ ์ ์ธ ๋ฐ ์ฌ์ฉ - ๋ณ์=data ํํ๋ก ์ ์ธ - ๊ธฐ๋ณธ ๋ฌธ์์ด๋ก ์ธ์ - " ", ' ' ๋ ๋จ์ ๊ทธ๋ฃน ์ง์ (' '๊ฐ ๋ ๊ฐ๋ ฅ) - ์) test=1 - ์) test=hello - $๋ณ์๋ก ์ฌ์ฉ - ์) echo $test 4. ๋ฆฌ์คํธ(๋ฐฐ์ด) ์ ์ธ ๋ฐ ์ฌ์ฉ - ๋ณ์=(data1 data2 data3) ํํ๋ก ์ ์ธ - ์) test=(apple banana melon) - ${๋ณ์[ ]}๋ก ์ฌ์ฉ - ์) $..
1. ์์ด๋ ๋ฌด์์ธ๊ฐ?
Shell - ํค๋ณด๋๋ก ์ ๋ ฅํ ๋ช ๋ น์ด๊ฐ ์ด์์ฒด์ ์ ๋ฌํ์ฌ ๋ช ๋ น์ด๊ฐ ์คํ๋ ์ ์๋๋ก ํด์ฃผ๋ ํ๋ก๊ทธ๋จ Shell ์ข ๋ฅ - Bash Shell : ์ต์ด์ ์ ๋์ค Shell์ธ Bourne Shell๊ณผ ํธํ๋๋๋ก ๋ง๋ค์ด์ง Shell - csh(C Shell) : BSD ๊ณ์ด ์ ๋์ค ์ฌ์ฉ์๋ค์ด ์ ํธํ๋ Shell - ksh(Korn Shell) : ์ ๋์ค ์์คํ V ๊ณ์ด ์ฌ์ฉ์๋ค์ด ์ ํธํ๋ Shell - tccsh : C Shell๊ณผ ํธํ๋๋ Shell - ash : Borune Shell๊ณผ ํธํ๋๋ Shell ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ - GUI ํ๊ฒฝ์์ Shell๊ณผ ์ง์ ์์ ํ ์ ์๋๋ก ๋์์ฃผ๋ ํ๋ก๊ทธ๋จ - ํํ ํฐ๋ฏธ๋์ด๋ผ๊ณ ๋ถ๋ฆ ์ผ๋ฐ ์ ์ [eunhye@computer ~ ]$ ์ํผ ์ ์ - ๋ฃจํธ(root) or ..
Linux OS
์ด์์ฒด์ ์ข ๋ฅ NT : Windows Unix : Mac OS, iOS, Android, Linux, Tizen ๋ฑ ์ฌ์ฉ์์ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ์ด์์ฒด์ IDE, ์คํ ์์ค API, Web Server, WAS ๋ฑ > Linux ์๋, ์ ํธ๋ฆฌํฐ, ๊ฒ์, ์น๋ธ๋ผ์ฐ์ ๋ฑ > Windows ์ฌ์ฉ์์ PC ํํ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ์ด์์ฒด์ Desktop ์ฉ > Windows 85%, Linux 1% Supercomputer ์ฉ > Linux 100% Mobile ์ฉ > iOS, Android 99% Linux์ ์ข ๋ฅ Debian ๊ณ์ด(80%) : Debian, Ubuntu, Linux Mint Slackware ๊ณ์ด Red Hat ๊ณ์ด : Red Hat(Enterprise์ฉ), Cent OS(Enterpri..