์ค๋๋ง์ ํฌ์คํ ํฉ๋๋ค...!!! ใ ใ
์ ์คํฌ๋ฆฝํธ
์(SHELL)์ ์ฌ์ฉ์์ ์ด์์ฒด์ (์ ํํ๋ Kernel) ๊ฐ ์ธํฐํ์ด์ค์ด๋ค. ์ผ๋ จ์ Linux ๋ช
๋ น์ด์ธ ์๋ค์ด ๋ชจ์ฌ ์๋ ํ์ผ์ ์ ์คํฌ๋ฆฝํธ(SHELL SCRIPTS)๋ผ๊ณ ํ๋๋ฐ DOS์์ ์ผ๋ จ์ ๋ช
๋ น์ด๋ค์ ์์์ ์ผ๋ก ๋์ดํ ๋ฐฐ์น(batch) ํ์ผ๊ณผ ๋น์ทํ์ง๋ง ๋ฐฐ์น ํ์ผ๋ณด๋ค ํจ์ฌ ๋ ๊ฐ๋ ฅํจ์ ๊ฐ์ง๊ณ ์๋ค. ์ต๊ทผ์๋ Windows ์์คํ
์๋ PowerShell์ ๋์
ํด์ Windows ์๋ฒ๋ฅผ ๊ฐ๋จํ๊ฒ ๋ช
๋ น์ด๋ก๋ง ์ด์ํ๊ฒ ํ๋ ์ถ์ธ์ด๋ค.
์ ์คํฌ๋ฆฝํธ๋ ์ฌ์ฉ์๋ ํ์ผ๋ก๋ถํฐ ์
๋ ฅ์ ๋ฐ์์ ์์
์ ์ํํ ๋ค ๊ฒฐ๊ณผ๋ฅผ ํ๋ฉด์ ๋์ฐ๊ฑฐ๋, ์์
ํ ๋ด์ฉ์ ํ์ผ๋ก ์ ์ฅํ๋ค๊ฐ ๋์ค์ ์ฌ์ฌ์ฉํ๊ฒ ํ๊ฑฐ๋, ์ฌ๋ฌ ์์
๋ค์ ์๋ํ์ํฌ ๋ ์ฌ์ฉ๋๋ค. ์ ์คํฌ๋ฆฝํธ๋ ์์คํ
์ด๋ ๋คํธ์ํฌ ๊ด๋ฆฌ์๋ค์ด ์์๋ฌ์ผ ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก์จ ๋ณดํต ์์คํ
๊ด๋ฆฌ์๋ผ๋ฉด C, C++, JavaScript, PHP, ๊ทธ๋ฆฌ๊ณ Windows์ Power Shell๊ณผ ๋๋ถ์ด ์ด Shell Script๊ฐ ํ์์ ์ด๊ณ , ์ด์ธ์๋ Ruby, Perl, ๊ทธ๋ฆฌ๊ณ Python์ ๋ํ ์ง์์ด ์์ผ๋ฉด ์ข์๋ฐ ์ด๋ค ์ธ์ด๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋ณด๊ณ ํ๋ฆ์ ์ดํดํ๊ฑฐ๋ ๋ชฉ์ ์ ๋ง๊ฒ๋ ์ผ๋ถ๋ฅผ ๋ณํ์์ผ์ ์ฌ์ฉํ ์ ์๋ ์ ๋๋ฉด ๋๋ค.
ํ๋ก๊ทธ๋๋ฐํ๋ค๊ณ ํด์ ๋๋ฌด ๊ธด์ฅํ ๊ฒ์ ์๋ค. ๊ฐ๋ฐ์ ํ๋ก๊ทธ๋๋จธ๋ผ๊ณ ํด๋ ์งง์ ํ๋ก๊ทธ๋จ์ ์ฒ์๋ถํฐ ์ฝ๋ฉํด์ ์์ฑํ๋ ๊ฒฝ์ฐ๋ ์์ง๋ง, ๋๋ถ๋ถ ๊ฒฝ์ฐ ๊ธฐ์กด์ ์์ค์ฝ๋๋ฅผ ์์ ์ ์์คํ
์ด๋ ๋คํธ์ํฌ์ ๋ง๋๋ก ์์ ํด์ ์์
ํ๋ค. C, JAVA, Python ๋ฑ ๊ฑฐ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์๋ ๋ฏธ๋ฆฌ ํน์ ํ ์์
์ ์ํ์ผ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจ์ ๋ฑ์ด ์์ผ๋ฏ๋ก ์ด๋ค์ ์ ๋ถ๋ฌ๋ค ์ฌ์ฉํ๋ฉด ๋๋ค. ํ์์ ๊ฐ๊น์ด JAVA ํ๋ก๊ทธ๋๋จธ๋ JAVA๋ฅผ ๊ต์ก์ํจ๋ค๊ฑฐ๋ JAVA๋ฅผ ๋ฐฐ์ด๋ค๋ ๊ฒ์ Photoshop์ฒ๋ผ JAVA ํ๋ก๊ทธ๋จ ์ค๋ช
์๋ฅผ ๋ณด๊ณ JAVA๋ผ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ ์ ์ฌ์ฉํ๊ฒ ํ๋ ๊ฒ์ด๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๊ฐ ์๋ ์ด์ ๋คํธ์ํฌ๋ ์์คํ
๊ด๋ฆฌ์๋ ํ๋ก๊ทธ๋๋ฐ์ ๋ํด์ ๋ง์ด ์ ๊ฒฝ ์ฐ์ง ์์๋ ๋๊ณ , ํนํ ์ด ๋ถ์ผ์์๋ ํ๋ก๊ทธ๋๋ฐ์ ๋งค์ฐ ์ซ์ดํ๋ ์น๊ตฌ๋ค์ด ๋ง๋ค. ๊ทธ๋๋ง ์ ์คํฌ๋ฆฝํธ๋ ์งง์ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด๋ผ์ ๊ทธ๋๋ง ๋คํ(?)์ด๋ผ๊ณ ํ ์ ์๋ค.
์(shell)
์์๋ ์ต์ด์ ์์ธ Borune Shell, ๋ฒํด๋ฆฌ ๋ํ์์ ๋ง๋ค์๊ณ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ ํฉํ C Shell๊ณผ Tcsh shell, ๊ทธ๋ฆฌ๊ณ Bourne Shell์ ๋ฐ์ ๋ ํํ๋ก C Shell์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ Korn Shell ๋ฑ์ด ์๋ค. ๋๋ถ๋ถ Linux ๋ฐฐํฌํ์ ๋ํดํธ ์์ Bourne Shell์ ํ ์ข
๋ฅ์ธ Bash(Borune Again SHell)๋ก์จ /bin/bash์ ์๋ฆฌํ๊ณ ์๋ค.
โพ ์ผ๋ฐ ์ฌ์ฉ์๋ Bourne, Bash์ Korn ์์์ $,
C ์์์๋ %๋ก ์ ํ๋กฌํํธ๊ฐ ํ์๋๊ณ ,
โพ root ๊ด๋ฆฌ์๋ ๋ชจ๋ #์ผ๋ก ์ ํ๋กฌํํธ๊ฐ ํ์๋๋ค.
tty ๋ช
๋ น์ด๋ ํ์ฌ ์ฌ์ฉ์ค์ธ ์ฝ์์ ํ์ธํ ๋ ์ฌ์ฉ๋๋ค.
ps๋ ํ๋ก์ธ์ค๋ฅผ ํ์ธํ๋ ๋ช
๋ น์ด์ด๋ค.
cut ๋ช
๋ น์ด๋ ์ฌ๋ฌ ํญ๋ชฉ์ผ๋ก ๋์ด ์๋ ๋ฐ์ดํฐ์์ ๊ตฌ๋ถ์(delimiter)๋ฅผ ์ง์ ํ๊ณ , ํญ๋ชฉ(field)์ ์ง์ ํ๋ฉด ํด๋น ํญ๋ชฉ๋ง ๋ณด์ธ๋ค.
BigData ๋ถ์์์๋ ๋ฐฉ๋ํ ๋ฐ์ดํฐ์์ ๋ถ์ํ๊ณ ์ ํ๋ ํ์ํ ํญ๋ชฉ๋ง ์ถ๋ ค์ ๋ฐ์ดํฐ๋ก ํ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ-data preprocessing๋ผ๊ณ ๋ถ๋ฆ-์ด๋ฐ cut์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ํ์ํ ๋ฐ์ด๋ง ๊ฐ๋ฌด๋ฆฌํ ๋ค ๋ณ๋์ ํ์ผ๋ก ๋ง๋ค์ด์ ๋ถ์์ ์ํ ์
๋ ฅ ๋ฐ์ดํฐ ํ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค.
ํ๋์ ๋๋ ์ฌ๋ฌ ๋ช
๋ น์ด๋ค์ ์ผ์ผํ ์์์ ์คํํด๋ ๋์ง๋ง
์ด๋ค์ #!/bin/bash ์๋์ ํ ์ค์ฉ ๋์ดํด์ 'ํ์ผ_๋ช
.sh'๋ก ์ ์ฅํ ๋ค
chmod +x ํ์ผ_๋ช
.sh ํด์ ์คํ๋๊ฒ ํด์ฃผ๊ณ
bash OR sh OR ./ํ์ผ_๋ช
.sh ํด์ ์คํํ๋ฉด ๋๋ค.
์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์์ฑํ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ด๋ ์์น์์๋ ์ฌ์ฉ๋๊ฒ ํ๋ ค๋ฉด /usr/local/bin/์ ๋ฃ์ด๋๋ฉด ๋๋ค.
์๋ a ์คํํ์ผ์ด ์์ผ๋ฉด ์ด๋ฅผ ์คํํ๊ธฐ ์ํด์๋ a ์คํํ์ผ์ด ์ ์ฅ๋์ด ์๋ ๊ณณ์์ ์คํ์ด ๋๋ค.
ํ์ง๋ง $PATH๋ฅผ ๋ณด๊ณ ๊ทธ์ค ํ ๊ณณ์ ์ด a ์คํํ์ผ์ ๋ฃ์ด๋๋ฉด ์ ์ฅ๋์ด ์์ง ์์ ์ด๋ ๊ณณ์์๋ผ๋ ์คํ์ด ๋๋ค.
๊ทธ๋ฆฌ๊ณ root๊ฐ ์์ฑํ ํ์ผ์ด๋ผ๋ ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์คํํ ์ ์๋ค!!!!
=>์ด๊ฒ์ด ๊ฒฝ๋ก(ํ๊ฒฝ)๋ณ์๋ฅผ ์ค์ ํ๋ ์ด์ ์ด๋ค.
๋ฌธ์ )
centos ์ฌ์ฉ์์์
cat /etc/sysconfig/network-scripts/ifcfg-ens33 ์
head -5 /etc/passwd
๋ ๋ช
๋ น์ด๋ฅผ centos์ Desktop์ ์ ์คํฌ๋ฆฝํธ cent1.sh ์ด๋ฆ์ผ๋ก ์ ์ฅํ ๋ค
paul ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ์์ ์คํํด ๋ณด์์ค.
๋จผ์
cat > cent1.sh
#!/bin/bash
cat /etc/sysconfig/network-scripts/ifcfg-ens33 ์
head -5 /etc/passwd
๋ก ํ์ผ ์์ฑ
chmod +x cent1.sh๋ก ์คํ๊ถํ์ ์ฃผ๊ณ
mv cent1.sh /usr/local/bin์ผ๋ก ์ฎ๊ธด๋ค!
su - paul
cent1.sh ๋๋ ./cent1.sh ๋๋ bash cent1.sh ๋ฑ์ผ๋ก ์คํํด์ฃผ๋ฉด ๋๋ค!
๋ณ์
๋ฐ์ดํฐ๋ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด ๋๋ฉด ๋น ๋ฅด๊ฒ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ์์ ๊ณต๊ฐ(์
(cell)๋ก ๋ถ๋ฆ)์ผ๋ก ๋ถํ ๋์ด ์๊ณ , ๊ฐ ์
๋ง๋ค 16์ง๋ฒ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค. Linux์์๋ ์์คํ
์ด ์์ฑํ๊ณ ์ ์งํ๋ ๋ณดํต ๋๋ฌธ์๋ก ํ์๋๋ ์์คํ
๋ณ์(System Variables)์ ์ฌ์ฉ์๊ฐ ์์ฑํ๊ณ ์ ์งํ๋ ๋ณดํต ์๋ฌธ์๋ก ํ์๋๋ ์ฌ์ฉ์_์ ์ ๋ณ์(User Defined Variables)๊ฐ ์๋ค.
๋ฉ๋ชจ๋ฆฌ ๋ด์ A ์ ์ฅ ๊ณต๊ฐ์ ๋ค์ด์๋ 10(A=10)์ด๋ผ๋ ๋ฐ์ดํฐ(๊ฐ)๋ฅผ 12(A=12)๋ก ๋ฐ๊ฟ์ฃผ๋ฉด A ์ ์ฅ ๊ณต๊ฐ์๋ ์ด์ ๋ฐ๋ 12๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ฒ ๋๋ฏ๋ก A ์ ์ฅ ๊ณต๊ฐ์ ๋ฃ์ด์ฃผ๋ ๋ฐ์ดํฐ์ ๋ฐ๋ผ์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ด ๋ณํ๊ธฐ ๋๋ฌธ์ ๋ณ์(Variable)๋ผ๊ณ ๋ถ๋ฅด๊ณ $A๋ก ๋ถ๋ฌ๋ด์ ์ฌ์ฉํ๋ค. ๊ธฐ์กด์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ์ ์ฅ๋ ๊ฐ์ ์์ ๋ ๊ฒ์ ์ด๊ธฐํ๋ผ๊ณ ํ๋ค. ์์์์ ๋ณ์๋ C์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์์ฒ๋ผ ๋ฏธ๋ฆฌ ๋ณ์๋ฅผ ์ ์ธ ํ ๋ค ์ฌ์ฉํ์ง ์๊ณ ์ฌ์ฉํ ๋ Python ์ฒ๋ผ ๊ทธ ์๋ฆฌ์์ ์ ์ธํด์ฃผ๊ณ ์ฌ์ฉํ๋ฉด ๋๋ค.
๋ณ์_๋ช
์ $๋ค์ ๋๋ฌธ์๋ก ์ฐ๋๋ฐ <-$HOME, $PATH, $....
โช ์๋ฌธ์๋ _๋ก ์์๋์ด์ผ ํ๊ณ ,
โช ๋ณ์_๋ช
์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ค. no=10 ํด์ฃผ๊ณ , echo $no ํ๋ฉด ๋ณ์์ ์ ์ฅ๋ ๊ฐ 10์ ๋ณด์ด์ง๋ง,
echo $No ํ๋ฉด $No๋ ๋ค๋ฅธ ๋ณ์๋ก ์ทจ๊ธ๋๋ฏ๋ก ์๋ฌด ๊ฐ๋ ๋ณด์ด์ง ์๋๋ค.
=>pwd๋ผ๋ ๋ช
๋ น์ด๋ฅผ $(pwd) ํ๋ฉด ์ด ๋ช
๋ น์ด์ ๊ฒฐ๊ณผ๊ฐ ๋ณ์๋ก ์ทจ๊ธ๋๋ค.
โช ?๋ *์ ๊ฐ์ด ์์ฝ๋ ์ง์์ด๋ ๋ณ์_๋ช
์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ค.
โช ๋ณ์_๊ฐ์ ์ซ์๋ ๋ฌธ์, ๋ฌธ์ฅ์ด ๋ ์ ์๋๋ฐ ๋ฌธ์ฅ์ " "๋ก ๋ฌถ์ด์ ํ์ํ๋ค.
โช ‘๋ณ์_๋ช
=๊ฐ’ ๊ตฌ๋ฌธ์์ = ์ ํ์ ๊ณต๊ฐ์ด ์์ด์๋ ์ ๋๋ค!!.
โช ๋ณ์_๋ช
์ ํ ๋ฐ์ดํ ' '์ ๊ฒน ๋ฐ์ดํ " "๋ฅผ ๋ถ์์ ๋ ๊ฐ๊ฐ ์๋ฏธ๊ฐ ๋ค๋ฅด๋ค.
echo $var1์์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค.
์์คํ
๋ณ์ : ๋ณ์๋ฅผ ๋ณด๋ 'echo $๋ณ์_๋ช
'์ 'printenv ๋ณ์_๋ช
($๊ฐ ์์)'๊ณผ ๊ฐ์ ๋ช
๋ น์ด์ด๋ค.
์์คํ
๋ณ์_๋ช
์ ์ฃผ๋ก ๋๋ฌธ์๋ก ์ฐ๋๋ฐ BASH, BASH_VERSION, COLUMNS, LINES, LOGNAME, OSTYPE, PATH, PS1, PWD, SHELL, USERNAME, HOSTNAME ๋ฑ์ด ์๋ค. ํน๋ณํ ์ผ์ด ์์ผ๋ฉด ์ด ์์คํ
๋ณ์ ๊ฐ์ ๋ฐ๊ฟ ํ์๋ ์๋ค. printenv๋ UNIX ์์คํ
์์์ ๋ณ์ ํ์ธ ๋ช
๋ น์ด์ธ๋ฐ Linux์์๋ ์ผ๋ถ ์ฌ์ฉ๋๊ณ ์๋๋ฐ ๋ณ์_๋ช
์ $๋ฅผ ๋ถ์ด์ง ์๋๋ค.
ํ๊ฒฝ๋ณ์์ ๊ฐ์ ๋ฃ์ด ์ค ๋์๋ export BASH์์ผ๋ก ๋ณ์๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
๋์ผํ ๋ณ์_๋ช
์๋ ์ฌ๋ฌ ๊ฐ์ด ๊ฐ๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. ๊ทธ๋์ ๋ณ์(variable)์ด๋ค. ํ๋์ ๊ณ ์ ๋ ๊ฐ์ ๊ฐ์ง๋ ค๋ฉด ์์(constant)๊ฐ ๋์ด์ผ ํ๋ค.
shell์ ํ๊ฒฝ๋ณ์๋ export ๋ณ์_๋ช
=๊ฐ ์ผ๋ก ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
.bashrc์ .bash_profile, profile์ ์ฐจ์ด๋ฅผ ๋ณด์. ์ด๋ค์ ์ฌ์ฉ์๋ณ๋ก ๋ค์ด์๋ค.
ls -a $HOME/ ํ๋ฉด ํ์ฌ ์ฌ์ฉ์์ ์ด ํ์ผ๋ค์ ๋ณผ ์ ์๋ค.
โช .bash_profile์ ์ฒ์ ์์คํ
์ ๋ก๊ทธ์ธํ ๋ ์ ์ฉ๋๋ ํ๊ฒฝ์ธ๋ฐ Login Shell์์ ์คํ๋๋๋ฐ ๋๋ถ๋ถ ๊ฐ๋ณ ์ฌ์ฉ์์ ๋ํ ์ค์ ์ด๋ค.
=>.bash_profile์ ์ฒ์ ๋ก๊ทธ์ธํด์ ์๋ก ๋ค์ด๊ฐ ๋ ์ ์ฉ๋๋ ์ค์ ์ด๊ณ
โช .bashrc๋ ์ด๋ฏธ ๋ก๊ทธ์ธ ํ ์ํ์์ ์ ํฐ๋ฏธ๋ ์ฐฝ์ ์ด๊ฑฐ๋ ์๋กญ๊ฒ ์ค์นํ ํ๋ก๊ทธ๋จ์ ์คํ ๊ฒฝ๋ก ๋ฑ์ ์ง์ ํ ๋ ์ฌ์ฉ๋๋๋ฐ Non-Login Shell์์ ์คํ๋๊ณ Alias ๋ฑ์ด ๋ค์ด๊ฐ๋ค.
=>.bashrc๋ ๋ก๊ทธ์จ ํ ๋ค์ ์์์ ์์
ํ ๋ ์ ์ฉ๋๋ ์ค์ ์ด๋ค.
=>์ด ํ์ผ์ ์ค์ ํ ๋ค์์๋ ๋ฐ๋์ source .bashrc์์ผ๋ก ํ์ผ์์์ ๋ณ๊ฒฝ์ด ์ ์ฉ๋๊ฒ ํด ์ฃผ์ด์ผ ํ๋ค!!!!
โช profile๋ ์ฒ์ ๋ก๊ทธ์ธํ ๋ ๋ก๋๋๋๋ฐ ํ๊ฒฝ๋ณ์๊ฐ ์ ์ฉ๋๋ค. .bashrc์ ๋น์ทํ๊ฒ ์๋๋์ง๋ง ๊ฐ๋ณ ์ฌ์ฉ์์ ๋ํ ์ค์ ์ค์์ bash์ ๊ด๊ณ์๋ ํ๊ฒฝ๋ณ์๊ฐ ์ ์ฉ๋๋ค.
=>profile์ bash๊ฐ ์๋๋๋ผ๋ ๋ก๊ทธ์ธ ํ ๋ ๋ก๋๋๋ค.
โช Login Shell์ ssh๋ก ์ ์ํ๊ฑฐ๋ su๋ก ๋ค๋ฅธ ์ฌ์ฉ์๋ก ๋ค์ด๊ฐ ๋ ์ ์ฉ๋์ด ํฐ๋ฏธ๋์ ๋์ฐ๊ฑฐ๋ bash ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํด์ ์์ด ์คํ๋ ๋ ์ ์ฉ๋๋ค. /etc/profile, .bash_profile์ด๋ /etc/bashrc, .bashrc์ด ์ฌ์ฉ๋๊ณ , Non-Login Shell์ ๋ก๊ทธ์ธ์ด ํ์ํ์ง ์์ ์์ ์คํํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๋ค.
์กฐ๊ธ ๋ ์ฝ๊ฒ ์ดํดํด๋ณด์!!
~/.bash_profile : ์ด ํ์ผ์ ์ง์ ์ฒ์ ๋ค์ด๊ฐ ๋ ๋์ ๋๋ ๊ฒ๋ค, ์๋ฅผ ๋ค์ด ์ ๋ฐ์ฅ์ด๋ ์ท์ฅ ๋ฑ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ง์ ์ฒ์ ๋ค์ด๊ฐ์ ๋ ์ด๋ฐ ๊ฒ๋ค์ ํ์ธํ๊ณ , ๊ทธ ๋ค์๋ถํฐ๋ ์์ฃผ ํ์ธํ์ง ์๋๋ค. ์ฒ์ ๋ก๊ทธ์ธํด์ ์๋ก ๋ค์ด๊ฐ ๋ ์ ์ฉ๋๋ ์ค์ ์ด๋ผ๋ ๋ง์ ๊ทธ๋ ๊ฒ ์ดํดํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ~/.bash_profile๋ ์์คํ ์ ๋ก๊ทธ์ธํ ๋ ํ ๋ฒ๋ง ์คํ๋๊ณ , ๊ทธ ์ดํ์๋ ์๋์ผ๋ก ๋ถ๋ฌ์ค์ง ์๋๋ค.
~/.bashrc : ์ด ํ์ผ์ ์ง์์์ ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฌผ๊ฑด๋ค์ด ์ ์ฅ๋ ์๋์ด๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
์๋์ ์ด ๋๋ง๋ค ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฌผ๊ฑด๋ค์ ์ฝ๊ฒ ์ฐพ์ ์ ์๋๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์๋ฅผ ๋ค์ด, ํ์ํ ๋๋ง๋ค ๋น ๋ฅด๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ณผํ, ๋ฉ๋ชจ์ง, ๊ฐ์ ๋ฑ์ด ์ด์ ํด๋นํ๋ค. ~/.bashrc๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ก์ด ํฐ๋ฏธ๋ ์ธ์ ์ ์์ํ ๋๋ง๋ค ํ์ํ ์ค์ ๋ค์ ๋ถ๋ฌ์จ๋ค. ์ด๋ฏธ ๋ก๊ทธ์ธ ํ ์ํ์์ ์ ํฐ๋ฏธ๋ ์ฐฝ์ ์ด๊ฑฐ๋ ์๋กญ๊ฒ ์ค์นํ ํ๋ก๊ทธ๋จ์ ์คํ ๊ฒฝ๋ก ๋ฑ์ ์ง์ ํ ๋ ์ฌ์ฉ๋๋ค.
~/.profile : ์ด ํ์ผ์ ๋ณดํธ์ ์ธ ์ง์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ์ค๊ณ๋๋ผ๊ณ ์๊ฐํ ์ ์๋ค. ์ด๋ค ์ง์ด๋ ์ง ๋ฒฝ, ๋ฌธ, ์ฐฝ๋ฌธ ๋ฑ์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ์์๊ฐ ์๋ค. ๋ง์ฝ ํน์ ์ง์ ํน๋ณํ ๊ตฌ์กฐ๊ฐ ์๋ค๋ฉด ๊ธฐ๋ณธ ์ค๊ณ๋๋ฅผ ๋ฐ๋ฅด๊ฒ ๋๋ค. ~/.profile๋ ๋น์ทํ ์ญํ ์ ํ๋ค. ํน๋ณํ ์ค์ ํ์ผ(~/.bash_profile๋ ~/.bash_login)์ด ์๋ค๋ฉด bash๋ ~/.profile์ ๋์ ์ฝ๊ฒ ๋๋ค!! (์ฐ์ ์์: ~/.bash_profile > ~/.profile) ์ฒ์ ๋ก๊ทธ์ธ ํ ๋ ๋ก๋๋๋๋ฐ ํ๊ฒฝ๋ณ์๊ฐ ์ ์ฉ๋๋ค.
*** ํ์ผ์ด๋ ๋๋ ํฐ์ด ์์ .์ด ์์ผ๋ฉด ์ด๋ ์จ๊น(hidden) ์ฑ๊ฒฉ์ด ๋๋ค.
์ด๋ค์ ๋ณด๋ ค๋ฉด ls -a ์์ผ๋ก -a ์ต์
์ ์ฃผ๋ฉด ๋ณผ ์ ์๋ค.
=>์์ ๋ฐ๊ฒ ๋๋ฉด ./.bash_profile > /.bashrc > /etc/bashrc ์์๋ก ์คํ๋๊ฒ ๋๋ค.