11. Directory Structure
home
-
cd /home/user1
-
cd ~
- / : root
- /bin : user binaries
- /sbin : system binaries
- /etc : configuration files
- /var : variable files
12. Computer Structure
- Storage : SSD, HDD
- cheap ( 저장 용량 커 )
- 속도 느려
- Memory : RAM
- expensive ( 저장 용량 낮아 )
- 속도 빨라
- Processor : CPU
파일 형태로 저장 되어 있는 것은 program,
processor에 의해 실행되고 있는 상태는 process!
Process 확인하기
-
ps
: 실행 중인 process 간단 보여줌 -
ps aux
: (background 포함) 실행중인 모든 process 상세히 보여줌 ps aux | grep apache
: apache라는 텍스트를 포함하고 있는 process 보여줌sudo htop
: 보다 graphical하게 확인하기
13. File Find
파일의 2가지 용도
-
데이터 보관을 위한 용도
-
명령/실행파일 보관을 위한 용도
locate *.log
- locate : 디렉토리를 뒤지지 않는다. database를 뒤진다.
- log 확장자 전부 찾기
(sudo) find / -name *.log
-
find : 디렉토리를 뒤진다 ( 더 느릴 수 밖에 )
-
root directory (/)에서 부터 찾는다
( ~ : home directory에서 부터 찾는다 )
-
log 확장자 전부 찾기
whereis
- 실행 파일을 찾아줌
whereis ls
ls
라는 명령어가 어느 경로에 있는지 알려줌
- $PATH라는 변수로 인해, 어느 경로에서
ls
를 실행하든간 문제 X (echo $PATH
)
14. Background execution
( background & foreground 프로그램 )
- 백그라운드로 옮기기 :
Ctrl+Z
- 포그라운드로 다시 옮기기 :
fg
jobs
: 어떤 프로그램이 실행되는지 확인할 수 있음
- (+) 표시 :
fg
를 누를 경우, 포그라운드로 오게되는 프로그램 (1순위) - (-) 표시 : ~ (2순위)
- …
kill %4
: [4] 프로그램 (정상) 종료하기
kill -9 %4
: [4] 프로그램 (강제) 종료하기
15. daemon
냉장고 vs TV
- 냉장고 : “항상 켜져 있다” = daemon
- TV : “필요할때만 킨다”
daemon은 “항상 실행되고 있다”
- ls, mkdir, rm 등 (X)
- server (O)
16. Web Server 설치해보기
sudo apt-get installa apache2
- 아파치 설치하기
cd /etc/init.d/
- apache가 잘 설치된 것을 확인할 수 있다.
init.d
: daemon 프로그램들이 위치한 directory
sudo service apache2 start
- 아파치 실행하기
ps aux | grep apache2
- 아파치가 잘 실행되고 있음을 확인
sudo service apache2 stop
- 아파치 서버 끄기
daemon에 해당하는 프로그램은, service
를 통해 start / stop 해야한다.
( 참고로 컴퓨터를 킬 때, 자동으로 daemon은 실행되어야 한다. )
17. CRON
CRON = 정기적으로 명령을 실행시켜주는 도구
crontab -e
- 원하는 editor 선택하기
- m/h/dom/mon/dow
- m = minute (0-59)
- 10 : 매 시 10분마다
- */20 : 매 20분마다
- h = hour (0-23)
- 22 : 매 22시마다
- * : 매 시마다
- dom = day of month (1-31)
- 25 : 매달 25일마다
- mon = month (1-12)
- 11 : 매 11월마다
- dow = day of week (0-6)
- m = minute (0-59)
ex) 매분마다 date.log에 날짜 (누적해서) 찍어주기
- 에러가 안나면 date.log에
- 에러가 난다면, 표준 출력으로!
- 1=표준출력
- 2=표준에러
*/1 * * * * date >> date.log 2>&1
14. Startup Script
접속 시, shell에서 특정 명령어가 실행되도록!
alias
: 별명
alias l='ls -al'
- 앞으로
l
로 간단히 작성 가능!
- 앞으로
echo $SHELL
- 현재 사용중인 shell을 알려줌
- ex)
bash
- bash 쉘 실행 시, home directory에 있는
.bashrc
안에 있는 파일들은 항상 자동으로 실행됨
- bash 쉘 실행 시, home directory에 있는