여러분은 컴퓨터를 어떻게 사용하시나요? 아마 화면을 보며 키보드와 마우스를 사용해 작업을 수행할 것입니다. 이때 바탕화면과 시작버튼 등 모든 요소가 우리가 볼 수 있도록 화면에 표시됩니다. 이것을 GUI(Graphical User Interface)라고 부릅니다. 이와 반대되는 개념으로 CLI(Command-Line Interface)가 있습니다. 여러분이 CodeBlocks 또는 DevC에서 프로그램을 실행했을 때 뜨는 명령 프롬프트 창이 이것입니다.
마우스가 없다?
이 창에서 여러분은 마우스를 사용할 수 없습니다. 모든 작업은 명령줄에서 이루어집니다. 예를 들어 파일을 복사해서 다른 폴더에 붙여넣는다고 합시다. GUI에서는 우클릭 → 복사 → 다른 폴더로 이동 → 우클릭 → 붙여넣기의 과정을 거칩니다. 그러나 Unix 기반 CLI에서는 cp file.txt /folder/file.txt와 같이 이루어집니다. 서버는 우리에게 친숙한 Windows 운영체제를 사용하지 않는 경우가 많습니다. 일반적으로 는 Unix-like 운영체제인 Linux를 사용합니다. (MacOS, Android 또한 Linux 기반인 친척입니다.) 이는 명령어 등 여러 개념이 일반 컴퓨터와 상이하다는 것을 의미합니다.
서버는 어떻게 쓰죠?
CLI 환경은 매우 큰 장점이 있습니다. 서버와 사용자가 서로 텍스트를 한줄 한줄 교환하면 된다는 것입니다. 이해하기 쉽게 설명하자면 카카오톡 대화방에서 친구와 대화하고 있는 것 입니다. 여러분이 톡을 보내면 친구가 그 톡의 내용을 수행하고 여러분에게 결과를 알려주는 것입니다. 물론 실제로 서버와 통신할 때는 카카오톡 대신 SSH라는 통신 방식을 이용합 니다.
서버를 어디에 쓸 수 있나요?
서버의 본질 중 하나는 웹사이트를 제공하는 것입니다. 네이버, 구글이나 티스토리와 같이 모든 사이트는 서버에서 동작합니다. 다만 이것이 전부는 아닙니다. 서버의 '연산' 측면에서 생각해 보면, 인공지능 연구, PS문제 해결, 수학 연산, 물리 시뮬레이션 등 다양한 분야에 이용 할 수 있습니다. 이외에도 장시간 켜놓을 수 있는 컴퓨터를 원하는 경우에도 서버를 이용하면 됩니다.