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)


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안에 있는 파일들은 항상 자동으로 실행됨

Tags:

Categories:

Updated: