터미널

터미널이란 무엇일까요?

혹시 여러분들은 다양한 미디어 매체에서 해커들이 이상한 검은색 화면에 키보드로 무언가를 쉴 새 없이 입력하는 장면을 보신적이 있으신가요? 이렇게 키보드 입력만을 이용해서 컴퓨터에 지시를 내일 수 있는 CLI 도구를 터미널이라고 합니다.

이 문서의 상당수의 설치는 터미널을 통해서 CLI로 진행하게 됩니다. 이렇게만 보면 어려줘 보일 수도 있지만, 해당하는 코드 블럭의 내용을 잘 이용하시면 쉽게 설치를 진행할 수 있습니다.

터미널은 여러분들이 사용하시는 컴퓨터의 OS에 기본적으로 설치 되어있습니다. 윈도우에는 터미널, CMD, PowerShell과 같은 터미널이, 맥에는 터미널.app이 기본적으로 설치 되어있어 바로 사용이 가능합니다. 여기에 각 OS에 설치하 수 있는 터미널1을 추가로 설치하여 더욱 편하고 화려하게 이용할 수 있습니다.

하지만 이러한 궁금증이 생기셨을 수도 있습니다.
굳이 편한 마우스를 놔두고 왜 터미널을 이용하는 거지?

개인적인 경험으로 말씀드리자면 아래와 같습니다.

  • 쓰다 보니 익숙해져 버렸다: 처음에는 그냥 그렇게 하라고 했으니까 사용했었는데 익숙해지니 결국 편해지더라고요
  • GUI로 동작하지 않는 도구들이 많다: 물론 GUI 도구들도 많지만, 생각보다 CLI로 사용하는 도구들이 많습니다.

그리고 터미널을 사용할 때 주의하셔야 하는 점은 터미널을 파일이나 폴더를 생성, 삭제 혹은 다운을 받을경우 현재 경로를 잘 확인하시면서 작업하셔야 한다는 점입니다.

패키지 관리자

혹시 터미널이 편한 이유 중 하나가 무었인지 아시나요? 바로 패키지 관리자입니다.

GUI에서는 사용하려는 프로그램을 공식 웹사이트에서 설치 프로그램을 다운 받고, 해당 프로그램을 실행하는 방식으로 설치를 진행했었죠? 하지만 패키지 관리자를 이용하면 다릅니다. 바로 명령어 한줄이면 원하는 대부분의 패키지2을 설치할 수 있거든요

운영체제에 따라서 이용할 수 있는 다양한 패키지 관리자들이 있지만 이번에는 macOS와 리눅스(Ubuntu)를 기준으로 각 환경에서 사용하는 대표적인 패키지 관리자 사용법에 대해서 알려드리겠습니다.

윈도우나 리눅스의 경우에는 보통 해당하는 환경의 패키지 관리자가 기본적으로 설치되어 있습니다. 아쉽게도 맥은 기본적으로 패키지 관리자가 설치되어있지 않아서 추가적으로 설치를 진행해야합니다.

뭔가 패키지 관리자 설치라니, 뭔가 어렵고 복잡할 것 같지만 전혀 그렇지 않습니다.

그럼 이제 패키지 관리자 설치와 간단한 사용방법에 대해서 알아보도록 하겠습니다.

Homebrew (macOS)

설치

Homebrew는 가장 대표적인 맥의 패키지 관리자입니다. 설치 방법은 Homebrew 공식 사이드에 접속하면 아래 이미지와 같이 설치 명령어가 있는데, 해당 명령어를 복사 붙여넣기 하시면 설치가 시작 됩니다.

또는 하단의 코드블럭3에서 복사 붙여넣기하여 실행하셔도 됩니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

그럼 설치를 진행해 볼까요? 우선 ⌘(command) + Space를 누르면 Spotlight라는 아래 이미지 같은 창이 나오는데 여기에 터미널이라고 입력하고, 뒤에 열기가 붙으면 리턴을 눌러줍니다.4

이후 실행된 터미널 창에 이전 단계에서 복사한 명령어를 붙여넣기 하시면 됩니다.

명령어 실행 이후 잠시 기다리시면 아래 이미지처럼 Press RETURN to continue or any other key to abort: 라는 문장이 나오는데, 리턴 키를 눌러서 진행해 주시면 됩니다.

설치가 마무리 될 때 즈음 Run these commands in your terminal to add Homebrew to yourPATH:라는 문장과 함게 아래 3줄의 명령어가 나오게 되는데, 해당 명령어들을 복사/붙여넣기 하고 리턴을 누르면 설정이 성공적으로 마무리 됩니다. 해당 명령어도 아래 코드 블럭에 추가해 두겠습니다.

단, {본인의 아이디} 부분을 변경해야 하는데, 터미널에서 복사/붙여넣기 하시면 자동으로 설정 되어있으니 참고하시면 됩니다.

echo >> /Users/{본인의 아이디}/.zprofile 
echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> /Users/{본인의 아이디}/.zprofile 
eval "$(/opt/homebrew/bin/brew shellenv zsh)"

Homebrew 공식 저장소에 등록된 프로그램만 명령어를 통해 설치가 가능합니다.

간단 사용방법

설치 가능 프로그램 검색

홈페이지 이용

Hombrew에 접속하여 검색창에 원하는 프로그램명을 검색하면 해당 패키지의 설치 명령어를 확인 가능합니다. 해당 명령어를 터미널에 복사 붙여넣기하여 설치를 진행하시면 됩니다.

명령어 이용
brew search <package>

예시

brew search iterm2
 
# 출력 예시
==> Casks
iterm2 iterm2@beta iterm2@nightly itermai

위 명령어는 설치 가능한 프로그램을 찾는 명령어입니다. 해당 명령어를 통해 출력된 결과에 나온 패키지들은 대부분 설치 가능합니다.

프로그램 설치

brew install <program> # 패키지 설치
brew install --cask <program> # 설치형 앱(.app) 설치

예시

brew install llvm
brew install --cask iterm2

해당 명령어를 통해서 패키지을 설치할 수 있습니다. --cask 옵션의 경우는 일반적으로 설치 프로그램을 이용하여 설치하는 앱(패키지)의 경우에 사용합니다.

프로그램 업데이트 확인

brew outdated
brew outdated <program>

예시

brew outdated # brew로 설치한 패키지의 업데이트 여부 확인
brew outdated iterm2 # iterm2 업데이트 여부 확인

프로그램 업데이트

brew upgrade # 업데이트 가능한 패키지 전부 업데이트
brew upgrade <program> # 특정 프로그램 업데이트

예시

brew update
brew update iterm2 #iterm2 업데이트

프로그램 제거

brew uninstall <program>
brew uninstall --cask <program>

예시

brew uninstall llvm # 설치형 앱(.app)이 아닌 패키지 제거
brew uninstall --caks iterm2 # 설치형 앱(.app) 제거

apt (Advanced Package Tool, 리눅스)

apt는 Debian/Ubuntu 계열의 리눅스5에서 주로 사용되고, 기본적으로 설치되어있는 패키지 관리자입니다. 리눅스에서 실행 가능한 다양한 패키지의 설치, 검색, 업그레이드, 제거 등을 수행할 수 있습니다.

이 문서는 이후 Ubuntu의 환경 설정을 다루기 때문에 apt에 관한 내용을 정리했습니다.

apt는 관리자(root)권한을 필요로 하기에 명령어 앞에 sudo를 추가로 붙여서 사용합니다.

패키지 업데이트 확인

sudo apt update # 업그레이드 가능한 리스트 가져오기

예시

sudo apt update

패키지 업그레이드

sudo apt upgrade
sudo apt upgrade <package>

예시

sudo apt upgrade
 
sudo apt upgrade -y # -y 옵션: 설치 진행 중 나오는 확인 메시지에 자동으로 동의
 
sudo apt update && sudo apt upgrade -y # 현재 업그레이드 가능한 리스트 가져온 후 모든 패키지 업그레이드

패키지 설치

sudo apt install <package>

예시

sudo apt install zsh
 
sudo apt install zsh -y # -y 옵션: 설치 진행 중 나오는 확인 메시지에 자동으로 동의

패키지 제거

sudo apt remove <package> # 설정 파일 남기고 제거
sudo apt purge <package> # 설정 파일까지 완벽 제거
 
sudo apt autoremove # 불필요한 의존성 삭제

예시

sudo apt remove zsh
sudo apt purge zsh
 
sudo apt autoremove # 패키지 제거하고 실행해주면 좋은 명령어


이전: 2. 내 컴퓨터의 환경, 아키텍처는?
목차: 0. 따라만 하면 완성!! 해커 노트북 세팅 - MacOS편
다음: 4. 개발환경 세팅

Footnotes

  1. 윈도우는 굳이 설치 하지 않아도 OK 맥과 같은 경우에는 iTerm2 같은 터미널을 추가로 설치하여 이용하는 편

  2. Computer Science 관련 프로그램

  3. 홈페이지와 동일한 명령어입니다.

  4. 간단히 터미널 실행하는 방법

  5. 리눅스의 종류가 많고, 해당 리눅스에서 사용하는 패키지 관리자가 다릅니다.