Docs
참고 자료
명령어 참조

CLI 명령어 (CLI commands)

Gemini CLI는 세션 관리, 인터페이스 사용자 정의, 동작 제어를 돕기 위한 여러 내장 명령어를 지원합니다. 이러한 명령어는 슬래시 (/), 앳 기호 (@) 또는 느낌표 (!) 접두사가 붙습니다.

슬래시 명령어 (/) (Slash commands (/))

슬래시 명령어는 CLI 자체에 대한 메타 수준의 제어를 제공합니다.

내장 명령어

  • /about

    • 설명: 버전 정보를 표시합니다. 문제를 신고할 때 이 정보를 공유해 주세요.
  • /auth

    • 설명: 인증 방법을 변경할 수 있는 대화 상자를 엽니다.
  • /bug

    • 설명: Gemini CLI에 대한 문제를 신고합니다. 기본적으로 문제는 Gemini CLI의 GitHub 저장소에 제출됩니다. /bug 뒤에 입력하는 문자열이 제출되는 문제의 제목이 됩니다. 기본 /bug 동작은 .gemini/settings.json 파일의 advanced.bugCommand 설정을 사용하여 수정할 수 있습니다.
  • /chat

    • 설명: 대화 상태를 대화식으로 분기하거나 나중에 이전 상태를 재개할 수 있도록 대화 기록을 저장하고 재개합니다.
    • 하위 명령어:
      • delete <tag>
        • 설명: 저장된 대화 체크포인트를 삭제합니다.
      • list
        • 설명: 대화 상태 재개를 위해 사용 가능한 태그를 나열합니다.
        • 참고: 이 명령은 현재 프로젝트 내에 저장된 채팅만 나열합니다. 채팅 기록은 프로젝트 범위이므로 다른 프로젝트 디렉터리에 저장된 채팅은 표시되지 않습니다.
      • resume <tag>
        • 설명: 이전 저장에서 대화를 재개합니다.
        • 참고: 현재 프로젝트 내에 저장된 채팅만 재개할 수 있습니다. 다른 프로젝트의 채팅을 재개하려면 해당 프로젝트의 디렉터리에서 Gemini CLI를 실행해야 합니다.
      • save <tag>
        • 설명: 현재 대화 기록을 저장합니다. 대화 상태를 식별하기 위한 <tag>를 추가해야 합니다.
        • 체크포인트 위치 세부 정보: 저장된 채팅 체크포인트의 기본 위치는 다음과 같습니다.
          • Linux/macOS: ~/.gemini/tmp/<project_hash>/
          • Windows: C:\Users\<YourUsername>\.gemini\tmp\<project_hash>\
          • 동작: 채팅은 CLI를 실행하는 위치에 따라 결정되는 프로젝트별 디렉터리에 저장됩니다. 따라서 저장된 채팅은 동일한 프로젝트 내에서 작업할 때만 액세스할 수 있습니다.
          • 참고: 이 체크포인트는 대화 상태를 수동으로 저장하고 재개하기 위한 것입니다. 파일 수정 전에 생성되는 자동 체크포인트에 대해서는 체크포인팅 문서를 참조하세요.
      • share [filename]
        • 설명 현재 대화를 제공된 Markdown 또는 JSON 파일에 씁니다. 파일명이 제공되지 않으면 CLI가 생성합니다.
        • 사용법 /chat share file.md 또는 /chat share file.json.
  • /clear

    • 설명: CLI 내의 보이는 세션 기록 및 스크롤백을 포함하여 터미널 화면을 지웁니다. 기본 세션 데이터(기록 회상용)는 정확한 구현에 따라 보존될 수 있지만 시각적 표시는 지워집니다.
    • 키보드 단축키: 언제든지 Ctrl+L을 눌러 지우기 작업을 수행할 수 있습니다.
  • /compress

    • 설명: 전체 채팅 컨텍스트를 요약으로 대체합니다. 이렇게 하면 향후 작업에 사용되는 토큰을 절약하면서 발생한 일에 대한 높은 수준의 요약을 유지할 수 있습니다.
  • /copy

    • 설명: 쉽게 공유하거나 재사용할 수 있도록 Gemini CLI에서 생성한 마지막 출력을 클립보드에 복사합니다.
    • 동작:
      • 로컬 세션은 시스템 클립보드 도구(pbcopy/xclip/clip)를 사용합니다.
      • 원격 세션(SSH/WSL)은 OSC 52를 사용하며 터미널 지원이 필요합니다.
    • 참고: 이 명령은 플랫폼별 클립보드 도구가 설치되어 있어야 합니다.
      • Linux에서는 xclip 또는 xsel이 필요합니다. 일반적으로 시스템의 패키지 관리자를 사용하여 설치할 수 있습니다.
      • macOS에서는 pbcopy가 필요하고, Windows에서는 clip이 필요합니다. 이러한 도구는 일반적으로 각 시스템에 사전 설치되어 있습니다.
  • /directory (또는 /dir)

    • 설명: 다중 디렉터리 지원을 위해 작업 공간 디렉터리를 관리합니다.
    • 하위 명령어:
      • add:
        • 설명: 작업 공간에 디렉터리를 추가합니다. 경로는 절대 경로이거나 현재 작업 디렉터리에 대한 상대 경로일 수 있습니다. 또한 홈 디렉터리에서의 참조도 지원됩니다.
        • 사용법: /directory add <path1>,<path2>
        • 참고: 제한적인 샌드박스 프로필에서는 비활성화됩니다. 해당 프로필을 사용하는 경우 세션을 시작할 때 대신 --include-directories를 사용하세요.
      • show:
        • 설명: /directory add--include-directories로 추가된 모든 디렉터리를 표시합니다.
        • 사용법: /directory show
  • /docs

    • 설명: 브라우저에서 Gemini CLI 문서를 엽니다.
  • /editor

    • 설명: 지원되는 편집기를 선택하기 위한 대화 상자를 엽니다.
  • /extensions

  • /help

    • 설명: 사용 가능한 명령어와 사용법을 포함하여 Gemini CLI에 대한 도움말 정보를 표시합니다.
  • /shortcuts

    • 설명: 입력창 위의 단축키 패널을 전환합니다.
    • 단축키: 프롬프트가 비어 있을 때 ?를 누릅니다.
  • /hooks

    • 설명: 특정 수명 주기 이벤트에서 Gemini CLI 동작을 가로채고 사용자 정의할 수 있는 훅(Hooks)을 관리합니다.
    • 하위 명령어:
      • disable-all:
        • 설명: 활성화된 모든 훅을 비활성화합니다.
      • disable <hook-name>:
        • 설명: 이름으로 특정 훅을 비활성화합니다.
      • enable-all:
        • 설명: 비활성화된 모든 훅을 활성화합니다.
      • enable <hook-name>:
        • 설명: 이름으로 특정 훅을 활성화합니다.
      • list (또는 show, panel):
        • 설명: 등록된 모든 훅과 상태를 표시합니다.
  • /ide

    • 설명: IDE 통합을 관리합니다.
    • 하위 명령어:
      • disable:
        • 설명: IDE 통합을 비활성화합니다.
      • enable:
        • 설명: IDE 통합을 활성화합니다.
      • install:
        • 설명: 필요한 IDE 컴패니언을 설치합니다.
      • status:
        • 설명: IDE 통합 상태를 확인합니다.
  • /init

    • 설명: 사용자가 GEMINI.md 파일을 쉽게 만들 수 있도록 돕기 위해, 이 명령은 현재 디렉터리를 분석하고 맞춤형 컨텍스트 파일을 생성하여 Gemini 에이전트에게 프로젝트별 지침을 더 간단하게 제공할 수 있게 합니다.
  • /introspect

    • 설명: 로드된 하위 에이전트 및 활성 훅의 상태를 포함하여 현재 Gemini CLI 세션에 대한 디버깅 정보를 제공합니다. 이 명령은 주로 고급 사용자 및 개발자를 위한 것입니다.
  • /mcp

    • 설명: 구성된 MCP(Model Context Protocol) 서버를 관리합니다.
    • 하위 명령어:
      • auth:
        • 설명: OAuth가 활성화된 MCP 서버로 인증합니다.
        • 사용법: /mcp auth <server-name>
        • 세부 정보: <server-name>이 제공되면 해당 서버에 대한 OAuth 흐름을 시작합니다. 서버 이름이 제공되지 않으면 OAuth 인증을 지원하는 구성된 모든 서버를 나열합니다.
      • desc
        • 설명: 구성된 MCP 서버 및 도구를 설명과 함께 나열합니다.
      • list 또는 ls:
        • 설명: 구성된 MCP 서버 및 도구를 나열합니다. 하위 명령어가 지정되지 않은 경우 기본 동작입니다.
      • refresh:
        • 설명: 모든 MCP 서버를 다시 시작하고 사용 가능한 도구를 다시 검색합니다.
      • schema:
        • 설명: 구성된 MCP 서버 및 도구를 설명 및 스키마와 함께 나열합니다.
  • /memory

    • 설명: AI의 지침 컨텍스트(GEMINI.md 파일에서 로드된 계층적 메모리)를 관리합니다.
    • 하위 명령어:
      • add:
        • 설명: AI의 메모리에 다음 텍스트를 추가합니다. 사용법: /memory add <기억할 텍스트>
      • list:
        • 설명: 계층적 메모리에 사용 중인 GEMINI.md 파일의 경로를 나열합니다.
      • refresh:
        • 설명: 구성된 위치(전역, 프로젝트/상위, 하위 디렉터리)에서 찾은 모든 GEMINI.md 파일에서 계층적 지침 메모리를 다시 로드합니다. 이 명령은 모델을 최신 GEMINI.md 콘텐츠로 업데이트합니다.
      • show:
        • 설명: 모든 GEMINI.md 파일에서 로드된 현재 계층적 메모리의 전체 연결된 내용을 표시합니다. 이를 통해 Gemini 모델에 제공되는 지침 컨텍스트를 검사할 수 있습니다.
      • 참고: GEMINI.md 파일이 계층적 메모리에 기여하는 방식에 대한 자세한 내용은 CLI 구성 문서를 참조하세요.
  • /model

    • 설명: Gemini 모델을 선택하는 대화 상자를 엽니다.
  • /policies

    • 설명: 정책을 관리합니다.
    • 하위 명령어:
      • list:
        • 설명: 모든 활성 정책을 모드별로 그룹화하여 나열합니다.
  • /privacy

    • 설명: 개인정보 처리방침을 표시하고 사용자가 서비스 개선 목적으로 데이터 수집에 동의할지 여부를 선택할 수 있도록 합니다.
  • /quit (또는 /exit)

    • 설명: Gemini CLI를 종료합니다.
  • /restore

    • 설명: 프로젝트 파일을 도구가 실행되기 직전의 상태로 복원합니다. 이는 도구에 의한 파일 편집을 취소하는 데 특히 유용합니다. 도구 호출 ID 없이 실행하면 복원할 수 있는 사용 가능한 체크포인트를 나열합니다.
    • 사용법: /restore [tool_call_id]
    • 참고: 설정을 통해 체크포인팅이 구성된 경우에만 사용할 수 있습니다. 자세한 내용은 체크포인팅 문서를 참조하세요.
  • /rewind

    • 설명: 대화 기록을 뒤로 탐색하여 과거 상호 작용을 검토하고 잠재적으로 이전 상태로 되돌릴 수 있습니다. 이 기능은 복잡하거나 분기된 대화를 관리하는 데 도움이 됩니다.
  • /resume

    • 설명: 이전 대화 세션을 찾아보고 재개합니다. 자동으로 저장된 대화에서 검색, 필터링 및 선택할 수 있는 대화형 세션 브라우저를 엽니다.
    • 기능:
      • 관리: 원하지 않는 세션을 브라우저에서 직접 삭제합니다.
      • 재개: 세션을 선택하여 대화를 재개하고 계속합니다.
      • 검색: /를 사용하여 모든 세션에서 대화 내용을 검색합니다.
      • 세션 브라우저: 타임스탬프, 메시지 수, 컨텍스트를 위한 첫 번째 사용자 메시지가 포함된 모든 저장된 세션을 보여주는 대화형 인터페이스입니다.
      • 정렬: 날짜 또는 메시지 수로 세션을 정렬합니다.
    • 참고: 모든 대화는 채팅하는 동안 자동으로 저장되므로 수동 저장이 필요하지 않습니다. 자세한 내용은 세션 관리를 참조하세요.
  • /settings

    • 설명: 설정 편집기를 열어 Gemini CLI 설정을 보고 수정합니다.
    • 세부 정보: 이 명령은 Gemini CLI의 동작과 모양을 제어하는 설정을 변경하기 위한 사용자 친화적인 인터페이스를 제공합니다. .gemini/settings.json 파일을 수동으로 편집하는 것과 같지만, 오류를 방지하기 위한 유효성 검사 및 지침이 제공됩니다. 사용 가능한 설정의 전체 목록은 설정 문서를 참조하세요.
    • 사용법: /settings를 실행하면 편집기가 열립니다. 그런 다음 특정 설정을 찾아보거나 검색하고 현재 값을 보고 원하는 대로 수정할 수 있습니다. 일부 설정 변경 사항은 즉시 적용되지만 다른 설정은 다시 시작해야 합니다.
  • /shells (또는 /bashes)

    • 설명: 백그라운드 쉘 보기(view)를 전환합니다. 이를 통해 백그라운드로 보낸 장기 실행 프로세스를 보고 관리할 수 있습니다.
  • /setup-github

    • 설명: Gemini로 문제를 분류하고 PR을 검토하도록 GitHub Actions를 설정합니다.
  • /skills

    • 설명: 온디맨드 전문 지식 및 전문 워크플로우를 제공하는 에이전트 스킬을 관리합니다.
    • 하위 명령어:
      • disable <name>:
        • 설명: 이름으로 특정 스킬을 비활성화합니다.
        • 사용법: /skills disable <name>
      • enable <name>:
        • 설명: 이름으로 특정 스킬을 활성화합니다.
        • 사용법: /skills enable <name>
      • list:
        • 설명: 발견된 모든 스킬과 현재 상태(활성화/비활성화)를 나열합니다.
      • reload:
        • 설명: 모든 계층(작업 공간, 사용자 및 확장 프로그램)에서 발견된 스킬 목록을 새로 고칩니다.
  • /stats

    • 설명: 토큰 사용량, 캐시된 토큰 절약량(사용 가능한 경우) 및 세션 기간을 포함하여 현재 Gemini CLI 세션에 대한 자세한 통계를 표시합니다. 참고: 캐시된 토큰 정보는 캐시된 토큰이 사용될 때만 표시되며, 이는 현재 OAuth 인증이 아닌 API 키 인증에서 발생합니다.
  • /terminal-setup

    • 설명: 여러 줄 입력(VS Code, Cursor, Windsurf)에 대한 터미널 키 바인딩을 구성합니다.
  • /theme

    • 설명: Gemini CLI의 시각적 테마를 변경할 수 있는 대화 상자를 엽니다.
  • /tools

    • 설명: 현재 Gemini CLI 내에서 사용할 수 있는 도구 목록을 표시합니다.
    • 사용법: /tools [desc]
    • 하위 명령어:
      • desc 또는 descriptions:
        • 설명: 모델에 제공된 전체 설명과 함께 각 도구의 이름과 자세한 설명을 표시합니다.
      • nodesc 또는 nodescriptions:
        • 설명: 도구 설명을 숨기고 도구 이름만 표시합니다.
  • /vim

    • 설명: vim 모드를 켜거나 끕니다. vim 모드가 활성화되면 입력 영역은 NORMAL 및 INSERT 모드 모두에서 vim 스타일 탐색 및 편집 명령을 지원합니다.
    • 기능:
      • 카운트 지원: 명령 앞에 숫자를 붙입니다(예: 3h, 5w, 10G).
      • 편집 명령: x로 삭제, c로 변경, i, a, o, O로 삽입; dd, cc, dw, cw와 같은 복잡한 작업
      • INSERT 모드: 탈출(escape)하여 NORMAL 모드로 돌아가는 표준 텍스트 입력
      • NORMAL 모드: h, j, k, l로 탐색; w, b, e로 단어 단위 점프; 0, $, ^로 줄 시작/끝으로 이동; G(또는 첫 줄의 경우 gg)로 특정 줄로 이동
      • 영구 설정: Vim 모드 기본 설정은 ~/.gemini/settings.json에 저장되고 세션 간에 복원됩니다.
      • 마지막 명령 반복: 마지막 편집 작업을 반복하려면 .을 사용하세요.
      • 상태 표시기: 활성화되면 바닥글에 [NORMAL] 또는 [INSERT]가 표시됩니다.

사용자 정의 명령어 (Custom commands)

사용자 정의 명령어를 사용하면 가장 많이 사용하는 프롬프트에 대한 개인화된 단축키를 만들 수 있습니다. 생성, 관리 및 사용 방법에 대한 자세한 내용은 사용자 정의 명령어 문서를 참조하세요.

입력 프롬프트 단축키 (Input prompt shortcuts)

이러한 단축키는 텍스트 조작을 위해 입력 프롬프트에 직접 적용됩니다.

  • 실행 취소 (Undo):

    • 키보드 단축키: 입력 프롬프트에서 마지막 작업을 실행 취소하려면 Alt+z 또는 Cmd+z를 누르세요.
  • 다시 실행 (Redo):

    • 키보드 단축키: 입력 프롬프트에서 마지막으로 실행 취소된 작업을 다시 실행하려면 Shift+Alt+Z 또는 Shift+Cmd+Z를 누르세요.

앳 명령어 (@) (At commands (@))

앳 명령어는 파일이나 디렉터리의 내용을 Gemini에 대한 프롬프트의 일부로 포함하는 데 사용됩니다. 이러한 명령에는 git 인식 필터링이 포함됩니다.

  • @<path_to_file_or_directory>

    • 설명: 지정된 파일 또는 파일들의 내용을 현재 프롬프트에 주입합니다. 특정 코드, 텍스트 또는 파일 모음에 대해 질문할 때 유용합니다.
    • 예시:
      • @path/to/your/file.txt 이 텍스트를 설명해줘.
      • @src/my_project/ 이 디렉터리의 코드를 요약해줘.
      • 이 파일은 무엇에 관한 거야? @README.md
    • 세부 정보:
      • 단일 파일에 대한 경로가 제공되면 해당 파일의 내용을 읽습니다.
      • 디렉터리에 대한 경로가 제공되면 명령은 해당 디렉터리 및 하위 디렉터리 내의 파일 내용을 읽으려고 시도합니다.
      • 경로의 공백은 백슬래시로 이스케이프해야 합니다(예: @My\ Documents/file.txt).
      • 이 명령은 내부적으로 read_many_files 도구를 사용합니다. 콘텐츠를 가져와 Gemini 모델로 전송하기 전에 쿼리에 삽입합니다.
      • Git 인식 필터링: 기본적으로 git에서 무시되는 파일(예: node_modules/, dist/, .env, .git/)은 제외됩니다. 이 동작은 context.fileFiltering 설정을 통해 변경할 수 있습니다.
      • 파일 유형: 이 명령은 텍스트 기반 파일을 대상으로 합니다. 모든 파일을 읽으려고 시도할 수 있지만 이진 파일이나 매우 큰 파일은 성능과 관련성을 보장하기 위해 기본 read_many_files 도구에 의해 건너뛰거나 잘릴 수 있습니다. 도구는 파일이 건너뛰어졌는지 여부를 나타냅니다.
    • 출력: CLI는 상태 및 처리된 경로를 자세히 설명하는 메시지와 함께 read_many_files가 사용되었음을 나타내는 도구 호출 메시지를 표시합니다.
  • @ (단독 앳 기호)

    • 설명: 경로 없이 단독 @ 기호를 입력하면 쿼리가 Gemini 모델로 그대로 전달됩니다. 프롬프트에서 @ 기호에 대해 구체적으로 이야기하는 경우 유용할 수 있습니다.

@ 명령어에 대한 오류 처리

  • @ 뒤에 지정된 경로를 찾을 수 없거나 유효하지 않은 경우 오류 메시지가 표시되며 쿼리가 Gemini 모델로 전송되지 않거나 파일 내용 없이 전송될 수 있습니다.
  • read_many_files 도구에 오류(예: 권한 문제)가 발생하면 이 내용도 보고됩니다.

쉘 모드 및 패스스루 명령어 (!) (Shell mode and passthrough commands (!))

! 접두사를 사용하면 Gemini CLI 내에서 시스템 쉘과 직접 상호 작용할 수 있습니다.

  • !<shell_command>

    • 설명: Linux/macOS에서는 bash를, Windows에서는 powershell.exe -NoProfile -Command(ComSpec을 재정의하지 않는 한)를 사용하여 주어진 <shell_command>를 실행합니다. 명령의 출력이나 오류는 터미널에 표시됩니다.
    • 예시:
      • !ls -la (ls -la를 실행하고 Gemini CLI로 돌아옴)
      • !git status (git status를 실행하고 Gemini CLI로 돌아옴)
  • ! (쉘 모드 전환)

    • 설명: !만 입력하면 쉘 모드가 전환됩니다.
      • 쉘 모드 진입:
        • 활성화되면 쉘 모드는 다른 색상과 "쉘 모드 표시기"를 사용합니다.
        • 쉘 모드에 있는 동안 입력하는 텍스트는 쉘 명령으로 직접 해석됩니다.
      • 쉘 모드 종료:
        • 종료하면 UI가 표준 모양으로 되돌아가고 일반적인 Gemini CLI 동작이 재개됩니다.
  • 모든 ! 사용에 대한 주의: 쉘 모드에서 실행하는 명령은 터미널에서 직접 실행한 것과 동일한 권한과 영향을 미칩니다.

  • 환경 변수: !를 통해 또는 쉘 모드에서 명령이 실행되면 하위 프로세스의 환경에 GEMINI_CLI=1 환경 변수가 설정됩니다. 이를 통해 스크립트나 도구는 Gemini CLI 내에서 실행되고 있는지 감지할 수 있습니다.