
생활코딩 - Linux 을 듣고 정리한 내용입니다.
가전제품을 껐다가 켰다가 (open, close) ➡️ ls, rm, mkdir 만들었다가 삭제했다가
다만 daemon, server에서는
ex) 주소창에 www.naver.com 입력하고 enter 클릭할 시, 웹 페이지가 화면에 출력된다.
➡️ 인터넷 넘어서 서버가 있다.
➡️ 그러므로, 서버에서는 daemon, service 형태의 소프트웨어가 존재해야 한다.
apache: web server 중에 대표적인 것- mac에서는 기본적으로
apache가 설치되어 있다.
apachectl -v : apache 버전 확인
✔️ etc 디렉터리 안에 apache2가 존재
daemon 관련 설정 파일들이 모여있다.
sudo apachectl start : apache 실행
sudo apachectl stop : apache 종료
etc/rc3.d/에 자동으로 실행시키고 싶은 프로그램의 링크를 걸면 된다.
etc/rc5.d/ : OS가 GUI 방식으로 구동된다면 여기다가 링크를 걸면된다.
S로 시작하면 시작K로 시작하면 현재 시작하지 않는다.
- service on, off 는 중요하다!
cron: 정기적으로 종료, 전송, 조정할 때 이러한 작업들을 처리해야할 때cron을 사용시 해결할 수 있다.
crontab -e : 정기적으로 하고자 하는 일들을 정의할 시 cron이라는 프로그램이 동작하여 정의한 내용들을 실행시켜준다.
m h dom mon dow command
m : 분해주기, 분당 몇번 실행시키는지 (10 : 10분, */1 : 1분에 한번)
h : 시간 (* : 시간 관계 없이, 10 1 : 1시 10분에 실행)
dom : day of month, 달의 날 (24 : 매달 24일)
mon : month
dow : 요일
command : 명령어 (위시간에 매번 실행되는 명령어)
✔️ date
date : 현재 시간
date > date.log : date기록을 date.log 파일에 저장
date >> date.log : date 실행 결과가 date.log 끝에 추가된다.
tail -f 파일이름 : 자동으로 파일을 감시하고 있다가 뒤쪽의 텍스트가 추가되면 자동으로 화면으로 refresh해준다.(띄워준다.)
✔️ 리눅스 vi 명령어
명령 모드
Gdd3ddpxdwuo$a
마지막행 모드
wqwqset nu?문자열/문자열
✔️ 위에서 공부한 내용 테스트
crontab -e 로 cron에 진입
vi 편집기 실행됨*/1 * * * * date >> date.log를 입력 : 1분마다 date 결과를 date.log에 기록하겠다.(추가됨)
crontab -l로 cron에 입력한 내용들을 확인해본다.
최종 입력 결과 확인
cd ~ : 홈 디렉터리로 이동한다.
tail -f date.log : 자동으로 date.log 파일을 감시하고 있다가 뒤쪽의 텍스트가 추가되면 자동으로 화면으로 refresh해준다.(띄워준다.)
✔️ 명령어 추가
*/1 * * * * date >> date.log + 2>&1
2> : 표준 error를 어디로 이동시킨다.(redirection)
1> : 표준 1를 어디로 이동시킨다.(redirection)
🔔 crontab 정리
![]()
crontab -e: vi 편집기에 진입하여 명령어를 시간에 맞게 지정할 수 있다.crontab -l: 현재 등록한cronlist들을 출력해준다.crontab -r:cron에 입력한 명령어들을 삭제한다.
✔️ email을 보낼 때
saved를 어딘가에(db?)에 기록해놓고 작업을 끝냈다고 알림을 보낸다. (사용자는 서버가 보낸 알림을 통해 '이메일이 전달됬구나' 라고 확인할 수 있다.)
Cron이 Saved가 기록한 정보들을 확인한다.Saved에 데이터들이 추가되었다면, 정보들을(데이터들을) 백그라운드로 수많은 이메일들을 보내는 작업을 진행한다. (background : client화면에 보이지 않게)background 특징처럼, Cron이 실행될 때 client는 다른작업을 할 수 있다.
cron은 많은 곳에서 사용된다!
Shell start up 설정(script):Shell이 실행되었을 때 특정 명령어가 자동으로 실행
alias : 명령어의 별명을 붙여줄 때 사용한다.
ex)
alias c='clear' : clear → c
alias ..='cd ..' : cd .. → ..