| Crates.io | fuga |
| lib.rs | fuga |
| version | 1.1.0 |
| created_at | 2023-12-26 08:42:15.07768+00 |
| updated_at | 2025-10-31 18:02:29.039033+00 |
| description | A CLI tool to operate files or directories in 2 steps. |
| homepage | |
| repository | https://github.com/liebe-magi/fuga |
| max_upload_size | |
| id | 1080776 |
| size | 1,907,845 |

A CLI tool to operate files or directories in 2 steps.
ๆฅๆฌ่ชใฎREADMEใฏใใกใ
fuga is a CLI tool that performs file operations in two steps.mv, cp, and ln.fuga mark, and then perform copy/move/link operations together after navigating to another directory.fuga without arguments opens an interactive dashboard TUI so you can browse, mark, and run copy/move/link actions without leaving the terminal.Pre-built binaries for the following architectures are available on releases.
Place the binary for your architecture in a directory included in your system's PATH.
fuga by building it using the cargo command.cargo install fuga
$ fuga -V
fuga v1.1.0
Running
fugawithout a subcommand launches the dashboard TUI. Use the subcommands below when you prefer scripted CLI flows.
A CLI tool to operate files or directories in 2 steps.
Usage: fuga <COMMAND>
Commands:
mark Manage the marked targets
copy Copy the marked targets
move Move the marked targets
link Make symbolic links to the marked targets
completion Generate the completion script
preset Manage mark presets
version Show the version of the tool
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
fuga with no arguments.. or Ctrl+h, and filter entries with / plus fuzzy queries.j/k, open directories with Enter/l, and return to the parent with h or Backspace.m or space to toggle marks, Ctrl+r/R to clear the mark list, and ? to view the in-app help overlay.P, save the current marks with S, and delete presets from the popup with D or x.c, v, or s to copy, move, or link the marked targets into the directory you were browsing, or q to leave without changes.fuga mark <PATH...>.$ fuga mark target_file.txt docs
โ
: ๐ /home/user/path/to/target_file.txt marked.
โ
: ๐ /home/user/path/to/docs marked.
โน๏ธ : Mark list now tracks 2 target(s).
fuga mark --add <PATH...>.$ fuga mark --add images/*.png
โ
: ๐ /home/user/path/to/images/banner.png added.
โ
: ๐ /home/user/path/to/images/logo.png added.
โน๏ธ : Mark list now tracks 4 target(s).
fuga mark --list.$ fuga mark --list
โน๏ธ : Marked targets:
๐ /home/user/path/to/target_file.txt
๐ /home/user/path/to/docs
๐ /home/user/path/to/images/banner.png
๐ /home/user/path/to/images/logo.png
fuga mark --reset.$ fuga mark --reset
โ
: Marked targets cleared.
โน๏ธ : Mark list now tracks 0 target(s).
fuga preset save <NAME>.$ fuga preset save photos
โ
: Preset 'photos' saved with 3 target(s).
fuga preset load <NAME>.$ fuga preset load photos
โ
: Preset 'photos' loaded. Mark list now tracks 3 target(s).
fuga preset list, inspect their contents via fuga preset show <NAME>, and remove obsolete entries with fuga preset delete <NAME>.Three file operations are possible: Copy, Move, and Symbolic Link creation.
fuga copy to copy all marked files or directories.$ cd test_dir_copy
$ fuga copy
โน๏ธ : Copying ๐ /home/user/path/to/target_file.txt -> /current/dir/target_file.txt
โ
: ๐ /current/dir/target_file.txt copied.
โน๏ธ : Copying ๐ /home/user/path/to/docs -> /current/dir/docs
โ
: ๐ /current/dir/docs copied.
$ fuga copy test_dir_copy
โน๏ธ : Copying ๐ /home/user/path/to/target_file.txt -> test_dir_copy/target_file.txt
โ
: ๐ test_dir_copy/target_file.txt copied.
$ fuga copy copy.txt
โน๏ธ : Copying ๐ /home/user/path/to/target_file.txt -> copy.txt
โ
: ๐ copy.txt copied.
fuga move to move the marked file or directory.$ cd test_dir_move
$ fuga move
โน๏ธ : Moving ๐ /home/user/path/to/target_file.txt -> /current/dir/target_file.txt
โ
: ๐ /current/dir/target_file.txt moved.
โน๏ธ : Moving ๐ /home/user/path/to/docs -> /current/dir/docs
โ
: ๐ /current/dir/docs moved.
โน๏ธ : Mark list cleared after move.
$ fuga move test_dir_move
โน๏ธ : Moving ๐ /home/user/path/to/target_file.txt -> test_dir_move/target_file.txt
โ
: ๐ test_dir_move/target_file.txt moved.
$ fuga move move.txt
โน๏ธ : Moving ๐ /home/user/path/to/target_file.txt -> move.txt
โ
: ๐ move.txt moved.
fuga link to create a symbolic link to the marked file or directory.$ cd test_dir_link
$ fuga link
โน๏ธ : Linking ๐ /home/user/path/to/target_file.txt -> /current/dir/target_file.txt
โ
: ๐ /current/dir/target_file.txt linked.
$ fuga link test_dir_link
โน๏ธ : Linking ๐ /home/user/path/to/target_file.txt -> test_dir_link/target_file.txt
โ
: ๐ test_dir_link/target_file.txt linked.
$ fuga link link.txt
โน๏ธ : Linking ๐ /home/user/path/to/target_file.txt -> link.txt
โ
: ๐ link.txt linked.
fuga completion <shell> to output a script for command completion. It supports the following five shells:
# For fish
$ fuga completion fish > ~/.config/fish/completions/fuga.fish
Thanks goes to these wonderful people (emoji key):
ใใผใน ๐ ๐ ๐ป ๐ |
This project follows the all-contributors specification. Contributions of any kind welcome!