mvshaker swaps randomly your files.

It was created to remember Warsaw’s Second Law: “Never change anything after 3pm on a Friday.” See for more details.

Directories are ignored if you don’t use --recursive flag (short version -r) and files can be excluded using --exclude flag (short version -e).


To build mvshaker and install it to $GOPATH/bin/mvshakeryou need a working Go compiler:

% go get

Code repository

mvshaker’s repository is located at

Feel free to mail me to report bugs or request features or use


# mvshaker /bin/* --exclude bash

--exclude flag has a compact vesion (-e) useful when you want exclude multiple files:

# mvshaker /bin/* -e bash -e ls

Since version 0.2:

# mvshaker -r /bin -e bash -e ls


mvshaker is released under the BSD 3-Clause license. See LICENSE.