fzf
:cherry_blossom: A command-line fuzzy finder
파일 탐색기
- issue_template.yml
- codeql-analysis.yml
- depsreview.yaml
- labeler.yml
- linux.yml
- macos.yml
- release.yml
- typos.yml
- winget.yml
- CODEOWNERS
- dependabot.yml
- FUNDING.yml
- labeler.yml
- PULL_REQUEST_TEMPLATE.md
- fzf-preview.sh
- fzf-tmux
- fzf.txt
- fzf-tmux.1
- fzf.1
- fzf.vim
- common.sh
- completion-examples.nu
- completion.bash
- completion.fish
- completion.nu
- completion.zsh
- key-bindings.bash
- key-bindings.fish
- key-bindings.nu
- key-bindings.zsh
- update.sh
- algo.go
- algo_test.go
- fastpath_equiv_test.go
- indexbyte2_amd64.go
- indexbyte2_amd64.s
- indexbyte2_arm64.go
- indexbyte2_arm64.s
- indexbyte2_other.go
- indexbyte2_test.go
- normalize.go
- runeindex_others.go
- runeindex_ref.go
- runeindex_x86.go
- runeprefilter_test.go
- SIMD.md
- protector.go
- protector_openbsd.go
- dummy.go
- eventtype_string.go
- light.go
- light_query_test.go
- light_test.go
- light_unix.go
- light_windows.go
- tcell.go
- tcell_test.go
- ttyname_unix.go
- ttyname_windows.go
- tui.go
- tui_test.go
- atexit.go
- atexit_test.go
- atomicbool.go
- atomicbool_test.go
- chars.go
- chars_test.go
- concurrent_set.go
- eventbox.go
- eventbox_test.go
- slab.go
- util.go
- util_test.go
- util_unix.go
- util_windows.go
- actiontype_string.go
- ansi.go
- ansi_test.go
- cache.go
- cache_test.go
- chunklist.go
- chunklist_test.go
- constants.go
- core.go
- functions.go
- history.go
- history_test.go
- item.go
- item_test.go
- LICENSE
- matcher.go
- merger.go
- merger_test.go
- options.go
- options_no_pprof.go
- options_pprof.go
- options_pprof_test.go
- options_test.go
- pattern.go
- pattern_test.go
- proxy.go
- proxy_test.go
- proxy_unix.go
- proxy_windows.go
- reader.go
- reader_test.go
- result.go
- result_others.go
- result_test.go
- result_x86.go
- server.go
- terminal.go
- terminal_test.go
- terminal_unix.go
- terminal_windows.go
- tmux.go
- tmux_test.go
- tokenizer.go
- tokenizer_test.go
- winpty.go
- winpty_windows.go
- zellij.go
- common.fish
- common.rb
- common.sh
- fzf.vader
- runner.rb
- test_core.rb
- test_exec.rb
- test_filter.rb
- test_layout.rb
- test_preview.rb
- test_raw.rb
- test_server.rb
- test_shell_integration.rb
- test_tmux.rb
- .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 퍼지 파인더를 실행합니다.
# CDN으로 사용하기
jsDelivrjsDelivr는 공개 GitHub 리포지토리를 별도 설정 없이 CDN으로 즉시 서빙합니다. 버전과 파일을 고르면 웹페이지에 바로 붙일 수 있는 링크와 예시 코드가 만들어집니다.
릴리즈 타임라인
활발히 관리 중명령어 용어집
이 문서에서 사용된 명령어를 모아봤습니다. 낯선 명령어가 있다면 펼쳐서 확인해보세요.
pkg
설명 보기 ▼
pkg
Termux용 패키지 관리 유틸리티.
더 많은 정보: <https://wiki.termux.com/wiki/Package_Management>.
pkg {{[up|upgrade]}}
설치됨 모든 패키지 업그레이드:
pkg install {{package}}
새 패키지 설치:
tldr pkg_add
패키지 설치/업데이트에 대한 설명서 보기:
dir
설명 보기 ▼
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
설명 보기 ▼
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
파일 처리를 위한 다목적 프로그래밍 언어.
참고: 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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
esac
이 쉘 키워드는 `case` 문을 종료할 때 사용됨.
tldr case
`case` 키워드 문서 보기:
fish
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
man
설명서 페이지 형식 지정 및 표시.
관련 항목: `whatis`, `apropos`.
더 많은 정보: <https://manned.org/man>.
man {{command}}
명령에 대한 설명서 페이지를 표시:
man {{[-H|--html=]}}{{browser_name}} {{command}}
섹션 7의 명령에 대한 설명서 페이지를 표시:
man 7 {{command}}
명령에 사용 가능한 모든 섹션 나열:
mise
설명 보기 ▼
mise
다양한 패키지의 버전을 관리.
더 많은 정보: <https://mise.jdx.dev/cli/>.
mise plugins list-all
사용 가능한 모든 플러그인 나열:
mise plugins add {{name}}
플러그인 설치:
mise ls-remote {{name}}
설치 가능한 런타임 버전 나열:
nix-env
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
shift
위치 매개변수를 이동.
더 많은 정보: <https://www.gnu.org/software/bash/manual/bash.html#index-shift>.
shift
첫 번째 위치 매개변수 제거:
shift {{n}}
첫 번째 `N`개의 위치 매개변수 제거:
ssh
설명 보기 ▼
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
설명 보기 ▼
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
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
설명 보기 ▼
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
설명 보기 ▼
apk
Alpine Linux 패키지 관리 도구.
더 많은 정보: <https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper>.
apk upgrade {{[-U|--update-cache]}}
모든 원격 저장소에서 저장소 색인 업데이트:
apk update
새 패키지 설치:
apk add {{package}}
패키지 제거:
apt install
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
pacman -S
This command is an alias of `pacman --sync`.
tldr pacman sync
View documentation for the original command:
xbps-install
설명 보기 ▼
xbps-install
XBPS 패키지를 (재)설치하고 업데이트하는 도구.
관련 항목: `xbps`.
더 많은 정보: <https://manned.org/xbps-install>.
xbps-install {{package}}
새 패키지 설치:
xbps-install {{[-Su|--sync --update]}}
모든 패키지를 동기화하고 업데이트:
zypper
설명 보기 ▼
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
설명 보기 ▼
pkgin
NetBSD에서 `pkgsrc` 바이너리 패키지를 관리합니다.
더 많은 정보: <https://pkgin.net/#usage>.
pkgin install {{package}}
패키지 설치:
pkgin remove {{package}}
패키지 및 해당 의존성 제거:
pkgin full-upgrade
모든 패키지 업그레이드:
pkg_add
설명 보기 ▼
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
설명 보기 ▼
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
설명 보기 ▼
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
Scoop 패키지 관리자.
`bucket`과 같은 하위 명령어는 자체 문서를 가지고 있습니다.
더 많은 정보: <https://github.com/ScoopInstaller/Scoop/wiki/Commands>.
scoop install {{package}}
패키지 설치:
scoop uninstall {{package}}
패키지 제거:
scoop update --all
모든 설치된 패키지 업데이트:
winget
설명 보기 ▼
winget
윈도우 패키지 매니저.
더 많은 정보: <https://learn.microsoft.com/windows/package-manager/winget>.
winget {{[add|install]}} {{package}}
패키지 설치:
winget {{[rm|uninstall]}} {{package}}
패키지 제거 (참고: `remove` 대신 `uninstall` 을 사용할 수 있음):
winget show {{package}}
패키지에 대한 정보 표시:
