mc - Visual shell for Unix-like systems.

       mc [-bcCdfhPstuUVx?] [dir1 [dir2]] [-v file]

       The Midnight Commander is a directory browser/file manager
       for Unix-like operating systems.

       -b     Forces black and white display.

       -c     Force color mode, please check the  section  Colors
              for more information.

       -C arg Use to specify a different color set in the command
              line.  The format of arg is documented in the  Col-
              ors section.

       -d     Disables mouse support.

       -f     Displays  the compiled-in search paths for Midnight
              Commander files.

       -P     At program end, the Midnight Commander  will  print
              the  last  working  directory; this, along with the
              shell function below,  will  allow  you  to  browse
              through  your directories and automatically move to
              the last directory you were in  (thanks  to  Torben
              Fjerdingstad for contributing this function and the
              code which implements this option).

              mc ()
                   MC=`@prefix@/bin/mc -P "$@"`
                   [ -n "$MC" ] && cd "$MC" ;
                   unset MC;

       -s     Turns on the slow terminal mode, in this  mode  the
              program  will not draw expensive line drawing char-
              acters and will toggle verbose mode off.

       -t     Used only if the code was compiled with  Slang  and
              terminfo:  it  makes the Midnight Commander use the
              value of the  TERMCAP  variable  for  the  terminal
              information  instead of the information on the sys-
              tem wide terminal database

       -u     Disables the use of a concurrent shell (only  makes
              sense if the Midnight Commander has been built with
              concurrent shell support).

       -U     Enables the use of  the  concurrent  shell  support
              (only  makes  sense  if  the Midnight Commander was
              built with the subshell support set as an  optional

       -v file
              Enters  the internal viewer to view the file speci-

       -V     Displays the version of the program.

       -x     Forces xterm mode.  Used  when  running  on  xterm-
              capable  terminals  (two  screen modes, and able to
              send mouse escape sequences).

       If specified, the first path name is the directory to show
       in  the selected panel; the second path name is the direc-
       tory to be shown in the other panel.

       The screen of the Midnight Commander is divided into  four
       parts.  Almost  all of the screen space is taken up by two
       directory panels.  By default, the second bottommost  line
       of  the  screen  is the shell command line, and the bottom
       line shows the function key labels. The  topmost  line  is
       the  menu bar line.  The menu bar line may not be visible,
       but appears if you click the topmost line with  the  mouse
       or press the F9 key.

       The  Midnight Commander provides a view of two directories
       at the same time. One of the panels is the  current  panel
       (a  selection  bar  is  in  the current panel). Almost all
       operations take place on  the  current  panel.  Some  file
       operations  like Rename and Copy by default use the direc-
       tory of the  unselected  panel  as  a  destination  (don't
       worry,  they  always  ask you for confirmation first). For
       more information, see the sections on the  Directory  Pan-
       els, the Left and Right Menus and the File Menu.

       You  can execute system commands from the Midnight Comman-
       der by simply typing them. Everything you type will appear
       on  the  shell  command line, and when you press Enter the
       Midnight Commander  will  execute  the  command  line  you
       typed;  read  the  Shell  Command Line and Input Line Keys
       sections to learn more about the command line.

Mouse Support
       The Midnight Commander comes with mouse  support.   It  is
       activated whenever you are running on an xterm(1) terminal
       (it even works if you take a telnet or  rlogin  connection
       to  another  machine from the xterm) or if you are running
       on a Linux console and have the gpm mouse server  running.

       When  you  left  click  on a file in the directory panels,
       that file is selected; if you click with the right button,
       the file is marked (or unmarked, depending on the previous

       Double-clicking on a file will try to execute the  command
       if  it is an executable program; and if the extension file
       has a program specified  for  the  file's  extension,  the
       specified program is executed.

       Also,  it  is possible to execute the commands assigned to
       the function key labels by clicking on them.

       If a mouse button is clicked on the top frame line of  the
       directory panel, it is scrolled one pageful backward. Cor-
       respondingly, a click on the bottom frame line will  cause
       a  scroll  of  one pageful forward. This frame line method
       works also in the Help Viewer and the Directory Tree.

       The default auto repeat rate for the mouse buttons is  400
       milliseconds. This may be changed to other values by edit-
       ing the .mc.ini file and  changing  the  mouse_repeat_rate

       If  you  are running the Commander with the mouse support,
       you can bypass the Commander and  get  the  default  mouse
       behaviour  (cutting  and pasting text) by holding down the
       Shift key.

       Some commands in the Midnight Commander involve the use of
       the  Control  (sometimes labeled CTRL or CTL) and the Meta
       (sometimes labeled ALT or even Compose) keys. In this man-
       ual we will use the following abbreviations:

       C-<chr>  means hold the Control key while typing the char-
       acter <chr>. Thus C-f would be: hold the Control  key  and
       type f.

       M-<chr>  means  hold the Meta or Alt key down while typing
       <chr>. If there is no Meta or Alt key, type  ESC,  release
       it, then type the character <chr>.

       All  input lines in the Midnight Commander use an approxi-
       mation to the GNU Emacs editor's key bindings.

       There are many sections which tell  about  the  keys.  The
       following are the most important.

       The File Menu section documents the keyboard shortcuts for
       the commands appearing in  the  File  menu.  This  section
       includes the function keys. Most of these commands perform
       some action, usually on the selected file  or  the  tagged

       The  Directory  Panels  section  documents  the keys which
       select a file or tag files as a target for a later  action
       (the action is usually one from the file menu).

       The  Shell  Command  Line  section list the keys which are
       used for entering and editing command lines. Most of these
       copy  file names and such from the directory panels to the
       command line (to avoid excessive  typing)  or  access  the
       command line history.

       Input  Line  Keys  are  used for editing input lines. This
       means both the command line and the  input  lines  in  the
       query dialogs.

  Miscellaneous Keys
       Here  are some keys which don't fall into any of the other

       Enter.  If there is some text in the command line (the one
       at  the  bottom  of the panels), then that command is exe-
       cuted. If there is no text in the command line then if the
       selection  bar  is over a directory the Midnight Commander
       does a chdir(2) to the selected directory and reloads  the
       information  on  the  panel;  if  the selection is an exe-
       cutable file then it is executed. Finally, if  the  exten-
       sion  of  the selected file name matches one of the exten-
       sions in the extensions file then the  corresponding  com-
       mand is executed.

       C-l.   Repaint all the information in the Midnight Comman-

       C-x c.  Run the Chmod command on a file or on  the  tagged

       C-x  o.   Run  the Chown command on the current file or on
       the tagged files.

       C-x l.  Run the link command.

       C-x s.  Run the symbolic link command.

       C-x i.  Set the other panel display mode to information.

       C-x q.  Set the other panel display mode to quick view.

       C-x !.  Execute the External panelize command.

       C-x h Run the add directory to hotlist command.

       M-!, Executes the Filtered view command, described in  the
       view command.

       M-?, Executes the Find file command.

       M-c, Pops up the quick cd dialog.

       C-o, When the program is being run in the Linux console or
       under an xterm, it will show you the output of the  previ-
       ous  command.  When ran on the Linux console, the Midnight
       Commander uses an external program (cons.saver) to  handle
       saving and restoring of information on the screen.

       When the subshell support is compiled in, you can type C-o
       at any time and you will be taken  back  to  the  Midnight
       Commander  main screen, to return to your application just
       type C-o.  If you have an application suspended  by  using
       this  trick,  you  won't be able to execute other programs
       from  the  Midnight  Commander  until  you  terminate  the
       supended application.

  Directory Panels
       This section lists the keys which operate on the directory
       panels. If you want to know how to change  the  appearance
       of the panels take a look at the section on Left and Right

       Tab, C-i.  Change the current panel. The old  other  panel
       becomes  the  new  current panel and the old current panel
       becomes the new other panel. The selection bar moves  from
       the old current panel to the new current panel.

       Insert, C-t.  To tag files you may use the Insert key (the
       kich1 terminfo sequence) or the C-t (Control-t)  sequence.
       To untag files, just retag a tagged file.

       M-g,  M-h (or M-r), M-j.  Used to select the top file in a
       panel, the middle file and the bottom one, respectively.

       C-s, M-s.  Start a filename search in the directory  list-
       ing.  When  the  search  is  active the keypresses will be
       added to the search string instead of the command line. If
       the  Show  mini-status option is enabled the search string
       is shown on the mini-status line. When typing, the  selec-
       tion  bar  will  move  to  the next file starting with the
       typed letters. The backspace or DEL keys can  be  used  to
       correct typing mistakes. If C-s is pressed again, the next
       match is searched for.

       C-\ (control-backslash).  Show the directory  hotlist  and
       change to the selected directory.

       +  (plus).  This is used to select (tag) a group of files.
       The  Midnight  Commander  will  prompt   for   a   regular
       expression  describing  the group. When Shell Patterns are
       enabled, the regular expression is much like  the  regular
       expressions  in  the  shell  (*  standing for zero or more
       characters and ?  standing for one  character).  If  Shell
       Patterns  is  off,  then the tagging of files is done with
       normal regular expressions (see ed (1)).

       If the expression starts or ends with a slash (/), then it
       will select directories instead of files.

       \  (backslash).   Use  the  "\" key to unselect a group of
       files. This is the opposite of the Plus key.

       up-key, C-p.  Move the selection bar to the previous entry
       in the panel.

       down-key,  C-n.   Move the selection bar to the next entry
       in the panel.

       home, a1, M-<.  Move the selection bar to the first  entry
       in the panel.

       end, c1, M->.  Move the selection bar to the last entry in
       the panel.

       next-page, C-v.  Move the selection bar one page down.

       prev-page, M-v.  Move the selection bar one page up.

       M-o, If the other panel is a listing  panel  and  you  are
       standing  on  a  directory  in the current panel, then the
       other panel contents are set to the contents of  the  cur-
       rently selected directory (like Emacs' dired C-o key) oth-
       erwise the other panel contents are set to the parent  dir
       of the current dir.

       C-PageUp,  C-PageDown  Only when ran on the Linux console:
       does a chdir to ".." and to the currently selected  direc-
       tory respectively.

  Shell Command Line
       This  section  lists keys which are useful to avoid exces-
       sive typing when entering shell commands.

       M-Enter.  Copy the currently selected  file  name  to  the
       command line.

       C-Enter.  Same a M-Enter, this one only works on the Linux

       M-Tab.  Does the filename, command, variable, username and
       hostname completion for you.

       C-x t, C-x C-t.  Copy the tagged files (or if there are no
       tagged files, the selected file) of the current panel (C-x
       t) or of the other panel (C-x C-t) to the command line.

       C-x p, C-x C-p.  The first key sequence copies the current
       path name to the command line, and the second  one  copies
       the unselected panel's path name to the command line.

       C-q.   The  quote command can be used to insert characters
       that are otherwise interpreted by the  Midnight  Commander
       (like the '+' symbol)

       M-p,  M-n.   Use  these keys to browse through the command
       history. M-p takes you to the last entry, M-n takes you to
       the next one.

  General Movement Keys
       The  help  viewer,  the file viewer and the directory tree
       use common code to handle moving.  Therefore  they  accept
       exactly the same keys. Each of them also accepts some keys
       of its own.

       Other parts of the Midnight Commander use some of the same
       movement  keys,  so  this  section may be of use for those
       parts too.

       Up, C-p.  Moves one line backward.

       Down, C-n.  Moves one line forward.

       Prev Page, Page Up, M-v.  Moves one pageful backward.

       Next Page, Page Down, C-v.  Moves one pageful forward.

       Home, A1.  Moves to the beginning.

       End, C1.  Move to the end.

       The help viewer and the file viewer accept  the  following
       keys in addition the to ones mentioned above:

       b,  C-b,  C-h, Backspace, Delete.  Moves one pageful back-

       Space bar.  Moves one pageful forward.

       u, d.  Moves one half of a page backward or forward.

       g, G.  Moves to the beginning or to the end.

  Input Line Keys
       The input lines (they are used for the  command  line  and
       for the query dialogs in the program) accept these keys:

       C-a puts the cursor at the beginning of line.

       C-e puts the cursor at the end of the line.

       C-b, move-left move the cursor one position left.

       C-f, move-right move the cursor one position right.

       M-f moves one word forward.

       M-b moves one word backward.

       C-h, backspace delete the previous character.

       C-d,  Delete  delete  the character in the point (over the

       C-@ sets the mark for cutting.

       C-w copies the text between the cursor and the mark  to  a
       kill buffer and removes the text from the input line.

       M-w  copies  the text between the cursor and the mark to a
       kill buffer.

       C-y yanks back the contents of the kill buffer.

       C-k kills the text from the cursor to the end of the line.

       M-p, M-n Use these keys to browse through the command his-
       tory. M-p takes you to the last entry, M-n  takes  you  to
       the next one.

       M-C-h, M-Backspace delete one word backward.

       M-Tab  does  the filename, command, variable, username and
       hostname completion for you.

Menu Bar
       The menu bar pops up when you press F9 or click the  mouse
       on the top row of the screen. The menu bar has five menus:
       "Left", "File", "Command", "Options" and "Right".

       The Left and Right Menus allow you to modify  the  appear-
       ance of the left and right directory panels.

       The  File  Menu  lists  the actions you can perform on the
       currently selected file or the tagged files.

       The Command Menu lists the actions which are more  general
       and bear no relation to the currently selected file or the
       tagged files.

  Left and Right Menus
       The outlook of the directory panels can  be  changed  from
       the Left and Right menus.

    Listing Mode...
       The  listing  mode  view  is  used to display a listing of
       files, there are four different listing  modes  available:
       Full,  Brief,  Long,  and  User.   The full directory view
       shows the file name, the size of the file and the  modifi-
       cation time.

       The  brief  view  shows  only the file name and it has two
       columns (therefore showing twice as many  files  as  other
       views).  The  long  view is similar to the output of ls -l
       command. The long view takes the whole screen width.

       If you choose the "User" display format, then you have  to
       specify the display format.

       The user display format must start with a panel size spec-
       ifier.  This may be "half" or "full", and they  specify  a
       half screen panel and a full screen panel respectively.

       After the panel size, you may specify the two columns mode
       on the panel, this is done by adding the number "2" to the
       user format string.

       After this you add the name of the fields with an optional
       size specifier.  This are the  available  fields  you  may

       name, displays the file name.

       size, displays the file size.

       type, displays a one character field type.  This character
       is a superset of what is displayed by ls with the -F flag.
       An asterisk for executable files, a slash for directories,
       an at-sign for links, an equal sign for sockets, a  hyphen
       for  character  devices,  a plus sign for block devices, a
       pipe for fifos, a tilde for symbolic links to  directories
       and  an  exlamation  mark for stalled symlinks (links that
       point nowhere).

       mtime, file's last modification time.

       atime, file's last access time.

       ctime, file's creation time.

       perm, a string representing the current permission bits of
       the file.

       mode,  an  octal value with the current permission bits of
       the file.

       nlink, the number of links to the  file.   ngid,  the  GID

       nuid, the UID (numeric).

       owner, the owner of the file.

       group, the group of the file.

       inode, the inode of the file.

       Also  you may use these field names for arranging the dis-

       space, a space in the display format.

       mark, An asterisk if the file is tagged, a space  if  it's

       |,  This  character  is used to add a vertical line to the
       display format.

       To force one field to a fixed size (a size specifier), you
       just  add a ':' and then the number of characters you want
       the field to have, if the number is followed by the symbol
       '+',  then  the  size specifies the minimum field size, if
       the program finds out that there  is  more  space  on  the
       screen, it will then expand this field.

       For example, the Full display corresponds to this format:

       half type,name,|,size,|,mtime

       And the Long display corresponds to this format:


       This is a nice user display format:

       half name,|,size:7,|,type,mode:3

       Panels may also be set to the following modes:

       Info   The  info  view  display information related to the
              currently selected file and if possible information
              about the current file system.

       Tree   The  tree  view  is  quite similar to the directory
              tree feature. See the section  about  it  for  more

       Quick View
              In  this  mode,  the panel will switch to a reduced
              viewer that displays the contents of the  currently
              selected  file,  if  you select the panel (with the
              tab key or the mouse), you will have access to  the
              usual viewer commands.

    Sort Order...
       The  eight sort orders are by name, by extension, by modi-
       fication time, by access time, and  by  inode  information
       modification time, by size, by inode and unsorted.  In the
       Sort order dialog box you can choose the  sort  order  and
       you  may also specify if you want to sort in reverse order
       by checking the reverse box.

       By default directories are sorted before  files  but  this
       can be changed from the Options menu (option Mix all files

       The filter command allows you to specify a  shell  pattern
       (for  example  *.tar.gz ) which the files must match to be
       shown. Regardless of the filter pattern,  the  directories
       and  the  links  to  directories  are  always shown in the
       directory panel.

       The reread command reload the list of files in the  direc-
       tory.  It  is  useful  if  other processes have created or
       removed files.  If you have  panelized  file  names  in  a
       panel  this  will reload the directory contents and remove
       the panelized information (See the section External panel-
       ize for more information).

  File Menu
       The  Midnight Commander uses the F1 - F10 keys as keyboard
       shortcuts for commands appearing in  the  file  menu.  The
       escape  sequences  for the Fkeys are terminfo capabilities
       kf1 trough kf10.  On terminals without function  key  sup-
       port,  you  can achieve the same functionality by pressing
       the ESC key and then a number in the range 1 through 9 and
       0 (corresponding to F1 to F9 and F10 respectively).

       The  File menu has the following commands (keyboard short-
       cuts in parentheses):

       Help (F1)

       Invokes the built-in hypertext  help  viewer.  Inside  the
       help  viewer,  you  can use the Tab key to select the next
       link and the Enter key to follow that link. The keys Space
       and  Backspace  are used to move forward and backward in a
       help page. Press F1 again to get the full list of accepted

       Menu (F2)

       Invoke  the user menu.  The user menu provides an easy way
       to provide users with a menu and add extra features to the
       Midnight Commander.

       View (F3, Shift-F3)

       View  the currently selected file. By default this invokes
       the Internal File Viewer but if the option  "Use  internal
       view" is off, it invokes an external file viewer specified
       by the PAGER environment variable. If PAGER is  undefined,
       the  "view"  command  is  invoked.   If  you  use Shift-F3
       instead, the viewer will be invoked without doing any for-
       matting or pre processing to the file.

       Filtered View (M-!)

       this command prompts for a command and it's arguments (the
       argument defaults to the currently  selected  file  name),
       the output from such command is shown in the internal file

       Edit (F4)

       Currently it invokes the "vi" editor or the editor  speci-
       fied in the EDITOR environment variable.

       Copy (F5)

       Pop  up  an input dialog with destination that defaults to
       the directory in the non-selected  panel  and  copies  the
       currently  selected file (or the tagged files, if there is
       at least one file tagged) to the  directory  specified  by
       the user in the input dialog. During this process, you can
       press C-c or ESC to abort the operation. For details about
       source  mask  (which  will be usually either * or ^\(.*\)$
       depending on setting of Use shell patterns)  and  possible
       wildcards in the destination see Mask copy/rename.

       Link (C-x l)

       Create a hard link to the current file.

       SymLink (C-x s)

       Create  a  symbolic  link to the current file. To those of
       you who don't know what links are: creating a  link  to  a
       file  is  a bit like copying the file, but both the source
       filename and the destination filename represent  the  same
       file  image.  For example, if you edit one of these files,
       all changes you make will appear in both files. Some  peo-
       ple call links aliases or shortcuts.

       A hard link appears as a real file. After making it, there
       is no way of telling which one is the original  and  which
       is  the  link.  If you delete either one of them the other
       one is still intact. It is very difficult to  notice  that
       the  files  represent  the same image. Use hard links when
       you don't even want to know.

       A symbolic link is a reference to the name of the original
       file. If the original file is deleted the symbolic link is
       useless. It is quite easy to notice that the files  repre-
       sent  the  same  image.  The  Midnight  Commander shows an
       "@"-sign in front of the file name if  it  is  a  symbolic
       link  to  somewhere (except to directory, where it shows a
       tilde (~)).  The original file which the link points to is
       shown  on  mini-status line if the Show mini-status option
       is enabled. Use symbolic links when you want to avoid  the
       confusion that can be caused by hard links.

       Rename/Move (F6)

       Pop  up  an input dialog that defaults to the directory in
       the non-selected panel and moves  the  currently  selected
       file  (or the tagged files if there is at least one tagged
       file) to the directory specified by the user in the  input
       dialog.  During  the  process, you can press C-c or ESC to
       abort the operation. For more details look at Copy  opera-
       tion above, most of the things are quite similar.

       Mkdir (F7)

       Pop  up  an  input dialog and creates the directory speci-

       Delete (F8)

       Delete the currently selected file or the tagged files  in
       the  currently selected panel. During the process, you can
       press C-c or ESC to abort the operation.

       Quick cd (M-c) Use the quick cd command if you  have  full
       command line and want to cd somewhere.

       Select group (+)

       This  is  used  to select (tag) a group of files. The Mid-
       night Commander  will  prompt  for  a  regular  expression
       describing the group. When Shell Patterns are enabled, the
       regular expression is much like the filename  globbing  in
       the  shell  (*  standing for zero or more characters and ?
       standing for one character). If  Shell  Patterns  is  off,
       then  the  tagging  of  files  is done with normal regular
       expressions (see ed (1)).

       To mark directories instead of files, the expression  must
       start or end with a '/'.

       Unselect group (\)

       Used  for  unselecting a group of files. This is the oppo-
       site of the Select group command.

       Quit (F10, Shift-F10)

       Terminate the Midnight Commander.  Shift-F10 is used  when
       you  want  to  quit  and  you are using the shell wrapper.
       Shift-F10 will not take you to the last directory you vis-
       ited  with the Midnight Commander, instead it will stay at
       the directory where you started the Midnight Commander.

    Quick cd
       This command is useful if you have a full command line and
       want  to cd somewhere without having to yank and paste the
       command line. This command pops up a small  dialog,  where
       you  enter everything you would enter after cd on the com-
       mand line and then you press enter. This features all  the
       things that are already in the internal cd command.

  Command Menu
       The  Directory  tree  command  shows  a tree figure of the

       The Find file command allows you to search for a  specific
       file.  The "Swap panels" command swaps the contents of the
       two directory panels.

       The "Panels on/off" command shows the output of  the  last
       shell  command. This works only on xterm and on Linux con-

       The Compare  directories  (C-x  d)  command  compares  the
       directory  panels  with  each  other. You can then use the
       Copy (F5) command to make the panels identical. There  are
       two  compare  methods. The quick method compares only file
       size and file date. The thorough method makes a full byte-
       by-byte  compare.  The thorough method is not available if
       the machine does not support the mmap(2) system call.

       The  Command  history  command  shows  a  list  of   typed
       commands.  The  selected  command is copied to the command
       line. The command history can also be accessed  by  typing
       M-p or M-n.

       The  Directory hotlist (C-\) command makes changing of the
       current directory to often used directories faster.

       The External panelize allows you to  execute  an  external
       program,  and make the output of that program the contents
       of the current panel.

       Extension file edit command allows you to specify programs
       to  executed  when you try to execute, view, edit and do a
       bunch of other thing  on  files  with  certain  extensions
       (filename endings). The Menu file edit command may be used
       for editing the user menu (which appears by pressing  F2).

    Directory Tree
       The  Directory  Tree  command  shows  a tree figure of the
       directories. You can select a directory  from  the  figure
       and  the Midnight Commander will change to that directory.

       There are two ways to invoke the tree. The real  directory
       tree  command  is  available from Commands menu. The other
       way is to select tree view from the Left or Right menu.

       To get rid of long delays the Midnight  Commander  creates
       the tree figure by scanning only a small subset of all the
       directories. If the directory which you  want  to  see  is
       missing,  move  to  its parent directory and press C-r (or

       You can use the following keys:

       General movement keys are accepted.

       Enter.  In the directory tree, exits  the  directory  tree
       and changes to this directory in the current panel. In the
       tree view, changes to this directory in  the  other  panel
       and stays in tree view mode in the current panel.

       C-r,  F2  (Rescan).   Rescan this directory. Use this when
       the tree figure is out of date: it is missing  subdirecto-
       ries  or  shows  some subdirectories which don't exist any

       F3 (Forget).  Delete this directory from the tree  figure.
       Use  this  to  remove clutter from the figure. If you want
       the directory back to the tree figure press F2 in its par-
       ent directory.

       F4  (Static/Dynamic).   Toggle between the dynamic naviga-
       tion mode (default) and the static navigation mode.

       In the static navigation mode you can use the Up and  Down
       keys  to  select  a  directory.  All known directories are

       In the dynamic navigation mode you can use the Up and Down
       keys  to  select a sibling directory, the Left key to move
       to the parent directory, and the Right key to  move  to  a
       child  directory.  Only  the  parent, sibling and children
       directories are shown, others are left out. The tree  fig-
       ure changes dynamically as you traverse.

       F5 (Copy).  Copy the directory.

       F6 (RenMov).  Move the directory.

       F7 (Mkdir).  Make a new directory below this directory.

       F8  (Delete).  Delete this directory from the file system.

       C-s, M-s.  Search the next directory matching  the  search
       string. If there is no such directory these keys will move
       one line down.

       C-h, Backspace.  Delete the last character of  the  search

       Any  other  character.   Add  the  character to the search
       string and move to the next directory  which  starts  with
       these characters. In the tree view you must first activate
       the search mode by pressing  C-s.  The  search  string  is
       shown in the mini status line.

       The  following actions are available only in the directory
       tree. They aren't supported in the tree view.

       F1 (Help).  Invoke the help viewer and show this  section.

       Esc,  F10.   Exit  the  directory  tree. Do not change the

       The mouse is supported. A double-click behaves like Enter.
       See also the section on mouse support.

    Find File
       The  Find  File feature first asks for the start directory
       for the search and the filename to  be  searched  for.  By
       pressing  the  Tree button you can select the start direc-
       tory from the directory tree figure.  You  can  start  the
       search by pressing the Ok button.

       During  the  search  you can stop from the Stop button and
       continue from the Start button.

       You can browse the filelist with the  up  and  down  arrow
       keys. The Chdir button will change to the directory of the
       currently selected file. The Again button will ask for the
       parameters  for  a  new  search. The Quit button quits the
       search operation. The Panelize button will place the found
       files  to  the  current directory panel so that you can do
       additional operations on them (view,  copy,  move,  delete
       and  so  on). After panelizing you can press C-r to return
       to the normal file listing.

       You may  consider  using  the  External  panelize  command
       instead.  Find  file  command  is for simple queries only,
       while using External panelize you  can  do  as  mysterious
       searches as you would like.

    External panelize
       The  External  panelize  allows you to execute an external
       program, and make the output of that program the  contents
       of the current panel.

       For  example, if you want to manipulate in one of the pan-
       els all the symbolic links in the current  directory,  you
       can  use  external  panelization to run the following com-

       find . -type l -print
       Upon command completion, the  directory  contents  of  the
       panel  will no longer be the directory listing of the cur-
       rent directory, but all the files that are symbolic links.

       If  you  want  to panelize all of the files that have been
       downloaded from your ftp server, you can use this awk com-
       mand to extract the file name from the transfer log files:

       awk '$9 ~! /incoming/ { print $9 }' < /usr/adm/xferlog

       You may want to save often used panelize commands under  a
       descriptive name, so that you can recall them quickly. You
       do this by typing the command on the input line and press-
       ing  Add new button. Then you enter a name under which you
       want the command to be saved. Next time, you  just  choose
       that  command  from  the  list  and do not have to type it

       The Directory hotlist command  shows  the  labels  of  the
       directories in the directory hotlist. The Midnight Comman-
       der will change to  the  directory  corresponding  to  the
       selected  label.  From  the hotlist dialog, you can remove
       already created label/directory pairs and add new one. For
       adding  you  may  want  to use a standalone Add to hotlist
       command (C-x h), which adds the current directory into the
       directory  hotlist,  as  well.  The user is prompted for a
       label for the directory.

       This makes cd to often used directories  faster.  You  may
       consider  using the CDPATH variable as described in inter-
       nal cd command description.

    Extension File Edit
       This will invoke your editor on the  file  ~/.mc.ext.  The
       format  of this file is as follows (the format has changed
       with version 3.0):

       All lines starting with # or empty lines are thrown  away.

       Lines  starting  in the first column should have following

       keyword/descNL, i.e. everything after keyword/  until  new
       line is desc

       keyword can be:


              (desc  is  then  any  extension (no wildcars), i.e.
              matches all the files *desc . Example: .tar matches


              (desc is a regular expression)


              (file  matches  this  if  `file %f` matches regular
              expression desc (the filename: part from `file  %f`
              is removed))


              (matches any file no matter what desc is)

       Other lines should start with a space or tab and should be
       of the format:

       keyword=commandNL (with no spaces around =), where keyword
       should be:

       Open  (if the user presses Enter or doubleclicks it), View
       (F3), Edit (F4), Drop (user drops some files on it) or any
       other  user  defined  name  (those  will  be listed in the
       extension dependent pop-up menu).  Icon name  is  reserved
       for future use by mc.

       command  is  any  one-line  shell command, with the simple
       macro substitution.

       Target are evaluated from top to  bottom  (order  is  thus
       important).  If some actions are missing, search continues
       as if this target didn't match (i.e. if a file matches the
       first  and  second entry and View action is missing in the
       first one, then on pressing F3 the View  action  from  the
       second  entry  will  be used. default should catch all the

    Menu File Edit
       The user menu is a menu of useful actions that can be cus-
       tomized  by  the  user. When you access the user menu, the
       file ~/ is used if it  exists,  and  otherwise  mc
       uses the default system-wide menu @prefix@/lib/mc/

       The format of the menu file is  very  simple.  Lines  that
       start  with  anything  but  space  or  tab  are considered
       entries for the menu (in order to be able to use it like a
       hot  key, the first character should be a letter). All the
       lines that start with a space or a tab  are  the  commands
       that will be executed when the entry is selected.

       When  an  option  is selected all the command lines of the
       option are copied to a temporary  file  in  the  temporary
       directory  (usually  /usr/tmp)  and then that file is exe-
       cuted. This allows the user to put normal shell constructs
       in  the  menus. Also simple macro substitution takes place
       before executing the menu code. For more information,  see
       macro substitution.

       Here is a sample file:

       A    Dump the currently selected file
            od -c %f

       B    Edit a bug report and send it to root
            vi /tmp/mail.$$
            mail -s "Midnight Commander bug" root < /tmp/mail.$$

       M    Read mail
            emacs -f rmail

       N    Read Usenet news
            emacs -f gnus

       H    Call the info hypertext browser

       J    Copy current directory to other panel recursively
            tar cf - . | (cd %D && tar xvpf -)

       K    Make a release of the current subdirectory
            echo -n "Name of distribution file: "
            read tar
            ln -s %d `dirname %d`/$tar
            cd ..
            tar cvhf ${tar}.tar $tar

       = f *.tar.gz | f *.tgz & t n
       X       Extract the contents of a compressed tar file
            tar xzvf %f

       Default Conditions

       Each menu entry may be preceded by a condition. The condi-
       tion must start from the first column with a  '='  charac-
       ter.  If the condition is true, the menu entry will be the
       default entry.

       Condition syntax:   = <sub-cond>
         or:               = <sub-cond> | <sub-cond> ...
         or:               = <sub-cond> & <sub-cond> ...

       Sub-condition is one of following:

         f <pattern>       current file matching pattern?
         F <pattern>       other file matching pattern?
         d <pattern>       current directory matching pattern?
         D <pattern>       other directory matching pattern?
         t <type>          current file of type?
         T <type>          other file of type?
         ! <sub-cond>      negate the result of sub-condition

       Pattern is a normal shell pattern or a regular expression,
       according  to  the shell patterns option. You can override
       the global value of the shell patterns option  by  writing
       "shell_patterns=x"  on  the  first  line  of the menu file
       (where "x" is either 0 or 1).

       Type is one or more of the following characters:

         n  not directory
         r  regular file
         d  directory
         l  link
         c  char special
         b  block special
         f  fifo
         s  socket
         x  executable
         t  tagged

       For example 'rlf' means either regular file, link or fifo.
       The  't'  type  is a little special because it acts on the
       panel instead of the file. The condition '=t t' is true if
       there  are  tagged files in the current panel and false if

       If the condition starts with '=?' instead of '='  a  debug
       trace will be shown whenever the value of the condition is

       The conditions are calculated from  left  to  right.  This
            = f *.tar.gz | f *.tgz & t n
       is calculated as
            ( (f *.tar.gz) | (f *.tgz) ) & (t n)

       Here is a sample of the use of conditions:

       = f *.tar.gz | f *.tgz & t n
       L    List the contents of a compressed tar-archive
            gzip -cd %f | tar xvf -

       Addition Conditions

       If  the condition begins with '+' (or '+?') instead of '='
       (or '=?') it is an addition condition. If the condition is
       true  the  menu entry will be included in the menu. If the
       condition is false the menu entry will not be included  in
       the menu.

       You  can combine default and addition conditions by start-
       ing condition with '+=' or '=+' (or '+=?' or '=+?' if  you
       want debug trace). If you want to use two different condi-
       tions, one for adding and another for defaulting, you  can
       precede  a menu entry with two condition lines, one start-
       ing with '+' and another starting with '='.

       Comments are started  with  '#'.  The  additional  comment
       lines must start with '#', space or tab.

  Options Menu
       The  Configuration command pops up a dialog from which you
       can change most of settings of the Midnight Commander.

       The Display bits command pops up a dialog from  which  you
       may  select which characters is your terminal able to dis-

       The Confirmation command pops up a dialog from  which  you
       specify which actions you want to confirm.

       The  Learn  keys  command  pops up a dialog from which you
       test some keys which are not working on some terminals and
       you may fix them.

       The  Virtual  FS  command  pops up a dialog from which you
       specify some VFS related options.

       The Layout command pops up a dialog from which you specify
       a bunch of options how mc looks like on the screen.

       The  Save  setup command saves the current settings of the
       Left, Right and Options menus. A  small  number  of  other
       settings is saved, too.

       The  program  has  some options that may be toggled on and
       off from the Configuration dialog. Options are enabled  if
       they  have  an  asterisk  or  "x"  in front of them. These
       options are divided  into  three  groups:  Screen  Colors,
       Panel Options and Other Options.

       Screen Colors

       You can select whether your display supports color or not.
       Normally this information is in the terminfo database.  If
       you  want  to know how to change individual colors see the
       section on Colors.

       Panel Options

       Show Backup Files.   By  default  the  Midnight  Commander
       doesn't  show  files  ending  in '~' (like GNU's ls option

       Show Hidden Files.  By default the Midnight Commander will
       show all files that start with a dot (like ls -a).

       Mark  moves  down.   By default when you mark a file (with
       either C-t or the Insert key) the selection bar will  move

       Show  Mini-Status.   If  enabled,  show one line of status
       information at the bottom of the  panels  about  the  cur-
       rently selected item.

       Mix all files.  When this option is enabled, all files and
       directories are shown mixed together.  If  the  option  is
       off,  directories  (and links to directories) are shown at
       the beginning of the listing, and other files  afterwards.

       Fast  directory reload.  This option is off by default. If
       you activate the fast reload, the Midnight Commander  will
       use  a  trick  to determine if the directory contents have
       changed. The trick is to reload the directory only if  the
       i-node  of  the  directory  has  changed;  this means that
       reloads only happen when files are created or deleted.  If
       what  changes  is  the  i-node for a file in the directory
       (file size  changes,  mode  or  owner  changes,  etc)  the
       display  is  not  updated. In these cases, if you have the
       option on, you have to rescan the directory manually (with

       Other Options

       Verbose  operation.   This  toggles whether the file Copy,
       Rename and Delete operations are verbose (i.e., display  a
       dialog  box for each operation). If you have a slow termi-
       nal, you may wish to disable the verbose operation. It  is
       automatically  turned off if the speed of your terminal is
       less than 9600 bps.

       Pause after run.  After executing your commands, the  Mid-
       night  Commander  can  pause,  so that you can examine the
       output of the command.  There are three possible  settings
       for this variable:

              Never  Means that you do not want to see the output
              of your command.  If you are using the  Linux  con-
              sole  or an xterm, you will be able to see the out-
              put of the command by typing C-o.

              On dumb terminals You will get the pause message on
              terminals  that are not capable of showing the out-
              put of the last command executed (any terminal that
              is not an xterm or the Linux console).

              Always  The  program will pause after executing all
              of your commands.

       Shell Patterns.  By default the Select, Unselect and  Fil-
       ter  commands will use shell-like regular expressions. The
       following conversions are performed to achieve  this:  the
       '*' is replaced by '.*' (zero or more characters); the '?'
       is replaced by '.' (exactly one character) and '.' by  the
       literal  dot.  If the option is disabled, then the regular
       expressions are the ones described in ed(1).

       Auto Save Setup.  If this option is enabled, when you exit
       the  Midnight  Commander  the  configurable options of the
       Midnight Commander are saved in the $HOME/.mc.ini file.

       Auto menus.  If this option is enabled, the user menu will
       be invoked at startup.  Useful for building menus for non-

       Use internal viewer.   If  this  option  is  enabled,  the
       built-in  file viewer is used to view files. If the option
       is disabled, the pager specified in the PAGER  environment
       variable is used.  If no pager is specified, the view com-
       mand is used.   See  the  section  on  the  internal  file

       Confirm Delete.  This option is toggled on by default, and
       will cause the Midnight Commander to ask for  confirmation
       when deleting a single file.

       Cd  follows  links.   This option, if set, causes the Mid-
       night Commander to follow the logical chain of directories
       when  changing  current directory either in the panels, or
       using the cd command. This is  the  default  behaviour  of
       bash.  When unset, the Midnight Commander follows the real
       directory structure, so  cd  ..  if  you've  entered  that
       directory  through  a  link  will  move you to the current
       directory's real parent and not to the directory where the
       link was present.

       8-bit  clean.  This option allows use of 8-bit characters.
       It requires that curses/ncurses  be  8-bit  clean.  If  it
       isn't, things might look strange.

    Display bits
       This  is used to configure the range of visible characters
       on the screen.  This setting may be 7-bits if your  termi-
       nal/curses  supports  only  seven  output bits, ISO-8859-1
       displays all the characters in the ISO-8859-1 map and full
       8  bits is for those terminals that can display full 8 bit

       In this menu you configure the  confirmation  options  for
       file deletion, overwriting and quitting the program.

    Learn keys
       This  dialog lets you test if your keys F1-F20, Home, End,
       etc. work properly on your  terminal.  They  often  don't,
       since many terminal databases are broken.

       You  can  move around with the Tab key, with the vi moving
       keys ('h' left, 'j' down, 'k' up and 'l' right) and  after
       you  press any arrow key once (this will mark it OK), then
       you can use that key as well.

       You test them just by pressing each of them.  As  soon  as
       you  press  a  key  and  the key works properly, OK should
       appear next to the name of that key. Once a key is  marked
       OK  it  starts  to  work as usually, e.g. F1 for the first
       time will just check that F1 works OK, but from that  time
       on it will show help.  The same applies to the arrow keys.
       Tab key should be working always.

       If some keys do not work properly, then you won't  see  OK
       after  the  key  name after you have pressed that key. You
       may then want to fix it. You do it by pressing the  button
       of  that  key  (either  by  mouse or using Tab and Enter).
       Then a red message will appear and you will  be  asked  to
       type  that key.  If you want to abort this, press just Esc
       and wait until the message disappears. Otherwise type  the
       key  you're  asked  to type and also wait until the dialog

       When you finish with all the keys, you may want either  to
       Save  your key fixes into your .mc.ini file into the [ter-
       minal:TERM] section (where TERM is the name of  your  cur-
       rent  terminal)  or to discard them. If all your keys were
       working properly and you had not to fix any key, then  (of
       course) no saving will occur.

    Virtual FS
       This  option  gives  you  control over the settings of the
       Virtual File System information cache.

       The Midnight Commander keeps  in  memory  the  information
       related  to  some  of the virtual file systems to speed up
       the access to the files in the  file  system.   Since  the
       information  that  must be kept may be large (for example,
       compressed tar  files  may  be  kept  in  RAM  for  faster
       access), you may want to tune the parameters of the cached
       information to decrease your memory usage or  to  maximize
       the speed of access to frequently used file systems.

       The  Tar  file system is quite clever about how it handles
       tar files: it just loads the directory entries and when it
       needs to use the information contained in the tar file, it
       goes and grab it.

       In the wild, tar files are usually kept compressed  (plain
       tar  files  are species in extinction), and because of the
       nature of those files (the directory entries for  the  tar
       files  is  not there waiting for us to be loaded), the tar
       file system has two choices:  load  the  complete,  uncom-
       pressed tar file into memory or uncompress the file in the
       disk in a temporary location and then  access  the  uncom-
       pressed file as a regular tar file.

       In  this  dialog box you tell the Midnight Commander which
       sizes for compressed tar files you will tolerate  to  load
       into  your precious memory.  The default setting is set to
       one megabyte, this means that compressed tar  files  whose
       size  is  at  most  one megabyte will be loaded into core,
       otherwise a temporary uncompressed tar file will  be  cre-
       ated to access the contents (all of this is transparent to
       the user).

       The program will let you add a suffix to specify the units
       of  the  number you typed in, use 'k' for kilobyte and 'm'
       for megabyte.  Our routine does not accept floating  point
       numbers, so you can't use ".5 m" to specify 512 kilobytes,
       you will have to use "512 k" instead.

       Now, since we all love to browse files and tar  files  all
       over  the disk, it's common that you will leave a tar file
       and the re-enter it later.  Since uncompression  is  slow,
       the  Midnight Commander will cache the information in mem-
       ory for a limited amount of time, after you hit the  time-
       out,  all of the memory resources associated with the file
       system will be freed.  The default timeout is set  to  one

       The  layout  dialog  gives you a possibility to change the
       general layout of screen.  You  can  specify  whether  the
       menubar,  the command prompt, the hintbar and the function
       keybar are visible. On the Linux console you  can  specify
       how many lines are shown in the output window.

       The  rest of the screen area is used for the two directory
       panels. You can specify whether the area is split  to  the
       panels  in vertical or horizontal direction. The split can
       be equal or you can specify an unequal split.

    Save Setup
       At startup the Midnight Commander will try  to  load  ini-
       tialization  information  from  the $HOME/.mc.ini file. If
       this file doesn't exist, it will load the information from
       the  system-wide  configuration  file,  located  in  @pre-
       fix@/lib/mc/mc.ini. If the system-wide configuration  file
       doesn't exist, MC uses the default settings.

       The  Save  Setup command creates the $HOME/.mc.ini file by
       saving the current settings of the Left, Right and Options

       If you activate the auto save setup option, MC will always
       save the current settings when exiting.

       There also exist settings which can't be changed from  the
       menus. To change these settings you have to edit the setup
       file with your favorite editor. See the section on Special
       Settings for more information.

Executing operating system commands
       You  may  execute  commands by typing them directly in the
       Midnight Commander's input line, or by selecting the  pro-
       gram  you want to execute with the selection bar in one of
       the panels and hitting Enter.

       If you press Enter over a file that is not executable, the
       Midnight  Commander  checks  the extension of the selected
       file against the extensions in the Extensions File.  If  a
       match  is  found then the code associated with that exten-
       sion is executed. A  very  simple  macro  expansion  takes
       place before executing the command.

  The cd internal command
       The  cd  command is interpreted by the Midnight Commander,
       it is not passed to the command shell for execution.  Thus
       it may not handle all of the nice macro expansion and sub-
       stition that your shell does, although  it  does  some  of

       Tilde  substitution  The (~) will be substituted with your
       home directory, if you append a username after the  tilde,
       then  it  will  be substituted with the login directory of
       the the specified user.

       For example, ~guest is the home  directory  for  the  user
       guest,  while  ~/guest is the directory guest in your home

       Previous directory You can jump to the directory you  were
       previously  by  using  the special directory name '-' like
       this: cd -

       CDPATH directories If the directory specified  to  the  cd
       command is not in the current directory, then The Midnight
       Commander uses  the  value  in  the  environment  variable
       CDPATH  to  search  for  the directory in any of the named

       For  example  you  could  set  your  CDPATH  variable   to
       ~/src:/usr/src,  allowing  you to change your directory to
       any of the  directories  inside  the  ~/src  and  /usr/src
       directories,  from  any  place in the file system by using
       it's relative name (for example cd linux could take you to

  Macro Substitution
       When  accessing  a  user  menu,  or executing an extension
       dependent command, or running a command from  the  command
       line input, a simple macro substitution takes place.

       The macros are:


              The current file name.


              The current directory name.


              The current file in the unselected panel.


              The directory name of the unselected panel.


              The currently tagged files.


              The tagged files in the unselected panel.

       %u and %U

              Similar  to  the  %t and %T macros, but in addition
              the files are untagged. You can use this macro only
              once  per  menu file entry or extension file entry,
              because next time there will be no tagged files.

       %s and %S

              The selected files: The tagged files if  there  are
              any. Otherwise the current file.


              Dropped  files.  In  all  places except in the Drop
              action of the mc.ext file, this will become a  null
              string, in the Drop action it will be replaced with
              a space separated list of files that  were  dropped
              on the file.


              This  is a special macro that is used to change the
              current directory to  the  directory  specified  in
              front  of  it.  This is used primarily as an inter-
              face to the Virtual File System.


              This macro is used to invoke the  internal  viewer.
              This  macro  can  be used alone, or with arguments.
              If you pass  any  arguments  to  this  macro,  they
              should be enclosed in brackets.

              The  arguments  are: ascii to force the viewer into
              ascii mode; hex to force the viewer into hex  mode;
              nroff  to  tell the viewer that it should interpret
              the bold and underline sequences of  nroff;  unfor-
              mated  to  tell  the  viewer to not interpret nroff
              commands for making the text bold or underlined.


              The % character

       %{some text}

              Prompt for the substitution. An input box is  shown
              and the text inside the braces is used as a prompt.
              The macro is substituted by the text typed  by  the
              user. The user can press ESC or F10 to cancel. This
              macro doesn't work on the command line yet.

  The subshell support
       The subshell support is a compile time option, that  works
       with the shells: bash, tcsh and zsh.

       When the subshell code is activated the Midnight Commander
       will spawn a  concurrent  copy  of  your  shell  (the  one
       defined  in  the  SHELL variable and if it is not defined,
       then the one in the /etc/passwd file)  and  run  it  in  a
       pseudo terminal, instead of invoking a new shell each time
       you execute a command, the command will be passed  to  the
       subshell  as if you had typed it.  This also allows you to
       change the environment variables, use shell functions  and
       define  aliases that are valid until you quit the Midnight

       When the subshell code is used, you can  suspend  applica-
       tions  at  any time with the sequence C-o and jump back to
       the Midnight Commander, if you interrupt  an  application,
       you  will not be able to run other external commands until
       you quit the application you interrupted.

       An extra added feature of using the subshell is  that  the
       prompt  displayed  by  the  Midnight Commander is the same
       prompt that you are currently using in your shell.

       The OPTIONS section has more information on  how  you  can
       control the subshell code.

  Controlling Midnight Commander
       The  Midnight  Commander  defines  an environment variable
       MC_CONTROL_FILE. The commands  executed  by  MC  may  give
       instructions  to  MC  by  writing to the file specified by
       this variable.  This is only  available  if  you  compiled
       your  copy  of  the Midnight Commander with the WANT_PARSE

       The following instructions are supported.

       clear_tags          Clear all tags.
       tag <filename>      Tag specified file.
       untag <filename>    Untag specified file.
       select <filename>   Move pointer to file.
       change_panel        Switch between panels.
       cd <path>      Change directory.

       If the first letter of the instruction is in lower case it
       operates  on  the current panel. If the letter is in upper
       case the instruction operates  on  the  other  panel.  The
       additional  letters  must  be  in lower case. Instructions
       must be separated by exactly one space,  tab  or  newline.
       The  instructions  don't  work in the Info, Tree and Quick
       views. The first error causes the rest to be ignored.

       The Chmod window is used to change the attribute bits in a
       group  of  files  and directories.  It can be invoked with
       the C-x c key combination.

       The Chmod window has two parts - Permissions and File

       In the File section are displayed the name of the file  or
       directory  and  its  permissions in octal form, as well as
       its owner and group.

       In the Permissions section there is a set of check buttons
       which  correspond  to  the  file  attribute  bits.  As you
       change the attribute bits, you can  see  the  octal  value
       change in the File section.

       To  move  between  the widgets (buttons and check buttons)
       use the arrow keys or the Tab key.  To change the state of
       the  check  buttons  or to select a button use Space.  You
       can also use the hotkeys on the buttons to  quickly  acti-
       vate  that  selection (they are the highlit letters on the

       To set the attribute bits, use the Enter key.

       When working with a group of  files  or  directories,  you
       just click on the bits you want to set or clear.  Once you
       have selected the bits you want to change, you select  one
       of the action buttons (Set marked or Clear marked).

       Finally, to set the attributes exactly to those specified,
       you can use the [Set all] button, which will  act  on  all
       the tagged files.

       [Marked  all]  set  only marked attributes to all selected

       [Set marked] set marked bits in attributes of all selected

       [Clean  marked]  clear  marked  bits  in attributes of all
       selected files

       [Set] set the attributes of one file

       [Cancel] cancel the Chmod command

       The Chown command is used to change the owner/group  of  a
       file. The hot key for this command is C-x o.

File Operations
       When you copy, move or delete files the Midnight Commander
       shows the file operations dialog. It shows the files  cur-
       rently  being  operated  on  and  there  are at most three
       progress bars. The file bar tells how big part of the cur-
       rent  file has been copied so far. The count bar tells how
       many of tagged files have been handled so far.  The  bytes
       bar  tells  how big part of total size of the tagged files
       has been handled so far. If the verbose option is off  the
       file and bytes bars are not shown.

       There  are two buttons at the bottom of the dialog. Press-
       ing the Skip button will skip  the  rest  of  the  current
       file. Pressing the Abort button will abort the whole oper-
       ation, the rest of the files are skipped.

       There are three other dialogs which you can run into  dur-
       ing the file operations.

       The  error  dialog  informs about error conditions and has
       three choices. Normally you select either the Skip  button
       to  skip  the file or the Abort button to abort the opera-
       tion altogether. You can also select the Retry  button  if
       you fixed the problem from another terminal.

       The  replace  dialog  is shown when you attempt to copy or
       move a file on the top of an  existing  file.  The  dialog
       shows the dates and sizes of the both files. Press the Yes
       button to overwrite the file, the No button  to  skip  the
       file,  the alL button to overwrite all the files, the nonE
       button to never overwrite and the Update button  to  over-
       write  if  the  source file is newer than the target file.
       You can abort the whole operation by  pressing  the  Abort

       The  recursive  delete  dialog  is  shown  when you try to
       delete a directory which is not empty. Press the Yes  but-
       ton  to delete the directory recursively, the No button to
       skip the directory, the  alL  button  to  delete  all  the
       directories  and the nonE button to skip all the non-empty
       directories. You can abort the whole operation by pressing
       the  Abort  button.  If you selected the Yes or alL button
       you will be asked for a confirmation. Type "yes"  only  if
       you are really sure you want to do the recursive delete.

       If  you have tagged files and perform an operation on them
       only the  files  on  which  the  operation  succeeded  are
       untagged. Failed and skipped files are left tagged.

Mask Copy/Rename
       The  copy/move  operations lets you translate the names of
       files in an easy way. To do it, you have  to  specify  the
       correct  source  mask  and usually in the trailing part of
       the destination specify some  wildcards.   All  the  files
       matching  the  source mask are copied/renamed according to
       the target mask. If  there  are  tagged  files,  only  the
       tagged files matching the source mask are renamed.

       There are other option which you can set:

       Follow  symlinks  tells  whether  make the symlinks in the
       source directory (not recursively in  subdirectories)  new
       symlinks in the target directory or whether would you like
       to copy their content.

       Dive into subdirs tells what to do if in the target direc-
       tory  exists  a  directory  with  the  same  name  as  the
       file/directory being copied. The default action is to copy
       it  into  that directory, by disabling this you can copy a
       directory's content into that directory. Perhaps an  exam-
       ple will help:

       You  want  to copy content of a directory foo to /bla/foo,
       which is an already  existing  directory.  Normally  (when
       Dive is set), mc would copy the content into /bla/foo/foo,
       'cause the directory already  exists.  By  disabling  this
       option you will copy it exactly into /bla/foo.

       If  you  are  root, you can set Preserve UIDs/GIDs, if you
       want to get the same owner and group of new files  as  the
       ones of the source files.

       Use shell patterns on

       When  the  shell patterns option is on you can use the '*'
       and '?'  wildcards in the source mask. They work like they
       do  in  the  shell.  In  the  target mask only the '*' and
       '\<digit>' wildcards is allowed. The first '*' wildcard in
       the target mask corresponds to the first wildcard group in
       the source mask, the second '*' corresponds to the  second
       group  and  so  on.  The  '\1' wildcard corresponds to the
       first wildcard group in the source mask, the '\2' wildcard
       corresponds  to  the second group and so on all the way up
       to '\9'. The '\0' wildcard is the whole  filename  of  the
       source file.

       Two examples:

       If  the  source  mask  is  "*.tar.gz",  the destination is
       "/bla/*.tgz" and the file to be  copied  is  "foo.tar.gz",
       the copy will be "foo.tgz" in "/bla".

       Let's  suppose  you want to swap basename and extension so
       that "file.c" will become "c.file" and so on.  The  source
       mask for this is "*.*" and the destination is "\2.\1".

       Use shell patterns off

       When  the  shell  patterns option is off the MC doesn't do
       automatic grouping anymore. You must use '\(...\)' expres-
       sions  in the source mask to specify meaning for the wild-
       cards in the target mask. This is more flexible  but  also
       requires  more  typing. Otherwise target masks are similar
       to the situation when the shell patterns option is on.

       Two examples:

       If the source mask is "^\(.*\)\.tar\.gz$", the destination
       is "/bla/*.tgz" and the file to be copied is "foo.tar.gz",
       the copy will be "/bla/foo.tgz".

       Let's suppose you want to swap basename and  extension  so
       that  "file.c"  will become "c.file" and so on. The source
       mask for this is "^\(.*\)\.\(.*\)$" and the destination is

       Case Conversions

       You  can also change the case of the filenames. If you use
       '\u' or uppercase or lowercase correspondingly.

       If you use '\U' or '\L' in the target mask the next  char-
       acters  will be converted to uppercase or lowercase corre-
       spondingly up to the next

       The '\u' and '\l' are stronger than '\U' and '\L'.

       For example, if the source mask is '*' (shell patterns on)
       or  '^\(.*\)$' (shell patterns off) and the target mask is
       '\L\u*' the file names will be converted to  have  initial
       upper case and otherwise lower case.

       You  can  also  use '\' as a quote character. For example,
       '\\' is a backslash and '\*' is an asterisk.

Internal File Viewer
       The internal file viewer provides two display modes: ASCII
       and hex.  To toggle between modes, use the F4 key.  If you
       have the GNU gzip program installed, it will  be  used  to
       automatically decompress the files on demand.

       The  viewer  will  try  to use the best method provided by
       your system or the file type to display  the  information.
       The  internal  file  viewer  will  interpret  some  string
       sequences to set the bold and underline  attributes,  thus
       making a pretty display of your files.

       When  in  hex  mode,  the  search function accepts text in
       quotes as well as hexadecimal constants.

       You can mix quoted text with constants like this: "String"
       0xFE  0xBB "more text".  Text between constants and quoted
       text is just ignored.

       Some internal details about the viewer:  On  systems  that
       provide the mmap(2) system call, the program maps the file
       instead of loading it; if the system does not provide  the
       mmap(2)  system  call  or  the file matches an action that
       requires a filter, then the viewer will use  it's  growing
       buffers,  thus  loading  only those parts of the file that
       you actually access (this includes compressed files).

       Here is a listing of the actions associated with each  key
       that  the  Midnight Commander handles in the internal file

       F1 Invoke the builtin hypertext help viewer.

       F2 Toggle the wrap mode.

       F4 Toggle the hex mode.

       F5 Goto line.  This will prompt you for a line number  and
       will display that line.

       F6, /.  Regular expression search.

       ?, Reverse regular expression search.

       F7 Normal search / hex mode search.

       C-s.   Start normal search if there was no previous search
       expression else find next match.

       C-r.  Start reverse search if there was no previous search
       expression else find next match.

       n.  Find next match.

       F8  Toggle  Raw/Parsed  mode:  This  will show the file as
       found on disk or if a processing filter has been specified
       in  the mc.ext file, then the output from the filter. Cur-
       rent mode is always the other than written on  the  button
       label,  since on the button is the mode which you enter by
       that key.

       F9 Toggle the format/unformat mode: when format mode is on
       the  viewer  will  interpret some string sequences to show
       bold and underline with different colors. Also, on  button
       label is the other mode than current.

       F10, Esc.  Exit the internal file viewer.

       next-page, space, C-v.  Scroll one page forward.

       prev-page, M-v, C-b, backspace.  Scroll one page backward.

       down-key Scroll one line forward.

       up-key Scroll one line backward.

       C-l Refresh the screen.

       It's possible to instruct the file viewer how to display a
       file, look at the Extension File Edit section

       Let the Midnight Commander type for you.

       Attempt  to  perform completion on the text before current
       position. MC attempts  completion  treating  the  text  as
       variable  (if  the  text begins with $ ), username (if the
       text begins with ~ ), hostname (if the text begins with  @
       )  or command (if you are on the command line in the posi-
       tion where you might type a command, possible  completions
       then  include  shell reserved words and shell builtin com-
       mands as well) in turn. If none of these produces a match,
       filename completion is attempted.

       Filename, username, variable and hostname completion works
       on all input lines, command  completion  is  command  line
       specific.   If the completion is ambiguous (there are more
       different  possibilities),  MC  beeps  and  the  following
       action depends on the setting of the show_all_if_ambiguous
       variable in the Initialization file. If it is  nonzero,  a
       list  of  all  possibilities  pops  up next to the current
       position and you can select with the arrow keys and  Enter
       the  correct entry. You can also type the first letters in
       which the possibilities differ to move to a subset of  all
       possibilities  and  complete  as  much as possible. If you
       press M-Tab again, only the subset will be  shown  in  the
       listbox,  otherwise  the  first item which matches all the
       previous characters will be highlighted. As soon as  there
       is no ambiguity, dialog disappears, but you can hide it by
       canceling keys Esc, F10 and left and right arrow keys.  If
       show_all_if_ambiguous  is  set to zero, the dialog pops up
       only if you press M-Tab for the second time, for the first
       time MC just beeps.

Virtual File System
       The  Midnight  Commander  is provided with a code layer to
       access the file system; this code layer is  known  as  the
       virtual  file  system  switch.   The  virtual  file system
       switch allows the Midnight Commander to  manipulate  files
       not located on the Unix file system.

       Currently  the  Midnight  Commander  is packaged with four
       Virtual File Systems (VFS): the local  file  system,  used
       for  accessing  the  regular  Unix file system; the ftpfs,
       used to manipulate files on remote systems  with  the  FTP
       protocol; the tarfs, used to manipulate tar and compressed
       tar files and finally the mcfs  (Midnight  Commander  file
       system), a network based file system.

       The  VFS  switch code will interpret all of the path names
       used and will forward them to the correct file system, the
       formats used for each one of the file systems is described
       later in their own section.

  FTP File System
       The  ftpfs  allows  you  to  manipulate  files  on  remote
       machines, to actually use it, you may try to use the panel
       command FTP link (accesible from the menubar) or  you  may
       directly  change your current directory to it using the cd
       command to a path name that looks like this:


       The, user, port and remote-dir elements are optional.   If
       you  specify the user element, then the Midnight Commander
       will try to logon on the mremote  machine  as  that  user,
       otherwise it will use your login name.



  Tar File System
       The  tar file system provides you with read-only access to
       your tar files and compressed tar files by using the chdir
       command.   To  change  your  directory  to a tar file, you
       change your current directory to the tar file by using the
       following syntax:


       The mc.ext file already provides a shortcut for tar files,
       this means that usually you just point to a tar  file  and
       press return to enter into the tar file, see the Extension
       File Edit section for details on how this is done.



       The latter specifies the full path of the tar archive.

  Network File System
       The Midnight Commander file system is a network base  file
       system that allows you to manipulate the files in a remote
       machine as if they were local.  To use  this,  the  remote
       machine must be running the mcserv(8) server program.

       To  connect  to  a  remote machine, you just need to chdir
       into a special directory which name is  in  the  following


       The,  user, port and remote-dir elements are optional.  If
       you specify the user element then the  Midnight  Commander
       will try to logon on the remote machine as that user, oth-
       erwise it will use your login name.

       The port element is used when the remote  machine  running
       on  a special port (see the mcserv(8) manual page for more
       information about ports); finally, if the remote-dir  ele-
       ment  is  present,  your  current  directory on the remote
       machine will be set to this one.



       The Midnight Commander will try to detect if your terminal
       supports color using the terminal database and your termi-
       nal name.  Sometimes it gets confused, so  you  may  force
       color  mode or disable color mode using the -c and -b flag

       If the program is compiled with the Slang  screen  manager
       instead  of  ncurses, it will also check the variable COL-
       ORTERM, if it is set, it has the same  effect  as  the  -c

       The  program  can be compiled with both ncurses and slang,
       ncurses does not  provide  a  way  to  force  color  mode:
       ncurses   uses   just  the  information  in  the  terminal

       The Midnight  Commander  provides  a  way  to  change  the
       default colors.  Currently the colors are configured using
       the environment variable MC_COLOR_TABLE or the Colors sec-
       tion in the initialization file.

       In  the  Colors  section,  the default color map is loaded
       from the base_color variable.  You can specify  an  alter-
       nate  color  map for a terminal by using the terminal name
       as the key in this section.  Example:


       The format for the color definition is:

         <keyword>=<foregroundcolor>,<backgroundcolor>:<keyword>= ...

       The colors are optional, and  the  keywords  are:  normal,
       selected,   marked,   markselect,  errors,  reverse  menu,
       menusel, menuhot, menuhotsel, gauge and the dialog  colors
       are:  dnormal,  dfocus, dhotcolor, dhotfocus.  Help colors
       are: helpnormal,  helpitalic,  helpbold,  helplink,  help-

       The dialog boxes use the following colors: dnormal is used
       for the normal text, dfocus is the color used for the cur-
       rently  selected component, dhotcolor is the color used to
       differentiate  the  hotkey  color  in  normal  components,
       whereas  the  dhotfocus  color is used for the highlighted
       color in the currently selected component.

       Menus use the same scheme  but  uses  the  menu,  menusel,
       menuhot and menuhotsel tags instead.

       Help  uses  the  following  colors: helpnormal is used for
       normal text, helpitalic is used for text which  is  empha-
       sized  in  italic in the manual page, helpbold is used for
       text which is emphasized  in  bold  in  the  manual  page,
       helplink is used for not selected hyperlinks and helpslink
       is used for selected hyperlink.

       gauge determines color of filled part of the progress  bar
       (gauge), which shows how many percent of files were copied
       etc. in a graphical way.

       The possible colors are: black, red,  green,  brightgreen,
       brown,  yellow,  blue, brightblue, magenta, brightmagenta,
       cyan, brightcyan, lightgray and white.

       If you are setting the colors from your private setup, you
       could use this format:


Special Settings
       Most  of  the  settings  of  the Midnight Commander can be
       changed from the menus. However, there are a small  number
       of settings which can only be changed by editing the setup

       These variables may be set in your $HOME/.mc.ini file:


              By default the Midnight Commander clears the screen
              before  executing a command. If you would prefer to
              see the output of the command at the bottom of  the
              screen,  edit  your  ~/mc.ini  file  and change the
              value of the field clear_before_exec to 0.


              If you press F3 on a directory, normally MC  enters
              that  directory.  If this flag is set to 1, then MC
              will  ask  for  confirmation  before  changing  the
              directory if you have files tagged.


              If this variable is set, when you press the F9 key,
              the pull down menus will be  activated,  else,  you
              will only be presented with the menu title, and you
              will have to select the entry with the  arrow  keys
              or  the  first  letter  and  from there select your
              option in the menu.


              Specifies how many screen updates can be skipped at
              most  in  the  internal file viewer.  Normally this
              value is not significant, because the code automat-
              ically  adjusts  the  number  of  updates  to  skip
              according to the rate of incoming keypresses.  How-
              ever,  on  very  slow  machines or terminals with a
              fast keyboard auto repeat, a  big  value  can  make
              screen updates too jumpy.

              It  seems  that setting max_dirt_limit to 10 causes
              the best behavior, and that is the default value.


              Controls whenever scrolling with the mouse is  done
              by pages or line by line on the panels.


              Controls  if  scrolling  with  the mouse is done by
              pages or line by line on the internal file  viewer.


              If  this setting is turned on, then you may use the
              arrows keys to automatically chdir if  the  current
              selection  is  a subdirectory and the shell command
              line is empty.  By default, this setting is off.


              When on, this flag causes the commander to  show  a
              rotating dash as a work in progress indicator.


              By  default  the  Midnight Commander treats the ESC
              key as a key prefix (old_esc_mode=0),  if  you  set
              this option (old_esc_mode=1), then the ESC key will
              act as a prefix key for one second, and if no extra
              keys  have arrived, then the ESC key is interpreted
              as a cancel key (ESC ESC).


              By default the Midnight Commander pops up all  pos-
              sible completions if the completion is ambiguous if
              you press M-Tab for the second time, for the  first
              time  it  just completes as much as possible and in
              the case of ambiguity beeps. If you want to see all
              the possible completions already after the first M-
              Tab pressing, set this option to 1.


              If this flag is set, then the  home  and  end  keys
              will work slightly different on the panels, instead
              of moving the selection to the first and last files
              in the panels, they will act as follows:

              The  home  key  will:  Go up to the middle line, if
              below it; else go to the  top  line  unless  it  is
              already on the top line, in this case it will go to
              the first file in the panel.

              The end key has a similar behavior: Go down to  the
              middle line, if over it; else go to the bottom line
              unless you already are at the bottom line, in  such
              case  it  will  move the selection to the last file
              name in the panel.


              If this variable is on (the default) it will  spawn
              the  file command to match the file types listed on
              the mc.ext file.

Terminal databases
       The Midnight Commander provides a way to fix  your  system
       terminal  database without requiring root privileges.  The
       Midnight Commander searches in the  system  initialization
       file  (the  mc.lib  file located in the Midnight Commander
       library directory) or in the $HOME/.mc.ini  file  for  the
       section  "terminal:your-terminal-name"  and  then  for the
       section "terminal:general", each line of the section  con-
       tains a key symbol that you want to define, followed by an
       equal sign and the definition for the key.   You  can  use
       the  special \E form to represent the escape character and
       the ^x to represent the control-x character.

       The possible key symbols are:

       f0 to f20     Function keys f0-f20
       bs         backspace
       home          home key
       end           end key
       up            up arrow key
       down          down arrow key
       left          left arrow key
       right         right arrow key
       pgdn          page down key
       pgup          page up key
       insert        the insert character
       delete        the delete character
       complete      to do completion

       For example, to define the key insert to be the Escape + [
       + O + p, you set this in the ini file:


       The  complete  key  symbol represents the escape sequences
       used to invoke the completion  process,  this  is  invoked
       with  M-tab,  but you can define other keys to do the same
       work (on those keyboard with tons of nice and unused  keys


              The help file for the program.


              The default system-wide extensions file.


              User's  own  extension, view configuration and edit
              configuration file.  They override the contents  of
              the system wide files if present.


              The default system-wide setup for the Midnight Com-
              mander,  used  only  if  the  user  lacks  his  own
              ~/.mc.ini file.


              Global  settings  for the Midnight Commander.  Set-
              tings in this file are global to any Midnight  Com-
              mander, it is useful to define site-global terminal


              User's own setup. If this file is present then  the
              setup  is  loaded  from here instead of the system-
              wide startup file.


              This file contains the hints (cookies) displayed by
              the program.


              This file contains the default system-wide applica-
              tions menu.


              User's own application menu. If this file  is  pre-
              sent it is used instead of the system-wide applica-
              tions menu.


              The directory list for the directory tree and  tree
              view  features.   Each line is one entry. The lines
              starting with a slash are full directory names. The
              lines starting with a number have that many charac-
              ters equal to the previous directory. If  you  want
              you  may  create  this  file  by giving the command
              "find / -type d -print | sort >  ~/.mc.tree".  Nor-
              mally  there  is  no  sense in doing it because the
              Midnight Commander automatically updates this  file
              for you.

       This  program  is  distributed  under the terms of the GNU
       General Public License as published by the  Free  Software
       Foundation.  See  the  built-in  help  for  details on the
       License and the lack of warranty.

       The latest  version  of  this  program  can  be  found  at in the directory /linux/local and from
       Europe at in the directory /pub/mc.

       ed(1), gpm(1),  mcserv(8),  terminfo(1),  view(1),  sh(1),
       bash(1), tcsh(1), zsh(1).

       The Midnight Commander page on the World Wide Web:

       Miguel  de  Icaza  (, Janne
       Kukonlehto    (,    Radek     Doulik
       (,  Fred Leeflang (,
       Dugan   Porter   (,   Jakub    Jelinek
       (,  Ching Hui (,
       and Mauricio Plaza (  are  the
       developers    of    this    package;   Alessandro   Rubini
       (  has  been   especially   helpful
       debugging  and enhancing the program's mouse support, John
       Davis ( also made his  S-Lang  library
       available  to  us  under the GPL and answered my questions
       about it, and the following people have  contributed  code
       and many bug fixes (in alphabetical order):

       Antonio Palama, DOS port (, Erwin
       van Eijk (, Gerd Knorr (kraxel@cs.tu-,  Jean-Daniel Luiset (, Jon
       Stevens  (,  Juan  Jose   Ciarlante
       (,       Massimo      Fontanelli
       (,   Thomas    Pundt    (pundtt@math.uni-,  Torben  Fjerdingstad  (,
       Vadim Sinolitis (  and  Wim  Osterholt

       See  the  file TODO in the distribution for information on
       what remains to be done.