
앞의 프로그램을 쓰다가 뒤에 있는 프로그램, 즉 background(백그라운드)에서 실행되던 프로그램은 앞으로 오면서 foreground(포그라운드) 프로그램이 되고, 앞에 있던 건 background(백그라운드)가 된다. nano라는 명령어를 치고, 에디터를 편집한 후 hello.html로 저장한다. 이 hello.html라는 파일을 끄지 않은 상태에서 다른 작업을 하고 싶다면 control + z를 누르면 할 수 있다. 이 상태에서 fg(foreground)라는 명령어를 입력하게 되면 hello.html이 다시 켜지게 된다. jobs라는 명령어를 치면 나노라는 프로그램이 백그라운드로 실행되고 있다는 창이 뜬다. 여기서 vim이라는 나노와의 라이벌인 에디터를 실행시켜보자. 여기서 control + z를 누르면 다른 명령어를 실행시킬 수 있는 상태가 된다. 그럼 vim은 백그라운드로 간다. 만약 vim의 숫자가 2인 상태일 때 vim을 실행 시키고 싶다면 fg %2라는 명령을 입력하면 된다. 만약 vim을 죽이고 싶다면 kill %2라는 명령을 입력하면 된다. 그래도 안된다면 kill -9 %2를 치면 완벽하게 종료를 할 수 있다. 프로그램이 실행할 때부터 백그라운드로 보내고 싶을 때는 ls -R라는 옵션을 검색하면 되는데 자신이 지정한 디렉토리 밑에 있는 모든 디렉토리를 뒤져서 파일과 디렉토리를 보여준다. ls -R / > result.txt 2> error.log라는 명령은 실행된 결과를 result.txt라는 파일에 저장하고 에러가 있다면 error.log에 저장이 된다. ls -alR / > result.txt 2> error.log &라는 명령은 즉각, 실행이 백그라운드로 가면서 그 다음 명령을 입력할 수 있는 상태가 된다.
daemon의 특성은 항상 실행되고 있다는 점이다. 하지만 ls, rm, mkdir이라는 실행 프로그램은 끌 수 있지만 daemon은 항상 실행한다는 차이점이 있다.
웹 서버의 대표적인 것으로 아파치라는 웹 서버가 있다. sudo apt-get install apache2라고 하면 아파치라는 웹 서버를 설치하게 된다. 아파치는 cd /etc/init.d/라는 명령을 치면 아파치의 위치를 볼 수 있다. 이 명령은 데몬 프로그램의 디렉토리를 보여준다. sudo service apache2 start라고 명령어를 치면 아파치가 켜진다. 끄고 싶다면 sudo service apache2 stop이란 명령을 치면 된다. 이런 데몬들은 자동으로 켜져야 하기 때문에 cd ..라는 명령을 치고, cd r이라고 치면 rc3.d라는 디렉토리와 rc5.d라는 디렉토리가 있는데 rc3.d 디렉토리는 우리가 지금 운영체제를 콘솔로 구동하고 있는 경우이고, GUI방식으로 구동 중이면 rc5.d 디렉토리이다. 바로 가기의 이름 앞에 S라고 시작된다면 이 프로그램은 rc3.d 디렉토리에 있어서 콘솔로 부동된다는 뜻이다. k로 시작하는 이름은 프로그램은 자동으로 실행되지 않는다는 뜻이다.
cron은 정기적으로 명령을 실행시켜주는 소프트웨어이다. 데이터를 정기적으로 백업하거나 전송하는 경우에 사용한다. crontab -e라고 명령을 치면 하고자 하는 일을 정의할 수 있다.에디터는 편한 에디터의 숫자를 선택하면 된다. 정기적으로 하고 싶은 작업을 적어주면 크론에서 실행시켜준다. date라는 명령은 현재 시간을 알려주는 명령이다. tail date.log 라는 명령은 date.log라는 파일의 제일 뒤쪽의 텍스트를 출력해준다. tail -f date.log는 데이터 점 로그라는 파일에 뒤쪽에 텍스트가 추가되면 자동으로 리프레시(refresh)해준다. 크론은 시스템 관리에서 매우 중요한 역할을 한다.
alias l=’ls -al’라고 해주면 l이라고 입력하면 ls -al의 내용이 나온다. alias가 ls -al에 별명을 붙여준 것이다. alias ..=’cd..’은 cd..에 ..이라는 별명을 붙여준 것이다.