Fnord is a small tool to organize collections of files and to categorize them in directories of symbolic links.


If you downloaded a prebuilt copy, the executable should run on recent Unix- or Windows-based .NET 4.5 environments. It has been developed for and tested on Linux with Mono 3 and Windows 7.

To build Fnord from source you will need an F# 3.0 compiler and .NET development environment. The .fsproj file in the source directory should be understood by command line tools like Microsoft's msbuild or Mono's xbuild as well as IDEs such as MonoDevelop or VisualStudio.


Fnord is a command line tool with a few simple subcommands.

You can initialize a directory for use with Fnord as follows:

Fnord init somewhere

Once inside the directory you can import files with a command like

Fnord cpit +tag1 +tag2 path/to/file1 path/to/file1

It will store file1 and file2 in a dedicated directory and put links to the files in the directories tag1 and tag2. The cpit subcommand can also be used to remove links from tag directories using the -tag syntax. Tag additions and removals can be combined on the same command line. The file arguments can refer to links in tag directories, files in the storage area or files anywhere else in the filesystem. Only files outside of a Fnord directory will be transferred into the storage area. If the Fnord directory was setup with a hash function, which is the default, duplicates of files will be detected automatically upon import and new tags will refer to the already existing copy. Fnord directories without a hash function only detect identically named duplicates of files.

To clean up unused tag directories and unreferenced files in the storage area

Fnord clean

can be used.

To list the available commands and options, run Fnord without arguments or use the help command with another command name as its argument.