๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ Linux Programming/with Docker

[Linux] ๋ฆฌ๋ˆ…์Šค ์‰˜ ๋ช…๋ น์–ด์™€ ์˜ต์…˜(clear, ps -aux, ps -ef, top, kill PID, bg, fg, history, !!, !,↑,↓, <tab>, alias, find, grep, nano) + ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ช…๋ น์–ด(echo, env, set) + ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ž๋™์„ค์ •

by A Lim Han 2022. 10. 19.

3. ๋ฆฌ๋ˆ…์Šค ์‰˜ ๋ช…๋ น์–ด์™€ ์˜ต์…˜(clear, ps -aux, ps -ef, top, kill PID, bg, fg, history, !!, !,↑,↓, <tab>, alias, find, grep, nano) + ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ช…๋ น์–ด(echo, env, set) + ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ž๋™์„ค์ •

 

 

 

# Linux ์‰˜ ๋ช…๋ น์–ด_3

1. ํ™”๋ฉด ๋ฐ ์ฝ˜์†” ์ •๋ฆฌ ๋ช…๋ น์–ด

$ clear

 

clear ๋ช…๋ น์–ด ์ž…๋ ฅ ์ „

 

clear ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„

 

 

 

2. ํ”„๋กœ์„ธ์Šค ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ ๋ช…๋ น์–ด

$ ps -aux

 

$ ps -ef

+ ๋„์ปค์˜ docker ps -a ์˜ ์—ญํ• ๊ณผ ์œ ์‚ฌ

 

 

$ top

: ์‹ค์‹œ๊ฐ„ ํ”„๋กœ์„ธ์Šค ์ ์œ ์œจ ์กฐํšŒ ๋ช…๋ น์–ด

+ '1'  -->  ์ „์ฒด CPU, ์ฝ”์–ด๋ณ„ ์ ์œ ์œจ

 

 

 

3. ํ”„๋กœ์„ธ์Šค ์‚ญ์ œ ๋ช…๋ น์–ด

$ kill PID

+ PID๋Š” Process ID

 

$ kill  -9  PID

 

 

$ bg

: ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋ณด๋‚ด๊ธฐ

 

$ fg

: ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ๋ณด๋‚ด๊ธฐ

ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—†์–ด 'no such job'์ด ์ถœ๋ ฅ๋จ

 

 

$ apt update > sample.txt &

: ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰

 

 

 

4. ์ž…๋ ฅํ•œ ๋ช…๋ น์–ด์˜ ํžˆ์Šคํ† ๋ฆฌ ์ถœ๋ ฅ ๋ช…๋ น์–ด

$ history

: ์ „์ฒด ํžˆ์Šคํ† ๋ฆฌ ์ถœ๋ ฅ

 

 

$ history  [n] 

: ์ตœ๊ทผ n๊ฐœ์˜ ๋ช…๋ น์–ด ํžˆ์Šคํ† ๋ฆฌ๋งŒ ์ถœ๋ ฅ

 

 

$ !! 

: ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ๋ช…๋ น์–ด๋ฅผ ๋‹ค์‹œ ์‹คํ–‰

๊ฐ€์žฅ ์ตœ๊ทผ์˜ ๋ช…๋ น์–ด์ธ mkdir ์„ ๋‹ค์‹œ ์‹คํ–‰

 

 

$ ! [์ˆซ์ž]

: ํžˆ์Šคํ† ๋ฆฌ ์ƒ์˜ ์ˆซ์ž์— ํ•ด๋‹นํ•˜๋Š” ๋ช…๋ น์–ด ๋‹ค์‹œ ์‹คํ–‰

+ ! ๊ณผ ์ˆซ์ž ์‚ฌ์ด์— ๋„์–ด์“ฐ๊ธฐ X

 

 

 

++ ์ด ์™ธ์—๋„ ํ‚ค๋ณด๋“œ์˜ ↑ ํ‚ค์™€ ↓ ํ‚ค๋Š” ์ด์ „ ๋ช…๋ น์–ด๋ฅผ ์ถœ๋ ฅํ•จ

 

++ ํ‚ค๋ณด๋“œ์˜ <tab>ํ‚ค๋Š” ๊ธ€์ž ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ ์ง€์›

cl ๊นŒ์ง€๋งŒ ์ž…๋ ฅ ํ›„ <tab>ํ‚ค ํด๋ฆญ
๊ธ€์ž ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ ํ™•์ธ ๊ฐ€๋Šฅ

 

 

 

5. ๋ช…๋ น์–ด ์ค„์ž„ ์‹คํ–‰ ์ง€์ • ๊ธฐ๋Šฅ

$ alias [์ค„์ž„ ๊ธฐํ˜ธ] = '์ค„์ด๊ณ  ์‹ถ์€ ๋ช…๋ น์–ด'

clear ๋ช…๋ น์–ด๋ฅผ '+' ๊ธฐํ˜ธ๋กœ ์ค„์ž„

 

 

 

6. ํŒŒ์ผ, ํด๋” ํƒ์ƒ‰ ๋ช…๋ น์–ด

$ find / -name [ํŒŒ์ผ๋ช…]

findwho&nbsp; ํŒŒ์ผ ์ฐพ๊ธฐ

 

 

$ find / -name [ํŒŒ์ผ๋ช…์˜ ์ผ๋ถ€] * 

 

 

$ find / -name [ํŒŒ์ผ๋ช… ์ค‘ ํ•œ ๊ธ€์ž]

 

 

 

7. ํŒŒ์ผ ๋‚ด์šฉ์—์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ–‰์„ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด

$ grep  -i  [๊ฒ€์ƒ‰ํ•  ๋ฌธ์ž์—ด] [ํŒŒ์ผ๋ช…]

 

ex) tester ํŒŒ์ผ์—์„œ grep ๋ช…๋ น์–ด ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

tester ํŒŒ์ผ ์† ๋ฌธ์ž์—ด
a ์™€ boy ๋ฅผ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ๋กœ ํ•˜์—ฌ ๋ช…๋ น์–ด ์‚ฌ์šฉ

 

 

 

8. ํŒŒ์ผ ์† ๋ฌธ์ž์—ด ์ถ”๊ฐ€ ๋ช…๋ น์–ด

$ nano [ํŒŒ์ผ๋ช…]

 

-->  control + O : ์ €์žฅ

-->  control + X : ์ข…๋ฃŒ

 

 

 

9. ํŒŒ์ดํ”„(  ) ๋ช…๋ น์–ด

: ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ์—ฐ๊ฒฐ ๋ช…๋ น์–ด

 

ex) 

$ ps -aux  grep bash

-->  ํ”„๋กœ์„ธ์Šค ๋ฆฌ์ŠคํŠธ ์ค‘ bash ๋ผ๋Š” ๊ธ€์ž๊ฐ€ ์žˆ๋Š” ๋ผ์ธ๋งŒ ์ถœ๋ ฅ

 

 

 

 

# ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ( Environment Variable )

: ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

+ ๊ด€๋ก€์ ์œผ๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ช…์€ ๋Œ€๋ฌธ์ž

 

 

- ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ฐ’ ํ™•์ธ

$ echo $SAMPLE

 

$ echo %SAMPLE%

 

 

 

- ์ „์ฒด ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋‚ด์šฉ ์ถœ๋ ฅ

$ env

 

 

$ set

 

 

 

- ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ž๋™ ์„ค์ •

A. ์ผ๋ฐ˜์ ์ธ ์šฐ๋ถ„ํˆฌ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ

: ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ~/.bashrc ์ด๋‚˜ ~/.profile ์— export SAMPLE=test ์ง€์ •  -->  source ~/.bashrc  ์ด๋‚˜ source ~/.profile ๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋ฐ˜์˜

 

ex) 

1. ๋ช…๋ น ํ”„๋กฌํฌํŠธ์— nano $HOME/.bashrc ์ž…๋ ฅ

 

 

2. ์ž…๋ ฅ ํ›„ ์ถœ๋ ฅ๋˜๋Š” ์ฐฝ์˜ ์ฝ”๋“œ ๋งจ ์•„๋ž˜ export SAMPLE=/test ์ถ”๊ฐ€  -->  control + O ์™€ control + X ๋ˆ„๋ฅด๊ณ  ํƒˆ์ถœ

 

 

3. ๋ช…๋ น ํ”„๋กฌํฌํŠธ์— $ source $HOME/.bashrc ์™€ $ echo $SAMPLE ์„ ์ฐจ๋ก€๋กœ ์ž…๋ ฅ ํ›„ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์ธ 

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ ์ „

 

ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ ํ›„

 

 

 

B. ๋„์ปค ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ

: ๋„์ปค์—์„œ๋Š” .bashrc ์ด๋‚˜ .profile ์ด ์ž๋™์œผ๋กœ ์‹คํ–‰ X

: ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ž„์˜๋กœ ์ง€์ •ํ•˜๋ ค๋ฉด $ docker run --env SAMPLE=test --name=ubuntu1 ubuntu

-->  ENV SAMPLE=test ๊ณผ์ •์„ ๊ฑฐ์ณ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ