LinuxCommandLibrary

cmus

Play music from the command line

TLDR

Open cmus into the specified directory (this will become your new working directory)

$ cmus [path/to/directory]
copy

Add file/directory to library
$ <:>add [path/to/file_or_directory]
copy

Refresh the metadata of songs in the library
$ <:>update-cache
copy

Search for songs, albums, or artists
$ </>[something]
copy

Pause/unpause current song
$ <c>
copy

Toggle shuffle mode on/off
$ <s>
copy

Quit cmus
$ <q>
copy

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.

SEE ALSO

moc(1), ncmpcpp(1), mpd(1), mpv(1)

Copied to clipboard