fclip
is a command-line clipboard for the filesystem. It allows to use a terminal
to manipulate files much like in a GUI file manager, but in a more powerful and
versatile way. It runs on Linux systems with the D-Bus message bus.
Build fclip
using make
. fclip
requires dbus-c++
, boost_system
, boost_filesystem
and boost_program_options
.
fclip
consists of two components:
- the command-line utility,
fclip
, - the server,
fclip-server
.
Each user wanting to use the command-line utility needs to have his own copy of
the server running. You will probably want to configure the server to start when
you log in. fclip
also requires a D-Bus user message bus.
This is a brief introduction to using fclip
. You can also read the manual.
fclip
doesn't store entire files, just file paths. The paths remain in the clipboard
until they are removed.
Use fclip add
to add files (file paths) to the clipboard:
$ fclip add index.html
$ cd ~/Pictures
$ fclip add kittens/*.jpg
Use fclip rm
to un-add files:
$ fclip rm kittens/ugly_kitten.jpg
fclip each
performs an action on each of the files in the clipboard. Use the -p
option to print their paths:
$ fclip each -p
/home/cifka/bordel/index.html
/home/cifka/Pictures/kittens/black_kitten.jpg
/home/cifka/Pictures/kittens/white_kitten.jpg
/home/cifka/Pictures/kittens/some_other_kitten.jpg
Use -c
to run a given command
({}
gets replaced by each of the file paths):
$ fclip each -c 'cp {} ~/public_html'
# ~/public_html now contains index.html and some .jpg files
You can supply a directory path to fclip each
in order to only process files under that directory:
$ fclip each ~/Pictures -p
kittens/black_kitten.jpg
kittens/white_kitten.jpg
kittens/some_other_kitten.jpg
Clear the clipboard with fclip clear
. To get an overview of the clipboard's contents, use fclip status
.
To get help about individual commands and their options, run fclip help [<command>]
.
If you want a clean clipboard but have some files in it that you want to use later, you can stash them away
for a while using fclip stash
. Restore them using fclip stash pop
or get rid of them using
fclip stash drop
.
If you do fclip stash
multiple times (without doing pop
or drop
), your stashes will be stored in a stack.
To see the stashes you've stored, use fclip stash list
or fclip stash ls
:
$ fclip stash ls
#0: /home/cifka
#1: /usr/local/bin
Each stash has a number that you can supply to fclip stash pop
or fclip stash drop
to restore
or remove it. If no number is provided, the topmost stash (#0) is chosen.