linux (7) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Linux] Shell์ ๊ฐ๋ [Linux] Shell์ ๊ฐ๋ ์์ ๋ช ๋ น์ด์ ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค์ด๋ค. ์์ ์ด์์ฒด์ ์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๋ช ๋ น์ ์ ๋ ฅํ๊ณ ํด์ํด์ ๋์ ์คํํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค. ์๋์ฐ, ๋ฆฌ๋ ์ค, ์ ๋์ค, ๋งฅos ๋ฑ ์ด์์ฒด์ ์ ํ์์ ์ธ ์์๊ฐ ์์ด๋ค. ์์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ด์์ฒด์ ์ ๋ก๊ทธ์ธ์ ํด์ผํ๋ค. (id, password ๊ฒ์ฆ ํ ์์ ์คํ) bash shell bash๋ Bourne Again Shell์ ์ถ์ฝ์ด๋ค. bash ์์ ๋ฆฌ๋ ์ค์์ ์ง์๋๋ ๊ธฐ๋ณธ์์ด๋ค. Alias ๊ธฐ๋ฅ History ๊ธฐ๋ฅ ์ฐ์ฐ ๊ธฐ๋ฅ Job Control ๊ธฐ๋ฅ ์๋ ์ด๋ฆ ์์ฑ ๊ธฐ๋ฅ ํ๋กฌํํธ ์ ์ด ๊ธฐ๋ฅ ๋ช ๋ น ํธ์ง ๊ธฐ๋ฅ bash์ 5๊ฐ ํ์ผ 1. /etc/profile : ํ๊ฒฝ๋ณ์์ bash๊ฐ ์ํ๋ ๋ ์คํ๋๋ ํ๋ก๊ทธ.. [Linux] ํ๊ฒฝ๋ณ์ [Linux] ํ๊ฒฝ๋ณ์ Linux ์ปค๋งจ๋ ์ฐฝ์ $ cd ์ ๋ ฅํ๋ฉด ๋ก๊ทธ์ธ ํ์ ์ ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ๊ฒ ๋๋ค. ์ด์ ๊ด๋ จ๋ ๊ฒ์ด Linux ํ๊ฒฝ๋ณ์์ด๋ค. ๋ฆฌ๋ ์ค์ ํ๊ฒฝ๋ณ์๋ฅผ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์ 1. export ๋ช ๋ น์ด export ๋ช ๋ น์ด๋ก ์ ๋ณ์๋ฅผ ํ๊ฒฝ๋ณ์๋ก ์ ์ฅํ ์ ์๋ค. ์ด ํ๊ฒฝ ๋ณ์๋ ํฐ๋ฏธ๋์ด ๊บผ์ง๋ฉด ์ฌ๋ผ์ง๊ฒ ๋๋ค. ์์ ์คํํ ๋๋ง๋ค ์๋ณ์๋ฅผ ํ๊ฒฝ๋ณ์๋ก ์๋์ผ๋ก ์ค์ vi .bashrc ์คํฌ๋ฆฝํธ ์์ ์ค์ ํ ์ ์๋ค. 2. echo ๋ช ๋ น์ด export๋ฅผ ์ด์ฉํ๋ฉด ์ ์ฒด ๋ณ์๊ฐ ๋์ค๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ์ ๋ณ์๋ง์ ๋ณด๊ณ ์ถ๋ค๋ฉด echo $[ํ๊ฒฝ๋ณ์๋ช ] ์ ๋ ฅ ํฐ๋ฏธ๋ ์ฐฝ์ [ํ๊ฒฝ๋ณ์๋ช ] = [๋ณ์] ์ ๋ ฅ ๊ฐ ๋ณ๊ฒฝ์ด ์ ๋์๋์ง echo $[ํ๊ฒฝ๋ณ์๋ช ]๋ฅผ ํตํด์ ํ์ธ unset [ํ๊ฒฝ๋ณ์๋ช ] ์ ๋ ฅ ์ .. [Linux] make์ Makefile make์ Makefile make SHELL์์ ์ปดํ์ผ ํ ๋ ์ข ์ข ๋ณด์ด๋ make ๋ช ๋ น์ด Makefile์ด ์๋ ๋๋ ํ ๋ฆฌ์์ make๋ง ์น๋ฉด ์ปดํ์ผ์ด ์คํ ํ์ผ ๊ด๋ฆฌ ์ ํธ๋ฆฌํฐ ํ์ผ ๊ฐ ์ข ์๊ด๊ณ๋ฅผ ํ์ ํ์ฌ Makefile์ ์ ํ ๋๋ก ์ปดํ์ผ๋ฌ์ ๋ช ๋ นํ์ฌ SHELL ๋ช ๋ น์ด ์์ฐจ์ ์ผ๋ก ์คํ๋๊ฒ ํ๋ค. make ์ฅ์ ๊ฐ ํ์ผ์ ๋ํ ๋ฐ๋ณต์ ๋ช ๋ น์ ์๋ํ๋ก ์ธํ ์๊ฐ ์ ์ฝ ํ๋ก๊ทธ๋จ์ ์ข ์ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ ์ ์์ผ๋ฉฐ ๊ด๋ฆฌ๊ฐ ์ฉ์ด ๋จ์ ๋ฐ๋ณต ์์ ๋ฐ ์ฌ์์ฑ์ ์ต์ํ ์์ diary_exe 3๊ฐ์ c ํ์ผ์ด include ํ ํค๋ํ์ผ ์์ฑ 1. diary.h #include void memo(); void calendar(); 2. ์ฌ๋ฃ๋ก ์ฌ์ฉ ๋ Cํ์ผ vi memo.c vi calendar.c vi ma.. [MySql] lib๋ฅผ ๋ฆฌ๋ ์ค C์์ ์ฌ์ฉํ๊ธฐ MySql lib๋ฅผ ๋ฆฌ๋ ์ค C์์ ์ฌ์ฉํ๊ธฐ ์ฝ์์์ mysql ์ ์๋ฐฉ๋ฒ ๋ก์ฝ ์๋ฒ์ ์ ์ ๋ช ๋ น์ด : mysql -u ๊ณ์ ๋ช -p ex) mysql -u root -p ์๊ฒฉ์ง์ ์ ์ ๋ช ๋ น์ด : mysql -h ํธ์คํธ์ฃผ์(ip) -P ํฌํธ๋ฒํธ -u ๊ณ์ ๋ช -p ex) mysql -h 192.168.2.201 -P 22 -u root -p ์๊ฒฉ์ง์ ํน์ database์ ์ ์ ๋ช ๋ น์ด : mysql -h ํธ์คํธ์ฃผ์(ip) - P ํฌํธ๋ฒํธ -u ๊ณ์ ๋ช -p ๋๋น์ด๋ฆ ex) mysql -h 192.168.2.201 -P 22 -u root -p userDB mysql ์ ์ํ๊ธฐ Mysql ๋๋ ํ ๋ฆฌ ์์ db_lib ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฒ ๊ฐ db_lib ๊ฒฝ๋ก๋ก export๋ฅผ ๋จผ์ ์งํ $ export LD_LIBRARY_P.. [Linux] omitting directory omitting directory $ cp test1 test1_copy์ ์ค๋ฅ ๋ฐ์ ํด๊ฒฐ ๋ฐฉ๋ฒ $ cp -r test1 test1_copy $ cp --help๋ก -r ์๋ฏธ ๊ฒ์ -r --recursive copy directories recursively ํ์ ๋๋ ํ ๋ฆฌ์ ํ์ผ ๋ชจ๋ recursive๋ก ๋ณต์ฌ [Linux]ctags ์ฌ์ฉ๋ฒ ctags ํ๋ก๊ทธ๋๋ฐ ์์ค์ฝ๋์ ํ๊ทธ (์ ์ญ๋ณ์ ์ ์ธ, ํจ์ ์ ์, ๋งคํฌ๋ก ์ ์ธ)๋ค์ Database(tags file)๋ฅผ ์์ฑํ๋ Unix ๋ช ๋ น์ด ํจ์ ๋ฐ ๋ณ์์ ์์น๋ฅผ ์ฝ๊ฒ ์ธ์ํ ์ ์๋ ์ธ๋ฑ์ค๋ฅผ ๋ง๋๋ ์ ํธ๋ฆฌํฐ ctags๋ฅผ ์ด์ฉํ๋ฉด ์์ค์ฝ๋ ๋ด์์ ํจ์๋ ๋ณ์๊ฐ ์ ์ธ๋ ๊ณณ์ผ๋ก ์ด๋ํ ์ ์๊ธฐ ๋๋ฌธ์ Vim ๋ฐ emacs์ ๊ฐ์ ์๋ํฐ์์ ํน์ ์ฌ๋ฒ์ ์ฐพ๊ณ ์ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ ctags์ ์ฅ์ ctags๋ฅผ ์ฌ์ฉํ๋ฉด ์์ค ์ฝ๋๋ฅผ ๋ถ์ํ๊ธฐ๊ฐ ์ฉ์ดํด ์ง๊ธฐ ๋๋ฌธ์, ์ปค๋๊ณผ ๊ฐ์ ํฐ ํ๋ก์ ํธ์ ์์ค๋ฅผ ๋ถ์ํ ๋ ์์ฃผ ์ ์ฉํ๋ค. ctags ์ค์น $ ctags -help๋ก ํ์ฌ ์ค์น ๋์ด์๋์ง ํ์ธ ๊ฐ๋ฅ $ sudo apt-get install ctags ๋ก ์ค์น๊ฐ๋ฅ ctags ์์ฑ $ ctags ํ์ผ์ด๋ฆ (์ฌ.. ๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด (Basic Linux Commands) ๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด ls - ํ์ฌ ์์น์ ํ์ผ ๋ชฉ๋ก์ ์กฐํํ๋ ๋ช ๋ น์ด cd - ๋๋ ํ ๋ฆฌ๋ฅผ ์ด๋ํ๋ ๋ช ๋ น์ด touch - ํ์ผ์ ์ฉ๋์ด 0์ธ ํ์ผ์ ์์ฑ, ๋ ์ง ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด mkdir - ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด cp - ํ์ผ์ ๋ณต์ฌํ๋ ๋ช ๋ น์ด mv - ํ์ผ์ ์ด๋์ํค๋ ๋ช ๋ ์ด rm - ํ์ผ์ ์ ๊ฑฐํ๋ ๋ช ๋ น์ด cat - ํ์ผ์ ๋ด์ฉ์ ํ๋ฉด์ ์ถ๋ ฅํ๊ฑฐ๋ ํ์ผ์ ๋ง๋๋ ๋ช ๋ น์ด redirection - ํ๋ฉด์ ์ถ๋ ฅ๋๋ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ๋ก ์ ์ฅํ๋ ๋ช ๋ น์ด alias - ์์ฃผ ์ํํ๋ ๋ช ๋ น์ด๋ค์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํ๋ ๋ช ๋ น์ด putty ์คํ์ ์ ์ฅ๋ฉดId Password ์ ๋ ฅ 01. ls(list segments) ls๋ ํ์ฌ ์์น์ ํ์ผ ๋ชฉ๋ก์ ์กฐํํ๋ ๋ช ๋ น์ด ls -l : ํ์ผ๋ค์ ์์ธ์ ๋ณด๋ฅผ ์ถ๋ ฅ ls .. ์ด์ 1 ๋ค์