리눅스에서 시스템을 종료하거나 재부팅 또는 계정 로그아웃을 하는 경우가 많다. 인터페이스가 GUI 방식인 경우에는 큰 어려움이 없지만, 리눅스 계열의 대표적인 인터페이스 방식인 CUI 방식인 경우 다양한 명령어가 존재한다. 본 포스팅에서는 리눅스 계열의 CUI 방식에서 시스템 명령어를 알아볼 것 이다.

 

 

 

1. shutdown

추가적인 옵션없이 명령어만으로 시스템 종료가 가능하며, 예약 종료와 같은 옵션도 지정할 수 있다. 옵션 지정에 대한 예제는 아래와 같다.

 

$ shutdown -h +30

-> 30분 후에 시스템 종료

 

$ shutdown -r 13:00

-> 13시 정각에 시스템 재부팅

 

$ shutdown -c

-> 예약된 shutdown 명령어를 취소

 

$ shutdown -k now

-> 지금 당장, 현재 접속자에게 종료 메시지만 전송. 실제로 종료되지는 않음.

 

shutdown 옵션에 대한 인수값으로 시간을 넘겨 받는다. 각각 옵션별로 위에서 언급한 now, +30, 13:00 형태의 인자값을 모두 지원한다. 필요한 옵션으로 원하는 형채의 시간 인자값을 넘겨주면 된다.

 

 

 

2. reboot

추가적인 옵션없이 명령어만으로 시스템 재부팅이 가능하다. reboot 명령어 또한 다양한 옵션들이 존재하지만 주로 강제로 재부팅 하는 경우에만 옵션을 넣어서 사용한다.

 

$ reboot

$ reboot -f

 

 

 

 

3. halt

역시, 추가적인 옵션 없이 명령어만으로 시스템 종료가 가능하다. halt 명령어도 다양한 옵션들이 존재하지만 주로 강제로 종료하는 경우에만 옵션을 넣어서 사용한다.

 

$ halt

$ halt -f

 

 

 

 

 

4. init

init 명령어는 시스템이 가동되는 방법을 7가지로 나누며, 이를 런레벨(Runlevel)이라고 부른다. 명령어 'init 0'은 '지금 즉시 런레벨을 0번으로 전환하라'는 의미이며, 시스템 종료를 의미하는 명령어다.

 

$ init 0

-> 종료 모드이다.

 

$ init 1

-> 단일 사용자 모드로써 시스템 복구시에 주로 사용한다.

 

$ init 2

-> NPS 없는 CUI 사용자 모드로써 잘 사용되지 않는다.

 

$ init 3

-> CUI 다중 사용자 모드로써 일반적인 텍스트 모드이다.

 

$ init 4

-> 사용되지 않는 명령어다.

 

$ init 5

-> GUI 다중 사용자 모드로써 일반적인 그레픽 모드이다.

 

$ init 6

-> 재부팅 모드이다.

 

 

위와같이 다양한 방법으로 init 명령어에 옵션을 줄 수 있다. 주로 사용되는 것은 CUI, GUI 모드를 변경할 때 사용하지만 종료와 재부팅을 위한 명령어로도 사용된다.

 

 

 

 

5. logout

시스템 종료와는 의미가 다르다. 로그아웃 한다는 의미는 현재 사용자의 접속을 끝낸다는 뜻이므로 시스템을 종료한다는 의미가 아니다. 리눅스는 여러 사용자가 동시에 접속해서 사용하는 다중 사용자 시스템이므로 로그아웃 명령어가 필요하다.

 

$ logout

$ exit

 

로그아웃에 필요한 명령어는 위와 같이 두가지이며, 옵션 지정은 필요없이 바로 로그아웃이 가능하다.

 

Private comment