๐ ๋ฆฌ๋ ์ค ๋ฐ ํฐ๋ฏธ๋, ์ฝ์์ฐฝ ํน์ git Bash์์ ์ฌ์ฉ๊ฐ๋ฅํ ๋ช ๋ น์ด๋ค์ ๋ํด ์ ๋ฆฌํ๋ ํฌ์คํ ์ ๋๋ค! ;) ๐ป
ex. โถ๏ธ sudo mv c:\Program Files
: root๊ด๋ฆฌ์์ ๊ถํ์ผ๋ก (sudo) ์ด๋์ํค๋ผ๋ ๋ช
๋ น - (Move to Program Files)
<Linux์ Mac OS>
- Mac ํฐ๋ฏธ๋์ด ๋ฆฌ๋ ์ค์ ๋งค์ฐ ์ ์ฌํ๊ธฐ๋๋ฌธ์ ์๋ฒ์ ๋ฐฐํฌํ๊ฑฐ๋ ์ด๋ด๋ ๋งค์ฐ ํธ๋ฆฌํ๋ค ํน์ง์ด ์์ต๋๋ค.
- Mac ํฐ๋ฏธ๋์ ๋ช ๋ น์ด์ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๊ฐ ๋ง์ด ํธํ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
<Linux์ ์๋ฒ>
์๋ฒ๋ Linux ์ด์์ฒด์ ๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๋ฐ ๊ฐ๋ฐ์๋ผ๋ฉด ๋ฆฌ๋ ์ค๋ฅผ ์ ์์์ผํฉ๋๋ค.
<๋ฆฌ๋ ์ค (Linux) ๋ช ๋ น์ด>
# MacOS :
sudo mv jdk-XXX /Library/Java/
# Windows :
sudo mv c:\Program Files
โก๏ธ sudo : ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํฉ๋๋ค.
โก๏ธ mv : '์ด๋'์ ์๋ฏธํ๋ ๋ช
๋ น์ด์
๋๋ค.
echo $0
โก๏ธ echo : ์ผ๋ฐ์ ์ผ๋ก ํฐ๋ฏธ๋ ํ๋กฌํํธ ๋ช
๋ น์ด๋ ์ ์คํฌ๋ฆฝํธ, ๋ฐฐ์นํ์ผ์์์
ํ๋ฉด์ด๋ ํ์ผ๋ก "์ํฉ์ ์๋ฆฌ๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ ๋ ์ฌ์ฉ"ํฉ๋๋ค.
โก๏ธ Bash์ ํน์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ปํฉ๋๋ค.
โก๏ธ ํ์ฌ ํฐ๋ฏธ๋์์ ์ฌ์ฉ๋๊ณ ์๋ ์์ด ๋ฌด์์ธ์ง ํ์ธํ ์ ์์ต๋๋ค.
โก๏ธ zsh : z shell ์ค์๋ง
โ์์ ํ์ธํ๋ ์ด์
: ์๋ง๋ค ์ค์ ํ์ผ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด ๋ช ๋ น์ด๋ฅผ ํตํด ์์ ์ถ๋ ฅํ์ ๊ฒฝ์ฐ
echo $0
1) zsh ๊ฐ ์ถ๋ ฅ๋ ๊ฒฝ์ฐ
code ~/.zshrc
โก๏ธ code : vs code (๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋)๋ฅผ ์๋ฏธํฉ๋๋ค.
โก๏ธ ~/ : ๋ด ํ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธ (์ฌ์ฉ์ ๊ณ์ ์ด ์๋ ๊ฒฝ๋ก)ํฉ๋๋ค.
โก๏ธ .zshrc : ํ์ผ์ ์๋ฏธํฉ๋๋ค.
๐กMacOS์ ๊ฒฝ์ฐ์๋ ์์ ์ bash ์์ ์ ๊ณตํ๋๋ฐ ์์ฆ์ ์ด์์ฒด์ ๋ zsh(z shell)์ด ๊ธฐ๋ณธ ์ํ๋ก๊ทธ๋จ์ด ๋์์ต๋๋ค.
2) bash ๊ฐ ์ถ๋ ฅ๋ ๊ฒฝ์ฐ
code ~/.bashrc
โก๏ธ .bashrc : ํ์ผ์ ์๋ฏธํฉ๋๋ค.
๐ก๋ฆฌ๋
์ค์์๋ bash๋ผ๋ ์์ ์ ๊ณตํฉ๋๋ค.
ls
โก๏ธ ls : ํ์ฌ ๋ชฉ๋ก์ ์๋ ๋ชจ๋ ํ์ผ์ ๋ณด์ฌ๋ฌ๋ผ๋ ๊ฒ
<์(shell) ํ๋ก๊ทธ๋จ>
: ๋ด๊ฐ ์ ๋ ฅํ ๋ช ๋ น์ ์ฝ์ด๋ค์ฌ์ ๊ทธ ๋ช ๋ น์ ๋์ ์คํํด์ฃผ๋ ๊ฒ์ด ์(shell) ํ๋ก๊ทธ๋จ
pwd
โก๏ธ pwd : Print Working Directory์ ์ฝ์๋ก ํ์ฌ ๋ด ํ ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ด ์ถ๋ ฅ
source ~/.zshrc
โก๏ธ source : ์คํฌ๋ฆฝํธ ํ์ผ์ ์์ ํ ํ์ ์์ ๋ ๊ฐ์ ๋ฐ๋ก ์ ์ฉํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ช
๋ น์ด
โก๏ธ๋ฐ๋ ์ค์ ์ด ๋ฐ๋ก ์ ์ฉ์ด ๋ฉ๋๋ค.
<์๋ฐ ๋ฒ์ ํ์ธ>
java –version
javac –version
<๊ตฌ๋ถ์>
MacOS์ Linux์์๋ ๊ตฌ๋ถ์๊ฐ ์ฝ๋ก ( : ) /// ์๋์ฐ๋ ์ธ๋ฏธ์ฝ๋ก ( ; )์ ์ฌ์ฉํฉ๋๋ค.
<ํด๋์คํ์ผ ์คํํ๊ธฐ>
code Hello.java
โก๏ธ code : vscode๋ก Hello.java ํ์ผ์ ์คํํฉ๋๋ค.
javac Hello.java
โก๏ธ javac : Hello.java ํ์ผ์ ์ปดํ์ผ
โก๏ธ ํด๋์ค ํ์ผ(.class)์ ๋ง๋ญ๋๋ค.
โก๏ธ ์๋ฐ ์ปดํ์ผ๋ฌ์ ๋ช
๋ น์ด๋ฆ์ ์๋ฏธ
โก๏ธ javac ๋ช
๋ น์ด์ ๊ณผ์ ์ ํตํด ์์ค์ฝ๋์ ๊ธฐ๊ณ์ด ์ค๊ฐ ๋จ๊ณ์ธ "๋ฐ์ดํธ์ฝ๋”๊ฐ ๋ง๋ค์ด์ง๋๋ค.
<๋ฐ์ดํธ์ฝ๋>
๋ฐ์ดํธ์ฝ๋๋ก CPU๊ฐ ์ดํดํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ฃผ์ด๐ก์ค๊ฐ๋ค๋ฆฌ์ญํ ์ ํฉ๋๋ค.
๊ธฐ๊ณ์ด <— ‘๋ฐ์ดํธ์ฝ๋’ —> ์ฌ๋์ ์ธ์ด
์๋ฐ๋ฅผ ๋ง๋ ์ฌ๋์ ํ๋ฒ ๋ง๋ค์ด์ง ํ๋ก๊ทธ๋จ์ด ์ฌ๋ฌ CPU์์ ์คํ๋๊ธธ ์ํ์ต๋๋ค.
์๋์ฐ, ๋ฆฌ๋ ์ค, MacOS ๋ฑ์์ ์คํ๋๊ธธ ์ํ ๊ฒ์ ๋๋ค.
โญ์์ค์ฝ๋๋ฅผ ๋ฐ๋ก ๊ธฐ๊ณ์ด๋ก ๋ฐ๊พธ์ง ์๊ณ ์์ค์ฝ๋์ ๊ธฐ๊ณ์ด ์ค๊ฐ ํํ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ ๊ฒ์ด “๋ฐ์ดํธ ์ฝ๋”์ ๋๋ค.
์ด ์ค๊ฐํํ์ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ํตํด ์ด๋ค ์ด์์ฒด์ ์๋ ์๊ด์์ด ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค.
JDK(Java Development Kit)์ JVM(Java Virtual Machine)์ด ์ด์์ฒด์ ์ ์๊ด์์ด ๋ฐ์ดํธ์ฝ๋๋ฅผ ์ฝ๋๋ฐ,
1) ํ์ค์ฉ ์ฝ์ด๋ค์ด๋ฉด์
2) ๊ธฐ๊ณ์ด๋ก ๋ฐ๊ฟ๊ฐ๋ฉฐ
3) ์คํํ๊ฒ๋๋๋ฐ
์ด๋ฐ ๋ฐฉ์์ โญ์ธํฐํ๋ฆฌํฐ(Interpreter) ๋ฐฉ์ ์ด๋ผ๊ณ ํฉ๋๋ค.
์ฆ ์๋ฐ์์์ ์ปดํ์ผ์ ๊ธฐ๊ณ์ด๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ด์๋ "๋ฐ์ดํธ์ฝ๋๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒ"์ ๋๋ค.
๐ก๋ฐ๋ฉด C์ธ์ด๋ ์์ค์ฝ๋๊ฐ ์ปดํ์ผ๋๋ฉด ๋ฐ๋ก ๊ธฐ๊ณ์ด๋ก๋ ์ฝ๋๊ฐ ๋ง๋ค์ด์ง๋๋ค.
ls -la Hello.java
โก๏ธ ls -la : ํ์ผ์ ์์ธ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ ๋ฆฌ์คํธ๊ฐ ์ถ๋ ฅ
โก๏ธ Hello.class ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ํ์ธ๊ฐ๋ฅํฉ๋๋ค.
โก๏ธ -l ์ต์
์ long์ ์ค์๋ง๋ก ํ์ผ ์ถ๋ ฅ ํ์์ “๊ธด ๋ชฉ๋ก ํ์์ผ๋ก ์ถ๋ ฅ”
โก๏ธ -a ์ต์
์ all์ ์ค์๋ง๋ก ๋ชจ๋ ํ์ผ(์จ๊นํ์ผ๋ฐ๋๋ ํ ๋ฆฌํฌํจ) ํ์์ ์ถ๋ ฅ
โก๏ธ -la์ฒ๋ผ ๋์ ์กฐํฉํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ -la๋ “๊ธด ๋ชฉ๋ก ํ์์ผ๋ก ์จ๊น์ฒ๋ฆฌ๋ ํ์ผ๊น์ง ๋ชจ๋ ์ถ๋ ฅ”
โก๏ธ ํ์ผ ์์ธ์ ๋ณด ์์ “drwxr-xr-x” ์ฒ๋ผ ์ฐ์ฌ์๋ ๊ฒ์ด ํ์ผ ํผ๋ฏธ์
(Permission) ์ด๋ผ๊ณ ํฉ๋๋ค. (=๊ถํ ์ ๋ณด)
โก๏ธ ์ด ํ์ผ์ด ์ธ์ ์์ฑ๋์๊ณ , ์ด๋ ๊ถํ๋ค์ ๊ฐ์ง๋์ง ๋ํ ์ถ๋ ฅ
ls Hello*
โก๏ธ ls : Hello๋ก ์์ํ๋ ๋ชจ๋ ํ์ผ์ ํ์ธ (์ถ๋ ฅ)
java Hello
โก๏ธ java : Hello.class๋ฅผ ์คํ
โก๏ธํด๋์ค ํ์ผ์ ์คํํ๊ธฐ ์ํด์ JVM(์๋ฐ๊ฐ์๋จธ์ )์ด ํ์ํ๋ฐ,
java๋ช
๋ น์ด JVM์ ์๋ฏธํ์ฌ Hello.class๋ฅผ ์คํํ๊ฒ๋ฉ๋๋ค.
โ ๏ธ์ฃผ์ํ ์ : ํ์ฅ์๋ฅผ ์
๋ ฅํ์ง ์์์ผํฉ๋๋ค. Hello๋ผ๋ ํด๋์ค๋ฅผ JVM์ด ์์์ ์ฐพ์์ ์คํํฉ๋๋ค.
cat Hello.java
โก๏ธ Hello.javaํ์ผ์ ๋ด์ฉ์ด ํ๋ฉด์ ์ถ๋ ฅ๋จ ex) public class Hello{ … }
javac myInfo.java -encoding utf-8
โก๏ธ error: unmappable character (0xEC) ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ ๋ช
๋ น์ด ์ต์
โก๏ธ ํ๊ธ์ ์ฝ์ด๋ค์ผ ์ ์๋ค๋ ์๋ฏธ
โก๏ธ ์ปดํ์ผํ ๋, ์๋ฐ ์ปดํ์ผ๋ฌ์๊ฒ ๋ช
์์ ์ผ๋ก ์ธ์ฝ๋ฉ ์ง์
tree
โก๏ธ tree : ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
โก๏ธ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ช
์๋์ ํด๋์ค ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
โก๏ธ ex. com.example.util ์ด๋ผ๋ ํจํค์ง๋ฅผ ๋ง๋ค๊ณ ํฐ๋ฏธ๋์์ tree๋ช
๋ น์ ํ๊ฒ๋๋ฉด comํด๋ ์๋, exampleํด๋๊ฐ ์์ฑ๋์ด์๊ณ exampleํด๋ ์๋, utilํด๋๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
โก๏ธ ๊ฒฐ๊ตญ .(์จ์ ) ์ด๋ผ๋ ๊ฒ์ “ํ์ํด๋”๋ฅผ ๋ํ๋ด๋ ๊ฒ๋๋ค.
<ํจํค์ง๊ฐ ์ ์๋ ํด๋์ค ํ์ผ “์๋์ผ๋ก” ์ปดํ์ผ ํ๊ธฐ>
javac -d
โก๏ธ ๊ฒฝ๋ก๋ช *.java ํฐ๋ฏธ๋ ํ๊ฒฝ์์ ์ปดํ์ผํ ๋ “ํจํค์ง๊ฐ ์์ ๊ฒฝ์ฐ์๋ ๋ฐ๋์ -d์ต์ ”์ ์ ์ด์ฃผ์ด์ผํฉ๋๋ค.
cd com/example/util
โก๏ธ cd : ํด๋์ค๊ฐ ๋ด๊ธด ๊ณณ๊น์ง ์ ๊ทผ
mkdir ~/tmp
โก๏ธ mkdir : ํ์ผ์ ๋ณต์ฌํ ํด๋ ๋ง๋ค๊ธฐ
โก๏ธ ~(๋ฌผ๊ฒฐ๋ฌด๋ฌ)๋ ํ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
โก๏ธ ๊ทธ ๋ฐ์ tmp๋ผ๋ ํด๋๋ฅผ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์ ๋ณต์ฌ
cp Exam.java ~/tmp
โก๏ธcp : Exam.java ํ์ผ์ ~/tmpํด๋์ ๋ณต์ฌ
javac -d . Exam.java
โก๏ธ .(์จ์ )์ ํ์ฌ ๊ฒฝ๋ก(.)์ Exam.java๋ฅผ ์ปดํ์ผ
โก๏ธ -d์ต์
์ผ๋ก ์ปดํ์ผํด์ผ “๋๋ ํ ๋ฆฌ”๊ฐ ์์ฑ๋ฉ๋๋ค. 9. ์ฌ๊ธฐ์ ls -la ๋ช
๋ น์ด
์ด ์ํ๋ก .(์จ์ )์ ํ์ฌ ๊ฒฝ๋ก(.)์ Calculator.java๋ฅผ ์ปดํ์ผ ํ๋ผ๋ ์๋ฏธ
์จ๊น ์ฒ๋ฆฌ๋ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ๋ ์ด๋ฆ์์ (.) ์จ์ ์ด ๋ถ์ต๋๋ค.
<๋ช ๋ นํ ์๊ท๋จผํธ (Command-Line Arguments)>
- main๋ฉ์๋์ ์๋ String[] args ๋ฐฐ์ด์ด ์ง๊ธ๊น์ง ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ๋ฐฐ์ด์ผ ๊ฒ์ ๋๋ค.
- JVM์ด main๋ฉ์๋ ์คํํ ๋ String[]์ ์๊ท๋จผํธ๋ก ๋๊ฒจ์ค๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด String[] ๋ฐฐ์ด์ ๋ณ์ args๋ “๋ช ๋ นํ ์๊ท๋จผํธ”๋ผ๊ณ ํ๊ณ , ์ค์ฌ์ args ๋ก ์๋๋ค.
<์ด ์๊ท๋จผํธ๋ฅผ ์คํํ๋ ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ>
javac EmptyCommandLineArgumentExam.java
โก๏ธ javac : ์ปดํ์ผํ์ฌ ํด๋์คํ์ผ ์์ฑ
java EmptyCommandLineArgumentExam a b c d e
โก๏ธ java : ์คํํ๋๋ฐ args์ธ์๋ก๋ [a] [b] [c] [d] [e]์ ์ ๋ฌํ์ฌ arguments(=args) ๊ฐ ๋๋ ๊ฒ์
๋๋ค.
โก๏ธ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ํด์ 5๊ฐ์ ๋ฌธ์์ด์ด args์ ๋ด๊น๋๋ค.
<์ ๋์ค (Unix)>
javac Hello.java
โก๏ธ javac : ์ปดํ์ผ ์ ์๋ฌด ๋ฉ์์ง๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉด ์ปดํ์ผ์ด ์ ๋ ๊ฒ์ ๋๋ค.
์ด๋ ‘Unix’์ ์ฒ ํ์ฒ๋ผ "๋ช ๋ น์ด๋ฅผ ์คํํ์๋ ์ฑ๊ณตํ๋ฉด ์๋ฌด๋ฐ ๋ฉ์์ง๋ ์ถ๋ ฅํ์ง ์์ต๋๋ค"
๋ฆฌ๋ ์ค(Linux)๋ ์ ๋์ค(Unix)์ ๊ณ์ด์ธ๋ฐ
์์ ls -la ๋ช ๋ น์ด์ ์ต์ ์ฒ๋ผ ์ฌ๊ธฐ์๋ ์์ ๋ช ๋ น๋ค์ ์กฐํฉํด์ ๋ ๋ค๋ฅธ ๋ช ๋ น์ ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์ด๋ฅผ "์ ์คํฌ๋ฆฝํธ ์์ฑ"์ด๋ผ๊ณ ๋ ํฉ๋๋ค.
wc hello
โถ๏ธwc : word count ๋ผ๋ ์๋ฏธ๋ก >> [1 2 12] ๋ผ๊ณ ์ถ๋ ฅ์ด ๋๋๋ฐ
โถ๏ธ "1์ค์ 2๋จ์ด๋ก 12๊ธ์๊ฐ ์
๋ ฅ๋์๋ค"๋ ์๋ฏธ์
๋๋ค.
ls | wc
โถ๏ธ ls์ ์ถ๋ ฅ๊ฒฐ๊ณผ๊ฐ wc์ ๊ทธ๋๋ก ์ ๋ฌ
โถ๏ธ ls์ ์ถ๋ ฅ๊ฒฐ๊ณผ๋ฅผ wc์ ์
๋ ฅ์ผ๋ก ๋ฐ๊ฒ ๋ค๋ ์๋ฏธ
โถ๏ธ ‘|’ ← ๋ ‘ํ์ดํ(pipe)’ ๋ ๋ช
๋ น์ด๋ค์ ๊ฐ๋ ฅํ๊ฒ ๊ฒฐํฉ์์ผ์ฃผ๋ ํต์ฌ ๊ธฐ๋ฅ์ด์ ๋ฆฌ๋
์ค์ ์ฌ์งํฅ(redirection)์ ์๋ฏธ
cat Hello.java | wc
โถ๏ธ cat : Hello๋ผ๋ ์๋ฐํ์ผ์ (๋ผ์ธ์, ๋จ์ด์, ๊ธ์์)๊ฐ ์ถ๋ ฅ
man wc
โถ๏ธ man : ๋ช ๋ น์ด wc์ ๊ด๋ จ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ถ๋ ฅ
<ํ์ผ ์์ฑ๊ณผ ์ญ์ >
touch myfile01.txt
โก๏ธ touch : ๋ฆฌ๋ ์ค์์์ ํ์ผ ์์ฑ ๋ช ๋ น์ด
sudo chown root myfile01.txt
โก๏ธ ์ฌ์ฉ์๊ฐ "-rw-r—r—" ์ ๊ฐ์ด ๊ฐ์ง ๊ถํ์ ๋ฐ๊ฟ๋ณผ ์ ์์ต๋๋ค.
โก๏ธ sudo : ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ (root ์ฌ์ฉ์๋ก ๋ณ๊ฒฝํ๊ธฐ์ํจ)
โก๏ธ chown : ๊ถํ์ ๋ณ๊ฒฝ (chown root : root ์ฌ์ฉ์๋ก ๊ถํ์ ๋ณ๊ฒฝ)
๐ Git Bash์์๋ sudo ๋ช
๋ น์ด๋ apt ๋ช
๋ น์ ํฌํจ๋์ง ์๋๋ค.
Git Bash์์๋ sudo๋ช
๋ น์ด ๋ฐ๋์ ํ์ํ ๊ฒ์ ์๋๋ฉฐ, ๋ง์ฝ sudo ๋ช
๋ น์ด ํ์ํ๋ค๋ฉด
Git Bash๋ฅผ “๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํด๋ณผ๊ฒ”
๐ ๋ฆฌ๋ ์ค ํ๊ฒฝ์ ์ํ๋ค๋ฉด WSL, WSL 2 ์ ์ฌ์ฉ๋ ํ๋์ ๋ฐฉ๋ฒ
rm myfile01.txt
โก๏ธ rm : ํ์ผ์ ์ญ์
โก๏ธ root ๊ถํ์ด๋ฉด "์ญ์ ํ ๊ฒ์ธ์ง" ๋ฌธ๊ตฌ ๋ฐ์
<Writer ์ค์ต>
public static void main(String[] args) throws Exception{
Writer out = new FileWriter("C:/Users/98758/tmp/Hello.txt");
// ๋ฌธ์ 'a'๋ฅผ intํ์ผ๋ก ํ๋ณํํด์ ์ฐ๊ธฐ
out.write((int)'a');
out.write((int)'h');
out.write((int)'!');
out.close();
}
ls -la
โก๏ธ ์ด ํ์ผ์ด 3๋ฐ์ดํธ์ ๊ณต๊ฐ์ ์ฐจ์งํ๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. 'a' 'h' '!'
๐ก์ฌ๊ธฐ์ ‘๊ฐ’, ‘๋’, ‘๋ค’ ๋ก ๋ฐ๊พธ๊ฒ๋๋ฉด ‘9๋ฐ์ดํธ’ ๊ณต๊ฐ์ ์ฐจ์งํ๊ฒ๋๋๋ฐ, JDK๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง|
java 12๋ฒ์ ๊ธฐ์ค์์๋ ์์คํค์ฝ๋ ๊ด๋ จ๋ ๋ฌธ์๋ค์ 1๋ฐ์ดํธ์ฉ ์ ์ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ํ๊ธ ๊ฐ์ ๊ฒฝ์ฐ๋ 3๋ฐ์ดํธ์ฉ ์ ์ฅ๋๊ณ ์์ต๋๋ค.
์๋ฐ๋ ์ ๋์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ ๋์ฝ๋์ ์ข ๋ฅ๋ ์ฌ๋ฌ๊ฐ์ธ๋ฐ
2byte๋ฅผ ํํํด์ ํ๊ธํํ๋ ๊ฐ๋ฅํ๊ณ , 3byte๋ฅผ ํํํด์ ํ๊ธํํ๋ ๊ฐ๋ฅํฉ๋๋ค.
์ ๋์ฝ๋ ๋ณ๋ก ๋ค๋ฅธ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
UTF-8, UTF-16 ๋ฑ๋ฑ์ ๋ฐ๋ผ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๐ ๋ฆฌ๋ ์ค์ ํฐ๋ฏธ๋, ์ฝ์์ฐฝ, Git Bash ๋ฑ ํ์์ ์ต์ํ์ง ์์๋ ๋ช ๋ น์ด๋ค์ ์ ๋ฆฌํจ์ผ๋ก์จ ๋ด์ฉ๋ค์ด ์ดํด๊ฐ ์ ๋์์ต๋๋ค. ๋ฆฌ๋ ์ค ๊ด๋ จ ๋จ์ถ์ด๋ ์๋กญ๊ฒ ์์๊ฐ์๋ก ์ถ๊ฐํด๋๊ฐ ์์ ์ ๋๋ค! ๐