TIL33. Linux : Linux & Terminal

ID์งฑ์žฌยท2021๋…„ 10์›” 12์ผ
1

Llinux

๋ชฉ๋ก ๋ณด๊ธฐ
17/17
post-thumbnail

๐Ÿ“Œ ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” Linux๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ Terminal ๊ธฐ๋ณธ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.



๐ŸŒˆ Linux & Terminal

๐Ÿ”ฅ Linux ํ•ต์‹ฌ๊ตฌ์กฐ

๐Ÿ”ฅ Terminal ์ด๋ž€?



1. Linux ํ•ต์‹ฌ๊ตฌ์กฐ

๐Ÿค” Linux ์™œ ์“ธ๊นŒ?

โœ”๏ธ Linux๋Š” 1991๋…„ Linus Torvals(๋ฆฌ๋ˆ„์Šค ํ† ๋ฐœ์ฆˆ)๊ฐ€ ๊ฐœ๋ฐœํ•œ ์šด์˜์ฒด์ œ์ด๋‹ค. Linux๋Š” ์˜คํ”ˆ์†Œ์Šค์ด๋ฉฐ ๋ˆ„๊ตฌ๋‚˜ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
โœ”๏ธ Linux๋Š” ๊ณต๊ฐœ ์†Œํ”„ํŠธ์›จ์–ด์ด๋ฉฐ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. GNU ์ •์‹ ์— ๋”ฐ๋ผ ์ž์‹ ์ด ๊ฐœ๋ฐœํ•œ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ, ์ˆ˜์ • ๋ฐ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด ์ง€์›์ž๋“ค์— ์˜ํ•œ ๊พธ์ค€ํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ์™€ ๋‹ค์–‘ํ•œ ๋ฐฐํฌํŒ์ด ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค.
โœ”๏ธ Linux๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์œ ๋‹‰์Šค์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์—ผ๋‘ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์œ ๋‹‰์Šค์˜ ์žฅ์ ์ธ ๋ฉ€ํ‹ฐ์œ ์ €, ๋ฉ€ํ‹ฐ ํ…Œ์Šคํ‚น ๊ธฐ๋Šฅ๊ณผ ๊ฐ•๋ ฅํ•œ ๋„คํŠธ์›Œํฌ ๋ฐ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค.
โœ”๏ธ ํŠนํžˆ, Linux๋Š” ์„œ๋ฒ„์šฉ OS๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

๐Ÿค” Linux ํŒŒ์ผ๊ตฌ์กฐ

โœ”๏ธ root(/) : ์ตœ์ƒ์œ„ ๊ฒฝ๋กœ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ด ๊ณณ์œผ๋กœ๋ถ€ํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ป—์–ด๋‚˜๊ฐ€๋Š” ์‹œ์ž‘์ ์ด๋‹ค. cd /๋ฅผ ํ†ตํ•ด root ๋””๋ ‰ํ† ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
โœ”๏ธ /home/ : ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์˜ ์‹œ์ž‘์ ์œผ๋กœ ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค. cd ~๋กœ ์ ‘๊ทผํ•˜๋Šฅํ•˜๊ณ , desktop ๋””๋ ‰ํ† ๋ฆฌ ๋˜ํ•œ ์ด /home/ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋‹ค.
โœ”๏ธ /bin/ : bin์€ binary์˜ ์•ฝ์ž๋กœ ์ตœ์†Œํ•œ์˜ OS ๊ตฌ๋™์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ๋“ค์–ด์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค. cat, chmod, chown, cp ๋“ฑ์˜ ๋ช…๋ ์–ด๋Š” ์ด ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ํŒŒ์ผ๋กœ ๋งˆ๋ จ๋˜์žˆ๋‹ค.

๐Ÿค” Absolute Paths & Relative Paths

โœ”๏ธ ์ ˆ๋Œ€๊ฒฝ๋กœ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊ฐ€์ง€ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
โœ”๏ธ ์ƒ๋Œ€๊ฒฝ๋กœ๋Š” ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ํ‘œ๊ธฐํ•˜์—ฌ ์ด๋™ํ•˜๋Š” ๊ฒฝ๋กœ ์ง€์ • ๋ฐฉ๋ฒ•์ด๋‹ค.
โœ”๏ธ ์ƒ๋Œ€ ๊ฒฝ๋กœ์—์„œ .์€ ํ˜„์žฌ๊ฒฝ๋กœ ..์€ ์ƒ์˜ ๊ฒฝ๋กœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

W3C(์›นํ‘œ์ค€)์•ˆ์— ๋ชจ๋ฒ”์‚ฌ๋ก€๋ฅผ ๋ณด๋ฉด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์ƒ๋Œ€ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.
https://www.w3schools.com/html/html_filepaths.asp



2. Terminal

๐Ÿค” GUI vs CLI ๋ž€?

โœ”๏ธ GUI๋Š” Graphic User Interface์˜ ์•ฝ์ž๋กœ ๊ทธ๋ฆผ์ด๋‚˜ ์•„์ด์ฝ˜, ๋ฒ„ํŠผ ๋“ฑ์„ ํ†ตํ•ด ์†Œํ†ตํ•˜๋Š” ๋ฐฉ์‹์ด๊ณ , CLI๋Š” Command Line Interface์˜ ์•ฝ์ž๋กœ ํ„ฐ๋ฏธ๋„์—์„œ text ์ž…๋ ฅ์„ ํ†ตํ•ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
โœ”๏ธ ์„œ๋ฒ„ ์‹œ์Šคํ…œ์€ CLI์—์„œ ์ž‘์—…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช…๋ น์–ด์™€ ์นœ์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

๐Ÿค” ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด

๐Ÿ”Ž pwd : ํ˜„์žฌ ๊ฒฝ๋กœ ์ถœ๋ ฅ (print working directory)

>> pwd

๐Ÿ”Ž ls : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ๋ฆฌ์ŠคํŠธ ํ™•์ธ(list), ์ƒ์„ธ ๋ณด๊ธฐ๋Š” -al์˜ต์…˜ ์‚ฌ์šฉ

>> ls
>> ls -al
>> ls -al > test.py ๐Ÿ‘ˆ ls -al ๊ฒฐ๊ณผ test.py์˜ ์“ฐ๊ธฐ

๐Ÿ”Ž cd :ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ ์‹œ ์‚ฌ์šฉ (change directory)

>> cd /
>> cd ~
>> cd ..
>> cd .

๐Ÿ”Ž mkdir : ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ (make directory), -p ์˜ต์…˜์„ ์ฃผ๋ฉด ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ํ•œ๋ฒˆ์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑ

>> mkdir test
>> mkdir -p one/two/tree

๐Ÿ”Ž touch : ํŒŒ์ผ ์ƒ์„ฑ

>> touch main.py

๐Ÿ”Ž cat : ํ„ฐ๋ฏธ๋„์— ํŒŒ์ผ ๋‚ด์šฉ ์ถœ๋ ฅ (concatenate)

>> cat main.py
>> cat sample.txt | grp "Python" ๐Ÿ‘ˆ sample.txt ํŒŒ์ผ์—์„œ "Python" ํฌํ•จ๋œ ๋ถ€๋ถ„ ์ฐพ์•„์™€ ํ„ฐ๋ฏธ๋„ ์ถœ๋ ฅ

๐Ÿ”Ž rm : ํŒŒ์ผ ์ œ๊ฑฐ (remove), ๋””๋ ‰ํ† ๋ฆฌ ์ œ๊ฑฐ๋Š” -r ์˜ต์…˜ ์‚ฌ์šฉ

>> rm main.py
>> rm -r one

๐Ÿ”Ž echo : ํ„ฐ๋ฏธ๋„ ์•ˆ์— ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์ด๋ฅผ > ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ์—˜ ๊ธ€์„ ์“ธ์ˆ˜ ์žˆ์Œ

>> echo "Hello CLI" > text.py
profile
Keep Going, Keep Coding!

0๊ฐœ์˜ ๋Œ“๊ธ€