1์ฃผ์ฐจ ๊ธ์์ผ, ํ ์์ผ์ ํ์ต๋๊ณผ ๋์ด๋๊ฐ ๊ธ์์นํด์ ๋น์ผ์ ๋ฐฐ์ด ๊ฒ์ ๋ฐ๋ก ์ ๋ฆฌํ ์ ์๋ ์ฌํ๊ฐ ๋ฐ์ํ๋ค. ๋น์ผ์๋ ์ฃผ์ฐจ ํ ์คํธ์ ์์ ์ง๋๋ฅผ ๋๊ฐ๋ ๋ฐ์ ๊ธ๊ธํ๋ค. ๋คํํ ์ด๋ฒ์ฃผ๋ ์ถ์ ์ฐํด ๊ธฐ๊ฐ์ด๊ณ , ์ง์ ์ฒด๋ฅํ ๊ณํ์ด๊ธฐ ๋๋ฌธ์ ์งง์ ๋ฐฉํ์ ํตํด ์ ๋ฆฌ๋ฅผ ๋ง๋ฌด๋ฆฌํ ์๊ฐ์ด๋ ์ํด ๋ฐ๋๋๋ค.
๋ฆฌ๋์ค ํ ๋ฐ์ฆ (Linus Torvalds)์ ์ํด ๋ง๋ค์ด์ง ์ปดํจํฐ ์ด์ ์ฒด์
์์ ์ํํธ์จ์ด์ ์คํ ์์ค ๊ฐ๋ฐ์ ๊ฐ์ฅ ์ ๋ช
ํ ํ๋ณธ
์ ๋์ค ์ด์์ฒด์ ๋ฅผ ์ฌ๋ฌ ํ์ฌ์์ ๊ฐ์ ๊ฐ๋ฐํ๋ฉฐ ์์ค ์ฝ๋๋ฅผ ๊ณต์ ํ์ง ์๋ ๋ฌธํ์ ๋ํ ๋ฐ๋ฐ๋ก ์๊ฒจ๋จ.
๋ฆฌ๋
์ค์ ๊ตฌ์กฐ๋:
(์ธ๋ถ) ์์ฉ ํ๋ก๊ทธ๋จ -> shell -> kernel -> ํ๋์จ์ด{cpu} (๋ด๋ถ)
์ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ํ๋์จ์ด: cpu, memory ๋ฑ.
- kernel: ํ๋์จ์ด์ ์ํํธ์จ์ด์ ์ปค๋ฎค๋์ผ์ด์ ์ ๋๋ ์์คํ ๊ด๋ฆฌ์ ์ญํ .
- shell: ๋ช ๋ น์ด ํด์๊ธฐ๋ผ๊ณ ๋ ๋ถ๋ฆผ. ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ช ๋ น์ด๋ฅผ ํด์ํ์ฌ, kernel์๊ฒ ์ ๋ฌํ๋ ์ญํ ์ ํ๋ค.
- ์์ฉ ํ๋ก๊ทธ๋จ: MS Office, Web Browser์ ๊ฐ์ ํ๋ก๊ทธ๋จ๋ค์ด ์ํ๋ค.
๋ฆฌ๋ ์ค์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ ๋์ค ๊ธฐ๋ฐ์ผ๋ก ์ ์๋์๋ค.
- ๋ฉํฐ ์ ์ ์ ๋ฉํฐ ํ์คํน์ ์ง์ํ๋ค.
- CLI(Command Line Interface) ๋ฐ GUI(Graphic User Interface)๋ฅผ ๋ชจ๋ ์ง์ํ๋ค.
- ๋ค์ํ๊ณ ๊ฐ๋ ฅํ ๋คํธ์ํน ๊ธฐ๋ฅ์ ์ง์ํ๋ค.
๋ฆฌ๋ ์ค ๊ธฐ๋ฐ ์ด์์ฒด์ ๋:
- Ubuntu: ๊ฐ์ฅ ๋๋ฆฌ ์๋ ค์ ธ ์๋ ์ด์์ฒด์
- Pedora: ์ฌ์ฉ์ ์ธํฐํ์ด์ค๊ฐ ์ ๊ฐ์ถ์ด์ ธ ์์.
- Raspbian: ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์์ ์์ฃผ ์ฐ์.
- Android
- CentOS
๋ฆฌ๋ ์ค์ ์ข ๋ฅ๋ ํจํค์ง๋ก ๊ตฌ๋ถํ ์ ์๋ค:
์ฌ๊ธฐ์ ํจํค์ง๋? : ์์ฉํ๋ก๊ทธ๋จ์ ์ด๋ฏธ ๋น๋ํ ์ํ๋ก ๋ฐ๋ก ์ปดํ์ผํ์ง ์๊ณ ์ค์นํ ์ ์๊ฒ ํ๋ ์์คํ
- ๋ ๋ํ .rmp: ํจํค์ง ๊ด๋ฆฌ์๋ yum์ด๋ฉฐ, CentOS์ Pedora์ ํจํค์ง ํ์์ด๋ค.
- ๋ฐ๋น์ ๋ ๋ํ .deb: apt ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, Ubuntu, Linux mint ๋ผ์ฆ๋น์์ ํจํค์ง ํ์์ด๋ค.
- ์๋๋ก์ด๋ .apk: Android Package Manager ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์๋๋ก์ด๋ OS์ ํจํค์ง ํ์์ด๋ค.
- ๋ผ์ฐํฐ์ AP์์ ์ฌ์ฉํ๋ ๋คํธ์ํฌ ์๋ฒ ์ฅ๋น์์๋ ์ฌ์ฉ
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ ๊ฐ์ ์๋ฒ ๋๋ ์์คํ ์์๋ ์ฌ์ฉ (IoT ์ต์ ํ)
- TV ์ ํฑ๋ฐ์ค, ์ ๋ฐ์๋ฃ๊ธฐ๊ธฐ
- ์๋๋ก์ด๋
- ๋ธ๋๋ฐ์ค
- ๊ฐ์ธ PC
- ๋ฆฌ๋ ์ค ๊ด๋ จ ๊ฐ๋ฐ ์๋ฒ
๊ฐ์ฅ ๋์ ์ธ์ง๋๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ฐ๋น์ GNU/Linux๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์๋ ๋ฐ์คํฌํ ํ๊ฒฝ์ ์ฌ์ฉํ๋ Linux ๋ฐฐํฌํ์ด๋ค.
- ๊ฐ์ธ์ฉ PC ํ๊ฒฝ์ ์ต์ ํ๋์ด ์๋ค.
- ๊ฐ๊ฒฐํ๊ณ ์ฌ์ด ์ฌ์ฉ๋ฒ
- ๋ง์ ์ฌ์ฉ์ ๋ณด์ (์ปค๋ฎค๋ํฐ๊ฐ ํฌ๋ค) -> ๋ง์ ์ ๋ณด์ ๋น ๋ฅธ ํธ๋ฌ๋ธ ์ํ ๊ฐ๋ฅ
- ์ฝ 6๊ฐ์ ๋จ์๋ก ์ ๋ฐ์ดํธ๊ฐ ๋์ด, ๋น ๋ฅธ ๋ฒ๊ทธ ๋ฐ ๋ณด์ ๋ฌธ์ ์ฒ๋ฆฌ
๋จ์ํ๋ฆฌ์นด์ ๋ฐํฌ์ด์ 'Ubuntu'์์ ํ์๋์์ผ๋ฉฐ, ์ฌ๋๋ค๊ฐ์ ๊ด๊ณ์ ํ์ ์ ์ค์ ์ ๋ ์ค๋ฆฌ ์ฌ์๊ณผ ์ธ๋ณธ์ฃผ์ ์ฌ์์ผ๋ก ํํ์ด๋์ ์ฌ์์ ๋ฟ๋ฆฌ๋ฅผ ๋๊ณ ์๋ค.
GUI๋ก๋ GNOME ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์๋์ฐ๋ MacOS์๋ ๋ค๋ฅธ ํํ๋ฅผ ํ๊ณ ์๋ค.
์ฐ๋ถํฌ๋ ์ผ๋ ์ ๋ ์ฐจ๋ก ์ ๋ ์๋ก์ด ๋ฒ์ ์ ๊ณต๊ฐํ๊ณ ์๋ค.
๋์จ ์ฐ๋์ ๋ฌ๋ก ๋ฒ์ ์ ๋ฒํธ๋ฅผ ์ง์ ํ๊ณ ์๋ค.
e.g.) 21.04 - 21๋ ๋ 4์์ ๊ณต๊ฐ๋ ๋ฒ์ ์ด๋ผ๋ ์๋ฏธ์ด๋ค.
- ์ฅ๊ธฐ๊ฐ์ผ๋ก ์ง์์ด ๋๋ ๋ฒ์ ์ ๋ปํ๋ค.
- 18๊ฐ์์ ์ ๋ฐ์ดํธ๊ฐ ์์ผ๋, ๋ฐ์คํฌํ์ ๊ฒฝ์ฐ 3๋ , ์๋ฒ์ ๊ฒฝ์ฐ 5๋ ์ ์ง์ํ์ฌ ๊ฐ์ฅ ์์ ์ ์ธ ๋ฒ์ ์ด๋ผ๊ณ ํ ์ ์๋ค.
Shell์ ์ปค๋๊ณผ ์ฌ์ฉ์ ์ฌ์ด๋ฅผ ์ด์ด์ฃผ๋ ์ญํ ์ ํ๋ค.
์ฌ์ฉ์๊ฐ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด shell์ ํตํด kernel์ด ํด์ํ ์ ์๋ ์ผ์ ๋ชฉ๋ก์ด๋ ์คํ์์ผ์ผ ํ ํ์ผ๋ก ๋ณํ๋์ด kernel๋ก ์ ์ก๋๋ค.
- Bourne-Again Shell : Bash
- Bourne Shell : Sh
- C Shell : csh
- Korn Shell : Ksh
GNU ํ๋ก์ ํธ์ ์ผํ์ผ๋ก ๊ฐ๋ฐ๋ Linux์ ๊ธฐ๋ณธ Shell์ด๋ค. ์ฆ, Bash์ ๋ช ๋ น์ด๋ฅผ ์๊ณ ์์ผ๋ฉด, ๋ค๋ฅธ Linux ๊ธฐ๋ฐ ์ด์์ฒด์ ์์๋ ์์ฝ๊ฒ ๋ช ๋ น์ ์ฒ๋ฆฌํ ์ ์๋ค.
whoami : ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ID๋ฅผ ์๋ ค์ค๋ค.
alex@sada23sdf5: ~$ whoami
-alex
passwd : ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ค.
alex@sada23sdf5: ~$ passwd
Enter new UNIX password:
Retype new Unix password:
passwd: password updated successfully
# ํจ์ค์๋๋ฅผ ์
๋ ฅํด๋, ํ๋ฉด ์์์ ๋ณด์ด์ง ์์ (๋ณด์)
pwd : ํ์ฌ ๋๋ ํ ๋ฆฌ ์์น๋ฅผ ์ถ๋ ฅ
alex@sada23sdf5: ~$ pwd
/alex/currentDir/
ls : ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชฉ๋ก์ ์ถ๋ ฅ
alex@sada23sdf5: ~$ ls
alex_dir main.js conf.d good.sh
alex@sada23sdf5: ~$ ls -l #์์ธ ์ถ๋ ฅ
# ์์ ์ ํฌ๊ธฐ ์์ฑ์ผ์
drwxr-xr-x 1 alex alex 21 Sep 10 09:52 .
drwxr-xr-x 1 alex alex 32 Sep 10 09:32 ..
alex@sada23sdf5: ~$ ls -a
. .cache .profile computer
.. .config ๋ฌธ์ ์ฌ์ง
#์จ๊ฒจ์ง ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ํฌํจํ์ฌ ์ถ๋ ฅ
alex@sada23sdf5: ~$ ls -al
drwxr-xr-x 1 alex alex 21 Sep 10 09:12 .
drwxr-xr-x 1 alex alex 32 Sep 10 09:32 ..
drwxr-xr-x 1 alex alex 332 Sep 10 09:34 .cache
#์จ๊ฒจ์ง ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ฅผ ํฌํจํ ๋ชฉ๋ก ์์ธํ ์ถ๋ ฅ
cd: ์ ๋ ฅํ ๋๋ ํ ๋ฆฌ๋ก ํ์ฌ์์น๋ฅผ ์ด๋ํ๋ค.
alex@sada23sdf5: ~$ cd myProject
alex@sada23sdf5:/myProject$
--help : ์ฌ์ฉํ๊ณ ์ ํ๋ ๋ช ๋ น์ด ๋ค์ ๋ถ์. ๋ช ๋ น์ด์ ๋ํ ์ฌ์ฉ ๋ฐฉ๋ฒ ์ถ๋ ฅ
alex@sada23sdf5: ~$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
GUI(Graphic User Interface): ์ฌ์ฉ์๊ฐ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก, ๊ธฐ๋ฅ์ ์์ด์ฝ, ์ด๋ฏธ์ง ๋ฑ์ ๊ทธ๋ํฝ์ผ๋ก ๋ํ๋ธ ์ธํฐํ์ด์ค.
GUI๋ฅผ ์ฌ์ฉํ๋ ์ด์์ฒด์
- Windows
- MacOS
- Ubuntu GNOME
CLI(Command Line Interface): ๋ฌธ์๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ฉ์์ ์ปดํจํฐ๊ฐ ์ํธ์์ฉํ์ฌ ๋์ํ๋ ์ธํฐํ์ด์ค. ์ฐ๋ถํฌ์์ ์ฌ์ฉํ๋ ๋ช ๋ น์ด ์กฐ์์ด CLI์ด๋ค.
CLI๋ฅผ ์ฌ์ฉํ๋ ์ด์์ฒด์
apt: Advanced Packaging Tool์ ์ฝ์๋ก ๋ฐ๋น์ ๋ฆฌ๋ ์ค(.dev) ๋๋ ํ์๋ ๋ฐฐํฌํ(Ubuntu)์์ ์ํํธ์จ์ด๋ฅผ ์ค์น, ์ ๊ฑฐ, ์ ๋ฐ์ดํธ ํ ๋ ์ฌ์ฉ.
๊ธฐ์กด์๋ apt-get์ ์ฌ์ฉํ์ฌ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์์ผ๋, ์ต์ Ubuntu ๋ฒ์ ์์๋ apt-get๊ณผ apt-cache๊ฐ ํฉ์ณ์ง ๊ฐ๋ ์ธ apt ํค์๋๋ฅผ ์ ๊ณต.
- apt install : ํจํค์ง ์ค์น ๋ช ๋ น์ด
- apt remove : ํจํค์ง ์ญ์ ๋ช ๋ น์ด
- apt update : ํจํค์ง ์์ ๋ช ๋ น์ด
- apt search : ์ค์นํ๊ณ ์ํ๋ ํจํค์ง๋ฅผ ๊ฒ์.
- apt show : ์ค์นํ, ์ค์นํ ํจํค์ง์ ์ค๋ช .
Caution!:
apt install app
(13: ํ๊ฐ ๊ฑฐ๋ถ) #๊ถํ์ด ์๋ค.
Ubuntu์์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํด์ ํจํค์ง๋ฅผ ์ค์นํ ์, ๊ถํ์ด ์์ด ์คํ์ด ๋ถ๊ฐํ ๊ฒฝ์ฐ๊ฐ ์๋ค. apt ๋ช
๋ น์ด๋ ๋์ ๊ถํ์ ์ํ๊ธฐ ๋๋ฌธ.
sudo ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ด๋ฆฌ์ ๊ถํ์ ํ๋ ๊ฐ๋ฅํ๋ค.
sudo apt install app์ ์ฌ์ฉํ์
Linux์์ ๋ชจ๋ ๊ถํ์ ๊ฐ์ง๊ณ ์๋ ์ต๊ณ ๊ด๋ฆฌ์๋ฅผ ์๋ฏธํ๋ค. ์ด์์ฒด์ ์ ๋ชจ๋ ๊ฒ์ ์ ์ดํ ๊ถ๋ฆฌ๋ฅผ ๊ฐ์ง๋ฉฐ, sudo ๋ช ๋ น์ด ๋์์ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌ์ ๊ถํ ํ๋์ด ๊ฐ๋ฅ.
rm (option) ์ญ์ ํ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๋ช
option:
$alex@sada23sdf5: ~$ ls
alex dir1 dir2 dir3 dir4
$alex@sada23sdf5: ~$ rmdir alex
rmdir: failed to remove 'alex': ๋๋ ํ ๋ฆฌ๊ฐ ๋น์ด์์ง ์์ ์คํจ
$alex@sada23sdf5: ~$ rm -rf alex
$alex@sada23sdf5: ~$ ls
dir1 dir2 dir3 dir4
cp (option) ๋์ ์์น ๋ฐ ์ด๋ฆ (๋ณต์ฌํ๊ณ ์ถ์ ์์น)
option