linux basic command

0. ๊ธฐ๋ณธ๋ช…๋ น์–ด

  • ls : list

  • / : to root directory

  • ~ : to home directory

  • cd : change directory

  • pwd : print working directory

  • man [command] : command ์“ฐ๋Š” ๋ฒ•์— ๋Œ€ํ•œ manual ํ‘œ์‹œ

1. ํŒŒ์ผ์‹œ์Šคํ…œ

  • touch [filename] : ์‹ ๊ทœ ํŒŒ์ผ ์ƒ์„ฑ

  • cat [filename] : concatenate. ์—ฐ๊ฒฐ์‹œํ‚จ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ. ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜๋Š” ํŒŒ์ผ ๋‚ด์šฉ์„ ์ฝ์–ด ํ™”๋ฉด์— ์ถœ๋ ฅ

  • mv [๊ธฐ์กด๊ฒฝ๋กœ] [์ƒˆ๋กœ์šด ๊ฒฝ๋กœ] : ๊ธฐ์กด ๊ฒฝ๋กœ์—์„œ ์ƒˆ๋กœ์šด ๊ฒฝ๋กœ๋กœ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ด๋™์‹œํ‚จ๋‹ค. ๊ฒฝ๋กœ์—๋Š” ์˜ฎ๊ธธ ํŒŒ์ผ์˜ ์ด๋ฆ„์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€ ํฌํ•จ์‹œ์ผœ์•ผํ•œ๋‹ค.

  • rm [filename] : ์‚ญ์ œ

    • rm -r : recursive ํ•˜๊ฒŒ ์‚ญ์ œ. ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

    • rm -rf : recursive + forcibly ํ•˜๊ฒŒ ์‚ญ์ œ. ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ๊ฐ•์ œ๋กœ ์‚ญ์ œํ•œ๋‹ค.

  • mkdir : ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

  • file !s : ํŒŒ์ผ์˜ ์†์„ฑ

  • cp -R <source_folder> <destination_folder> : ๋””๋ ‰ํ† ๋ฆฌ ๋ณต์‚ฌ

  • cp <source_file> <destination_file> : ํŒŒ์ผ ๋ณต์‚ฌ

2. head

  • ๋ฌธ์„œ ๋‚ด์šฉ์˜ ์•ž๋ถ€๋ถ„๋งŒ ์ถœ๋ ฅ

  • head /etc/passwd : ์•ž์˜ 10์ค„๋งŒ ์ถœ๋ ฅ

  • head -n 1 /etc/passwd : ์•ž์˜ 1์ค„๋งŒ ์ถœ๋ ฅ

  • head -c 10 /etc/passwd : ์•ž์˜ 10๋ฐ”์ดํŠธ๋งŒ ์ถœ๋ ฅ / ์•ž์—์„œ 10๊ธ€์ž๋งŒ ์ถœ๋ ฅ๋จ

  • cat /etc/passwd | head -n 15 : cat์œผ๋กœ ์ถœ๋ ฅํ•œ ๊ฒฐ๊ณผ์—์„œ ์ƒ์œ„ 15์ค„๋งŒ ์ถœ๋ ฅ

  • cat /etc/passwd | head -n -5 : cat์œผ๋กœ ์ถœ๋ ฅํ•œ ๊ฒฐ๊ณผ์—์„œ ํ•˜์œ„ 5์ค„์€ ์ œ์™ธํ•˜๊ณ  ์ถœ๋ ฅ

3. tail

  • tail /etc/passwd -n 1 : ์•„๋ž˜์—์„œ 1์ค„๋งŒ ์ถœ๋ ฅ

  • tail /etc/passwd -n +5 : ์œ„์—์„œ 5๋ฒˆ์งธ์ค„๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ถœ๋ ฅ

  • cat /etc/passwd | tail -n 15 : cat ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋กœ๋ถ€ํ„ฐ ์•„๋ž˜์—์„œ๋ถ€ํ„ฐ 15์ค„ ์ถœ๋ ฅ

  • cat /etc/passwd | tail -n +5 : cat ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋กœ๋ถ€ํ„ฐ ์œ„์—์„œ 5์ค„๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ถœ๋ ฅ

  • tail -f : ํŒŒ์ผ์— ์ถ”๊ฐ€๋˜๋Š” ๋‚ด์šฉ์„ ๋Œ€๊ธฐํ•œ๋‹ค.

    • ์ถ”๊ฐ€๋˜๋Š” ๋‚ด์šฉ์€ appendํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.

    • ๋กœ๊ทธ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ๋•Œ ์ž์ฃผ ์“ฐ์ธ๋‹ค.

    • ํŒŒ์ผ์ด ์ค‘๊ฐ„์— ์‚ฌ๋ผ์ง€๋ฉด, ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ณ  ๋ฉˆ์ถ˜๋‹ค.

  • tail -F : ํŒŒ์ผ์ด ์ค‘๊ฐ„์— ์‚ฌ๋ผ์ง€๋”๋ผ๋„, ๋‹ค์‹œ ์ƒ์„ฑํ•˜์—ฌ ๋‚ด์šฉ์„ append ํ•˜๋ฉฐ ์ถœ๋ ฅํ•œ๋‹ค.

4. wc

  • ํŒŒ์ผ์˜ line/word/byte ๋ฅผ count ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

  • wc /etc/passwd

    • 19 24 922 /etc/passwd

    • 19์ค„, 24๋‹จ์–ด, 922 ๋ฐ”์ดํŠธ์˜ ํŒŒ์ผ์ž„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • wc -l /etc/passwd

    • ๋ผ์ธ์ˆ˜๋งŒ ์ถœ๋ ฅ๋œ๋‹ค.

    • 19 /etc/passwd

  • cat /etc/passwd | wc -l : cat ํ•ด์„œ ์ถœ๋ ฅ๋œ ๊ฒฐ๊ณผ์˜ ๋ผ์ธ์ˆ˜๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

    • 19

  • wc -l /etc/passwd | cut -d ' ' -f 1

    • ๊ณต๋ฐฑ๋ฌธ์ž์—ด์„ delimiter ๋กœ ํ•˜์—ฌ cut ํ•œ ๊ฒฐ๊ณผ์—์„œ 1๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ์ถœ๋ ฅ : 19

    • wc ํ•ด์„œ ๋‚˜์˜จ ๊ฒฐ๊ณผ : 19 /etc/passwd

  • wc -l /etc/passwd | awk '{ print $1 }'

    • wc ํ•ด์„œ ๋‚˜์˜จ ๊ฒฐ๊ณผ : 19 /etc/passwd

    • awk ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฒซ๋ฒˆ์งธ ๋ณ€์ˆ˜๋งŒ ์ถœ๋ ฅ : 19

  • wc *.c : ํ™•์žฅ์ž๊ฐ€ .c์ธ ํŒŒ์ผ๋“ค์˜ ํ•ฉ๊ณ„ ์ถœ๋ ฅ

5. nl

  • ํŒŒ์ผ ๋‚ด์šฉ์„ ๋ผ์ธ ๋„˜๋ฒ„์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•œ๋‹ค.

  • nl /etc/passwd : ํŒŒ์ผ ๋‚ด์šฉ์„ ๋ผ์ธ๋„˜๋ฒ„์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•œ๋‹ค.

  • nl -ba /etc/passwd : ๋ชจ๋“  ๋ผ์ธ์— ๋Œ€ํ•ด์„œ ๋ผ์ธ ๋„˜๋ฒ„๋ง์„ ํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.

  • nl -v 5 /etc/passwd : ์‹œ์ž‘ํ•  ๋ผ์ธ๋ฒˆํ˜ธ๋ฅผ -v ๋’ค์˜ ์ˆซ์ž๋กœ ์ง€์ •ํ•œ๋‹ค. 5๋ถ€ํ„ฐ ๋„˜๋ฒ„๋ง ์‹œ์ž‘

  • nl -ba -s "==>" /etc/passwd : -ba

    • ๋ชจ๋“  ๋ผ์ธ์— ๋Œ€ํ•ด์„œ ์ถœ๋ ฅํ•˜๊ณ ,

    • -s "===>" : ๋ผ์ธ๋„˜๋ฒ„ ๋’ค์— ๋ถ™์—ฌ์ค„ seperator ๋ฅผ ์ง€์ •ํ•œ๋‹ค.

  • nl -ba -s "==>" /etc/passwd | tail

    • ์œ„์˜ ๊ฒฐ๊ณผ์—์„œ ๋ฐ‘์—์„œ 10๋ฒˆ์งธ ์ค„๋งŒ ์ถœ๋ ฅ

6. sort

  • ๋ง๊ทธ๋Œ€๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.

  • sort /etc/passwd : ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ์ •๋ ฌ

  • sort /etc/passwd -t: -k 3 : ":" ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ, 3๋ฒˆ์งธ ํ‚ค๊ฐ’์— ๋Œ€ํ•ด์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅ

  • sort /etc/passwd -n -t: -k 3 : ":" ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ, 3๋ฒˆ์งธ ํ‚ค๊ฐ’์„ ์ˆซ์ž๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅ

  • sort /etc/passwd -t: -k 3,3 : ":" ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ํ•˜๋˜, 3๋ฒˆ์งธ๋ถ€ํ„ฐ 3๋ฒˆ์งธ ํ‚ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ถœ๋ ฅ

  • sort /etc/passwd -t: -k 4,4 -k 3,3 : ":" ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ํ•˜๋˜, 4๋ฒˆ์งธ ํ‚ค๋ฅผ ์ฒซ๋ฒˆ์งธ ๊ธฐ์ค€์œผ๋กœ, 3๋ฒˆ์งธ ํ‚ค๋ฅผ ๋‘๋ฒˆ์งธ ๊ธฐ์ค€์œผ๋กœ ์‚ผ์•„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ถœ๋ ฅ

  • ls -al | sort : ls -al ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅ

  • ls -al | sort -k 5n : ls -al ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ 5๋ฒˆ์งธ ํ‚ค์›Œ๋“œ๋ฅผ ์ˆซ์ž๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅ

  • ls -al | sort -k 5 -r : ls -al ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ 5๋ฒˆ์งธ ํ‚ค์›Œ๋“œ๋ฅผ ์ˆซ์ž๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅ

  • sort -u : unique ์ค‘๋ณต๋œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด์„œ๋Š” 1๊ฐœ๋งŒ ๋…ธ์ถœ

7. uniq

  • ์ค‘๋ณต๋œ ๋‚ด์šฉ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ถœ๋ ฅํ•œ๋‹ค.

  • uniq [ํŒŒ์ผ๋ช…] | nl : ํŒŒ์ผ ๋‚ด์— ์žˆ๋Š” ์ค‘๋ณต๊ฐ’์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ผ์ธ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅ

  • sort [ํŒŒ์ผ๋ช…] | uniq | nl

    • ํŒŒ์ผ ๋‚ด๋ถ€๋ฅผ ์ด๋ฆ„์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค

    • ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ 

    • ๋ผ์ธ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅ

  • sort [ํŒŒ์ผ๋ช…] | uniq -i | nl

    • ํŒŒ์ผ ๋‚ด๋ถ€๋ฅผ ์ด๋ฆ„์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค

    • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ๋’ค

    • ๋ผ์ธ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.

  • sort [ํŒŒ์ผ๋ช…] | uniq -d | nl

    • ํŒŒ์ผ ๋‚ด๋ถ€๋ฅผ ์ด๋ฆ„์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค

    • ์ค‘๋ณต๋œ ํ•ญ๋ชฉ๋งŒ

    • ๋ผ์ธ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.

  • sort [ํŒŒ์ผ๋ช…] | uniq -u | nl

    • ํŒŒ์ผ ๋‚ด๋ถ€๋ฅผ ์ด๋ฆ„์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค

    • ์ค‘๋ณต๋˜์ง€ ์•Š์€ ๋‚ด์šฉ๋งŒ

    • ๋ผ์ธ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.

  • grep "[keyword]" *.c | awk -F: '{ print $1 }' | uniq

    • [keyword] ๋ฅผ ํฌํ•จํ•œ ํ™•์žฅ์ž c ํŒŒ์ผ๋“ค ๋ชฉ๋ก์—์„œ

    • ํ™•์žฅ์ž๋ฅผ ์ œ์™ธํ•˜๊ณ  ํŒŒ์ผ๋ช…๋งŒ ์ถ”๋ ค์„œ

    • ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ๋’ค ์ถœ๋ ฅํ•œ๋‹ค.

8. cut

  • head /etc/passwd | cut -d ':' -f 1,7

    • -d : tab ๋Œ€์‹  ์‚ฌ์šฉํ•  delimiter ์ง€์ •

    • -f : ํ•„๋“œ(์ปฌ๋Ÿผ) ์„ ํƒ

  • head /etc/passwd | cut -d ':' -f 1,7 --output-delimiter='==>'

    • --output-delimiter=STRING : ์ถœ๋ ฅ์‹œ ์‚ฌ์šฉํ•  ๊ตฌ๋ถ„์ž ์ง€์ •

  • ls -al | cut -b -10

    • ls -al ๊ฒฐ๊ณผ๋ฅผ 10๋ฐ”์ดํŠธ๊นŒ์ง€ ์ถœ๋ ฅ

  • ls -al | cut -b -10 --complement

    • ์œ„์˜ ๊ฒฐ๊ณผ์™€ ๋ฐ˜๋Œ€๋กœ ์ถœ๋ ฅ

  • ls -al | cut -c 10

    • 10๋ฒˆ์งธ ๊ธ€์ž๋งŒ ์ถœ๋ ฅ

  • ls -al | cut -c 1-15

    • 1๋ถ€ํ„ฐ 15๋ฒˆ์งธ ๊ธ€์ž๊นŒ์ง€ ์ถœ๋ ฅ

9. tr

  • translate. ์–ด๋–ค ๋‚ด์šฉ์„ ๋ณ€ํ™˜ํ•œ๋‹ค.

  • head /etc/passwd | tr ':' '^โ€˜

    • ๋ชจ๋“  : ์„ ^์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

  • head /etc/passwd | tr [:lower:] [:upper:]

    • ๋ชจ๋“  ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

  • head /etc/passwd | tr -d ':'

    • ๋ชจ๋“  : ์„ ์ง€์šด๋‹ค.

  • head /etc/passwd | tr ':' '\n'

    • ๋ชจ๋“  :์„ ๊ฐœํ–‰๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

  • ls -al | tr -d [:blank:]

    • ๋ชจ๋“  ๊ณต๋ฐฑ๋ฌธ์ž์—ด์„ ์ง€์šด๋‹ค.

  • ls -al | tr -d [:space:]

    • ๋ชจ๋“  ๊ณต๋ฐฑ๋ฌธ์ž์—ด+๊ฐœํ–‰์„ ์ง€์šด๋‹ค.

  • ls -al | tr -s ' '

    • ๋ฐ˜๋ณต๋˜๋Š” ๊ณต๋ฐฑ์„ ์ง€์šด๋‹ค.

10. sed

  • stream editor

    • - {RANGE}p : range ๋‚ด์—์„œ print

    • - {RANGE}d : range ๋‚ด์—์„œ ์‚ญ์ œ delete

    • - /SEARCHPATTERN/p : print SEARCHPATTERN๊ณผ ๋งค์น˜๋˜๋Š” ๋ผ์ธ์„ ์ถœ๋ ฅ

    • - /SEARCHPATTERN/d : SEARCHPATTERN ๊ณผ ๋งค์น˜๋˜๋Š” ๋ผ์ธ์„ ์‚ญ์ œ

    • - s/REGEX/REPLACE/ : REGEX์— ๋งค์น˜๋˜๋Š” ๋ถ€๋ถ„์„ REPLACE๋กœ ๊ต์ฒด(substitute)

  • sed -n

    • sed ์ž์ฒด๋กœ ์›๋ž˜ ์ถœ๋ ฅ๋˜๋Š” ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ

  • head /etc/passwd | sed '1,3p'

    • 1๋ผ์ธ๋ถ€ํ„ฐ 3๋ผ์ธ๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

    • ๊ธฐ์กด์— head ๋ช…๋ น์–ด๋กœ ์ธํ•ด ์ถœ๋ ฅ์˜ˆ์ •์ด์—ˆ๋˜ ์›๋ž˜ 10๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ์— 1๋ผ์ธ๋ถ€ํ„ฐ 3๋ผ์ธ๊ฐ€์ง€ ํ•œ๋ฒˆ์”ฉ ๋” ์ถœ๋ ฅ๋œ๋‹ค.

  • head /etc/passwd | sed -n '1,3p'

    • 1๋ผ์ธ๋ถ€ํ„ฐ 3๋ผ์ธ๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

    • ๊ธฐ์กด์— head ๋ช…๋ น์–ด๋กœ ์ธํ•ด ์ถœ๋ ฅ์˜ˆ์ •์ด์—ˆ๋˜ ์›๋ž˜ 10๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ๋Š” ์ถœ๋ ฅํ•˜์ง€์•Š๊ณ  1๋ผ์ธ๋ถ€ํ„ฐ 3๋ผ์ธ ๊นŒ์ง€๋งŒ ์ถœ๋ ฅ๋œ๋‹ค.

  • head /etc/passwd | sed -n '/nologin/p'

    • nologin ๋‹จ์–ด๋ฅผ ํฌํ•จํ•œ ๋ผ์ธ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • head /etc/passwd | sed -n '/nologin/d'

    • nologin ๋‹จ์–ด๋ฅผ ํฌํ•จํ•œ ๋ผ์ธ์„ ์‚ญ์ œํ•œ ๋’ค ์ถœ๋ ฅํ•œ๋‹ค.

  • head /etc/passwd | sed -n '/bin:/p'

    • bin: ๊ฐ€ ํฌํ•จ๋œ ๋ผ์ธ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • head /etc/passwd | sed '/bin:/d'

    • bin: ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋œ ๋ผ์ธ์„ ์‚ญ์ œํ•˜๊ณ  ์ถœ๋ ฅํ•œ๋‹ค.

  • head /etc/passwd | sed 's/root/ROOT/'

    • ์ œ์ผ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” root์— ๋Œ€ํ•˜์—ฌ ROOT ๋กœ ๊ต์ฒดํ•œ๋‹ค.

  • head /etc/passwd | sed 's/root/ROOT/g'

    • ๋ชจ๋“  root์— ๋Œ€ํ•˜์—ฌ ROOT ๋กœ ๊ต์ฒดํ•œ๋‹ค.

  • head /etc/passwd | sed '3,5 s/:/==>/g'

    • 3๋ผ์ธ๋ถ€ํ„ฐ 5๋ผ์ธ๊นŒ์ง€์˜ ๋ฒ”์œ„ ์ค‘์—์„œ ๋ชจ๋“ (g) :์„ => ๋กœ ๊ต์ฒดํ•œ๋‹ค.

  • head /etc/passwd | sed -n '/games/,+2p'

    • -n : ์ „์ฒด๋ฅผ ์ถœ๋ ฅํ•˜์ง€์•Š๊ณ , ๋’ค์˜ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฒฝ์šฐ๋งŒ ์ถœ๋ ฅ

    • games ํ‚ค์›Œ๋“œ๋ฅผ ๊ฐ€์ง„ ๋ผ์ธ๋ถ€ํ„ฐ ๊ทธ ์ดํ›„์˜ 2๊ฐœ์˜ ๋ผ์ธ๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

11. awk

  • ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ script language

    • - -F : file seperator ์ง€์ •

    • - $1, $2, $3 .. : Nth field

    • - NR : number of records

    • - NF : number of fields

    • - FS : field seperator (default : white space)

    • - RS : record seperator (default : new line)

    • - OFS : output field seperator

    • - ORS : output record seperator

  • head /etc/passwd | awk '/nologin/ {print}'

    • "nologin" ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ผ์ธ์„ ์ถœ๋ ฅํ•œ๋‹ค.

  • head /etc/passwd | awk -F: '/nologin/ {print $1, $7 }'

    • seperator : ์„ ๊ธฐ์ค€์œผ๋กœ "nologin" ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ผ์ธ์— ๋Œ€ํ•˜์—ฌ ์ฒซ๋ฒˆ์งธ ํ•„๋“œ์™€ 7๋ฒˆ์งธ ํ•„๋“œ๋ฅผ ๊ฐ๊ฐ ์ถœ๋ ฅํ•œ๋‹ค.

  • head /etc/passwd | awk -F: '/nologin/ {print NR, $1 }'

    • seperator : ์„ ๊ธฐ์ค€์œผ๋กœ "nologin" ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ผ์ธ์— ๋Œ€ํ•˜์—ฌ ๋ผ์ธ ๋ฒˆํ˜ธ์™€ ์ฒซ๋ฒˆ์งธ ํ•„๋“œ๋ฅผ ์ถœ๋ ฅ

  • head /etc/passwd | awk -F: '/nologin/ {print $1, NF }'

    • seperator : ์„ ๊ธฐ์ค€์œผ๋กœ "nologin" ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ผ์ธ ์ค‘์—์„œ 1๋ฒˆ์งธ ํ•„๋“œ์™€ ๊ทธ ๋ผ์ธ์˜ ์ด ํ•„๋“œ ์ˆ˜๋ฅผ ์ถœ๋ ฅ

  • head /etc/passwd | awk -F: '/nologin/ {print $1 "->" $NF }'

    • seperator : ์„ ๊ธฐ์ค€์œผ๋กœ "nologin" ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ผ์ธ ์ค‘์—์„œ "1๋ฒˆ์งธ ํ•„๋“œ -> ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ํ•„๋“œ"๋ฅผ ์ถœ๋ ฅ

12. find

  • ๊ฒ€์ƒ‰

  • ์˜ต์…˜

    • -name, -regex, -empty, -size(-N, +N)

    • ํƒ€์ž…

      • -type d : directory

      • -type p : named pipe

      • -type f : regular file

      • -type l : softlink

      • -type s : socket

    • ๊ถŒํ•œ

      • -perm mode : ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ํŒŒ์ผ

      • -perm +mode : ๋ชจ๋“  flag๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ

      • -perm /mode : ์–ด๋–ค flag๋ผ๋„ ํฌํ•จ๋œ ํŒŒ์ผ

    • ๋ช…๋ น์–ด

      • -delete : ํŒŒ์ผ ์‚ญ์ œ

      • -ls : ls โ€“dils ๋ช…๋ น ์ˆ˜ํ–‰

      • -print : ํŒŒ์ผ ์ด๋ฆ„ ์ถœ๋ ฅ

      • -printf : ํŒŒ์ผ ์ด๋ฆ„์„ ํฌ๋งท์— ๋งž๊ฒŒ ์ถœ๋ ฅ

      • -exec : ์ฃผ์–ด์ง„ ๋ช…๋ น ์ˆ˜ํ–‰

      • -execdir : ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•˜์—ฌ ๋ช…๋ น ์‹คํ–‰

      • -ok : ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™•์ธ ํ›„ exec

      • -okdir : ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™•์ธ ํ›„ ์‹คํ–‰ execdir

  • find . -name "*.pyโ€œ

    • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ํŒŒ์ผ์ด๋ฆ„ ์ค‘ .py ๋ฅผ ํฌํ•จํ•œ ํŒŒ์ผ์„ ๋ชจ๋‘ ์ฐพ๋Š”๋‹ค.

  • find pwd -name โ€œ*.pyโ€

    • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ํŒŒ์ผ์ด๋ฆ„ ์ค‘ .py ๋ฅผ ํฌํ•จํ•œ ํŒŒ์ผ์„ ๋ชจ๋‘ ์ฐพ๋Š”๋‹ค.

  • find . -regextype egrep -regex '.*hash.*.c$'

    • hash ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๊ณ , ํ™•์žฅ์ž๊ฐ€ .c ๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์„ ์ฐพ๋Š”๋‹ค.

  • find . -empty

    • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋นˆ ํŒŒ์ผ์„ ๋ชจ๋‘ ์ฐพ๋Š”๋‹ค.

  • find . -type d

    • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐพ๋Š”๋‹ค.

  • find . -type f

    • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ชจ๋“  ํŒŒ์ผ์„ ์ฐพ๋Š”๋‹ค.

  • find . -perm 0644

    • ๊ถŒํ•œ์ด 644์ธ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ฐพ๋Š”๋‹ค.

  • find . -perm /u+x

    • ๊ถŒํ•œ์ด u+x ์ธ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ฐพ๋Š”๋‹ค.

  • find -perm /g+w

    • ๊ถŒํ•œ์ด g+w ์ธ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ์ฐพ๋Š”๋‹ค.

  • find -type f -perm 644 -printf '%f-%i\n'

  • find -type f -name "*.log" -exec stat {} \;

    • ํŒŒ์ผ๋ช…์— .log ๊ฐ€ ์กด์žฌํ•˜๋Š” ํŒŒ์ผ๋“ค์— ๋Œ€ํ•ด์„œ stat ์„ ์ถœ๋ ฅํ•œ๋‹ค.

  • find . -type f -perm 755 -execdir pwd ; | uniq

  • find . -type f -name "README" -ok rm {} ;

    • ํŒŒ์ผ๋ช…์ด README ์ธ ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌผ์–ด๋ณธ ๋’ค, ์‚ญ์ œ

13. grep

  • ํŒŒ์ผ ๋‚ด์šฉ ์ค‘ ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ์ฐพ๋Š”๋‹ค.

  • grep [options] PATTERN [FILE...]

    • -r : recursive

    • -i : ignore case

    • -v : invert match. ๋งค์น˜๊ฐ€ ์•ˆ๋˜๋Š” ๊ฒƒ์„ ์กฐํšŒ

    • -q : quiet mode. ๊ฒ€์ƒ‰์ด ์„ฑ๊ณตํ–ˆ์„ ๋•Œ, exit status ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ฒฐ๊ณผ๊ฐ’ ๋ง๊ณ , ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋งŒ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์ด์šฉํ•œ๋‹ค.

  • grep "run" *.log | awk -F: '{ print $1 }' | sort -u

    • run ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๊ณ 

    • ํ™•์žฅ์ž๊ฐ€ .log ์ธ ํŒŒ์ผ๋“ค ์ค‘์—์„œ

    • : ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ฒซ๋ฒˆ์งธ ๋ณ€์ˆ˜๋ฅผ ํ”„๋ฆฐํŠธํ•œ ๊ฒฐ๊ณผ๋ฅผ unique ํ•˜๊ฒŒ ์ •๋ ฌํ•œ๋‹ค.

  • grep run *.log -q / grep dkahkdlshksld *.log

    • run ํ‚ค์›Œ๋“œ๊ฐ€ ํฌํ•จ๋˜์—ˆ๊ณ  + ํ™•์žฅ์ž๊ฐ€ log ์ธ ํŒŒ์ผ๋“ค์„ ์กฐํšŒํ•œ๋‹ค.

    • -q : ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ํ”„๋ฆฐํŠธํ•˜์ง€ ์•Š๊ณ , ์„ฑ๊ณต๊ณผ ์‹คํŒจ (0๊ณผ 1)๋กœ๋งŒ ๋ฐ˜ํ™˜ํ•˜๋˜ ํ”„๋ฆฐํŠธํ•˜์ง€ ์•Š๋Š”๋‹ค.

      • ์ด๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” echo $? ๋กœ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • grep "<run>" *.log

    • run ์ด๋ผ๋Š” ๋‹จ์–ด์™€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ๋‚ด์šฉ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • grep "^run" *.log

    • run ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋‚ด์šฉ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • grep "^static.*(void)$" *.c

    • static ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ์ž„์˜์˜ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋‹ค๊ฐ€ (void)๋กœ ๋๋‚˜๋Š” ๋‚ด์šฉ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • apropos [keyword]

    • = man -k [keyword]

    • man page ์— ํฌํ•จ๋˜์–ด์žˆ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ฐพ๋Š”๋‹ค.

  • apropos pthread -s 7

    • ํƒ์ƒ‰ํ•  ์„น์…˜์„ ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž…๋ ฅ

  • apropos '^sem_'

    • sem_ ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ช…๋ น์–ด์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ฐพ๋Š”๋‹ค.

  • apropos '.*'

  • apropos '.*' -s 5:6:7

    • ํƒ์ƒ‰ํ•  ์„น์…˜์„ ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž…๋ ฅ

14. locate

  • ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„ ๋ณด์—ฌ์ค€๋‹ค. ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ.

  • ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•ด์„œ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ ์‹œ์ž‘์‹œ์— updatedb ์— ๋ฏธ๋ฆฌ ํŒŒ์ผ์˜ ์œ„์น˜์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธ์‹œ์ผœ๋†“๋Š”๋‹ค.

  • locate ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด, updatedb ๊ฐ€ ์ €์žฅํ•ด๋†“์€ db ํŒŒ์ผ ๋‚ด์—์„œ ๊ฒ€์ƒ‰ํ•˜๋ฏ€๋กœ ๋ˆ„๋ฝ ํŒŒ์ผ์ด ์ƒ๊ธธ์ˆ˜๋„ ์žˆ๋‹ค.

  • ์—…๋ฐ์ดํŠธ ์‹œ์ ์€ cron ์„ ์ด์šฉํ•ด์„œ OS ๊ฐ€ ์ง„ํ–‰ํ•œ๋‹ค.

  • locate -i

    • ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด ๊ฒ€์ƒ‰

  • locate -l 10

    • ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ LIMIT ๊ฐœ์ˆ˜ ๋งŒํผ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • locate -n 10

    • ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ 10๊ฐœ ๋งŒํผ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • locate --regex "/usr/src/.*\<main.c$"

    • PATTERN ์— ๋งž๋Š” ํŒŒ์ผ๋“ค์„ ์ฐพ์•„ ์œ„์น˜ ์ถœ๋ ฅ

15. which

  • ์‹คํ–‰ ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํŒŒ์ผ์€ ๊ฒ€์ƒ‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

  • which ls / which chmod

    • ๋ช…๋ น์–ด์— ํ•ด๋‹นํ•˜๋Š” ์‹คํ–‰ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ํ”„๋ฆฐํŠธํ•œ๋‹ค.

  • which ls strace chmod

    • ๋‘ ์‹คํ–‰ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ๋™์‹œ์— ๋ณด์—ฌ์ค€๋‹ค.

16. ps

  • process status ์ถœ๋ ฅ

    • -e : all processes

    • -f : full-format

    • -L : print including thread

    • --forest : tree type print

    • -o : output formatting

    • --sort : sorting

  • <output ์ปฌ๋Ÿผ>

    • TTY : terminal

    • c : cpu load - cpu์˜ ๋ช‡ %๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š”์ง€

  • ps -ef

    • ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ full format ์œผ๋กœ ์ถœ๋ ฅ

  • ps -ef | grep java

    • ๋ณดํ†ต ์„œ๋ฒ„์—์„œ ์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ์„ ๋•Œ, ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

  • ps --ppid 1033 -f

    • ์ž์‹์˜ ํ”„๋กœ์„ธ์Šค ์•„์ด๋””๊ฐ€ 1033 ์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ full format ์œผ๋กœ ์ถœ๋ ฅ

  • ps -ef --forest

    • ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ

  • ps -eF --sort=%mem | head

    • memori utilization ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ 10์ค„ ๊นŒ์ง€๋งŒ ์ถœ๋ ฅํ•˜๋ผ

    • -F : ์ข€ ๋” ๋งŽ์€ ์ปฌ๋Ÿผ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

  • ps -eF --sort=-%mem

    • -%mem : ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๊ฒƒ๋ถ€ํ„ฐ ์ถœ๋ ฅ (๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅ)

  • ps -eo,pid,c,user,args --sort pid

    • -o : output ์„ pid, c, user, args ๋งŒ ์ถœ๋ ฅํ•˜๋ผ

17. top

  • ํ”„๋กœ์„ธ์Šค๋ฅผ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ n๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์กฐํšŒ/๋ชจ๋‹ˆํ„ฐ๋ง

  • <COMMANDS>

    • space : update

    • q : quit

    • c : full command line search

    • 1(number) : ๋ชจ๋“  CPU ์ƒํƒœ๋ฅผ ์กฐํšŒํ•œ๋‹ค.

  • <SORTING>

    • M : memory usage

    • P : CPU usage

    • N : process ID

    • T : running time

    • R : reverse order

18. lsof

  • ์—ด๋ ค์žˆ๋Š” ํŒŒ์ผ (์ผ๋ฐ˜ํŒŒ์ผ, ์†Œ์ผ“, ๋””๋ฐ”์ด์Šค ๋“ฑ) ๋ชฉ๋ก์„ ์กฐํšŒํ•œ๋‹ค. (=ls opened file)

    • -U : unix domain socket

    • -i : internet domain socket

    • -p : specific pid

    • -u : user ID

  • lsof -U : unix domain

  • lsof -i 4 : ipv4 only

  • lsof -i tcp : tcp only

  • lsof -u `whoami` : ํ˜„์žฌ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž ์†Œ์œ ์˜ ์—ด๋ฆฐ ํŒŒ์ผ์ •๋ณด ์กฐํšŒ

  • lsof -c Xorg : Xorg ๊ฐ€ ์—ด๊ณ ์žˆ๋Š” ํŒŒ์ผ๋“ค

19. netstat

  • ๋„คํŠธ์›Œํฌ/์†Œ์ผ“ ์ƒํƒœ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ํˆด

    • -a : all types of port

    • -n : numerical address

    • -t : TCP socket only

    • -u : UDP socket only

    • -x : unix domain socket only

    • -l : listening socket only

    • -p : pid

    • -r : routing table

    • -s : network statistics

  • netstat -an : ์ „์ฒด๋ฅผ ์ถœ๋ ฅํ•˜๋˜, ์ˆซ์ž ์ฃผ์†Œ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

  • netstat -t

  • netstat -p : ๋’ค์— pid ๋ฐ program name ์ด ์ถœ๋ ฅ๋จ

  • netstat -s : ํ”„๋กœํ† ์ฝœ๋ณ„๋กœ ํ†ต๊ณ„์ •๋ณด ์ถœ๋ ฅ

  • netstat -r : ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

20. sysctl

  • ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹œ์Šคํ…œ ์„ค์ •์„ ์กฐํšŒ, ์„ค์ •ํ•œ๋‹ค. ์œˆ๋„์šฐ์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์™€ ๋น„์Šทํ•œ ์„ค์ •๋ฐฉ๋ฒ•์ด๋‹ค.

    • -w : set value

    • -r : variable search pattern

  • sysctl -a | grep net

    • -a : all variables

  • sysctl -a -r 'net' --names

    • -N : print variable only

  • sysctl -a -r 'net' -values

    • -n : print value only

  • sysctl -w net.ipv4tcp_syn_retries=4

    • ํŠน์ • ์„ค์ •๊ฐ’์„ 4๋กœ ๋ณ€๊ฒฝ

21. df

  • disk ์˜ ์‚ฌ์šฉ๋Ÿ‰์„ ์กฐํšŒํ•œ๋‹ค.

  • df -a

    • -a : ๋ชจ๋“  ๊ฒƒ์„ ์ถœ๋ ฅ

  • df -h

    • -h : human readable ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ

  • df -t ext4

    • -t : ์ง€์ •๋œ ํŒŒ์ผ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด์„œ๋งŒ ์ถœ๋ ฅ

  • df FILE

22. du

  • ํŠน์ • ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” disk usage ๋ฅผ ์กฐํšŒํ•œ๋‹ค.

  • du -a : all files including directories

  • du -b L byte

  • du -h : human readable

  • du -d --maxt-depth=N : set max depth

  • du -c : total sum

  • du -s : summary

23. dmidecode

  • SMBIOS ์กฐํšŒ ํˆด

    • DMI (Desktop Management Interface)

    • SMBIOS (System Management BIOS) : BIOS ๊ฐ€ ์ƒ์„ฑํ•œ ์‹œ์Šคํ…œ ํ•˜๋“œ์›จ์–ด ์ •๋ณด. (old name : DMIBIOS)

  • dmidecode -t bios

    • ์ง€์ •๋œ ํƒ€์ž…๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

  • dmidecode -s system-uuid

    • ์ง€์ •๋œ ํ‚ค์›Œ๋“œ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

24. free

  • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์กฐํšŒ ํˆด

  • cat /proc/meminfo ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐํšŒ

  • free -w -h

    • -w :

    • -h " human readable output

  • free -s 1 -c 10 -h

    • -s N : --seconds N. N์ดˆ๋งˆ๋‹ค ๋ฐ˜๋ณต ์ถœ๋ ฅ

    • -c N : --count N. NํšŒ ์ถœ๋ ฅ ํ›„ ์ข…๋ฃŒ

25. lscpu

  • cpu ๊ตฌ์กฐ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

  • -e, --extended : extended readable format

  • -p, --parse : parsable format

  • lscpu

  • lscpu -e

  • lscpu -e=SOCKET,CORE,CPU

  • lscpu -p=SOCKET,CORE,CPU

์ฐธ๊ณ ) ์š”์ฆ˜ ์ปดํ“จํ„ฐ์˜ CPU

  • ์š”์ฆ˜ ์ปดํ“จํ„ฐ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค.

    • processor : 1๊ฐœ

    • core : 2๊ฐœ

    • thread : 4๊ฐœ -> ์ด๊ฒƒ์„ ๋‘๊ณ  CPU๊ฐ€ 4๊ฐœ์ด๋‹ค๋ผ๊ณ  ๋งํ•œ๋‹ค.

  • ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ

    • L1 : ์ฝ”์–ด ๋‚ด์—์„œ๋งŒ ๊ณต์œ ๋˜๋Š” ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ

    • L2 : ์ฝ”์–ด๋“ค๊ฐ„ ๊ณต์œ ๋˜๋Š” ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ

    • L3

root@e6e99a9b4209:/# lscpu
Architecture:           x86_64
  CPU op-mode(s):       32-bit, 64-bit
  Address sizes:        39 bits physical, 48 bits virtual
  Byte Order:           Little Endian
CPU(s):                 8    //processor or core ๊ฐ€ ์•„๋‹Œ logical ํ•œ cpu ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. (thread)
  On-line CPU(s) list:  0-7
Vendor ID:              GenuineIntel
  Model name:           Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    CPU family:         6
    Model:              158
    Thread(s) per core: 1  //hyper thread ๊ฐ€ ์ ์šฉ ์•ˆ๋˜์–ด์žˆ๋Š” core ์ž„! 
    Core(s) per socket: 1
    Socket(s):          8
    Stepping:           13
    BogoMIPS:           4600.00
    Flags:              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht pbe syscall nx pdpe1gb lm co
                        nstant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq dtes64 ds_cpl ssse3 sdbg fma cx16 xtpr pcid sse4_1 sse4_2 movbe p
                        opcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase bmi1 avx2 bmi2 erms xsaveopt arat
    //flags : intel ์—์„œ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ๋ชฉ๋ก                         
Caches (sum of all):
  L1d:                  256 KiB (8 instances)    //d : data
  L1i:                  256 KiB (8 instances)    //i : instruction 
  L2:                   2 MiB (8 instances)
  L3:                   128 MiB (8 instances)
Vulnerabilities:
  Itlb multihit:        KVM: Mitigation: VMX unsupported
  L1tf:                 Mitigation; PTE Inversion
  Mds:                  Vulnerable; SMT Host state unknown
  Meltdown:             Vulnerable
  Mmio stale data:      Vulnerable
  Spec store bypass:    Vulnerable
  Spectre v1:           Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
  Spectre v2:           Vulnerable, STIBP: disabled
  Srbds:                Unknown: Dependent on hypervisor status
  Tsx async abort:      Not affected

  
root@e6e99a9b4209:/# lscpu -e
CPU SOCKET CORE L1d:L1i:L2:L3 ONLINE
  0      0    0 0:0:0:0          yes
  1      1    1 1:1:1:1          yes
  2      2    2 2:2:2:2          yes
  3      3    3 3:3:3:3          yes
  4      4    4 4:4:4:4          yes
  5      5    5 5:5:5:5          yes
  6      6    6 6:6:6:6          yes
  7      7    7 7:7:7:7          yes
  
root@e6e99a9b4209:/proc# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 158
model name	: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
stepping	: 13
cpu MHz		: 2300.000
cache size	: 16384 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht pbe syscall nx pdpe1gb lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq dtes64 ds_cpl ssse3 sdbg fma cx16 xtpr pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase bmi1 avx2 bmi2 erms xsaveopt arat
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data
bogomips	: 4600.00
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6

Last updated