Repository navigation
Releases: marjoncajocon/mmc-shell
Release list
mmc-shell 0.3.0
mmc 0.3.0: mmc now brings its own Linux tools. cp -rfv, grep, sed, awk, tar, sha256sum and about a hundred more work on a bare Windows PC, with no git-bash needed. mmc is a small, portable, git-bash style shell written from scratch in pure C11, with its own terminal window, mmc-term. No installer and no dependencies: unzip it anywhere, even on a USB drive, and that folder becomes /.
Download
| File | For |
|---|---|
mmc-shell-0.3.0-windows-x64.zip |
Windows 10/11, most PCs |
mmc-shell-0.3.0-windows-arm64.zip |
Windows on ARM |
mmc-shell-0.3.0-linux-x64.tar.gz / -linux-arm64.tar.gz |
Linux (not yet tested on a real machine) |
mmc-shell-0.3.0-macos-x64.tar.gz / -macos-arm64.tar.gz |
macOS (not yet tested) |
mmc-shell-0.3.0-linux-arm.tar.gz |
the shell only, older 32 bit Android phones (Termux) |
Check a download with sha256sum -c SHA256SUMS.txt (mmc can now do that by itself).
Windows: unzip, add the folder to your PATH, then type mmc-term (the window) or mmc-shell (the shell in another terminal). The programs are not code-signed yet, so SmartScreen may say "Windows protected your PC": click More info → Run anyway.
What's new in 0.3.0
Built-in Linux tools. A Windows PC has no cp, grep or tar unless git-bash is installed, so mmc now brings its own, written from scratch with the GNU options and messages. cp -rfv src dst looks the same on every system.
| files | ls cat cp mv rm rmdir mkdir touch ln find chmod du df file stat readlink realpath basename dirname mktemp truncate |
| text | grep egrep fgrep sed awk sort uniq cut head tail tee wc tr diff seq tac rev nl paste comm join fold expand unexpand split shuf column fmt cmp |
| binary | od xxd hexdump strings |
| checksums | md5sum sha1sum sha224sum sha256sum sha384sum sha512sum cksum sum base64 base32 |
| archives | tar (with -z), gzip gunzip zcat zip unzip |
| system | ps watch uname hostname whoami id cal date nproc printenv tty env which clear sleep yes expr sync nohup timeout xargs cygpath |
- They are used only when the PATH has no program of that name, so on Linux and macOS the system's own tools still answer.
builtin grep ...forces mmc's version. - mmc's
find,sort,hostname,whoami,timeoutandexpandwin over the different Windows programs of the same name (typefind.exefor the Windows one). - In a pipeline they stream like programs (
tail -f log | grep xworks), and Ctrl-C stops them. bashandshrun mmc itself when no other bash is installed, soxargs ... bash -candfind -exec bash -cwork.helplists them all.
Regular expressions. These were rewritten: basic and extended syntax, UTF-8, POSIX leftmost-longest matching. They are used by [[ =~ ]], grep, sed and awk.
The terminal (mmc-term)
- Ctrl+=, Ctrl+- and Ctrl+0 now keep the window size and change the number of rows and columns, so full-screen programs (editors,
htop) redraw at the new size right away. - Programs can change the font size (OSC 50) and the mouse pointer shape (OSC 22, e.g. a hand over a clickable item).
- Ctrl+/ sends
^_like xterm, so "toggle comment" works in nano, vim and other editors.
Known limits of the tools: tar knows gzip only (no bzip2, xz or zstd). zip has no encryption and no archives over 4 GB. chmod on Windows can only set or clear the read-only bit. ln -s on Windows needs Developer Mode (or an administrator). sort compares bytes (like LC_ALL=C). grep -P is treated as -E. diff has no -y. awk is POSIX awk plus the most-used gawk extensions, but has no asort, PROCINFO or @include.
What is in it
The shell (mmc)
- Runs bash scripts: passes 440 bash compatibility cases, and reads the shell scripts of PortableGit, Flutter, emsdk and the Android SDK
- git-bash style paths on Windows (
/,/home/you,/d/tools=D:\tools), converted automatically for Windows programs /etc/profile,~/.mmcrc, and your own programs in/usr/bin- Line editor with history, Ctrl+R search, Tab completion and programmable completion
The terminal (mmc-term)
- Tabs (drag to reorder) and split panes
- Themes: dark, green, gruvbox, red, light (Ctrl+Shift+L)
- JetBrains Mono Nerd Font included, with ligatures, Nerd Font icons and color emoji
- Find (Ctrl+Shift+F), clickable links, text reflow on resize
- xterm/VT compatible: runs nano, vim, micro, htop-style tools, the kitty keyboard protocol and sixel images (sixel on Windows needs Windows Terminal's
conpty.dll+OpenConsole.exenext tommc-term.exe)
Status
Windows 11: fully tested. Linux and macOS: they build cleanly but have not been run on real machines yet. Bug reports are welcome.
mmc-shell 0.2.0
The first release of mmc: a small, portable, git-bash style shell written from scratch in pure C11, with its own terminal window, mmc-term. No installer and no dependencies: unzip it anywhere, even on a USB drive, and that folder becomes /.
Download
| File | For |
|---|---|
mmc-shell-0.2.0-windows-x64.zip |
Windows 10/11, most PCs |
mmc-shell-0.2.0-windows-arm64.zip |
Windows on ARM |
mmc-shell-0.2.0-linux-x64.tar.gz / -linux-arm64.tar.gz |
Linux (not yet tested on a real machine) |
mmc-shell-0.2.0-macos-x64.tar.gz / -macos-arm64.tar.gz |
macOS (not yet tested) |
mmc-shell-0.2.0-linux-arm.tar.gz |
the shell only, older 32 bit Android phones (Termux) |
Check a download with sha256sum -c SHA256SUMS.txt.
Windows: unzip, add the folder to your PATH, then type mmc-term (the window) or mmc-shell (the shell in another terminal). The programs are not code-signed yet, so SmartScreen may say "Windows protected your PC": click More info → Run anyway.
What is in it
The shell (mmc)
- Runs bash scripts: passes 440 bash compatibility cases, and reads the shell scripts of PortableGit, Flutter, emsdk and the Android SDK
- git-bash style paths on Windows (
/,/home/you,/d/tools=D:\tools), converted automatically for Windows programs /etc/profile,~/.mmcrc, and your own programs in/usr/bin- Line editor with history, Ctrl+R search, Tab completion and programmable completion
The terminal (mmc-term)
- Tabs (drag to reorder) and split panes
- Themes: dark, green, gruvbox, red, light (Ctrl+Shift+L)
- JetBrains Mono Nerd Font included, with ligatures, Nerd Font icons and color emoji
- Find (Ctrl+Shift+F), clickable links, text reflow on resize
- xterm/VT compatible: runs nano, vim, micro, htop-style tools, the kitty keyboard protocol and sixel images (sixel on Windows needs Windows Terminal's
conpty.dll+OpenConsole.exenext tommc-term.exe)
Status
Windows 11: fully tested. Linux and macOS: they build cleanly but have not been run on real machines yet. Bug reports are welcome.