Computer >> 컴퓨터 >  >> 문제 해결 >> Mac

Mac 터미널 필수 명령어와 활용 꿀팁 총정리

맥(Mac) 터미널이란 무엇인가?

macOS를 사용하는 일부 사용자는 터미널과 그 명령어들을 어렵게 느낄 수 있습니다. 맥에서 터미널을 열면 마치 시스템을 해킹하려는 것처럼 보이기도 하는데요. 물론 실제로는 전혀 다르며, 맥 터미널 명령어를 익히면 macOS 환경을 능숙하게 다루는 데 큰 도움이 됩니다.

터미널은 운영체제에 텍스트 기반으로 접근할 수 있게 해주는 에뮬레이터입니다. 맥 터미널 명령어에 익숙해지면 GUI보다 훨씬 빠르게 시스템을 탐색할 수 있죠. 기본적인 사용법만 익혀도 더 복잡한 작업에 도전할 수 있고, 익숙해지면 터미널 사용이 오히려 재미있어질 겁니다.

물론 터미널을 다룰 줄 안다고 해서 바로 IT 전문가가 되는 것은 아닙니다. 하지만 그것이 여러분의 목표라면, 터미널은 그 첫걸음이라 할 수 있습니다.

맥에서 터미널을 여는 방법

터미널 애플리케이션은 '응용 프로그램(Applications)' 폴더 안의 '유틸리티(Utilities)' 폴더에 위치합니다. 터미널에 접근하는 방법은 여러 가지가 있습니다.

먼저 Finder에서 터미널 앱의 위치로 이동하는 방법입니다:

응용 프로그램 > 유틸리티 > 터미널

다른 방법으로는 Spotlight 검색을 이용하는 것입니다. Command(⌘) + Space 키를 동시에 눌러 Spotlight 검색창을 띄운 후, 'Terminal' 또는 '터미널'을 입력하고 첫 번째 결과를 클릭하면 됩니다.

두 방법 중 어떤 것을 사용하든 맥 커맨드 프롬프트가 나타나며, 화면에는 아래와 같은 검은색 창이 표시됩니다.

Mac 터미널 필수 명령어와 활용 꿀팁 총정리

터미널 설정에 따라 외형은 조금씩 다르게 보일 수 있습니다. 처음에는 자신에게 맞게 모양을 조정하는 것이 좋습니다. 터미널 테마를 변경하면 원하는 대로 꾸밀 수 있습니다.

터미널이 열린 상태에서 상단 메뉴바의 '터미널'을 클릭하고 '환경설정(Preferences)'을 선택하세요.

Mac 터미널 필수 명령어와 활용 꿀팁 총정리

환경설정 메뉴에서 프로파일(Profiles) 탭으로 이동합니다.

Mac 터미널 필수 명령어와 활용 꿀팁 총정리

여기에서 배경 색상, 텍스트 색상, 글꼴 등 터미널의 외형을 자유롭게 커스터마이징할 수 있습니다.

알아두면 좋은 터미널 활용 팁

GUI 애플리케이션처럼 직관적이지 않은 터미널을 처음 배울 때는 몇 가지 기본 사항을 숙지해 두는 것이 중요합니다.

  • 터미널에서는 마우스로 화면을 클릭해 이동할 수 없습니다. 대신 방향키(화살표 키)로 이동해야 합니다. 입력한 명령어를 수정하고 싶다면 왼쪽/오른쪽 방향키를 눌러 수정하고자 하는 지점까지 커서를 이동하세요.

  • 여러 개의 명령어를 입력한 후 이전에 사용했던 명령어를 다시 실행하고 싶다면 위/아래 방향키를 이용해 과거 명령어 기록을 탐색할 수 있습니다. 같은 명령어를 반복해서 타이핑할 필요가 없어 편리합니다.

  • 터미널 명령어는 화면에 표시된 그대로 정확하게 입력해야 합니다. 문자 하나, 공백 하나, 기호 하나까지 모두 중요하며, 일부라도 빠뜨리면 예상치 못한 결과가 발생할 수 있습니다.

  • 명령어를 입력한 후에는 Return(Enter) 키를 눌러 실행합니다. 실행 중인 명령어를 중단하려면 Cmd(⌘) + C를 함께 누르면 되는데, 이 경우 해당 명령은 작업을 완료하지 못하고 종료됩니다.

  • 터미널에서 실행하는 명령어는 현재 파일 위치(디렉터리)를 기준으로 작동합니다. 작업 위치를 변경하려면 아래에서 소개하는 디렉터리 이동 명령어를 사용해야 합니다.

Mac 터미널 명령어 목록

활용할 수 있는 명령어는 무수히 많습니다. 여기서는 터미널을 익힐 때 반드시 알아두어야 할 가장 흔히 사용되는 macOS 터미널 명령어들을 중심으로 살펴보겠습니다.

기본(Basics)

모든 명령어에 공통적으로 적용되는 몇 가지 요소들입니다.

man [command]

명령어의 용도나 특정 매개변수가 어떤 역할을 하는지 모를 때, 매뉴얼(man) 페이지가 필요한 모든 정보를 제공해 줍니다.

.

현재 디렉터리를 의미합니다. 디렉터리 경로를 입력해야 하는 곳 어디에서든 현재 위치한 디렉터리를 가리킵니다.

..

상위(부모) 디렉터리를 의미합니다. 현재 디렉터리의 상위 폴더를 가리킬 때 사용합니다.

*

와일드카드(Wildcard)입니다. 특정 조건에 일치하는 모든 항목을 의미합니다. 예를 들어 "*.jpg"는 jpg 확장자를 가진 모든 파일을 뜻합니다.

~

홈 디렉터리(Home Directory)를 의미합니다.

clear

터미널 화면의 내용을 깨끗하게 지울 때 사용합니다.

sudo [command]

일부 명령어는 슈퍼유저(superuser) 권한이 필요합니다. 시스템 관리자 계정이라면 이 명령어로 해당 권한을 얻을 수 있으며, 실행 시 관리자 비밀번호를 입력해야 합니다.

history

터미널은 입력했던 모든 명령어 기록을 저장합니다. 이 명령어는 지금까지 입력한 모든 명령어 목록을 보여줍니다.

history -c

터미널에 저장된 명령어 기록을 삭제합니다.

디렉터리 목록 조회 명령어

가장 많이 사용되는 명령어 그룹으로, 폴더 안의 내용을 확인하고 싶을 때 매우 유용합니다.

pwd

작업 중인 디렉터리의 전체 경로를 출력합니다(Print Working Directory).

ls

폴더에 포함된 파일과 하위 디렉터리의 이름을 표시합니다.

ls -l

긴(long) 형식으로 목록을 표시합니다. 파일 권한 모드, 소유자, 그룹 이름 등 상세 정보가 포함됩니다.

ls -al

숨김 파일을 포함한 디렉터리 내용을 상세하게 표시합니다.

디렉터리 이동 명령어

다음 명령어들은 현재 작업 중인 디렉터리를 변경할 때 사용합니다. 명령어를 실행할 대상 폴더를 지정할 때 특히 유용합니다.

cd

홈 디렉터리로 이동합니다.

cd [폴더명]

디렉터리를 변경합니다. (이동하려는 디렉터리가 현재 디렉터리 안에 없다면 전체 경로를 입력해야 합니다.)

cd ..

상위 디렉터리로 이동합니다.

cd ../..

두 단계 위의 상위 디렉터리로 이동합니다. (../을 추가하여 원하는 만큼 더 위로 이동할 수 있습니다.)

cd ~

홈 디렉터리로 이동합니다.

파일 및 디렉터리 관리

디렉터리와 폴더를 생성, 수정, 삭제하는 방법을 살펴보겠습니다.

mkdir <dir>

현재 디렉터리 안에 새 하위 디렉터리를 생성합니다.

mkdir <dir1> <dir2> <dir3>

여러 개의 디렉터리를 한 번에 생성합니다.

mkdir "<dir>"

이름에 공백이 포함된 폴더를 생성합니다.

rm -R <dir>

디렉터리와 그 안의 내용물을 함께 삭제합니다.

cp -R <dir> <"newdir">

폴더를 이름에 공백이 있는 다른 폴더로 복사합니다.

touch <file>

새 파일을 생성합니다.

nano <file>

터미널 내장 파일 편집기를 엽니다. 터미널에서 바로 파일을 수정할 수 있습니다.

cp <file> <dir>

파일을 지정한 디렉터리로 복사합니다.

cp <file> <newfile>

파일을 현재 디렉터리에 <newfile>이라는 이름으로 복사합니다.

rm <file>

파일을 완전히 삭제합니다. 시스템에서 영구적으로 제거되므로 사용 시 주의해야 합니다.

rm -i <file>

확인 절차를 거친 후 파일을 삭제합니다.

mv <file> <newfile>

파일을 다른 파일로 이동하거나, 파일 이름을 변경합니다.

mv <file> <dir>

파일을 지정한 폴더로 이동합니다. 기존에 같은 이름의 파일이 있다면 덮어씁니다.

mv *.txt <dir>

현재 폴더의 모든 텍스트(txt) 파일을 다른 폴더로 이동합니다.

함께 읽으면 좋은 글: 맥에서 앱을 올바르게 삭제하는 방법

권한 관리

파일과 폴더의 권한을 변경하는 것은 인가되지 않은 접근을 막기 위해 중요합니다. 소유자(owner), 그룹(group), 기타 사용자(others) 각각에게 읽기(read), 쓰기(write), 실행(execute) 권한을 부여할 수 있습니다.

파일의 권한을 확인하려면 앞서 디렉터리 목록 조회 섹션에서 설명한 ls -l 명령어를 사용하면 됩니다. 이 명령어는 모든 파일과 폴더를 긴 형식으로 나열하며, 가장 왼쪽 열에 아래와 같은 표기를 볼 수 있습니다.

rw-r--r-- 또는 drw-r-xr-x

권한 표기는 세 개의 그룹, 즉 소유자, 그룹, 기타 사용자별로 세 칸씩 총 아홉 칸으로 구성됩니다. 첫 번째 예시 rw-r--r--에서는 소유자에게 읽기(r)와 쓰기(w) 권한은 있지만 실행(x) 권한은 없으며, 그룹과 기타 사용자는 오직 읽기(r) 권한만 가집니다.

두 번째 예시 drw-r-xr-x에서는 일반적인 권한 표기 앞에 'd'가 붙어 있는데, 이는 해당 항목이 디렉터리(directory)임을 의미합니다.

명령어로 넘어가기 전에 8진수 권한 표기법을 숙지해야 합니다.

권한 없음

실행

쓰기

쓰기+실행

읽기

읽기+실행

읽기+쓰기

읽기+쓰기+실행

0

1

2

3

4

5

6

7

---

--x

-w-

-wx

r--

r-x

rw-

rwx

터미널 애플리케이션으로 파일과 디렉터리에 8진수 표기법으로 권한을 설정할 수 있습니다. 어떤 명령어를 사용할 수 있는지 살펴보겠습니다.

ls -l

파일 또는 디렉터리의 권한을 확인합니다.

chmod 500 <file>

파일의 권한을 500(r-x------)으로 변경합니다.

chmod -R 600 <dir>

폴더와 그 안의 내용물의 권한을 600(drw-------)으로 변경합니다.

chown <user> <file>

파일의 소유자를 변경합니다.

chown <user>:<group> <file>

파일의 소유자와 그룹을 동시에 변경합니다.

프로세스 관리

터미널을 이용하면 시스템에서 현재 실행 중인 프로세스를 확인하고, 리소스 사용량을 분석하고, 프로세스를 강제 종료할 수 있습니다. 이 명령어들은 사실상 Activity Monitor(활성 상태 보기) GUI 앱의 대체재라고 할 수 있습니다.

ps -ax

시스템에서 실행 중인 모든 프로세스의 상세 정보를 보여줍니다. PID(프로세스 ID), 실행 경과 시간, 프로세스 이름, 위치 등의 정보가 포함됩니다.

ps -ax | grep <애플리케이션 이름>

특정 애플리케이션에 대한 정보만 조회합니다. 파이프(|) 기호는 첫 번째 명령어의 출력을 grep 함수의 입력으로 전달하는 역할을 합니다.

top

시스템에서 실행 중인 프로세스에 대한 실시간 정보를 표시합니다.

kill PID

ps -ax 명령어로 찾은 PID를 이용해 해당 프로세스를 종료합니다.

네트워크 관리

위의 작업들은 GUI 앱으로도 가능하지만, 네트워크를 구성하거나 네트워크 정보를 확인하는 가장 쉽고 편리한 방법은 터미널을 이용하는 것입니다.

이와 관련해 유용하게 사용할 수 있는 터미널 명령어들이 여럿 있습니다.

ifconfig

다양한 용도로 활용되지만, 가장 흔한 사용 사례는 자신의 IP 주소를 확인하는 것입니다.

ping <host>

호스트와의 연결 가능 여부를 테스트합니다. 호스트는 네트워크에 연결된 장치의 IP 주소일 수도 있고 웹 도메인일 수도 있습니다.

netstat

현재의 모든 수신(incoming) 및 송신(outgoing) 연결 목록을 표시합니다.

whois <domain>

해당 도메인의 whois 정보를 출력합니다. 기본 연락처 정보, 네임서버(Name Server) 등 다양한 정보가 포함됩니다.

arp -a

로컬 네트워크에 연결된 모든 활성 장치의 목록을 보여줍니다. 각 장치의 IP 주소와 MAC 주소가 표시됩니다.

traceroute <host>

중요한 문제 해결 도구입니다. 패킷이 거쳐 가는 경로를 추적하며, 호스트와의 연결이 실패했을 때 패킷이 끊기는 정확한 지점을 파악할 수 있습니다.

curl -O <파일 URL>

브라우저 없이 인터넷에서 파일을 다운로드해야 할 때, HTTP, HTTPS, FTP 프로토콜을 통해 파일을 받을 수 있게 해줍니다.

검색 명령어

다음 명령어들을 사용하면 명령줄에서 손쉽게 맥 내부를 검색할 수 있습니다.

find <dir> -name <file>

지정한 디렉터리에서 해당 파일을 찾습니다.

find . -name "*.jpg"

현재 디렉터리에서 jpg 확장자를 가진 모든 파일을 찾습니다.

파일 유형 확인

확장자만으로는 파일의 유형을 알 수 없는 경우가 있습니다. 이럴 때 다음 명령어를 사용하면 정확한 유형을 파악할 수 있습니다.

file <file>

파일의 유형을 판별합니다.

마무리

지금까지 터미널에서 활용할 수 있는 가장 유용한 명령어들을 살펴보았습니다. 생각할 수 있는 거의 모든 작업을 수행할 수 있는 방대한 명령어들이 존재하지만, 모든 명령어를 세세히 외우기란 쉽지 않습니다. 따라서 위에서 언급한 자주 사용되는 핵심 명령어들에 익숙해지는 것이 중요합니다.

IT 전문가를 꿈꾼다면 터미널을 능숙하게 다루는 것은 반드시 갖추어야 할 가장 기본적인 기술 중 하나입니다. 이제 터미널의 기본기를 익혔으니, 더 깊이 파고들어 IT 작업 환경에서 가장 강력한 도구를 완전히 마스터해 보시길 바랍니다.


글: Shanika Wickramasinghe

Shanika은 소프트웨어 엔지니어이자 정보기술(IT) 학사 출신으로, 웹 및 모바일 개발이 전문 분야입니다. macOS 애호가이며, 지식을 공유하는 글쓰기를 사랑합니다. macOS 관련 팁과 요령을 공유하는 활동도 즐기고 있습니다.