๐Ÿ“‚๋„คํŠธ์›Œํฌ&์„œ๋ฒ„/๐Ÿง๋ฆฌ๋ˆ…์Šค(Linux)

15์ผ์ฐจ

๐Ÿ‘ฉ‍๐ŸŽ“์ธํ…”๋ฆฌ๊ฐ์ž๐Ÿฅ” 2023. 3. 12. 01:30

  ์ •๊ทœํ‘œํ˜„์‹์—์„œ๋Š” grep๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. <= ~  | grep ~ ๋Š” ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค
ํŒจํ„ด ์„ค๋ช…
[aeiou] a, e, i, o, u ์ค‘ ์–ด๋Š ๋ฌธ์ž๋ผ๋„ ๋“ค์–ด์žˆ๋Š” ๊ฒƒ 
[a-z] a๋ถ€ํ„ฐ z ์‚ฌ์ด์˜ ๋ฌธ์ž๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๊ฒƒ. ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž 
[a-z][A-Z] a๋ถ€ํ„ฐ z ์‚ฌ์ด์™€ A๋ถ€ํ„ฐ Z ์‚ฌ์ด์˜ ๋ฌธ์ž๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๊ฒƒ. ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž 
[0-9] 0๋ถ€ํ„ฐ 9 ์‚ฌ์ด์˜ ์ˆซ์ž๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๊ฒƒ
^[ ], [^ ] ^[ ]๋Š” [ ] ๋‚ด์šฉ์œผ๋กœ ์‹œ์ž‘๋จ, [^ ]๋Š” [ ] ๋‚ด์šฉ์˜ ๋ถ€์ • <= ^[^#$]
^pattern ์ฃผ์–ด์ง„ ํŒจํ„ด์œผ๋กœ ์‹œ์ž‘๋˜๋Š” ์ค„ <= ^#
pattern$ ์ฃผ์–ด์ง„ ํŒจํ„ด์œผ๋กœ ๋๋‚˜๋Š” ์ค„. ๋‹จ๋…์œผ๋กœ $๋ฅผ ์“ฐ๋ฉด ๋นˆ ์ค„ <= #$
^[a-z][0-9]$  ์‹œ์ž‘์€ a๋ถ€ํ„ฐ z ์‚ฌ์ด์˜ ๋ฌธ์ž, ๋์€ 0๋ถ€ํ„ฐ 9์‚ฌ์ด์˜ ์ˆซ์ž์ธ ์ค„
[.], [...] .๋Š” ์ž„์˜์˜ ๋ฌธ์ž 1๊ฐœ, ...๋Š” ์ž„์˜์˜ ๋ฌธ์ž 3๊ฐœ <= [a...e] <=a???e
pattern+ ์ด์ „ ํŒจํ„ด๊ณผ ํ•˜๋‚˜ ์ด์ƒ์œผ๋กœ ๋งค์น˜๋˜๋Š” ์–ด๊ตฌ <= root+
pattern* ์ด์ „ ํŒจํ„ด๊ณผ ๋งค์น˜๋˜์ง€ ์•Š๋Š” ์–ด๊ตฌ <= root*
pattern? ์ด์ „ ํŒจํ„ด๊ณผ ํ•˜๋‚˜๋งŒ ๋งค์น˜๋˜๋Š” ์–ด๊ตฌ <= root?
(abc)+ 'abc' ํŒจํ„ด๊ณผ ํ•˜๋‚˜ ์ด์ƒ์œผ๋กœ ๋งค์น˜๋˜๋Š” ์ค„. +๋Š” ์ ์–ด๋„ ํ•˜๋‚˜ ์ด์ƒ์„ ์˜๋ฏธ
()๋Š” ์—ฌ๋Ÿฌ ์ •๊ทœ ํ‘œํ˜„์‹์„ ํ•˜๋‚˜๋กœ ๋ฌถ๊ธฐ๋„ ํ•œ๋‹ค
v ๋ถ€์ •์˜ ์˜๋ฏธ <= v #๋Š” #์ด ์—†๋Š” ์ค„์„ ๋ณด์ž„ 
c ๊ฐฏ์ˆ˜๋ฅผ ํ‘œ์‹œ <= c #๋Š” #์ด ์žˆ๋Š” ์ค„์˜ ๊ฐฏ์ˆ˜
| ๋‘ ๊ฐœ์˜ ์ •๊ทœ ํ‘œํ˜„์‹์—์„œ OR ์˜๋ฏธ
{n}, {n,m} ์ง€์ •๋œ ์ •๊ทœ ํ‘œํ˜„์‹์— n๋ฒˆ ์ผ์น˜, ์ตœ์†Œ n์—์„œ ์ตœ๋Œ€ m๋ฒˆ ์ผ์น˜ 
--------------------------------------------------------
[: ~ :] ํด๋ž˜์Šค 
[:alnum:]  [:alpha:] [:digit:] [:punt:]
alnum์€ ์˜๋ฌธ์ด๋‚˜ ์ˆซ์ž์™€ ์ผ์น˜
alpha๋Š” ์˜๋ฌธ์ž์™€ ์ผ์น˜
digit๋Š” ์ˆซ์ž์™€ ์ผ์น˜
punt๋Š” ๊ตฌ๋‘์ (, . )๊ณผ ์ผ์น˜
=>[: ~ :] ํด๋ž˜์Šค์—๋Š” alnum(๋ฌธ์ž+์ˆซ์ž), alpha(๋ฌธ์ž), blank(๋นˆ์นธ), digit(์ˆซ์ž), 
    lower(์†Œ๋ฌธ์ž), upper(๋Œ€๋ฌธ์ž), print(๋ณด์ด๊ธฐ), space(๋นˆ์นธ), special(ํŠน์ˆ˜๋ฌธ์ž), 
    xdigit(16์ง„์ˆ˜) ๋“ฑ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ์“ธ ๋•Œ์—๋Š” [] ์™€ [] ์‚ฌ์ด์— ํ•œ ์นธ์”ฉ ๋„์šฐ๊ณ  ๋‚˜์—ดํ•˜๋ฉด ๋œ๋‹ค.

 

1. [:alnum:] [:alnum:]์€ ์•ŒํŒŒ๋ฒณ๊ณผ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ ์ค‘ ์ด๋ฆ„์— ์•ŒํŒŒ๋ฒณ๊ณผ ์ˆซ์ž๋งŒ ํฌํ•จ๋œ ํŒŒ์ผ์„ ์ฐพ์•„๋‚ธ๋‹ค.

cat -n /root/anaconda-ks.cfg | grep -E '[[:alnum:]]'

2. [:alpha:] [:alpha:]๋Š” ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ ์ค‘ ์ด๋ฆ„์ด ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ํŒŒ์ผ์„ ์ฐพ์•„๋‚ธ๋‹ค.

cat -n /root/anaconda-ks.cfg | grep -E '[[:alpha:]]'

3. [:digit:] [:digit:]๋Š” ์ˆซ์ž ๋ฌธ์ž๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ ์ค‘ ์ด๋ฆ„์ด ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ํŒŒ์ผ์„ ์ฐพ์•„๋‚ธ๋‹ค.

cat -n /root/anaconda-ks.cfg | grep -E '[[:digit:]]'

4. [:punct:] [:punct:]๋Š” ๊ตฌ๋‘์  ๋ฌธ์ž(,, ;,:, .)๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ ์ค‘ ์ด๋ฆ„์ด ๊ตฌ๋‘์  ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š” ํŒŒ์ผ์„ ์ฐพ์•„๋‚ธ๋‹ค.

cat /etc/passwd | grep -E '[[:punct:]]'



  grep ์‚ฌ์šฉ์—์„œ 
v / c : v๋Š” ์ผ์น˜๋˜๋Š” ๋‚ด์šฉ์ด ์—†๋Š” ์ค„, c๋Š” ์ผ์น˜๋˜๋Š” ๋‚ด์šฉ์ด ์žˆ๋Š” ์ค„ ๊ฐœ์ˆ˜ ํ‘œ์‹œ
n : ์ผ์น˜๋˜๋Š” ๋‚ด์šฉ์„ ์ค„ ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ํ‘œ์‹œ
i : ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š๊ณ  ํ•ด๋‹น๋˜๋Š” ๋‚ด์šฉ์ด ์žˆ๋Š” ์ค„ ํ‘œ์‹œ
e : ์ •๊ทœํ‘œํ˜„์‹ ์‚ฌ์šฉ
f : ์ฐพ์œผ๋ ค๋Š” ๋ฌธ์žฅ์ด๋‚˜ ํ‘œํ˜„์ด ์žˆ๋Š” ํŒŒ์ผ์ง€์ •
l / w : l์€ ํŒจํ„ด์ด ํฌํ•จ๋œ ์ค„, w๋Š” ํŒจํ„ด์ด ํฌํ•จ๋œ ๋‹จ์–ด ํ‘œ์‹œ
r : ๋ฐ˜๋ณต์ ์œผ๋กœ ์ฐพ์Œ ๋“ฑ์ด ์žˆ๋‹ค. 
=>[a-e]๋Š” {abcde}๋กœ์จ a,b,c,d,e ์ค‘ ํ•˜๋‚˜์ด๊ณ  [a-e]์™€ ๊ฐ™๋‹ค, 
    [ak]๋Š” a๋‚˜ k ์ค‘ ํ•˜๋‚˜, 
    ^a๋Š” a๋กœ ์‹œ์ž‘, 
    a$๋Š” a๋กœ ๋๋‚จ, 
    v #์€ #์ด ์—†๋Š” ์ค„ ๋ณด์ž„, 
    c #์€ #์ด ์žˆ๋Š” ์ค„์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
ex) a. ls doc[A-E]๋Š” A, B, C, D, E ์ค‘ ์ผ์น˜๋˜๋Š” ๊ฒƒ ๋ชจ๋‘
     b. ls doc[AE]๋Š” A๋‚˜ E ์ค‘ ์ผ์น˜๋˜๋Š” ๊ฒƒ ๋ชจ๋‘
     c. ls doc{A..E}๋Š” A๋กœ ์‹œ์ž‘ E๋กœ ๋๋‚˜๋Š” ์ด 4์ž๋ฆฌ ๊ฒƒ
     d. ls doc{AE}๋Š” AE๋กœ ๋œ ๊ฒƒ  
     e. ^pass : pass๋กœ ์‹œ์ž‘๋˜๋Š” ๋ชจ๋“  ์ค„, 
     f. ^#์€ #์œผ๋กœ ์‹œ์ž‘๋˜๋Š” ์ค„, 
     g. ^$ : ๋ชจ๋“  ๋นˆ ์ค„, 
     h. #$ : #์œผ๋กœ ๋๋‚˜๋Š” ์ค„, 
     i. d...(...์ด ์„ธ ๊ฐœ) : d๋กœ ์‹œ์ž‘๋˜๋Š” ์ด ๋„ค ์ž๋ฆฌ ๋ฌธ์ž(d???), 
     j. [a-d]* : a์—์„œ d๊นŒ์ง€ a,b,c,d ์ค‘ ํ•˜๋‚˜๋กœ ์‹œ์ž‘๋˜๋Š” ๋ฌธ์ž์—ด, 
     k. [Dd]atabase : D๋‚˜ d๋กœ ์‹œ์ž‘๋˜๋Š” database๋ผ๋Š” ๋‹จ์–ด, 
     l. [^D] : D๋ผ๋Š” ๋ฌธ์ž๋กœ ์‹œ์ž‘๋˜์ง€ ์•Š๋Š” ์ค„, 
     m. c...d(...์ด ์„ธ ๊ฐœ) : c๋กœ ์‹œ์ž‘๋˜๊ณ  d๋กœ ๋๋‚˜๋Š” ์ด 5์ž๋ฆฌ ๋ฌธ์ž(c???d) ๋“ฑ์ด ์žˆ๋‹ค. 

  ๋ฌธ์žฅ์—์„œ #์œผ๋กœ ์‹œ์ž‘๋˜๋ฉด ํ•ด๋‹น ์ค„์˜ ๋‚ด์šฉ์„ ๋ฌด์‹œํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๊ณ  Remark(์ฃผ์„)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

  ํŒจํ„ด ๊ฒ€์ƒ‰๊ณผ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ - awk
  ์ด ๋ช…๋ น์–ด๋Š” ์•ž์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ cut ๋ช…๋ น์–ด์™€ ์œ ์‚ฌํ•œ๋ฐ 'awk {action $์ปฌ๋Ÿผ} ํŒŒ์ผ_๋ช…' ํ˜•์‹์ด๋‹ค. action์€ ์ฃผ๋กœ ํ™”๋ฉด์— ๋„์šฐ๋Š” print๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ปฌ๋Ÿผ์€ $0, $1, ...์‹์œผ๋กœ ์ง€์ •ํ•œ๋‹ค. ์ด awk๋Š” Bash Shell ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ถˆ๋Ÿฌ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.F : ํ•„๋“œ ๊ตฌ๋ถ„์ž๋กœ :, ;, Tab, space ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
f : ํŒŒ์ผ ์ง€์ •
e : ํ”„๋กœ๊ทธ๋žจ ํ…์ŠคํŠธ
E : ํŒŒ์ผ ์‹คํ–‰ ๋“ฑ์˜ ์˜ต์…˜์ด ์žˆ๋‹ค. 

  ํŒŒ์ผ์„ ํŽธ์ง‘ํ•ด์„œ ๋ณด์ด๋Š” - sed(stream editor)
  sed๋Š” ํŒŒ์ผ์„ ๊ฐˆ๋ฌด๋ฆฌํ•ด์„œ ๋ณด์ด๋Š”๋ฐ(๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅ) ํ•œ ์ค„์”ฉ ์ฝ์–ด์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒŒ ์‚ฌ์šฉํ•ด์„œ ํฐ ํŒŒ์ผ์„ ๋‹ค๋ฃฐ ๋•Œ ์œ ์šฉํ•˜๋‹ค. 'sed [option] ๋ช…๋ น์–ด ํŒŒ์ผ_๋ช…' ํ˜•์‹์œผ๋กœ ์—ฌ๋Ÿฌ ์˜ต์…˜๊ณผ ๋ณต์žกํ•œ ๊ตฌ๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ์ •๋ง ๊ฐ•๋ ฅํ•œ ํŽธ์ง‘๊ธฐ์ด๋‹ค. 
โˆŽ ^,  ;, #, @, ... ๋“ฑ์ด ๋ฌธ์ž/ํŠน์ˆ˜๊ธฐํ˜ธ๋ผ๋Š” ๊ฒƒ์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฌธ์ž ์ „ํ›„์— / ๋ฅผ ๋„ฃ๋Š”๋‹ค. 
โˆŽ ^๋Š” ์ฒ˜์Œ, 
   $๋Š” ๋, 
   . ๋Š” ์–ด๋Š ํ•œ๊ฐœ ๋ฌธ์ž์™€ ์ผ์น˜, 
   *๋Š” ์–ด๋Š ์ž„์˜์˜ ๊ฐฏ์ˆ˜์˜ ๋ฌธ์ž/์ˆซ์ž์™€ ์ผ์น˜, 
   \๋Š” ์ •๊ทœํ‘œํ˜„์‹, 
   [abc]๋Š” a, b, c ์ค‘ ์–ด๋Š ๋ฌธ์ž์™€๋„ ์ผ์น˜, 
   ![abc]๋Š” a๋‚˜ b๋‚˜ c ์–ด๋Š ๋ฌธ์ž์™€๋„ ๋ถˆ์ผ์น˜, 
   !๋Š” ์„ ํƒ๋œ ์ค„ ์ œ์™ธ, 
   /a./๋Š” a๋กœ ์‹œ์ž‘๋˜๋Š” 2 ๋ฌธ์ž(,), 
   /a.../๋Š” a๋กœ ์‹œ์ž‘๋˜๋Š” 4 ๋ฌธ์ž. 
   /^#/์€ ์ฃผ์„#์œผ๋กœ ์‹œ์ž‘๋˜๋Š” ์ค„, 
   /^root/๋Š” root๋ผ๋Š” ๋‹จ์–ด๋กœ ์‹œ์ž‘๋˜๋Š” ์ค„, 
   /root$/๋Š” root๋ผ๋Š” ๋‹จ์–ด๋กœ ๋๋‚˜๋Š” ์ค„, 
   /^$/๋Š” ๊ณต๋ฐฑ ์ค„์„ ์˜๋ฏธํ•œ๋‹ค.  
โˆŽ [ํŒจํ„ด]/p๋Š” ํ•ด๋‹น ํŒจํ„ด์ถœ๋ ฅ, 
   [ํŒจํ„ด]/d๋Š” ํ•ด๋‹น ํŒจํ„ด์‚ญ์ œ, 
   s/๋ฌธ์ž1/๋ฌธ์ž2/๋Š” ํŒจํ„ด์—์„œ ์ฒ˜์Œ ๋ณด์ด๋Š” ๋ฌธ์ž1์„ ๋ฌธ์ž2๋กœ ๋Œ€์ฒด, 
   s/๋ฌธ์ž1/๋ฌธ์ž2/g๋Š” ๋ฌธ์ž1์„ ๋ฌธ์ž2๋กœ ๋ชจ๋‘ ๋Œ€์ฒด(/g๋Š” ๋ชจ๋“  ์ค„์— ์ ์šฉ), 
   /i๋Š” ๋Œ€์†Œ๋ฌธ์ž ๋ฌด์‹œ, 
   n์€ ์ถœ๋ ฅ๋งŒ ํ•ด์คŒ(์ฃผ๋กœ p ์˜ต์…˜๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ), 
   f๋Š” ํŒŒ์ผ์ง€์ •, 
   e๋Š” ๋ณ€๊ฒฝํ•ด์„œ ๋ณด์ด๊ธฐ๋งŒ ํ•จ, 
   i๋Š” ์ƒˆ๋กœ์šด ํŒจํ„ด์œผ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ํŒŒ์ผ๋กœ ์ €์žฅ ๋“ฑ์˜ ์˜ต์…˜์ด ์žˆ๋‹ค. 
=>ํŠน์ • ์ค„์„ ๋ณผ ๋•Œ์—๋Š” '2p' OR '2,5p'๋กœ ํ•ด์ค€๋‹ค.
    ์ถ”๊ฐ€ํ•  ๋•Œ์—๋Š” a๋ฅผ ์“ฐ๋Š”๋ฐ 3์งธ์ค„์— ์ถ”๊ฐ€ํ•œ๋‹ค๋ฉด '2a\~'์‹์œผ๋กœ ํ•ด์ค€๋‹ค. 
    ์ค„๋งˆ๋‹ค ๊ณต๋ฐฑ์„ ์ค€๋‹ค๋ฉด G ๋งŒ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.
    ์–ด๊ตฌ๋ฅผ ๊ต์ฒดํ•  ๋•Œ์—๋Š”  's/b/k/g' ํ•˜๋ฉด ๋ชจ๋“  ์ค„์—์„œ b๋ฅผ k๋กœ ๋ฐ”๊พผ๋‹ค.
    =>2๋ฒˆ์งธ ์ค„์—์„œ b๋ฅผ k๋กœ ๊ต์ฒดํ•œ๋‹ค๋ฉด ์ค„ ๋ฒˆํ˜ธ๋ฅผ ๋ช…์‹œํ•ด์„œ '2s/b/k' ํ•ด์ค€๋‹ค.
    =>2~10์ค„๊นŒ์ง€์—์„œ b๋ฅผ k๋กœ ๊ต์ฒดํ•œ๋‹ค๋ฉด '2,10s/b/k/g' ํ•ด์ค€๋‹ค.
   d๋Š” ์‚ญ์ œ์ด๋‹ค. 2~5๊นŒ์ง€์—์„œ b๋ฅผ ์‚ญ์ œํ•œ๋‹ค๋ฉด 
=>'2,5d' ~ ํ•ด๋„ ๋˜์ง€๋งŒ '2,5s/b//g'ํ•ด๋„ ๋˜๊ณ 

  ํŒŒ์ผ์„ ๋ถ„ํ• ํ•ด์ฃผ๋Š” – split 
  ์˜ต์…˜ ์—†์ด 'split ํŒŒ์ผ1 ํŒŒ์ผ2'ํ•˜๋ฉด ํฐ ํŒŒ์ผ1์„ ๋””ํดํŠธ๋กœ 1,000์ค„์”ฉ ์ž˜๋ผ์„œ ํŒŒ์ผ2aa, ํŒŒ์ผ2ab, ...ํŒŒ์ผ2az, ํŒŒ์ผ2ba, ...์‹์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ €์žฅํ•œ๋‹ค. ์˜ต์…˜์œผ๋กœ 
b : byte ๋‹จ์œ„๋กœ ์ž๋ฆ„
l : ์ค„ ๋‹จ์œ„๋กœ ์ž๋ฆ„ ๋“ฑ์ด ์žˆ๋‹ค.

  ํ…์ŠคํŠธ๋ฅผ ์ •๋ ฌํ•ด์„œ ๋ณด์ด๋Š” – sort 
  ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๊ฐ€ sort์ธ๋ฐ ์˜ต์…˜์œผ๋กœ
b : ์ฒซ์ค„ ๋นˆ์นธ ๋ฌด์‹œํ•˜๊ณ  ์ •๋ ฌ
f : ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ •๋ ฌ
n / r : n์€ ๋””ํดํŠธ์ธ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ, r์€ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ 
o : ์ถœ๋ ฅํŒŒ์ผ๋กœ ์ €์žฅ( > ํ•ด๋„ ๋จ) ๋“ฑ์ด ์žˆ๋‹ค.

  ํŒŒ์ผ์˜ ํ—ˆ๊ฐ€๊ถŒ(chmod)๊ณผ ์†Œ์œ ๊ถŒ(chown)
  ํ—ˆ๊ฐ€๊ถŒ์€ ์„ธ ์ž๋ฆฌ์”ฉ ๋Š์–ด์„œ ๋ณด๋Š”๋ฐ
-      rwx          r-x           r-x
ํŒŒ์ผ  user ๊ถŒํ•œ  group๊ถŒํ•œ other ๊ถŒํ•œ
๋ณ€๊ฒฝ์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ 
โˆŽ character method : r(read) 4, w(write) 2, x(execute) 1๋ฅผ ๊ฐ๊ฐ 
    =>u+w,x(user์—๊ฒŒ w์™€ x๊ถŒํ•œ์„ ์คŒ) o-x(other์—๊ฒŒ x ๊ถŒํ•œ์„ ๋บ์Œ)์‹์œผ๋กœ ํ•ด์ค€๋‹ค.
โˆŽ numeric method : 4+2+1=7, 4+2=6, 4+1=5, 2+1=3์˜ ์กฐํ•ฉ์œผ๋กœ ์ •ํ•œ๋‹ค.
    =>751ํ•˜๋ฉด user์—๊ฒŒ 7(rwx), group์—๊ฒŒ 5(rx), other์—๊ฒŒ 1(x)์˜ ๊ถŒํ•œ์„ ์ค€๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
-rw-r--r--. 1 root root 16 Mar  3 21:37 tom1.txt
ํŒŒ์ผ์ด๊ณ  user๋Š” ์ฝ๊ณ ์“ฐ๊ณ , group์€ ์ฝ๊ณ , other๋Š” ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” ๊ถŒํ•œ์ด๋‹ค.
drwxr-xr-x. 2 root root       6 Mar  3 21:25 winterreport
๋””๋ ‰ํ„ฐ๋ฆฌ์ด๊ณ  user๋Š” ์ฝ๊ณ ์“ฐ๊ณ ์‹คํ–‰ํ•˜๊ณ , group์€ ์ฝ๊ณ ์‹คํ–‰ํ•˜๊ณ , other๋Š” ์ฝ๊ณ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด๋‹ค. 
=>a+x๋Š” +x๋กœ๋„ ์‚ฌ์šฉ๋˜๋Š”๋ฐ user, group, other์—๊ฒŒ ๋ชจ๋‘ +x ๊ถŒํ•œ์„ ์ถ•์‚ฌํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. 
==>์ผ๋ฐ˜ ํŒŒ์ผ์— ๋ช…๋ น์–ด(๋“ค)์„ ๋„ฃ๊ณ  chmod +x ๊ถŒํ•œ์„ ์ฃผ๋ฉด ์‹คํ–‰ํŒŒ์ผ๋กœ ๋ฐ”๋€๋‹ค!!!             
-rw-r--r--. 1 root     root 16 Mar  3 21:37 tom1.txt
                ์‚ฌ์šฉ์ž  ๊ทธ๋ฃน =>์ด tom1.txt ํŒŒ์ผ์€ rioot ๊ทธ๋ฃน์— ์†ํ•œ root ์‚ฌ์šฉ์ž ์†Œ์œ ์ด๋‹ค. 
<= ์†Œ์œ ์ž์™€ ๊ทธ๋ฃน์„ ๋ณ€๊ฒฝํ•œ๋‹ค๋ฉด chown ์†Œ์œ ์ž:๊ทธ๋ฃน ์œผ๋กœ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
     :๊ทธ๋ฃน ํ•˜๋ฉด ๊ทธ๋ฃน๋งŒ ๋ณ€๊ฒฝ๋œ๋‹ค.