Skip to main content
Mirage provides familiar Unix-style commands over virtual paths, with availability determined by the mount’s capabilities and your session’s permissions. Tables list common supported flags; use man COMMAND or COMMAND --help for the full command reference. Compatibility varies by command, so a familiar name does not imply every option from the original program.

Files and directories

Search and compare

egrep and fgrep invoke grep with -E and -F respectively. Compressed-file search is covered under Data & Network.

Text processing

Running commands and inspecting the environment

Limits

  • rm -i and -I are accepted but ignored; deletion does not prompt for confirmation.
  • File operations depend on the backend; a read-only mount cannot accept writes. Permission and owner metadata may live in Mirage’s overlay rather than the remote service.
  • Mount roots are protected from removal, renaming, and use as copy sources. mount lists configured mounts; it does not attach new backends.
  • ln -s creates a virtual symlink. Without -s, a regular file is copied; there is no shared hard-link inode.
  • find supports -a, -o, !, parentheses, and both -exec ... \; and -exec ... {} +. Tests must precede actions in each AND chain, and OR branches must use the same action. -newer and -newermt must be in a top-level AND chain. -execdir and -ok are unsupported.
  • rg cannot sort by creation time. ls --color and grep --color are accepted without colored output.
  • Under a UTF-8 locale, sed, grep, expr, nl, [[ =~ ]] and git’s filters match whole characters. A pattern byte that is only part of one, such as \xa9 against é (bytes C3 A9), matches nothing there, where Linux’s sed can match it inside the character.
  • In rare patterns, sed, expr and [[ =~ ]] capture different text in a group than Linux does, or find a match where Linux finds none. Such a pattern repeats a group that holds an anchor (^, $, \b, \<, \>) or can match nothing, or refers back to one. For example, [[ ab =~ (a|b|$){1,3} ]] leaves BASH_REMATCH[1] empty where Linux sets it to b, and echo babc | sed 's/\(\<[a-][ab]\|[a-c]\)\{2\}/<&>/' prints <ba>bc where Linux prints babc.
  • getconf -a lists the same variables and values as Linux, in the order of POSIX’s tables rather than the C library’s.
  • xargs -p and -o fail because there is no terminal. timeout models signals as task actions; its commands cannot trap OS signals.