Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
What does TMSU stand for?
It stands for Tag My Shit Up.
How is TMSU pronounced?
It's somewhere between tiramisu and a sudden and unexpected sneeze.
How can I report a bug or make a suggestion?
What similar programs are there?
You should also look at:
Why does TMSU not detect file moves and renames?
To detect file moves/renames would require a daemon process watching the file system for changes and support from the file system for these events. As some file systems cannot provide these events (e.g. remote file systems) a universal solution cannot be offered. Such a function may be added later for those file systems that do provide file move/modification events but adding support for this to TMSU is not a priority at this time.
The current solution is to periodically use the
repair command which will detect moved/renamed files and also update fingerprints for modified files. (The limitation of this is that files that are both moved/renamed and modified cannot be detected.)
How do I exclude tags when listing files?
TMSU supports a simple query language consisting of the operators
not. To exclude tags, simply prefix them with
For example, pull out your audio books:
$ tmsu files mp3 and not music
and operator is implied if you omit it:
$ tmsu files mp3 not music
Excluding multiple tags is easiest with parentheses and the
$ tmsu files mp3 not rock not big-jazz not pop $ tmsu files mp3 not (rock or big-jazz or pop)
Does TMSU work on GNU/Linux?
Yes. (It was developed on Arch Linux.)
Does TMSU work on BSD?
Is TMSU available for Windows?
It now compiles for Windows but it's a little fiddly to do so. Plus there is no virtual filesystem support just yet.
Is a package available for my GNU/Linux distribution's package manager?
At this time probably not. Help with creating these would be very much appreciated.
- Arch Linux package is available in the AUR.
- Ubuntu stable and daily PPAs are available for Ubuntu 16.04.1+.
Is completion available for my shell?
If your shell is Zsh then yes, completion is in the
misc directory of the source tree and binary distributable.
Does TMSU have a GUI?
No. Maybe one day, or else integration with popular file/media browsers could be provided.
(2016-09) There has been some effort integrating TMSU as a Nautilus extension.
Where is the database stored?
Whenever you run
tmsu init, a database file is created at
.tmsu/db under the current working directory and will be used whenever you're at or beneath that path. For example, if you run
init in your home directory, then you will get a database at
$HOME/.tmsu/db and any files you tag in your home directory (or sub-directories) will go into this database.
To find out which database you are currently using, run
tmsu info. This will show you the current database (if one can be found), amongst other details.
Note: Prior to v0.7.0, TMSU would create a default database at
~/.tmsu/default.db when you first use it.
How does TMSU find the database
Whenever you run TMSU, it will look for a database at
.tmsu/db under the current working directory. If none can be found, TMSU will look for
.tmsu/db in each parent directory in turn, up to and including the root directory.
If a database is not found in the current or a parent directory, TMSU will then look for the default database created by earlier (<v0.7.0) versions of TMSU at
Can I specify the database explicitly?
Yes. See [Switching Databases](Switching Databases).
What format is the database?
The database is a SQLite3 database and can be read with the regular SQLite tooling.
$ sqlite3 ~/.tmsu/db ... sqlite> .schema ... sqlite> select * from file; ... sqlite> .q
How do I export my data?
The database is a standard Sqlite3 database. There are several tools available that can read the database and which can export the rows as CSV, SQL, &c.
To dump to SQL text, you can use the Sqlite3 tooling:
$ sqlite3 ~/.tmsu/db .dump >dump.sql