fzf

(★ 82,603)

:cherry_blossom: A command-line fuzzy finder

파일 탐색기

  • .editorconfig
  • .gitignore
  • .goreleaser.yml
  • .rubocop.yml
  • .tool-versions
  • ADVANCED.md
  • BUILD.md
  • CHANGELOG.md
  • Dockerfile
  • Gemfile
  • Gemfile.lock
  • go.mod
  • go.sum
  • install
  • install.ps1
  • LICENSE
  • main.go
  • Makefile
  • README-VIM.md
  • README.md
  • RELEASE.md
  • SECURITY.md
  • typos.toml
  • uninstall

# 설치 가이드

go

설치 및 실행 절차

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf

저장소를 로컬 경로에 클론합니다.

~/.fzf/install

설치 스크립트를 실행하여 바이너리와 셸 연동을 설정합니다.

핵심 명령어

brew install fzf

Homebrew를 사용하여 fzf를 설치합니다.

fzf

터미널에서 fzf 퍼지 파인더를 실행합니다.

설치 후 셸 설정 파일(bashrc, zshrc 등)에 셸 연동 스크립트를 추가해야 합니다.

# CDN으로 사용하기

jsDelivr

jsDelivr는 공개 GitHub 리포지토리를 별도 설정 없이 CDN으로 즉시 서빙합니다. 버전과 파일을 고르면 웹페이지에 바로 붙일 수 있는 링크와 예시 코드가 만들어집니다.

릴리즈 타임라인

활발히 관리 중

명령어 용어집

이 문서에서 사용된 명령어를 모아봤습니다. 낯선 명령어가 있다면 펼쳐서 확인해보세요.

🔍

pkg

설명 보기 ▼

Termux용 패키지 관리 유틸리티.
더 많은 정보: <https://wiki.termux.com/wiki/Package_Management>.

pkg {{[up|upgrade]}}

설치됨 모든 패키지 업그레이드:

pkg install {{package}}

새 패키지 설치:

tldr pkg_add

패키지 설치/업데이트에 대한 설명서 보기:

🔍

dir

설명 보기 ▼

파일 목록을 출력.
더 많은 정보: <https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5000/sw/command/reference/fund/n5k-fund-cr/n5k-fund_cmds_d.html#dir>.

dir

현재 작업 디렉토리의 파일 목록 출력:

tldr ls

자세한 내용은 원본 명령을 참고하세요:

dir

현재 디렉토리의 내용 표시:

🔍

line

설명 보기 ▼

라인을 관리합니다.
설정 모드에서 사용함.
더 많은 정보: <https://www.cisco.com/c/en/us/td/docs/routers/sdwan/command/iosxe/qualified-cli-command-reference-guide/m-line-commands.pdf>.

line vty 0 15

0번부터 15번까지의 VTY 라인 설정:

line

Read input:

🔍

awk

설명 보기 ▼

파일 처리를 위한 다목적 프로그래밍 언어.
참고: AWK의 다양한 구현체에선 이 명령이 해당 구현체 바이너리에 대한 심볼릭 링크로 제공되는 경우가 많음.
관련 항목: `gawk`.
더 많은 정보: <https://github.com/onetrueawk/awk>.

awk '{print $5}' {{path/to/file}}

공백으로 구분 된 파일의 다섯 번째 열(필드)를 출력하기:

awk '/{{foo}}/ {print $2}' {{path/to/file}}

공백으로 구분 된 파일에서 `foo`을 포함한 두 번째 열 출력하기:

awk -F ',' '{print $NF}' {{path/to/file}}

공백이 아닌 쉼표를 필드 구분자로 사용해, 파일 각 줄에서 마지막 열을 출력하기:

🔍

brew install

설명 보기 ▼

Install a Homebrew formula or cask.

brew install {{formula|cask}}

Install a formula/cask:

brew install {{[-s|--build-from-source]}} {{formula}}

Build and install a formula from source (dependencies will still be installed from bottles):

brew install {{[-n|--dry-run]}} {{formula|cask}}

Download the manifest, print what would be installed but don't actually install anything:

🔍

brew update

설명 보기 ▼

Fetch the newest version of Homebrew and all formulae from GitHub using `git` and perform any necessary migrations.
To upgrade all installed formulae, use `brew upgrade`.

brew {{[up|update]}}

Fetch the newest version of Homebrew and all formulae:

🔍

complete

설명 보기 ▼

Bash에서 쉘 명령의 인자 자동 완성 규측을 조회하고 설정.
Bash에서 `<Tab>` 키를 누르면 지정된 자동 완성이 실행됨.
관련 항목: `compgen`, `compopt`.
더 많은 정보: <https://www.gnu.org/software/bash/manual/bash.html#index-complete>.

complete -F {{function}} {{command}}

함수를 사용해 명령의 인자 자동완성을 설정 (완성 결과는 `$COMPREPLY` 변수에 저장됨):

complete -C {{autocomplete_command}} {{command}}

다른 명령을 사용하여 인자 자동완성을 설정 (`$1`은 명령, `$2`는 현재 커서가 위치한 인자, `$3`은 커서 앞의 인자):

complete -b {{command}}

명령의 인자를 쉘 내장 명령으로 자동 완성하도록 설정:

🔍

conda install

설명 보기 ▼

Install packages into an existing conda environment.

conda install {{package1 package2 ...}}

Install one or more package into the currently active conda environment:

conda install {{[-c|--channel]}} conda-forge {{package}}

Install a single package into the currently active conda environment using channel conda-forge:

conda install {{[-c|--channel]}} conda-forge --override-channels {{package}}

Install a single package into the currently active conda environment using channel conda-forge and ignoring other channels:

🔍

esac

설명 보기 ▼

이 쉘 키워드는 `case` 문을 종료할 때 사용됨.

tldr case

`case` 키워드 문서 보기:

🔍

fish

설명 보기 ▼

사용자 친화적으로 설계된 명령줄 해석기인 Friendly Interactive SHell입니다.
더 많은 정보: <https://fishshell.com/docs/current/cmds/fish.html>.

fish

대화형 쉘 세션을 시작:

fish {{[-N|--no-config]}}

시작 구성을 로드하지 않고 대화형 쉘 세션을 시작:

fish {{[-c|--command]}} "{{echo 'fish is executed'}}"

특정 명령을 실행:

🔍

fzf

설명 보기 ▼

명령줄 퍼지 찾기.
`sk`와 유사.
더 많은 정보: <https://github.com/junegunn/fzf#usage>.

find {{path/to/directory}} -type f | fzf

지정된 디렉터리의 모든 파일에서 `fzf`를 시작:

ps aux | fzf

프로세스 실행을 위해 `fzf`를 시작:

find {{path/to/directory}} -type f | fzf {{[-m|--multi]}} > {{path/to/file}}

`<Shift Tab>`을 사용해 여러 파일을 선택하고 파일에 작성:

🔍

git clone

설명 보기 ▼

Clone an existing repository.

git clone {{remote_repository_location}} {{path/to/directory}}

Clone an existing repository into a new directory (the default directory is the repository name):

git clone --recursive {{remote_repository_location}}

Clone an existing repository and its submodules:

git clone {{[-n|--no-checkout]}} {{remote_repository_location}}

Clone only the `.git` directory of an existing repository:

🔍

git grep

설명 보기 ▼

Find strings inside tracked files in a repository.
Accepts a lot of the same flags as regular `grep`.

git grep "{{search_string}}"

Search for a string in files in the current `HEAD`:

git grep "{{search_string}}" -- "{{*.ext}}"

Search for a string in files matching a glob pattern in the current `HEAD`:

git grep --recurse-submodules "{{search_string}}"

Search for a string, including submodules:

🔍

git log

설명 보기 ▼

Show a history of commits.

git log

Show the sequence of commits starting from the current one, in reverse chronological order of the Git repository in the current working directory:

git log {{[-p|--patch]}} {{path/to/file_or_directory}}

Show the history of a particular file or directory, including differences:

git log --stat

Show an overview of which file(s) changed in each commit:

🔍

git ls-files

설명 보기 ▼

Show information about files in the index and the working tree.

git ls-files {{[-d|--deleted]}}

Show deleted files:

git ls-files {{[-m|--modified]}}

Show modified and deleted files:

git ls-files {{[-o|--others]}}

Show ignored and untracked files:

🔍

man

설명 보기 ▼

설명서 페이지 형식 지정 및 표시.
관련 항목: `whatis`, `apropos`.
더 많은 정보: <https://manned.org/man>.

man {{command}}

명령에 대한 설명서 페이지를 표시:

man {{[-H|--html=]}}{{browser_name}} {{command}}

섹션 7의 명령에 대한 설명서 페이지를 표시:

man 7 {{command}}

명령에 사용 가능한 모든 섹션 나열:

🔍

mise

설명 보기 ▼

다양한 패키지의 버전을 관리.
더 많은 정보: <https://mise.jdx.dev/cli/>.

mise plugins list-all

사용 가능한 모든 플러그인 나열:

mise plugins add {{name}}

플러그인 설치:

mise ls-remote {{name}}

설치 가능한 런타임 버전 나열:

🔍

nix-env

설명 보기 ▼

Nix 사용자 환경을 조작하거나 조회합니다.
더 많은 정보: <https://nix.dev/manual/nix/stable/command-ref/nix-env.html>.

nix-env {{[-q|--query]}}

설치된 모든 패키지 나열:

nix-env {{[-q|--query]}} {{search_pattern}}

설치된 패키지 조회:

nix-env {{[-qa|--query --available]}} {{search_pattern}}

사용 가능한 패키지 조회:

🔍

seq

설명 보기 ▼

숫자 시퀀스를 `stdout`에 출력.
더 많은 정보: <https://www.gnu.org/software/coreutils/manual/html_node/seq-invocation.html>.

seq 10

1부터 10까지의 시퀀스:

seq 10 20

5부터 20까지 3씩 증가하는 숫자:

seq 5 3 20

출력 항목을 줄바꿈 대신 공백으로 구분:

🔍

shift

설명 보기 ▼

위치 매개변수를 이동.
더 많은 정보: <https://www.gnu.org/software/bash/manual/bash.html#index-shift>.

shift

첫 번째 위치 매개변수 제거:

shift {{n}}

첫 번째 `N`개의 위치 매개변수 제거:

🔍

ssh

설명 보기 ▼

Secure Shell은 원격 시스템에 안전하게 로그인하기 위한 프로토콜입니다.
원격 서버에 로그인하거나 명령을 실행하는 데 사용할 수 있습니다.
더 많은 정보: <https://man.openbsd.org/ssh>.

ssh {{username}}@{{remote_host}}

원격 서버에 연결:

ssh {{username}}@{{remote_host}} -i {{path/to/key_file}}

특정 신원(개인 키)으로 원격 서버에 연결:

ssh {{username}}@10.0.0.1 -p {{2222}}

특정 [p]포트를 사용하여 원격 서버에 연결:

🔍

unset

설명 보기 ▼

셸 변수 또는 함수를 제거.
더 많은 정보: <https://www.gnu.org/software/bash/manual/bash.html#index-unset>.

unset {{variable}}

변수 `foo`를 제거하거나, 변수가 존재하지 않을 경우 함수 `foo`를 제거:

unset -v {{variable1 variable2 ...}}

변수 `foo`와 `bar` 제거:

unset -f {{function_name1 function_name2}}

함수 `my_func` 제거:

🔍

vim

설명 보기 ▼

Vim (Vi IMproved)는 다양한 텍스트 조작을 위한 여러 모드를 제공하는 명령줄 텍스트 편집기입니다.
일반 모드에서 `<i>`를 눌러 삽입 모드로 진입합니다. `<Esc>`를 눌러 다시 일반 모드로 돌아가면 Vim 명령을 사용할 수 있습니다.
관련 항목: `vimdiff`, `vimtutor`, `nvim`, `gvim`.
더 많은 정보: <https://www.vim.org/>.

vim {{path/to/file}}

파일 열기:

vim +{{line_number}} {{path/to/file}}

지정한 줄 번호에서 파일 열기:

<:>help<Enter>

Vim 메뉴얼 보기:

🔍

xargs

설명 보기 ▼

다른 명령, 파일 등으로부터 전달된 인수를 사용하여 명령을 실행.
입력은 하나의 텍스트 블록으로 처리되며 공백, 탭, 개행 및 파일 끝에서 별개의 조각으로 분리됩니다.
관련 항목: `parallel`.
더 많은 정보: <https://www.gnu.org/software/findutils/manual/html_mono/find.html#Invoking-xargs>.

{{arguments_source}} | xargs {{command}}

입력 데이터를 인수로 사용하여 명령 실행:

{{arguments_source}} | xargs sh -c "{{command1}} && {{command2}} | {{command3}}"

입력 데이터에 대해 여러 연결된 명령 실행:

{{arguments_source}} | xargs {{[-n|--max-args]}} 1 {{command}}

여러 스레드를 활용하여 `.log` 확장자를 가진 모든 파일을 gzip으로 압축 (`-print0`는 파일 이름을 null 문자로 분리하고, `-0`은 이를 구분자로 사용):

🔍

apk

설명 보기 ▼

Alpine Linux 패키지 관리 도구.
더 많은 정보: <https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper>.

apk upgrade {{[-U|--update-cache]}}

모든 원격 저장소에서 저장소 색인 업데이트:

apk update

새 패키지 설치:

apk add {{package}}

패키지 제거:

🔍

apt install

설명 보기 ▼

Install packages for Debian-based distributions.

sudo apt install {{package}}

Install a package, or update it to the latest version:

sudo apt install {{[-V|--verbose-versions]}} {{package}}

Display verbose package version information during installation or update:

🔍

apt

설명 보기 ▼

Debian 기반 배포판을 위한 패키지 관리 도구.
Ubuntu 16.04 이후 버전에서 대화형 사용 시 `apt-get`의 권장 대체 도구.
다른 패키지 관리자의 동등한 명령을 보려면 <https://wiki.archlinux.org/title/Pacman/Rosetta>.
더 많은 정보: <https://manned.org/apt.8>.

sudo apt update

사용 가능한 패키지 및 버전 목록 업데이트 (다른 `apt` 명령어 실행 전 권장):

apt search {{package}}

주어진 패키지 검색:

apt list {{package}}

패키지 정보 표시:

🔍

dnf install

설명 보기 ▼

Install packages on Red Hat-based distributions.

sudo dnf {{[in|install]}} {{package1 package2 ...}}

Install packages by name:

sudo dnf {{[in|install]}} {{path/to/file}}

Install a package from a local file:

sudo dnf {{[in|install]}} {{https://example.com/package.rpm}}

Install a package from the internet:

🔍

emerge

설명 보기 ▼

Gentoo Linux 패키지 관리 도구.
다른 패키지 관리자의 동등한 명령을 보려면 <https://wiki.archlinux.org/title/Pacman/Rosetta>.
더 많은 정보: <https://wiki.gentoo.org/wiki/Portage#emerge>.

sudo emerge --sync

모든 패키지 동기화:

sudo emerge {{[-avuDN|--ask --verbose --update --deep --newuse]}} @world

모든 패키지 및 의존성 업데이트:

sudo emerge --resume --skipfirst

업데이트 실패 시, 실패한 패키지를 건너뛰고 다시 시작:

🔍

pacman -S

설명 보기 ▼

This command is an alias of `pacman --sync`.

tldr pacman sync

View documentation for the original command:

🔍

xbps-install

설명 보기 ▼

XBPS 패키지를 (재)설치하고 업데이트하는 도구.
관련 항목: `xbps`.
더 많은 정보: <https://manned.org/xbps-install>.

xbps-install {{package}}

새 패키지 설치:

xbps-install {{[-Su|--sync --update]}}

모든 패키지를 동기화하고 업데이트:

🔍

zypper

설명 보기 ▼

SUSE 및 openSUSE 패키지 관리 도구.
다른 패키지 관리자의 동등한 명령을 보려면 <https://wiki.archlinux.org/title/Pacman/Rosetta>.
더 많은 정보: <https://en.opensuse.org/SDB:Zypper_manual>.

sudo zypper {{[ref|refresh]}}

사용 가능한 패키지 및 버전 목록 동기화:

sudo zypper {{[in|install]}} {{package}}

새 패키지 설치:

sudo zypper {{[rm|remove]}} {{package}}

패키지 제거:

🔍

pkgin

설명 보기 ▼

NetBSD에서 `pkgsrc` 바이너리 패키지를 관리합니다.
더 많은 정보: <https://pkgin.net/#usage>.

pkgin install {{package}}

패키지 설치:

pkgin remove {{package}}

패키지 및 해당 의존성 제거:

pkgin full-upgrade

모든 패키지 업그레이드:

🔍

pkg_add

설명 보기 ▼

OpenBSD에 패키지를 설치/업데이트합니다.
관련 항목: `pkg_info`, `pkg_delete`.
더 많은 정보: <https://man.openbsd.org/pkg_add>.

pkg_add -u

종속성을 포함하여 모든 패키지를 업데이트:

pkg_add {{package}}

새로운 패키지 설치:

pkg_add -l {{path/to/file}}

`pkg_info`의 원시 출력에서 패키지 설치:

🔍

choco install

설명 보기 ▼

Install one or more packages with Chocolatey.

choco install {{package1 package2 ...}}

Install one or more packages:

choco install {{path\to\packages_file.config}}

Install packages from a custom configuration file:

choco install {{path\to\file}}

Install a specific `.nuspec` or `.nupkg` file:

🔍

choco upgrade

설명 보기 ▼

Upgrade one or more packages with Chocolatey.

choco upgrade {{package1 package2 ...}}

Upgrade one or more packages:

choco upgrade {{package}} --version {{version}}

Upgrade to a specific version of a package:

choco upgrade all

Upgrade all packages:

🔍

scoop

설명 보기 ▼

Scoop 패키지 관리자.
`bucket`과 같은 하위 명령어는 자체 문서를 가지고 있습니다.
더 많은 정보: <https://github.com/ScoopInstaller/Scoop/wiki/Commands>.

scoop install {{package}}

패키지 설치:

scoop uninstall {{package}}

패키지 제거:

scoop update --all

모든 설치된 패키지 업데이트:

🔍

winget

설명 보기 ▼

윈도우 패키지 매니저.
더 많은 정보: <https://learn.microsoft.com/windows/package-manager/winget>.

winget {{[add|install]}} {{package}}

패키지 설치:

winget {{[rm|uninstall]}} {{package}}

패키지 제거 (참고: `remove` 대신 `uninstall` 을 사용할 수 있음):

winget show {{package}}

패키지에 대한 정보 표시:

// repository documentation