Shell๊ณผ Shell Script

woomยท2023๋…„ 5์›” 19์ผ
0

Linux

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

์ถœ์ฒ˜ : ์ƒํ™œ์ฝ”๋”ฉ - Linux


๐Ÿ“• SHELL vs KERNEL

  • Kernel: ๋ฌผ๋ฆฌ์ ์ธ hardware๋ฅผ ์ง์ ‘์ ์œผ๋กœ ์ œ์–ดํ•˜๋Š” ์šด์˜์ฒด์ œ์—์„œ ์ค‘์‹ฌ์ด ๋˜๋Š” core
  • Shell: shell์—๊ฒŒ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๋ฉด ๋ช…๋ น์„ ํ•ด์„ํ•ด์„œ kernel์—๊ฒŒ ์ „๋‹ฌ

๐Ÿ“™ bash vs zsh

  • ํ˜„์žฌ shell์ค‘์—์„œ ๊ตฌ์ฒด์ ์ธ ์ œํ’ˆ์ค‘์— ํ•˜๋‚˜์ธ bash๋ฅผ ์“ฐ๊ณ ์žˆ๋‹ค

  • zsh๋ผ๋Š” ์‰˜ ์„ค์น˜

    • sudo apt-get install zsh
    • bash๋ณด๋‹ค ํŽธ๋ฆฌํ•˜์ง€๋งŒ ๊ธฐ๋Šฅ์ด ๋” ์ ์Œ
  • ์›ํ•˜๋Š” shell์„ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ


๐Ÿ“’ Shell Script ์˜ˆ์‹œ

  • unix๋ช…๋ น๋“ฑ์„ ๋‚˜์—ดํ•ด์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ(์ˆœ์„œ๋Œ€๋กœ)
  • touch ํŒŒ์ผ์ด๋ฆ„ : ๋นˆํŒŒ์ผ ์ƒ์„ฑ
  • cp *.log bak : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” .log๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ด์„œ bakํŒŒ์ผ์— ์ €์žฅ
  • /bin : ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปดํ“จํ„ฐ์— ํƒ‘์žฌ๋˜์–ด ์žˆ๋Š” ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์œ„์น˜ํ•œ ๊ณณ
    • bash, zsh, echo, mv ๋“ฑ ๋งŽ์€ ๋ช…๋ น๋“ค์ด ํŒŒ์ผ์˜ ํ˜•ํƒœ๋กœ ์กด์žฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž„์„ ํ™•์ธ ๊ฐ€๋Šฅ
  • #!/bin/bash
    • backup์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ(nano backup)์ด๋ผ๋Š” ๊ฒƒ์„ ์‹คํ–‰์‹œ์ผฐ์„ ๋•Œ ์šด์˜์ฒด์ œ๋Š” #! ๊ธฐํ˜ธ๋ฅผ ๋ณด๊ณ  ์•„๋ž˜์— ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋“ค์ด bin๋ฐ‘์— ์žˆ๋Š” bash๋ฅผ ํ†ตํ•ด์„œ ํ•ด์„ํ•ด์•ผ ํ•œ๋‹ค๋ผ๋Š” ์˜๋ฏธ(์•ฝ์†)
  • if [ -d bak ]; : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— bak๋ผ๋Š” ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š”๊ฐ€ / then : ์กด์žฌํ•œ๋‹ค๋ฉด / fi: if๋ฌธ ์ข…๋ฃŒ
  • ./backup : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰(./ : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š”) => ๊ถŒํ•œ ์—†์Œ(๊ฑฐ๋ถ€๋จ)
    • chmod +x backup : x(excutable) ์ฆ‰ ์‹คํ–‰ํ•˜๋Š” ๊ถŒํ•œ ๋ถ€์—ฌ
    • ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜๋ฉด์„œ ์‹คํ–‰๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋ณ€ํ•จ

profile
Study Log ๐Ÿ“‚

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