๊ฐ€์žฅ ์‰ฌ์šด ๋ฆฌ๋ˆ…์Šค
ย - Last update: 2021-01-25

This is linux / ๊ฐ€์žฅ ์‰ฌ์šด ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ ๊ด€๋ฆฌ ์ฑ… ๋‚ด์šฉ ์ •๋ฆฌ

  • Written By ์šฐ์žฌ๋‚จ / ์›จ์ผ ์†Œ์ž‰์นด

๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์˜ ๊ธฐ์ˆ ์  ์š”์•ฝ

  • ๋ฆฌ๋ˆ…์Šค๋Š” ์ฒ˜์Œ์—๋Š” ํ•ด์ปค๋“ค์˜ ์žฅ๋‚œ๊ฐ ์ทจ๊ธ‰์ด์—ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ์•ˆ์ •์„ฑ, ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ ๋ชจ๋‘ ๋›ฐ์–ด๋‚จ
  • ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ์Œ์œผ๋กœ์„œ์˜ ๋ฆฌ๋ˆ…์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฐํฌํŒ์ด๋ผ๊ณ  ํ•จ. ๋ฐฐํฌํŒ์€ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์œ ์šฉํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์คŒ.
  • ๋ฆฌ๋ˆ…์Šค ์ž์ฒด๋Š” ์ปค๋„์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ. ์ปค๋„์€ ์šด์˜๋˜๋Š” ์„œ๋น„์Šค์˜ ์ตœ๊ณ  ์‚ฌ๋ น๊ด€ ๊ฐœ๋…์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
    • ๋ฉ”๋ชจ๋ฆฌ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•˜๊ณ , ๋””์Šคํฌ์— ์ ‘๊ทผ ํ˜น์€ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌ.
    • ์ปค๋„ ์ž‘์—… ๋ชฉ๋ก๋„ ๋‹ค๋ค„์•ผ ํ•  ๊ฒƒ์ด ํ•œ๊ฐ€๋“์ด๋ฉฐ ์ฑ…๋„ ์—ฌ๋Ÿฌ๊ฐœ ๋‚˜์™”์Œ
  • ์ปค๋„์€ ์‚ฌ์†Œํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹˜. ์ˆ˜๋งŽ์€ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ ๋ชจ๋‘์— ๋ฆฌ๋ˆ…์Šค ์ด๋ฆ„์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ
  • ๋ชจ๋“  ๋ฐฐํฌํŒ๋“ค์ด ๊ทผ๋ณธ์ ์œผ๋กœ ๋™์ผํ•œ ์ปค๋„์„ ์‚ฌ์šฉ. ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ๋“ค์˜ ๊ธฐ๋ณธ์ ์ธ ์ˆ˜ํ–‰๋ฐฉ์‹์€ ๋™์ผ
  • ๋ฐฐํฌํŒ์˜ ์˜ˆ์‹œ
    • ๋ ˆ๋“œํ–‡ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฆฌ๋ˆ…์Šค(RHEL)
    • ํŽ˜๋„๋ผ(Fedora)
    • ๋ฐ๋น„์•ˆ(Debian)
    • ๋งจ๋“œ๋ ˆ์ดํฌ(Mandrake)
    • ์šฐ๋ถ„ํˆฌ(Ubuntu)
    • CentOS
    • ...
  • ์ˆœ์ˆ˜ ์ƒ์—…์šฉ ๋ฐฐํฌํŒ / ๋น„์ƒ์—…์šฉ ๋ฐฐํฌํŒ(spin) ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง.
  • GNU: GNU is Not Unix. ๊น”๊น”๊น”. GNU ํ”„๋กœ์ ํŠธ
    • ์œ ๋‹‰์Šค ๊ณ„์—ด ์‹œ์Šคํ…œ(๋‹น์‹œ ํ•ซํ–ˆ์Œ, AT&T๊ฐ€ ์ด ์ฝ”๋“œ๋กœ ๋ˆ ์ข€ ๋งŒ์ง)์„ ๋Œ€์ค‘์— ๊ณต์œ ํ•˜๊ณ  ๋ผ์ด์„ ์Šค ์ œ์•ฝ์„ ํ’€์ž๋Š” ์ฃผ์žฅ ํ•˜์— ์ƒ๊ธด ๊ฒƒ.
    • GPL ๋ผ์ด์„ ์Šค ๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•จ
    • ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ๊ณต๊ฐœ์ด๋ฉฐ ๊ทธ ๋ˆ„๊ตฌ๋„ ์ด๋Ÿฌํ•œ ์ž์œ ๋ฅผ ์—†์•จ ์ˆ˜ ์—†์Œ.

๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๋ช…๋ น์–ด

๋ช…๋ น์–ด ์ •๋ฆฌ

  • pwd: print working directory
  • whoami: ๋กœ๊ทธ์ธ ๊ณ„์ • ์ถœ๋ ฅ
  • ln <ํŒŒ์ผ๋ช…> <ํŒŒ์ผ๋ช…> : ํ•˜๋“œ ๋งํฌ ๋งŒ๋“ค๊ธฐ (linux ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ–๋Š” ์™„์ „ํžˆ ๋™์ผํ•œ ํŒŒ์ผ ๋งํฌ๋ฅผ ๋งŒ๋“ฌ -- ์™„์ „ํžˆ ๊ฐ™์€ ํŒŒ์ผ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ํ–‰๋™ํ•จ)
  • ln -s <ํŒŒ์ผ๋ช…> <ํŒŒ์ผ๋ช…> : ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋งŒ๋“ค๊ธฐ (๋ˆˆ์— ๋„๋Š” ๋งํฌ๋ฅผ ๋งŒ๋“ฌ)
  • mount -o remount,rw /
    • ์ฝ๊ธฐ ์ „์šฉ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋งˆ์šดํŠธ๋œ (mount ๋ช…๋ น์–ด๋กœ ํ™•์ธ) ํด๋”๋ฅผ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ๋ถ™์ผ ์ˆ˜ ์žˆ์Œ.
  • yes > /dev/null
    • ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ๋„๋Š” ๋‹จ์ˆœํ•œ ํ”„๋กœ์„ธ์Šค ๋งŒ๋“ค๊ธฐ
  • ls -l /etc | more
    • ํ•œ ํŽ˜์ด์ง€ ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ ํŽธํ•˜๊ฒŒ ๋ณด๊ธฐ
  • ps -ef | grep bash
    • ํ”„๋กœ์„ธ์Šค ํŠน์ •ํ•œ ๊ฒƒ๋งŒ ๋ณด๊ธฐ
  • Redirection ๋ช…๋ น์–ด๋“ค
    • ls -l > list.txt (overwrite)
    • ls -l >> list.txt (append)
    • sort < list.txt (list ๋‚ด์šฉ์„ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅ)
    • sort < list.txt > out.txt (list ๋‚ด์šฉ์„ ์ •๋ ฌํ•ด์„œ out์— ์“ฐ๊ธฐ)
  • kill -9 PS_NUM
    • ๋ฌด์กฐ๊ฑด ์ข…๋ฃŒํ•œ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ -9.
  • foreground process๋ฅผ background process๋กœ ์ „ํ™˜
    • yes > /dev/null
    • Ctrl + Z (์ผ์‹œ ์ค‘์ง€ ๋ช…๋ น์–ด)
    • bg
    • ์ด๋Ÿฌ๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜์—ฌ ๊ณ„์† ์‹คํ–‰ ๋จ.
  • background process๋ฅผ foreground process๋กœ ์ „ํ™˜
    • jobs (๋ฐฑ๊ทธ๋ผ์šด๋“œ ๊ฐ€๋™ ํ”„๋กœ์„ธ์Šค ํ™•์ธ)
    • fg [์ž‘์—…๋ฒˆํ˜ธ] (ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜)
  • ์„ธ๋ฏธ์ฝœ๋ก (;): ๋ช…๋ น์–ด๋ฅผ ์—ฐ์†์œผ๋กœ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ
  • ls -l [๊ฒ€์ƒ‰ํ•  ํŒŒ์ผ ๋ช…]: ํ•˜์œ„ ํด๋”๊นŒ์ง€ ์žฌ๊ท€์ ์œผ๋กœ ์ฐพ์•„์คŒ..
    • ex: ls -l /dev/sd*
  • halt -p : ์‹œ์Šคํ…œ ์ข…๋ฃŒ
  • which [์ปค๋งจ๋“œ ๋ช…] : ์‹คํ–‰ํ•˜๋ ค๋Š” ์ปค๋งจ๋“œ ์œ„์น˜๊ฐ€ ์–ด๋””์ธ์ง€ ๋ณด์—ฌ์คŒ
    readiz@Readiz-NotePC:~$ which bash
    /usr/bin/bash
    readiz@Readiz-NotePC:~$ which systemd
    /usr/bin/systemd

ํด๋” ๊ตฌ์กฐ

  • /home

    • ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž๋“ค์˜ ๊ฐœ์ธ ๊ณต๊ฐ„
    • ๋ณดํ†ต ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋Š” home ๋ฐ‘์— ๋ณ„๋„์˜ ์„ค์ •์ด ์—†๋Š” ๊ฒฝ์šฐ ์ž์‹ ์˜ ์•„์ด๋””๋กœ ๋œ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ย ๋ฐฐ์ •๋จ(๋กœ๊ทธ์ธ ์‹œ ์ฒ˜์Œ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€)
    • /root๋Š” root ์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ
  • /bin & /bash

    • sbin ์€ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ช…๋ น๋“ค => root์—๊ฒŒ๋งŒ ํ—ˆ์šฉ๋จ
    • echo $PATH ๋กœ ํ™•์ธ
  • /lib

    • ๋ฆฌ๋ˆ…์Šค ์ƒ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ชจ์•„๋†“์Œ
    • Shared object file format(.so)
    • ์œˆ๋„์šฐ์—์„œ์˜ Dynamic Linked Library(DLL)์„ ๋ชจ์•„๋†“์€ ํด๋”๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Œ
  • /etc

    • ์ฃผ์š” ์„ค์ • ํŒŒ์ผ๋“ค์ด ์œ„์น˜ํ•œ๋‹ค
    • ์ฃผ์š” ๋ฆฌ์ŠคํŠธ
      • motd : ๋กœ๊ทธ์ธ ์„ฑ๊ณต ์‹œ ์ฒ˜์Œ์— ๋„์›Œ์ฃผ๋Š” ๋ฌธ๊ตฌ
      • passwd : ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ •๋ณด(์˜ˆ์ „์—๋Š” ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ(!) ๋„ ์žˆ์—ˆ์Œ)
      • shadow : ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž ํŒจ์Šค์›Œ๋“œ ์ •๋ณด ( root๋งŒ ๋ณผ์ˆ˜ ์žˆ์Œ)
      • sudoers : sudo ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์™€ ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ •๋ณด
      • fstab : ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๋งˆ์šดํŠธ ํฌ์ธํ„ฐ
      • hosts : ๋„๋ฉ”์ธ ๋„ค์ž„
      • issue : ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌ๋ฐ˜ ๋ฐ ๋ฒ„์ ‚
      • skel/ : ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณต์‚ฌํ•ด์ค„ ํŒŒ์ผ๋“ค์„ ํฌํ•จํ•œ ๋””๋ ‰ํ† ๋ฆฌ
      • init.d/ : ์ปดํ“จํ„ฐ๊ฐ€ ๋ถ€ํŒ…๋  ๋•Œ ์‹คํ–‰๋  ํŒŒ์ผ๋“ค์„ ๋„ฃ์–ด๋‘” ๋””๋ ‰ํ† ๋ฆฌ
  • /proc

    • RAM ์œ„์— ์กด์žฌํ•˜๋ฉฐ ์ปค๋„์— ์˜ํ•ด ์ œ์–ด๋จ
    • ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค์™€ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์žฅ์น˜, ์ปค๋„์ด ์ˆ˜์ง‘ํ•œ ํ•˜๋“œ์›จ์–ด ์ •๋ณด๊ฐ€ ์ €์žฅ๋จ
    • ์‚ฌ์šฉ์ž๊ฐ€ /proc์ด๋‚˜ ํ•˜์œ„ ํŒŒ์ผ์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ์ปค๋„์—์„œ ํŒŒ์ผ๋‚ด์šฉ์„ ๋™์ ์œผ๋กœ ๋งŒ๋“ค์–ด๋ƒ„
    • ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ ์œ ์˜ ID๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ(์ˆซ์ž) ์ด ์•„์ด๋””๋ฅผ ๊ฐ€์ง„ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ‘์— ๊ฐ์ข… ์ •๋ณด๋ฅผ ์ €์žฅํ•จ
      • cmdline : ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•œ ๋ช…๋ นํ–‰ ๋‚ด์šฉ
      • status : ํ”„๋กœ์„ธ์Šค์˜ ๋‚ด๋ถ€ ์ƒํƒœ ์ •๋ณด
      • cwd : ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ
    • /proc/meminfo : ์ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ํ˜„ํ™ฉ
    • /proc/stat : ์‹œ์Šคํ…œ์˜ ์ƒํƒœ์— ๊ด€ํ•œ ์ •๋ณด
    • /proc/uptime : ์‹œ์Šคํƒฌ์ด ๋ถ€ํŒ…๋œ ํ›„ ํ๋ฅธ ์‹œ๊ฐ„
    • /proc/version : ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ์ปค๋„ ๋ฒ„์ „
  • /dev

    • ์‹ค์ œ๋กœ ํ•˜๋“œ๋””์Šคํฌ์— ์กด์žฌํ•˜์ง€๋Š” ์•Š๋Š” ์ •๋ณด๋ฅผ ์ €์žฅํ•จ
    • ๋ชจ๋“  ํ•˜๋“œ์›จ์–ด( hdd,cdrom, ๋งˆ์šฐ์Šค, ๊ฐ€์ƒ ์žฅ์น˜,etcโ€ฆ) ๋ฅผ ํŒŒ์ผ๋กœ ์ธ์‹ํ•˜๋ฉฐ ์ด๋ฅผ ์žฅ์น˜ ํŒŒ์ผ์ด๋ผ ํ•จ
    • psaux PS/2 ๋งˆ์šฐ์Šค ์žฅ์น˜
    • tty : teletypewritter, ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ์‚ฌ์ด๋ฅผ ์ค‘๊ณ„ํ•˜๋Š” ์—ญํ• 
    • ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ์‚ฌ์ด์˜ ์ž…์ถœ๋ ฅ์€ ๋ชจ๋‘ ์—ฌ๊ธฐ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง
    • ์„œ๋ฒ„ ์‹œ์Šคํ…œ์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ์žฅ์น˜์—์„œ ์‚ฌ์šฉํ•จ
    • pts: telnet, ssh ๋“ฑ์„ ์ด์šฉํ•ด ์›๊ฒฉ์œผ๋กœ ์ ‘์†ํ•  ๊ฒฝ์šฐ (pseudo TTY slave)
    • ์œ ์‚ฌ ์žฅ์น˜ : ์‹ค์ œ ์žฅ์น˜์™€ ๊ณพ๋ ฆ์ด ์—†์Œ
    • null : ์ด ์žฅ์น˜๋กœ ๋“ค์–ด๊ฐ‚ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ์‚ฌ๋ผ์ง
    • zero : ์ด ์žฅ์น˜์—์„œ๋Š” ํ•ญ์ƒ null์„ ๋ฐ˜ํ™˜
  • /mnt & /media

    • ๋งˆ์šดํŠธ: ํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ถ™์ž„์œผ๋กœ์จ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋ฉฐ, ๋ชจ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ๋“ค์„ ๋งˆ์น˜ ๊ทธ๋“ค์ด ์†ํ•ด์žˆ๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ์˜ ์„œ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ
    • ์ด์ œ๋Š” ๋งŽ์€ ์ €์žฅ ๋งค์ฒด๋“ค์ด ์ž๋™์œผ๋กœ ๋งˆ์šดํŠธ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋กœ /media(ํŠนํžˆ ์šฐ๋ถ„ํˆฌ) ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ง€๋งŒ mnt ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ž์œ 
  • /tmp

    • ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ž„์‹œ ํŒŒ์ผ๋“ค์„ ์ €์žฅ
    • ์ข…๋ฃŒ ์‹œ ์ด ์œ„์น˜์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์€ ๋ชจ๋‘ ์‚ญ์ œ๋จ
  • /boot

    • ๋ถ€ํŒ…์‹œ์— ํ•„์š”ํ•œ ํ•„์ˆ˜ ํŒŒ์ผ๋“ค์ด ์ €์žฅ๋จ
    • lilo, grub ๋“ฑ์˜ ๋ถ€ํŠธ๋กœ๋”์™€ ์ปค๋„์ด ์œ„์น˜ํ•จ
    • ๋ถ€ํŠธ๋กœ๋”: ์ปดํ“จํ„ฐ๋ฅผ ์ผฐ์„ ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ
  • /var

    • ๋ฆฌ๋ˆ…์Šค ์ƒ์—์„œ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ์ดํ„ฐ๋“ค๋งŒ์„ ๋ชจ์•„ ๋†“์Œ
    • /var/lib: ์ผ๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ ์šด์šฉ์‹œ ๊ณ„์† ๊ฐฑ์‹ ๋˜๋Š” ํŒŒ์ผ๋“ค์„ ์œ„ํ•œ ๊ณต๊ฐ„
    • /var/local: /usr/local ์•„๋ž˜์— ์„ค์น˜๋œ ํ”„๋กœ๊ทธ๋žจ๋“ค์˜ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด๊ฐ„
    • /var/lock : ์ž ๊ธˆ ํŒŒ์ผ(lock file)์ด ์žˆ๋Š” ๊ณณ์ด๋‹ค.
    • /var/log : ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค์˜ ๋กœ๊ทธ ํŒŒ์ผ
    • /var/log/wtmp : ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ ์ •๋ณด๋ฅผ ๊ธฐ๋ก
    • /var/log/messages: ์ปค๋„๊ณผ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ๋“ค์˜ ๋ชจ๋“  ๋ฉ”์‹œ์ง€
    • /var/run : ์‹œ์Šคํ…œ์˜ ํ˜„์žฌ ์ •๋ณด, ๋ถ€ํŒ… ์‹œ ๋ฆฌ์…‹
    • /var/run/utmp : ํ˜„์žฌ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋“ค์— ๋Œ€ํ•œ ์ •๋ณด
    • /var/spool : ๋Œ€๊ธฐ ์ƒํƒœ์— ์žˆ๋Š” ์ž‘์—…๋“ค์„ ์œ„ํ•œ ๋””๋ ‰ํ† ๋ฆฌ
    • /var/tmp : /tmp์— ์žˆ๋Š” ์ž„์‹œ ํŒŒ์ผ๋“ค๋ณด๋‹ค๋Š” ์ข€ ๋” ์˜ค๋ž˜ ์œ ์ง€๋  ํ•„์š”๊ฐ€ ์žˆ๋Š” ์ž„์‹œ ํŒŒ์ผ๋“ค, ๋ถ€ํŒ… ์‹œ ์ง€์›Œ์ง€์ง€ ์•Š๋Š”๋‹ค.
  • /usr

    • ๋ฆฌ๋ˆ…์Šค ์ƒ์—์„œ ๊ฐ€์žฅ ํฐ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ
    • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์—ฌ๊ธฐ์— ์žˆ์Œ
    • usr ๋ฐ‘์˜ bin, lib,โ€ฆ ๋“ฑ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์œผ ๋ฉฐ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ฐ™์€ ์—ญํ•  ์„ ํ•œ๋‹ค. (๋Œ€์‹  ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋–จ์–ด์ง„๋‹ค.)
    • /usr/bin : ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด, ์ฃผ๋กœ ์ฝ˜์†”์ด๋‚˜ X์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋“ค
    • /usr/sbin : ์‹œ์Šคํ…œ ๊ณพ๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ช…๋ น์–ด, ์ฃผ๋กœ ์„œ๋ฒ„ ๊ณพ๋ฆฌ์šฉ
    • /usr/lib : ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • /usr/man, /usr/info, /usr/doc :๊ฐ๊ฐ ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€, GNU Info ๋ฌธ์„œ๋“ค, ๊ทธ๋ฆฌ๊ณ  ๊ธฐํƒ€ ๋‹ค๋ฅธ ๋ฌธ์„œ
    • /usr/include : C ๋ฅผ ์œ„ํ•œ ํ—ค๋” ํŒŒ์ผ
    • /usr/X11R6 : X window
    • /usr/src : ์‹œ์Šคํ…œ์— ๋นŒ๋“œํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค
    • /usr/share : ์ฝ๊ธฐ ์ „์šฉ ์ž๋ฃŒ, ์ฃผ๋กœ ๋งค๋‰ด์–ผ์ด๋‚˜ ๋ฌธ์„œ ์ž๋ฃŒ
    • /usr/local : ๋ฆฌ๋ˆ…์Šค์—์„œ ํ•„์ˆ˜์ ์ธ ํŒŒ์ผ์ด๋‚˜ ๋ฐฐํฌํŒ์—์„œ ํ™•์žฅ๋˜๋Š” ํŒŒ์ผ๋“ค์„ ์ œ์™ธํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํŒŒ์ผ๋“ค์„ ์ €์žฅ
    • /bin : ๋ฌธ์„œ์— ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ๋ช…๋ น์–ด ๋ฐ ํ•„์ˆ˜์ ์ธ ๋ช…๋ น์–ด
    • /usr/bin : ์ฃผ๋กœ ์ฝ˜์†”๊ณผ X์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด
    • /usr/local/bin : ๊ทธ ์™ธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์˜ํ•ด ์ถ”๊ฐ€๋˜๋Š” ๋ช…๋ น์–ด

์„œ๋น„์Šค๋ž€

  • ์„œ๋น„์Šค = ๋ฐ๋ชฌ ์€ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งํ•จ.
    • ํด๋ผ์ด์–ธํŠธ์— ์„ค์น˜๋˜๋Š” ์›น ์„œ๋ฒ„ ๋ฐ๋ชฌ, ๋„ค์ž„ ์„œ๋ฒ„ ๋ฐ๋ชฌ ๋“ฑ์œผ๋กœ ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ
    • ์„œ๋น„์Šค๋Š” ๋ˆˆ์— ๋ณด์ด์ง€๋Š” ์•Š์ง€๋งŒ ํ˜„์žฌ ์‹œ์Šคํ…œ์—์„œ ๋™์ž‘ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์ž„. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์˜ ์ผ์ข….
    • ํ•˜์ง€๋งŒ ์œ„์—์„œ ๋ฐฐ์šด jobs๋ฅผ ์“ด๋‹ค๊ณ  ํ•ด์„œ ๋‚˜์˜ค๋Š” ๋…€์„์€ ์•„๋‹˜.
  • ๊ธฐ์กด์—๋Š” "init" ์ด๋ผ๋Š” ์ตœ์ƒ์œ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด์—ˆ์ง€๋งŒ, ์š”์ฆ˜์€ systemd๊ฐ€ ๋Œ€์„ธ์ž„.
  • ์„œ๋น„์Šค๋Š” ํ‰์ƒ์‹œ์—๋„ ๋Š˜ ๊ฐ€๋™๋˜๋Š” ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค
  • ์†Œ์ผ“์€ ํ•„์š”ํ•  ๋•Œ๋งŒ ๊ฐ€๋™๋˜๋Š” ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค. --> ์„œ๋น„์Šค / ์†Œ์ผ“ ๋ชจ๋‘ systemd๊ฐ€ ๊ด€๋ฆฌ.
  • ๋Œ€ํ‘œ์ ์ธ ๋†ˆ์€ httpd, mysqld, vsftpd -> d๋Š” daemon์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ.
  • ์„œ๋น„์Šค์˜ ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์€ /usr/lib/systemd/system/ ๋””๋ ‰ํ„ฐ๋ฆฌ์— "์„œ๋น„์Šค์ด๋ฆ„.service"๋กœ ํ™•์ธ ๊ฐ€๋Šฅ.
    • Cron ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ crond.service๋ผ๋Š” ํŒŒ์ผ๋กœ ์กด์žฌํ•จ
  • ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ systemd๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฐ€์ • ํ•˜์— systemctl start/stop/restart๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • systemctl status <์„œ๋น„์Šค ์ด๋ฆ„>, systemctl enable/disable <์„œ๋น„์Šค ์ด๋ฆ„>
  • ์†Œ์ผ“์€ ์„œ๋น„์Šค์™€ ๋‹ค๋ฅด๊ฒŒ ํ•ญ์ƒ ๊ฐ€๋™๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜. ์™ธ๋ถ€์—์„œ ํŠน์ • ์„œ๋น„์Šค๊ฐ€ ์š”์ฒญํ•  ๊ฒฝ์šฐ systemd๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ. ์š”์ฒญ์ด ๋๋‚˜๋ฉด ์†Œ์ผ“๋„ ์ข…๋ฃŒ
    • ์†Œ์ผ“ ์œ„์น˜: /usr/lib/systemd/system/*.socket
    • dbus, ssh, log ๋“ฑ๋“ฑ

์ปค๋„๊ณผ ๋ชจ๋“ˆ๋“ค

  • ํ•˜๋“œ์›จ์–ด > ์ปค๋„ > ์‰˜ > ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
    • ์ปค๋„์€ ๋ฉ”๋ชจ๋ฆฌ ์œ„์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ์ปค๋„์ด ์ปค์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋„ ๋งŽ์ด ๋จน๊ฒŒ ๋˜๋ฏ€๋กœ ๋‹น์žฅ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋“œ๋ผ์ด๋ฒ„ ๋“ฑ์€ "๋ชจ๋“ˆ"๋กœ ๋นผ๊ฒŒ ๋˜์—ˆ๋‹ค.
    • ์ปค๋„์€ ํ•˜๋“œ์›จ์–ด์™€ ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ ์ตœ์‹  ์ปค๋„์ผ ์ˆ˜๋ก ์ง€์›ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด๋„ ๋งŽ๋‹ค. ๋ณด์•ˆ ๊ฐœ์„ ๋„ ์žˆ๊ณ ..
  • ์ปค๋„์˜ ์‹ค์ฒด ์—ญ์‹œ ํŒŒ์ผ์ด๋‹ค.
    • CentOS์˜ ๊ฒฝ์šฐ /boot/vmlinuz ์•„๋ž˜์— ์žˆ๋‹ค.
  • ์ปค๋„ ๋ฒ„์ „ ์•Œ์•„๋ณด๋ ค๋ฉด uname -r ์“ฐ๋ฉด ๋จ. ๊ทธ๋ƒฅ uname์€ ๋ฐฐํฌํŒ? ์„ ์ถœ๋ ฅํ•จ.
  • ๋ฐฐํฌ๋Š” https://www.kernel.org/
    • ํ˜„์žฌ(2021/1/21) ์ตœ์‹ ์€ 5.11

X Window

  • ํด๋”๋Š” GUI / ๋””๋ ‰ํ† ๋ฆฌ๋Š” TUI์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ง
  • chown -R root.root /usr/local/firefox/
    • Firefox ๊ด€๋ จ ํŒŒ์ผ์„ ๋ชจ๋‘ root ์‚ฌ์šฉ์ž ์†Œ์œ ๋กœ ๋ณ€๊ฒฝ

ํ•˜๋“œ๋””์Šคํฌ

  • ํ•˜๋“œ ์ž์ฒด๋Š” /dev/sda, /dev/sdb, /dev/sdc ์ˆœ์œผ๋กœ ๋ถ™๊ฒŒ ๋œ๋‹ค.

  • ๋…ผ๋ฆฌ์ ์œผ๋กœ๋Š” /dev/sda1, /dev/sda2, ... ์š”๋Ÿฐ์‹์œผ๋กœ ๋ถ„ํ• ๋„ ๋œ๋‹ค.

  • /dev/sda1 ๊ฐ™์€ ๋…€์„๋“ค์€ ๋ฐ”๋กœ ์“ธ ์ˆ˜๋Š” ์—†๊ณ  ๋ฐ˜๋“œ์‹œ ๋งˆ์šดํŠธ ์‹œ์ผœ์•ผ ํ•œ๋‹ค.

  • ๋งˆ์šดํŠธ ๊ณผ์ •

    • SCSI 0:1 -> /dev/sdb -> /dev/sdb1 -> mkfs.ext4 -> mount -> /mydata -> /etc/fstab์— ๋“ฑ๋ก.
    • ๋ช…๋ น์–ด ์‹คํ–‰ ์ˆœ์„œ
      • fdisk /dev/sdb => SCSI 0:1 ํ•˜๋“œ๋””์Šคํฌ ์Šคํƒ
      • ํŒŒํ‹ฐ์…˜ ์ƒ์„ฑ (1๊ฐœ์˜ ํŒŒํ‹ฐ์…˜๋งŒ ์“ธ ์ง€๋ผ๋„)
      • ํŒŒํ‹ฐ์…˜์ด ์ƒ์„ฑ๋˜๋ฉด /dev/sdb1 ์ด ๋œ๋‹ค.
      • mkfs -t [ํŒŒ์ผ์‹œ์Šคํ…œ] [ํŒŒํ‹ฐ์…˜์žฅ์น˜] => ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ง€์ •
      • mount /dev/sdb1 /mydata => ๋งˆ์šดํŠธ ๋ช…๋ น
      • ์ด๋ ‡๊ฒŒ ๋งŒ๋“  mount๋Š” ์žฌ์‹œ์ž‘ ์‹œ ์œ ์ง€๋˜์ง€๋Š” ์•Š์œผ๋ฏ€๋กœ ์ถ”๊ฐ€ ์„ค์ •์„ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
      • vi /etc/fstab์— ์•„๋ž˜๋ฅผ ์ถ”๊ฐ€
      • /dev/sdb1 /mydata ext4 defaults 0 0
      • /etc/fstab๋Š” ๋ฆฌ๋ˆ…์Šค๊ฐ€ ๋ถ€ํŒ…๋  ๋•Œ๋งˆ๋‹ค ์ฝ๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ํŒŒ์ผ. ๊ธ€์ž๊ฐ€ ํ‹€๋ฆด๊ฒฝ์šฐ ์•„์˜ˆ ๋ถ€ํŒ…๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ ํ•„์š”.
  • ๋ณดํ†ต /dev/sda1์€ SWAP์— mount ๋˜๊ณ , /dev/sda2๋Š” '/' ์— ๋งˆ์šดํŠธ ๋จ

  • df ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งˆ์šดํŠธ ํ˜„ํ™ฉ์„ ์•Œ ์ˆ˜ ์žˆ์Œ

    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/sdb 263174212 5290692 244445364 3% /
    tools 249105148 164725580 84379568 67% /init
    none 6509908 0 6509908 0% /dev
    tmpfs 6512308 0 6512308 0% /sys/fs/cgroup
    none 6512308 16 6512292 1% /run
    C:\ 249105148 164725580 84379568 67% /mnt/c
  • WSL์˜ ๊ฒฝ์šฐ ํŒŒ์ผ์‹œ์Šคํ…œ ์ž์ฒด๊ฐ€ C:\ ๋“ฑ์œผ๋กœ ๋‚˜์˜ค๊ธฐ๋„ ํ•จ.

  • ์„œ๋ฒ„์—์„œ๋Š” RAID๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•จ

    • RAID: Redundant Array of Inexpersive/Independent Disks
    • ํ•˜๋“œ์›จ์–ด RAID๋„ ์กด์žฌ๋Š” ํ•œ๋‹ค.
    • Linear RAID / RAID 0 : ์ตœ์†Œ 2๊ฒŒ ์ด์ƒ์˜ HDD ํ•„์š”. ํ•˜์ง€๋งŒ ์ €์žฅ ๋ฐฉ์‹์ด ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.
      • Linear ๋ฐฉ์‹์€ ์ฒซ๋ฒˆ์งธ HDD ๋ถ€ํ„ฐ ์‚ฌ์šฉ, RAID 0๋Š” N๊ฐœ์˜ HDD๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉ.
      • ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ Stripping ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ๋„์›€์ด ๋œ๋‹ค.
      • ๊ทธ๋Ÿฌ๋‚˜ ๋‹น์—ฐํ•œ ์ด์•ผ๊ธฐ์ด์ง€๋งŒ ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•จ.
      • Linear RAID๋Š” ๊ทธ๋‚˜๋งˆ ์ฐจ๋ก€๋กœ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— (์„ฑ๋Šฅ์€ ๋‚ฎ์ง€๋งŒ) ํ•˜๋“œ ์†์ƒ ์‹œ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋“ค์€ ๋ฉ€์ฉกํ•˜์ง€๋งŒ, RAID 0์˜ ๊ฒฝ์šฐ ํŒŒ์ผ ๋ถ€๋ถ„๋ถ€๋ถ„ ๋ชจ๋‘ ์†์ƒ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ ๋ณต๊ตฌ์˜ ๊ฐ€๋Šฅ์„ฑ์€ ์—†๋‹ค๊ณ  ๋ด์•ผ ํ•œ๋‹ค. ํ•˜๋“œ๊ฐ€ 100๊ฐœ๋ผ๋ฉด ์†์ƒ ํ™•๋ฅ ์€ 100๋ฐฐ๊ฐ€ ๋œ๋‹ค๋Š” ๋œป.
      • Linear RAID๋ฅผ ์ œ์™€ํ•˜๊ณ  ๋‹ค๋ฅธ RAID ๋“ค์€ ๋™์ผํ•œ ์šฉ๋Ÿ‰์˜ HDD๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋งˆ๋ จ์ž„.
    • RAID 1: ๋ฏธ๋Ÿฌ๋ง, 2๋ฐฐ์˜ ์šฉ๋Ÿ‰ ์‚ฌ์šฉ
      • RAID 0๊ณผ 1์€ ์žฅ๋‹จ์ ์ด ๋ช…๋ฐฑ..
    • RAID 5: 3๊ฐœ ์ด์ƒ์˜ HDD๊ฐ€ ์žˆ์–ด์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ๋Œ€๋ถ€๋ถ„ 5๊ฐœ ์ด์ƒ์œผ๋กœ ๊ตฌ์„ฑํ•จ.
      • ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์‹œ Parity๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต๊ตฌ ๊ฐ€๋Šฅ
      • 5๊ฐœ HDD์—์„œ ์ง์ˆ˜ Parity๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ • ํ•˜๋ฉด, HDD 1๊ฐœ๊ฐ€ ๋ง๊ฐ€์ ธ๋„ 100% ๋ณต๊ตฌ ๊ฐ€๋Šฅ
        • 4๊ฐœ์˜ HDD๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์šฉ, ๋‚˜๋จธ์ง€ 1๊ฐœ๋Š” Parity ์šฉ.
        • 0010 ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ 1์„ ์ €์žฅ, ์–ด๋А 1 bit๊ฐ€ ์—†๋”๋ผ๋„ ๋‚˜๋จธ์ง€ 1๊ฐœ์˜ bit๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
        • ์ €์žฅ ํšจ์œจ 80% (5๊ฐœ์˜ HDD๊ฐ€ ์žˆ์„ ์‹œ), ์ด๋Š” RAID 1์˜ 50%๋ฅผ ํ›จ์”ฌ ์ƒํšŒํ•˜๋Š” ์ˆ˜์น˜์ž„.
    • RAID 6: 2๊ฐœ์˜ Parity๋ฅผ ์‚ฌ์šฉ - ์ตœ์†Œ 4๊ฐœ ์ด์ƒ์˜ HDD์—์„œ ์‚ฌ์šฉ.
      • Parity ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด RAID 5๋ณด๋‹ค ์•ฝ๊ฐ„ ๋” ๋ณต์žกํ•ด์ ธ์„œ ์„ฑ๋Šฅ์ด ์•ฝ๊ฐ„ ๋” ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.
    • RAID 1+0 / RAID 1+6 ์ฒ˜๋Ÿผ Stripping ๋„ ๊ฐ€๋Šฅ.
      • RAID 1+0: ์†๋„ & ์‹ ๋ขฐ๋„
      • RAID 1+6: ์„ฑ๋Šฅ๊ณผ ๋น„์šฉ์€ ๋งŽ์ด ๋“ค์ง€๋งŒ ์‹ ๋ขฐ๋„๊ฐ€ ํ›จ์”ฌ ๋†’๋‹ค.
    • RAID ๊ตฌ์„ฑ์—๋Š” mdadm ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉ. (RAID ์žฅ์น˜๋ฅผ ์ƒ์„ฑ/๊ด€๋ฆฌํ•˜๋Š” ๋ช…๋ น์–ด.. ๋ฌผ๋ก  SW RAID ์ด๋‹ค.)
    • mount: RAID ์—†์ด ๋ถ™์ž„, mdadm: RAID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ์žฅ์น˜๋ฅผ ๋งŒ๋“ฌ.. (/dev/md*)
  • LVM: ๋…ผ๋ฆฌ ํ•˜๋“œ๋””์Šคํฌ ๊ด€๋ฆฌ์ž(Logical Volume Manager)

    • ๋ฌผ๋ฆฌ ๋ณผ๋ฅจ(/dev/sda1, ...)
    • ๋ณผ๋ฅจ ๊ทธ๋ฃน: ๋ฌผ๋ฆฌ ๋ณผ๋ฅจ์„ ํ•ฉ์นจ
    • ๋…ผ๋ฆฌ ๋ณผ๋ฅจ: ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ถˆ๋ฅจ์„ ๋‚˜๋ˆ ์„œ ํ•ฉ์น  ์ˆ˜๋„ ์žˆ๊ณ  ๊ทธ๋Ÿฐ ๊ฐœ๋… (/dev/sda1์˜ ์ ˆ๋ฐ˜ + /dev/sdb1์˜ ์ ˆ๋ฐ˜ ๋“ฑ)

Linux Shell **

  • Shell์ด๋ž€
    • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ช…๋ น์„ ํ•ด์„ํ•ด ์ปค๋„๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ์ปค๋„์˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•จ.
  • bash Shell
    • bash: Bourne Again SHell. CentOS ๋“ฑ ๋‹ค์–‘ํ•œ Linux ๋ฐฐํฌํŒ์—์„œ ๊ธฐ๋ณธ์ ์ธ Shell๋กœ์„œ ๊ธฐ๋Šฅํ•œ๋‹ค. ์˜๋ฏธ๋Š” Bourne Shell์„ ๊ธฐ๋ฐ˜์œผ๋กœ Korn Shell๊ณผ C Shell์˜ ์ข‹์€ ์ ์„ ํ•ฉํ•œ ๊ฒƒ.
      • Alias ๊ธฐ๋Šฅ (๋‹จ์ถ•์–ด ๊ธฐ๋Šฅ)
      • History ๊ธฐ๋Šฅ (์œ„, ์•„๋ž˜ ๋ฐฉํ–ฅํ‚ค)
      • ์—ฐ์‚ฐ ๊ธฐ๋Šฅ
      • Job Control ๊ธฐ๋Šฅ
      • ์ž๋™ ์ด๋ฆ„ ์™„์„ฑ ๊ธฐ๋Šฅ (Tab)
      • ํ”„๋กฌํฌํŠธ ์ œ์–ด ๊ธฐ๋Šฅ
      • ๋ช…๋ น์–ด ํŽธ์ง‘ ๊ธฐ๋Šฅ
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜
    • ์„ค์ •๋œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” echo [$ํ™˜๊ฒฝ๋ณ€์ˆ˜์ด๋ฆ„] ํ•˜๋ฉด ๋ณผ ์ˆ˜ ์žˆ์Œ.
    • ์ฃผ์š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์Œ
      • HOME: ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ
      • PATH: ์‹คํ–‰ ํŒŒ์ผ์„ ์ฐพ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ
      • LANG: ๊ธฐ๋ณธ ์–ธ์–ด
      • PWD: ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ
      • TERM: ๋กœ๊ทธ์ธ ํ„ฐ๋ฏธ๋„ ํƒ€์ž…
      • DISPLAY: X ๋””์Šคํ”Œ๋ ˆ์ด ์ด๋ฆ„
      • USER: ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„
      • LINES: ํ˜„์žฌ ํ„ฐ๋ฏธ๋„ ๋ผ์ธ ์ˆ˜
      • COLUMNS: ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์˜ ์ปฌ๋Ÿผ ์ˆ˜
      • PS1/PS2: 1์ฐจ, 2์ฐจ ๋ช…๋ น ํ”„๋กฌํฌํŠธ. 2์ฐจ๋Š” ๋Œ€๊ฐœ ">" ์ด๋‹ค.
      • BASH: Bash ์‰˜ ๊ฒฝ๋กœ
      • HOSTNAME / USERNAME
      • OSTYPE: OS ํƒ€์ž… (ex: linux-gnu)
    • ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด export [ํ™˜๊ฒฝ๋ณ€์ˆ˜]=[๊ฐ’]์„ ์‹คํ–‰ํ•˜๋ฉด ๋จ.
    • printenv๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ฃผ์š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ฐ’๋“ค์ด ์ถœ๋ ฅ ๋จ.
  • ๋ฆฌ๋ˆ…์Šค์˜ Shell Script๋Š” C ์–ธ์–ด์™€ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ. ์™œ๋ƒํ•˜๋ฉด ๋ฆฌ๋ˆ…์Šค์˜ ๋Œ€๋ถ€๋ถ„์€ C ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ.
    • ๋ณ€์ˆ˜, ๋ฐ˜๋ณต๋ฌธ, ์ œ์–ด๋ฌธ ๋“ฑ์ด ์‚ฌ์šฉ๋˜๋ฉฐ ์ปดํŒŒ์ผ ํ•„์š” ์—†์ด ํ…์ŠคํŠธ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๋ฐ”๋กœ Shell์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅ
    • ์ด๋ฏธ ๋ฆฌ๋ˆ…์Šค์˜ ๋งŽ์€ ๋ถ€๋ถ„์ด Shell Script๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค.
    • ํ™•์žฅ์ž๊ฐ€ *.sh ์ผ ํ•„์š”๋Š” ์—†์ง€๋งŒ ๊ตฌ๋ถ„์„ ์œ„ํ•ด ์ฃผ๋กœ ํ•ด๋‹น ํ™•์žฅ์ž๋กœ ๋งŽ์ด ๋งŒ๋“œ๋Š” ํŽธ์ž„.
    • ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ
      #!/bin/sh
      echo "์‚ฌ์šฉ์ž ์ด๋ฆ„: " $USER
      echo "ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ: " $HOME
      exit 0
    • exit 0์—์„œ 0์€ ์„ฑ๊ณต์„ ์˜๋ฏธํ•จ
  • ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
    • sh [์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋ช…]์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‹คํ–‰ ๊ฐ€๋Šฅ
    • chmod +x [์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋ช…]์œผ๋กœ ์†์„ฑ ๋ณ€๊ฒฝ ํ›„ ./[์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋ช…]์œผ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅ
      • ./์„ ์•ž์— ๋ถ™์ด๋Š” ์ด์œ ๋Š”, $PATH์— ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ. ์‹คํ–‰์€ ์˜ค๋กœ์ง€ $PATH์— ์žˆ๋Š” ๊ฒฝ๋กœ๋งŒ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ•์ œ๋กœ ์œ„์น˜๋ฅผ ๋ถ™์—ฌ์ฃผ๋Š” ๊ฒƒ.
      • root ์‚ฌ์šฉ์ž๋กœ ์ž‘์„ฑํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ root ์‚ฌ์šฉ์ž๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ. ํƒ€ ์‚ฌ์šฉ์ž๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด /usr/local/bin์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ๊ถŒํ•œ์„ 755 ์ •๋„๋กœ ์ฃผ๋ฉด ๋œ๋‹ค.
  • ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ
    • ๋ณ€์ˆ˜
      • ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ C ์ฒ˜๋Ÿผ ๋ฏธ๋ฆฌ ์„ ์–ธํ•  ํ•„์š”๋Š” ์—†๊ณ , JS ์ฒ˜๋Ÿผ ๊ทธ๋ƒฅ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜์—ฌ ํ• ๋‹นํ•˜๋ฉด ์ƒ์„ฑ๋œ๋‹ค.
      • ๋ชจ๋“  ๊ฐ’์€ String ์ทจ๊ธ‰์ด๋‹ค. ์ˆซ์ž๋ฅผ ๋„ฃ์–ด๋„ ๋ฌธ์ž๋กœ ์ƒ๊ฐํ•จ.
      • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•จ
      • ๋Œ€์ž…์‹œ = ์ขŒ์šฐ์— ๊ณต๋ฐฑ์ด ์—†์–ด์•ผ ํ•œ๋‹ค.
      • ๊ฐ’์— ๊ณต๋ฐฑ์ด ์žˆ์„ ๊ฒฝ์šฐ "๋กœ ๋ฌถ์–ด์•ผ ํ•œ๋‹ค.
      • ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋Š” $๋ฅผ ์•ž์— ๋ถ™์ธ๋‹ค.
      • $ ๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ„ ๊ธ€์ž๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๋ฉด \๋กœ escape ์‹œํ‚ค๊ฑฐ๋‚˜ ์ž‘์€๋”ฐ์˜ดํ‘œ(')๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌถ์–ด์ค€๋‹ค. (์•ˆ๊ทธ๋Ÿฌ๋ฉด ๋ณ€์ˆ˜ ์ทจ๊ธ‰์ด๋ฏ€๋กœ)
      • ์ผ๋ฐ˜์ ์œผ๋กœ ์ž…๋ ฅ๋œ ๊ฐ’์— ๊ณต๋ฐฑ์ด ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, "$myvar"์™€ ๊ฐ™์ด ํฐ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ๋Š” ๋ฐฉ์‹์ด ์„ ํ˜ธ๋œ๋‹ค.
      • ์•„๋ž˜๋Š” ์œ„ ๋‚ด์šฉ์„ ์ข…ํ•ฉํ•œ ์˜ˆ์‹œ ์ฝ”๋“œ
      #!/bin/sh
      myvar="Hello World!"
      echo $myvar
      echo "$myvar"
      echo '$myvar'
      echo \$myvar
      echo ๊ฐ’ ์ž…๋ ฅ :
      read myvar
      echo '$myvar' = $myvar
      exit 0
    • ์ˆซ์ž ๊ณ„์‚ฐ
      • ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์ž์—ด ์ทจ๊ธ‰์ด์ง€๋งŒ, expr ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
      • ์ˆ˜์‹๊ณผ ํ•จ๊ป˜ ์—ญ๋”ฐ์˜ดํ‘œ(`)๋กœ ๋ฌถ์–ด์ค˜์•ผ ํ•œ๋‹ค.
      • ์ˆ˜์‹์— ๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ญ์Šฌ๋ž˜์‹œ(\)๋ฅผ ๋ถ™์—ฌ์ค˜์•ผ ํ•œ๋‹ค.
        • ๊ด„ํ˜ธ ์•ž ๋’ค์—๋Š” ๊ณต๋ฐฑ์„ ๋„ฃ์ž. (์˜ค๋™์ž‘ ๋ฐฉ์ง€)
        • ๊ธฐ๋ณธ์ ์œผ๋กœ expr ์‚ฌ์šฉ ์‹œ์—๋Š” ๋‹จ์–ด๋งˆ๋‹ค ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐ.
      • ๊ณฑํ•˜๊ธฐ ๊ธฐํ˜ธ(*)๋„ ์˜ˆ์™ธ์ ์œผ๋กœ ์•ž์— ์—ญ์Šฌ๋ž˜์‹œ๋ฅผ ๋ถ™์—ฌ์ค˜์•ผ ํ•œ๋‹ค.
      #!/bin/sh
      num1=100
      num2=$num1+200
      echo $num2
      num3=`expr $num1 + 200`
      echo $num3
      num4=`expr \( $num1 + 200 \) / 10 \* 2`
      echo $num4
      exit 0
    • ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ€์ˆ˜
      • 0,0, 1, $2์™€ ๊ฐ™์€ ๋…€์„๋“ค์ž„
      • ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด์˜ ๋ถ€๋ถ„๋ถ€๋ถ„์„ ๋ณ€์ˆ˜ ์ทจ๊ธ‰ ํ•จ
      • dnf -y install gftp ๋ผ๋Š” ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด
        • $0: dnf
        • $1: -y
        • $2: install
        • $3: gftp
    • if์™€ case
      • ๋ฐ”๋กœ ์˜ˆ์ œ๋ฅผ ๋ณด์ž. (=์ด ๊ฐ™์Œ์„ ํ‘œ์‹œํ•˜๋Š” ๊ธฐํ˜ธ์ž„์— ์œ ์˜!)
      #!/bin/sh
      if [ "$1" = "" ]
      then
      echo "์ธ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค."
      else
      echo "์ธ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์˜€์Šต๋‹ˆ๋‹ค: " $1
      fi
      exit 0

๋ฆฌ๋ˆ…์Šค ์ž…๋ฌธ์ž๋ฅผ ์œ„ํ•œ ๋ช…๋ น์–ด ์‚ฌ์ „

  • by ๊ฐ€์™€๊ตฌ์น˜ ํžˆ๋กœ์‹œ

Chapter 06. ํŽธ๋ฆฌํ•œ ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•

๋ช…๋ น์–ด ์ž…์ถœ๋ ฅ์„ ํŒŒ์ผ๋กœ ์ „ํ™˜

  • ps > pslog
readiz@Readiz-NotePC:/mnt/e/collected/selfdev/git/baekjoon/class/extra/20211127$ ps > pslog
readiz@Readiz-NotePC:/mnt/e/collected/selfdev/git/baekjoon/class/extra/20211127$ cat pslog
PID TTY TIME CMD
1339 pts/2 00:00:00 bash
14658 pts/2 00:00:00 p
  • date >> datelog: >> ๋ฅผ ์“ฐ๋ฉด Append ๋ช…๋ น์–ด์ž„
๐Ÿท๏ธ ์ฃผ์ œ ๋ชฉ๋ก: