MU-MOVE(1)
π¦ MU-MOVE(1) β the manual page, but make it cute
okay bestie, welcome to mu-move, straight out of the General Commands Manual section π this is the one that moves your messages around and messes with their flags, and yes it's as good as it sounds.
β¨ NAME β¨
mu-move β move a message file or change its flags π«Ά
π SYNOPSIS π
mu [COMMON-OPTIONS] move [OPTIONS] SRC [--flags=FLAGS] [TARGET]
π DESCRIPTION π
mu move is the command for moving messages in a Maildir and for changing their flags. two jobs, one icon, we love a multitasker β¨
For any change, both the message file in the file system and its representation in the database get updated accordingly. like, both. always. no cap.
The source message file and the target-maildir must both live under the root-maildir for mu's database β check mu info store if you're not sure where that is π
π MOVE OPTIONS π
--flagsflags β set the brand new message flags. the full deets live down in FLAGS π«--change-nameβ changes the basename of the message file while moving. lowkey a lifesaver when you're using external tools likembsync(1)that would otherwise get all confused π--update-dupsβ also updates the flags of duplicate messages. "duplicate messages" here means all messages that share the same message-id. heads up though: the Draft/Flagged/Trashed flags are deliberately not changed if you change those on the source message. not a bug, it's on purpose π-n,--dry-runβ prints the target filename(s) but doesn't actually change anything. pure vibes, zero consequences πΈ
β οΈ note that with--change-namethe target name is not constant, so you cannot use a dry-run to predict the exact name you'd get from a'real'run. the dry-run is giving estimation, not prophecy π
π COMMON OPTIONS π
-d,--debugβ makes mu spit out extra debug information, which is exactly what you want when you're debugging the program itself. the debug info goes to the standard logging location; peepmu(1)for that π-q,--quietβ mu stops sending informational messages and progress info to standard output, and only writes them to the log file instead. error messages still go to standard error, because errors are main characters and refuse to be silenced. also note thatmu indexis much faster with--quiet, so if you're running mu from scripts etc., this is the move, fr fr β--log-stderrβ causes mu to not output log messages to standard error, on top of sending them to the standard logging location π--nocolorβ no ANSI colors. if you're anti-vibes, you can also just set the environment variableNO_COLORinstead of passing this flag π-V,--versionβ prints the mu version and all the copyright info π-h,--helpβ lists the various command line options. your little cheat sheet bestie π«Ά
π·οΈ FLAGS π·οΈ
π‘ quick note: if you are not familiar with Maildirs, please go read themaildir(5)man-page, or check outhttp://cr.yp.to/proto/maildir.htmlβ it's giving required reading π
The message flags specify the Maildir-metadata for a message, and they show up as uppercase letters at the end of the message file name, for all non-new messages β i.e. messages living in the cur/ sub-directory of a Maildir β¨
Dβ Draft messageFβ Flagged messagePβ Passed message (i.e.,forwarded)Rβ Replied messageSβ Seen messageTβ Trashed; to be deleted later π
New messages (the ones chilling in the new/ sub-directory) do not have flags encoded in their file-name β but mu uses N in the --flags to represent exactly that:
Nβ New
So changing flags basically means changing the letters at the end of the message file-nameβ¦ except when you're setting or removing that N (new) flag. Setting or un-setting the New flag makes the message get moved from cur/ to new/ or vice-versa, respectively π¦ and when you mark a message as New, it loses the other flags. that's just how it is, periodt.
πΈ ABSOLUTE AND RELATIVE FLAGS πΈ
You specify flags with the --flags parameter, and you can do it either with absolute or relative flags.
Absolute flags just spell out the new flags by their letters. e.g. to specify a Trashed, Seen, Replied message, you'd use --flags STR π
Relative flags are relative to the current flags of some message, and each flag gets prefixed with either + ("add this flag") or - ("remove this flag").
So to add the Seen flag and remove the Draft flag from whatever the message already has, you'd do --flags +S-D π₯
β οΈ You cannot combine absolute and relative flags. pick a lane bestie π
π¬ EXAMPLES π¬
β¨ change some flags β¨
$ mu move /home/user/Maildir/inbox/cur/1695559560.a73985881f4611ac2.hostname!2,S --flags +F
/home/user/Maildir/inbox/cur/1695559560.a73985881f4611ac2.hostname!2,FS
β¨ move to a different maildir β¨
$ mu move /home/user/Maildir/project1/cur/1695559560.a73985881f4611ac2.hostname!2,S /project2
/home/user/Maildir/project2/cur/1695559560.a73985881f4611ac2.hostname!2,S
π REPORTING BUGS π
found a bug? please report it at https://github.com/djcb/mu/issues β the devs genuinely want to know, no gatekeeping π
π AUTHOR π
Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
Β©οΈ COPYRIGHT Β©οΈ
This manpage is part of mu 1.14.2.
Copyright Β© 2008-2026 Dirk-Jan C. Binnema. License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. π«Ά
π SEE ALSO π
and that's the whole page bestie π stay slaying with your Maildirs β mu-move from mu 1.14.2, Β© 2008-2026 Dirk-Jan C. Binnema, and this page belongs to the General Commands Manual section β¨ mwah π
π¦ where this page comes from
- ubuntu stonking: maildir-utils 1.14.2-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms