cbtagfs is a purely-metadata, tag-based filesystem in userspace. It doesn't store files. It allows you to associate tags with files that exist on other filesystems, and easily and intuitively find those files again based on those tags. cbtagfs... - is written in Perl - is compatible with any other mounted filesystems - uses FUSE to mount as non-superuser - uses normal filesystem interactions for all operations Within the cbtagfs filesystem, tags are listed as directories, and descending into them filters the results of files listed. Files are always served as symlinks pointing back to the original. This makes interacting with cbtagfs very general and intuitive. This is best shown with some examples: Watch a slideshow of all my favorite people: $ feh /tags/pictures/Jakob/Ruby/Tyrone/*.jpg Ordering of tags doesn't matter, so this is the same as: $ feh /tags/Ruby/Tyrone/Jakob/pictures/*.jpg You can "cd" around to navigate your filters... $ cd /tags/my_work_project $ ls # lists all files related to the project $ cd documents $ ls # now filters to only "documents" within the project $ cd .. $ cd code/web $ ls # now list all web-related code for the project Queue up a custom playlist: $ mpg123 /tags/music/favorite/soothing/*.mp3 Or run your own MTV: $ mplayer -fs -shuffle /tags/music/videos/* Links ----- - Man page - Operations quick-guide - More thorough walkthrough - Limitations Current release: cbtagfs-0.2.tar.bz2