Computer >> 컴퓨터 >  >> 시스템 >> Mac

맥 터미널 초보 가이드: 반드시 알아야 할 기본 명령어와 활용법

일상적인 맥 작업 대부분은 부드럽고 친숙한 GUI(그래픽 사용자 인터페이스)가 든든한 조력자가 되어 줍니다. 하지만 때로는 파인더(Finder)가 오히려 성가신 중간 다리 역할만 하는 경우도 있습니다.

예를 들어 숨어 있는 용량 5GB짜리 파일의 위치를 찾거나, 삭제했다고 생각한 앱과 관련된 모든 파일의 경로를 확인해야 할 때가 그렇습니다. 이런 작업에서는 명령줄이 최고의 친구가 되어 줄 것입니다.

터미널(Terminal)이란?

터미널은 명령줄을 통해 맥과 직접 상호작용할 수 있게 해주는 유틸리티입니다. 리눅스 운영체제에도 비슷한 도구가 포함되어 있는데, 리눅스와 macOS가 모두 유닉스 계열(Unix-like) 운영체제이기 때문입니다. CLI(명령줄 인터페이스), 즉 터미널에 입력하여 맥과 소통하는 언어를 bash라고 부릅니다. 아래에서 설명하는 모든 내용은 bash 명령어입니다.

터미널을 본격적으로 사용하기 전에 자신의 취향에 맞게 설정을 커스터마이징할 수 있습니다. 원한다면 서드파티 터미널 대체 프로그램을 다운로드해 나만의 개성 있는 화면과 사용감을 만드는 것도 가능합니다.

맥 명령줄 사용 시 알아두면 좋은 기본 사항

먼저 터미널을 사용하기 전에 반드시 알아야 할 기본 개념들을 살펴보겠습니다.

기본 문법

bash 명령어는 일반적으로 다음과 같은 구조를 따릅니다:

[명령어] [옵션] [입력값 또는 파일·디렉터리 경로]

예를 들어 다음 명령어를 보겠습니다:

ls -la /Applications

여기서 ls는 명령어, -la는 두 개의 독립적인 옵션(-l-a)을 합친 것이며, /Applications는 목록을 출력할 경로입니다.

경로(Path)

경로를 제대로 이해하면 macOS가 실제로 파일을 어떻게 바라보는지 파악하는 데 큰 도움이 됩니다. 요컨대 파일의 경로란 해당 파일이 담겨 있는 폴더들이 마트료시카 인형처럼 겹겹이 중첩된 구조 뒤에 파일 이름이 붙은 형태입니다.

예를 들어 맥에서 사용자 John Doe의 데스크톱에 있는 My Secrets라는 파일의 경로는 다음과 같습니다:

/Users/jdoe/Desktop/"My Secrets"

공백(White Space) 처리

터미널이 공백을 올바르게 처리하도록 하려면 반드시 이스케이프(escape) 처리를 해야 합니다. bash는 공백을 만나면 명령어가 끝났다고 판단하기 때문입니다. 따라서 Path Test처럼 이름에 공백이 포함된 폴더의 내용을 다음과 같이 나열하려고 하면:

ls /Applications/Path Test

아래와 같은 오류가 발생합니다.

맥 터미널 초보 가이드: 반드시 알아야 할 기본 명령어와 활용법

무슨 일이 일어난 걸까요? bash는 /Applications/Path라는 경로에 대해 ls 명령을 실행한 것으로 인식했고, 해당 파일을 찾지 못해 실행을 멈춘 것입니다.

bash가 폴더의 전체 이름을 인식하게 하려면 이름을 따옴표로 감싸거나 백슬래시를 사용하면 됩니다:

  • ls /Applications/"Path Test"
  • ls /Applications/Path\ Test

sudo

아래에서 소개하는 많은 명령어들은 관리자 수준의 권한을 필요로 합니다. 현재 관리자 계정으로 로그인하지 않았더라도 관리자 비밀번호를 알고 있다면 명령어 앞에 sudo(superuser do, 슈퍼유저 실행)를 붙여 일시적으로 관리자 권한을 부여할 수 있습니다.

작업 흐름을 개선하는 필수 터미널 명령어

기본기를 익혔으니 이제 실질적으로 유용한 명령어들을 살펴보겠습니다. 참고로 터미널에 man <명령어 이름>을 입력하면 해당 명령어의 모든 옵션과 사용 예시를 포함한 전체 정보를 확인할 수 있습니다.

find — 강력한 파일 검색

  • 대체 대상: Spotlight(스포트라이트)
  • 더 나은 이유: 더 빠르고, Spotlight가 검색에서 제외하거나 색인(indexing)에 어려움을 겪는 시스템 폴더까지 검색할 수 있습니다.

Spotlight는 별도로 설정하지 않는 한 macOS 시스템 파일을 건너뛰는 경향이 있으며, 설정을 변경해도 색인에 실패하는 경우가 많습니다. 반면 bash의 find 명령어는 어떤 것이든, 어떤 위치에서든 검색할 수 있고 찾고자 하는 항목의 전체 경로를 출력해 줍니다.

find의 문법은 네 부분으로 구성됩니다. 순서대로 살펴보면:

  1. find (명령어)
  2. 검색할 디렉터리의 경로 (아래 예시에서는 /Applications)
  3. 옵션 (아래 예시의 -name은 해당 이름과 일치하는 파일을 검색하라는 의미)
  4. 검색할 문자열 (아래 예시에서는 Google Chrome)

find는 정규표현식(regex)을 사용한다는 점도 알아두세요. 이 주제에 대한 완전한 설명은 교과서 한 권 분량이 필요하므로 본문 범위를 벗어나지만, 아래 예시에는 정규표현식의 핵심 개념인 별표(*), 즉 와일드카드(wildcard) 문자가 등장합니다.

검색 문자열의 앞뒤에 별표를 붙이면 find는 검색어 앞뒤로 다른 문자가 붙어 있는 결과까지 모두 출력합니다. 이 경우 Google Chrome으로 검색하면 Google Chrome.app이 결과에 나타나는 식입니다.

모든 요소를 조합하면 다음과 같습니다:

맥 터미널 초보 가이드: 반드시 알아야 할 기본 명령어와 활용법

du — 디스크 사용량 확인

  • 대체 대상: Cmd + I (정보 보기)
  • 더 나은 이유: 여러 폴더의 용량을 한 번에 확인할 수 있고, 로딩 시간도 일반적으로 더 짧습니다.

du는 "disk usage(디스크 사용량)"의 약자로, 파일이나 폴더의 크기, 심지어 폴더 안에 있는 파일들의 목록까지 빠르게 알려줍니다.

du와 함께 쓰면 좋은 옵션은 다음과 같습니다:

  • -d (depth, 깊이): 뒤에 숫자를 붙이면 지정한 깊이 수준까지만 검색하도록 제한합니다.
    • 예를 들어
      du -d 1 /Applications
      를 실행하면 Applications 폴더 안의 폴더와 파일들의 총 크기만 표시되고, 그 안의 하위 폴더 크기까지는 보여주지 않습니다.
  • -h (human readable, 사람이 읽기 쉬운 형태): 파일 크기를 킬로바이트(K), 메가바이트(M), 기가바이트(G) 단위로 표시해 줍니다.

du가 실제로 작동하는 모습을 확인해 보세요:

맥 터미널 초보 가이드: 반드시 알아야 할 기본 명령어와 활용법

mv — 파일 및 폴더 이동

  • 대체 대상: 마우스로 끌어다 놓는 방식의 파일·폴더 이동
  • 더 나은 이유: 더 빠르고, 폴더를 일일이 탐색할 필요가 없습니다.

mv를 사용하면 파일이나 폴더를 다른 폴더로 빠르게 이동할 수 있습니다. 작동 원리는 단순히 경로의 이름을 변경하는 것입니다.

문법은 다음과 같습니다:

mv <기존 파일 경로> <새 파일 경로>

예를 들어,

mv /Users/jdoe/Documents/file1 /Users/jdoe/Desktop/file1

를 입력하면 file1이 jdoe의 Documents 폴더에서 Desktop으로 이동합니다.

ls — 폴더 내용 상세 조회

  • 대체 대상: Cmd + I (정보 보기)
  • 더 나은 이유: 더 빠르고, 여러 파일의 정보를 한 번에 보여줄 수 있으며, 매우 유연하게 커스터마이징할 수 있습니다.

ls는 폴더 안에 무엇이 들어 있는지 정확하게 보여주는 놀랍도록 강력한 명령어입니다. 누가 해당 파일을 볼 수 있는지, 숨김 파일이나 숨김 폴더가 있는지 등 훨씬 다양한 정보도 함께 확인할 수 있습니다.

ls와 함께 쓰면 좋은 옵션은 다음과 같습니다:

  • -l (long): 폴더 안 각 파일의 권한 정보, 마지막 수정 시간, 파일 소유자, 파일 이름을 표시합니다.
  • -a (all): 숨김 파일을 포함한 폴더의 모든 파일을 표시합니다(기본적으로 숨겨져 있는 macOS 사용자 라이브러리 폴더를 확인할 때 특히 유용합니다).

실제 출력 화면은 다음과 같습니다:

맥 터미널 초보 가이드: 반드시 알아야 할 기본 명령어와 활용법

mkdir — 새 폴더 생성

  • 대체 대상: Finder > 파일 > 새 폴더
  • 더 나은 이유: 더 빠르고, 새 폴더를 더블클릭해서 이름을 바꾸는 대신 명령어 안에서 곧바로 이름을 지정할 수 있습니다.

이 명령어 하나면 새 폴더를 순식간에 만들 수 있습니다.

예시:

mkdir /Users/jdoe/Desktop/cool_stuff

rm — 파일 및 폴더 삭제

  • 대체 대상: 파일을 휴지통으로 옮긴 후 비우기
  • 더 나은 이유: 더 빠르고, 휴지통으로도 삭제되지 않는 고집 센 파일을 제거하는 데 유용합니다.

이 명령어는 경로에 지정된 파일을 즉시, 그리고 예외 없이 삭제합니다. 당연히 극도로 신중하게 사용해야 합니다. 휴지통 비우기 버튼과 달리 rm은 정말 삭제할 것인지 묻지 않습니다. 사용자가 자신이 하는 일을 알고 있다고 가정하기 때문입니다.

rm에 대해 한 가지 기억할 점은, 기본적으로 파일만 삭제하고 폴더는 삭제하지 않는다는 것입니다. 폴더를 삭제하려면 재귀(recursive)를 의미하는 -R 옵션을 사용해야 합니다.

예시:

rm -R /Users/jdoe/Desktop/cool_stuff

터미널로 맥을 완전히 정복하세요

이제 필수적인 터미널 명령어들을 익혔으니, 일상적인 맥 작업 흐름에 적용해 볼 차례입니다. bash 사용에 익숙해지면 단순히 기존 작업을 대체하는 수준을 넘어, 명령줄에서만 가능한 강력한 기능들을 탐험하기 시작할 수 있습니다.

먼저 macOS 최고의 패키지 관리자인 Homebrew를 설치해 보세요. 새로운 프로그래밍 언어, 소프트웨어 저장소 등을 손쉽게 설치할 수 있게 해줍니다. 그다음에는 재미있고 유용한 다양한 명령어를 시도해 보고, 터미널을 커스터마이징해서 한층 더 편리하게 만들어 보세요.