๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/JAVA

[์ƒํ™œ์ฝ”๋”ฉ] JAVA1 - 12. ์ง์ ‘ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ1

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2022. 9. 15.

 

 

์ƒํ™œ์ฝ”๋”ฉ JAVA1

-  12.1 ์ง์ ‘ ์ปดํŒŒ์ผ ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ : ์†Œ๊ฐœ -

-  12.2 ์ง์ ‘ ์ปดํŒŒ์ผ ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ : ์‹คํ–‰ํ™˜๊ฒฝ ์‚ดํŽด๋ณด๊ธฐ -

-  12.3 ์ง์ ‘ ์ปดํŒŒ์ผ ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ : ์ปดํŒŒ์ผ๊ณผ ์‹คํ–‰ํ•˜๊ธฐ -

 


 

1. ์ง์ ‘ ์ปดํŒŒ์ผ ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ : ์†Œ๊ฐœ

์ดํด๋ฆฝ์Šค์™€ ๊ฐ™์€ ๊ฐœ๋ฐœ๋„๊ตฌ๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ์ž๋ฐ”๋กœ ๋งŒ๋“  ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

๊ทธ์ „์— ์šฐ๋ฆฌ๊ฐ€ ํ•˜๋ ค๊ณ ํ•˜๋Š” ์ปดํŒŒ์ผ, ๋Ÿฐ, ์ธํ’‹์— ๋Œ€ํ•ด์„œ ์งง๊ฒŒ ๋ฉ”๋ชจํ•ด ๋ณด๋„๋ก ํ•˜์ž.

 

Compile

.java ํ™•์žฅ์ž๊ฐ€ ๋ถ™์€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ .class ํ™•์žฅ์ž๊ฐ€ ๋ถ™์€ ์‹คํ–‰ํŒŒ์ผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ

 

Run

ํด๋ž˜์Šค ํ™•์žฅ์ž๊ฐ€ ๋ถ™์€ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ

 

Input 

์‹คํ–‰ํ•  ๋•Œ ์ž…๋ ฅ๊ฐ’์„ ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์˜ค๋„๋ก ํ•˜๋Š” ๊ฒƒ

 


2. ์ง์ ‘ ์ปดํŒŒ์ผ ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ : ์‹คํ–‰ํ™˜๊ฒฝ ์‚ดํŽด๋ณด๊ธฐ

๋จผ์ € ์ž๋ฐ”๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ํ™˜๊ฒฝ์„ ์‚ดํŽด๋ณผ ๊ฒƒ์ธ๋ฐ ๋‚ด ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์€ ๋งฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ ์œˆ๋„์šฐ๋‚˜ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์œ ํŠœ๋ธŒ์˜์ƒ์„ ์‹œ์ฒญํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ๊ณณ์—์„œ ๊ฒ€์ƒ‰ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž€๋‹ค.

 

์ž๋ฐ”๋ฅผ ์ปดํŒŒ์ผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ช…๋ น์–ด๋กœ ์ปดํŒŒ์ผ์„ ํ•ด์•ผํ•œ๋‹ค.

๊ทธ๋ ‡๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ„ฐ๋ฏธ๋„์— ์ ‘์†ํ•˜๋ฉด ๋œ๋‹ค.

(ํ„ฐ๋ฏธ๋„์€ Spotlight๋ฅผ ํ‚ค๊ณ  ํ„ฐ๋ฏธ๋„์ด๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค.)

 

์ปดํŒŒ์ผ์„ ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” javac๋ฅผ ํ†ตํ•ด์„œ ์ปดํŒŒ์ผ์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ปดํŒŒ์ผํ•œ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด java๋ฅผ ํ†ตํ•ด์„œ ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์— javac ๋˜๋Š” java๋ผ๊ณ  ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ๋ฌด์–ธ๊ฐ€ ์ซ™ ๋‚˜์˜ค๊ฒŒ ๋˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด java์™€ javac๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ด ์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ ํ„ฐ๋ฏธ๋„์—์„œ ๋ช…๋ น์–ด๋“ค์„ ์ž…๋ ฅํ•ด์„œ bin ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์˜ ๋ชฉ๋ก๋“ค์„ ๋ณด๋ฉด java์™€ javac๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋Š” ๋‚ด๊ฐ€ ํ„ฐ๋ฏธ๋„์— java์™€ javac๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์‹คํ–‰๋˜์–ด์ง€๋Š” ํŒŒ์ผ๋“ค์ด๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ๋‚ด๊ฐ€ ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•ด์žˆ์ง€ ์•Š๊ณ  ์–ด๋””์„œ๋“ ์ง€ java์™€ javac๋ฅผ ์ž…๋ ฅํ–ˆ์„๋•Œ ์ œ๋Œ€๋กœ ์‹คํ–‰ํšŒ๋Š”๋ฐ ์ด์œ ๋Š” path๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋•Œ๋ฌธ์ด๋‹ค.

ํ™˜๊ฒฝ๋ณ€์ˆ˜ path๋Š” ๋‚ด๊ฐ€ ํ„ฐ๋ฏธ๋„์— java๋‚˜ javac๋ผ๊ณ  ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— java๋ผ๋Š” ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ์ง€ ํ™•์ธํ•œ ํ›„ ์—†๋‹ค๋ฉด path๋ผ๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋“ค์„ ์ฐธ์กฐํ•˜์—ฌ ํ•ด๋‹น ํŒŒ์ผ์ด ์žˆ์„ ๋•Œ ์ž˜ ์ž‘๋™๋˜๊ณ , ์—†์„๋•Œ๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

 

ํ™˜๊ฒฝ๋ณ€์ˆ˜ path์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด echo $PATH๋ฅผ ์ž…๋ ฅํ•ด์„œ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด nano ~/.bash_profile ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ๋‚ด๊ฐ€ ์ถ”๊ฐ€ํ•ด ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

 


3. ์ง์ ‘ ์ปดํŒŒ์ผ ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ : ์ปดํŒŒ์ผ๊ณผ ์‹คํ–‰ํ•˜๊ธฐ

Program.java ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด ํด๋ž˜์Šค ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „์— ์ดํด๋ฆฝ์Šค์—์„œ ์ปดํŒŒ์ผ ๊ณผ์ •์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ Program.class ํŒŒ์ผ์„ ์ œ๊ฑฐํ•ด ์ค€๋‹ค.

 

ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ„ฐ๋ฏธ๋„์—์„œ ํ˜„์žฌ ์ž๋ฐ”ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค.

๋‚ด๊ฐ€ ์ปดํŒŒ์ผํ•˜๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ๋ณต์‚ฌํ•ด์ค€ ๋‹ค์Œ์— ํ„ฐ๋ฏธ๋„์— cd๋ฅผ ์‚ฌ์šฉํ•ด ํ˜„์žฌ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  ํ˜„์žฌ์˜ ๊ฒฝ๋กœ์œ„์น˜์™€ ํ˜„์žฌ๊ฒฝ๋กœ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ–ˆ์„ ๋•Œ ๋‚ด๊ฐ€ ์ปดํŒŒ์ผํ•˜๊ธฐ ํฌ๋งํ•˜๋Š” ์ž๋ฐ”ํŒŒ์ผ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•œ ๊ฒƒ์ด๋‹ค.

 

ํด๋ž˜์ŠคํŒŒ์ผ๋“ค์„ ์ง€์›Œ์ค€ ํ›„ ls๋ฅผ ์‚ฌ์šฉํ•ด ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ•œ ํ›„ ์ž๋ฐ”ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด์ค€ํ›„ ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด classํŒŒ์ผ์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ, ์ด ํด๋ž˜์ŠคํŒŒ์ผ์„ ์‹คํ–‰์‹œ์ผœ์ฃผ๋ฉด ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ์ตœ์ข…์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 


์˜ค๋Š˜ ์‚ฌ์šฉํ•œ ๋ช…๋ น์–ด

javac : javaํŒŒ์ผ์„ classํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ

java : ํด๋ž˜์ŠคํŒŒ์ผ ์‹คํ–‰

pwd : Print Working Directory๋กœ ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋””๋ ‰ํ† ์ด ์ด๋ฆ„ ์ถœ๋ ฅ

/usr/libexec/java_home : ์ž๋ฐ”๊ฐ€ ์–ด๋””์— ์„ค์นญ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด

cd :  Change Directory๋กœ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ๋ณ€๊ฒฝ

ls : list๋กœ ํŒŒ์ผ๋ชฉ๋ก

nano : ํŽธ์ง‘๊ธฐ

cat : ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ฝ์–ด ํ™”๋ฉด์— ์ถœ๋ ฅ

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€