All your files, quickly and easily.

Tired of looking for your pictures and songs in a million folders?

Feeling like you've lost control of your files?

→ Go semantic with tags! ←

$ tagsistant ~/myfiles

Mount Tagsistant

Just tell Tagsistant the name of the directory you want to use, for example myfiles/ in your home.

$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi

Create your tags

Think to directories under tags/ as white stickers you write something on top. Create as many tags as you need, ready to mark your files.

$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@

Tag your files

After creating a tag in tags/, it will be available in store/. Copy your files inside it: that's how you tag files.

$ ls ~/myfiles/store/startrek/@
$ ls ~/myfiles/store/startrek/+/starwars/@

Find your files by tags

Compose your search query by choosing as many tags you desire. You can even combine the results of more than one query by placing a +/ in between, like in startrek/+/starwars/ which merges the files tagged startrek with the files tagged starwars.

$ mkdir ~/myfiles/relations/scifi/includes/startrek
$ ls ~/myfiles/store/scifi/@
first_contact.avi                # 1 file...
$ mkdir ~/myfiles/relations/scifi/includes/starwars
$ ls ~/myfiles/store/scifi/@
the_return_of_the_jedi.avi       # 2 files!

Activate relations between tags

Tagsistant understands three relations:

  1. includes: If A includes B, any file tagged as B can be automatically found inside A.
  2. excludes: If A excludes B, any file tagged as B can't be found inside A even if it's tagged as A.
  3. is_equivalent: If A is equivalent to B, then all the files in A are available in B and vice versa.

That's Tagsistant, the semantic filesystem for Linux which turns directories into tags and lets you search your files by tags.

And there's even more!

$ cp -R ~/Photos/London ~/myfiles/store/photos/@
$ ls -l ~/myfiles/store/photos/@/
$ ls -l ~/myfiles/store/photos/@/London/
-rw-------  1 tx0 tx0 2.3M Sep 28  2009 bridge.jpg
-rw-------  1 tx0 tx0 3.0M Aug 30  2011 trafalgar_square.jpg
[ ... more files here ... ]

Tag entire directories

With Tagsistant you can tag entire directories. The directory itself will be tagged, not the files inside, saving space in the tag db.

$ ls ~/myfiles/store/document:/author/eq/Tx0/@
$ ls ~/myfiles/store/document:/title/inc/Strategic/@
$ ls ~/myfiles/store/pictures:/aperture/gt/5.6/@
$ ls ~/myfiles/store/time:/hour/lt/3/@

Use triple tags

Triple tags are advanced tags formed by a namespace (terminated by a colon) which identifies the domain of interest of the tag, a key which qualifies the tag, an operator (eq for equality, gt for greater than, lt for less than and inc for includes), and finally a value which quantifies the tag.

Autotagging plugins

Tagistant can be expanded by third parties plugins able to tag specific MIME type of files. Current distribution includes MP3, OGG, HTML, XML, JPEG, PNG, PDF, and GIF plugins.


If you copy the same file twice, Tagsistant will notice this and delete the second copy, adding its tag set to the first copy. Never mind if you already copied a file inside, Tagsistant is smart enough.

Access your files

The archive/ directory lets you access all your files and directories directly without any query. Or if you want to get your whole collection, just ask for store/ALL/@/.

Curious about Tagsistant?

read the documentation on version 0.8, and download it.

Tx0 http://strumentiresistenti.org/en/