# Install xcv with Homebrew

Cut, copy and paste files with Bash. Version 1.0.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:xcv
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xcv
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:xcv
- **Package manager:** Homebrew
- **Version:** 1.0.1
- **Source summary:** Cut, copy and paste files with Bash
- **Homepage:** <https://github.com/busterc/xcv>
- **Repository:** <https://github.com/busterc/xcv>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- xcv (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.0.1
## Project history and usage

xcv is a very small Bash utility that gives shell users cut, copy, paste, and list commands for files by staging selected paths in $HOME/.xcv.

### Project history

The project appeared at the start of 2015 with the v1.0.0 tag on its first public commit. Its README frames the tool as a wrapper around cp, mv, and ls, trading generality for a familiar desktop-like verb set: x for cut, c for copy, v for paste, and l for list.

Early commits fixed quoting, made the package bpkg-friendly, printed errors to stderr, and added dotfile support. The project was already small and largely complete by the v1.0.1 tag later in January 2015, with Homebrew installation added in 2016.

### Adoption history

xcv never became a broad Unix primitive; its adoption story is that of a tiny convenience command packaged for people who like shell workflows but occasionally want a clipboard-like file staging area. The README documents Homebrew, bpkg, and npm installation paths, pointing to cross-ecosystem packaging rather than a large upstream ecosystem.

### How it is used

The user runs xcv c or xcv x with file arguments, then changes directories and runs xcv v to copy staged files into the current directory. xcv l lists staged files before pasting.

$HOME/.xcv is a transient staging directory used by the tool, not a user-authored config file. The implementation recreates it when a new cut or copy operation starts and clears it after paste.

### Why package nerds care

xcv is interesting as a package because it is almost aggressively simple: a Bash wrapper that packages a file-manager metaphor for terminals. It is the kind of small CLI that package indexes preserve even when its whole behavior can be understood in one screen of shell.

### Timeline

- 2015-01-01: Initial commit and v1.0.0 tag.
- 2015-01-02: Early fixes for quoting, bpkg packaging, stderr output, and dotfile support.
- 2015-01-18: v1.0.1 tag.
- 2016-01-25: Homebrew installation added to the README.

### Related projects

- cp, mv, and ls: core commands that xcv wraps.
- bpkg and npm: alternative installation channels documented by the project.
- Shell aliases such as fsx, fsc, fsv, and fsl: README-suggested shortcuts for the four actions.

### Sources

- Git history and tags: https://github.com/busterc/xcv
- README, busterc/xcv: https://github.com/busterc/xcv#readme
- xcv script: https://github.com/busterc/xcv/blob/master/xcv


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/xcv.yml](https://github.com/mxcl/pkgdb/blob/main/combined/xcv.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
