cmus
Play music from the command line
TLDR
Open cmus into the specified directory (this will become your new working directory)
Add file/directory to library
Refresh the metadata of songs in the library
Search for songs, albums, or artists
Pause/unpause current song
Toggle shuffle mode on/off
Quit cmus
SYNOPSIS
cmus [options] [remote-command [remote-options]]
--query-playlist | --query-playing | --query-options
[-C configfile] [-u] [-l ADDR] [-p PASSWORD] [-X command] [paths …]
PARAMETERS
-h, --help
Print help message and exit.
-V, --version
Print version information.
-d[LEVEL], --debug[=LEVEL]
Set debug level (0-3).
-v[LEVEL], --verbose[=LEVEL]
Increase verbosity level.
-q, --quiet
Suppress informational messages.
-C FILE, --config-file=FILE
Use alternative config file.
-u, --unshare
Unshare cache/playlist with other instances.
-S DIR, --session=DIR
Load/save session from DIR.
-l ADDR, --listen=ADDR
Listen on address for remote control.
-p PASS, --password=PASS
Set password for listen address.
-X CMD, --exec=CMD
Execute command on startup.
--query-playlist
Print current playlist.
--query-playing
Print currently playing track.
--query-options
Print current options.
paths
Directories/files to add to library (recursive).
remote-command
Run command like prev, play, stop without starting UI.
DESCRIPTION
cmus is a small, fast, and powerful console music player for Unix-like systems. Designed for efficiency, it uses minimal resources and supports a vast array of audio formats including FLAC, MP3, Ogg Vorbis, Opus, AAC, Musepack, WavPack, and more via plugins like libmad, libFLAC, libao, and FFmpeg.
It features a modular interface with multiple views: library for browsing your music collection, playlist for current tracks, browse for filesystem navigation, queue for dynamic additions, and sorted for filtered results. Switch views with Tab.
Key features include gapless playback, ReplayGain support, tagging, searching, shuffling, customizable keybindings, and themes. Control playback with intuitive keyboard shortcuts (e.g., space to play/pause, arrow keys to navigate). It supports remote control via FIFO or TCP sockets for scripting or external UIs.
Library managed in ~/.cmus/lib.pl; configuration in ~/.cmus/rc. Ideal for tiling window managers or headless servers.
CAVEATS
Requires UTF-8 terminal for full display.
Some formats need external libs (e.g., ffmpeg).
No graphical UI; terminal-only.
Lockfile prevents multiple instances sharing state.
VIEWS
library (all tracks), playlist, browse (fs), queue, sorted. Tab to cycle; / to filter.
KEYBINDINGS
Customizable in config. Defaults: space=play/pause, Enter=play, x=stop, +/- volume, arrows navigate.
FORMATS
Native: FLAC, WAV, MP3 (libmad), Ogg/Opus/Speex. Via plugins: AAC/MP4, APE, WMA, MIDI.
HISTORY
Created in 2005 by Hannes Mehnert as a lightweight alternative to larger players. Maintained by community since 2008; latest stable 2.10.0 (2020). Written in C for speed and portability.


