man pages section 1: User Commands

Exit Print View

Updated: July 2014

lndir (1)


lndir - create a shadow directory of symbolic links to another directory tree


/usr/bin/lndir [ -silent ] [ -ignorelinks ] [ -withrevinfo ]
fromdir [ todir ]


User Commands                                            LNDIR(1)

     lndir  -  create  a  shadow  directory  of symbolic links to
     another directory tree

     /usr/bin/lndir [ -silent ] [ -ignorelinks ] [ -withrevinfo ]
     fromdir [ todir ]

     The  lndir  program makes a shadow copy todir of a directory
     tree fromdir, except that the shadow is not  populated  with
     real  files  but instead with symbolic links pointing at the
     real files in the fromdir directory tree.  This  is  usually
     useful  for  maintaining  source  code for different machine
     architectures.  You create  a  shadow  directory  containing
     links  to  the  real  source,  which  you  will have usually
     mounted from a remote machine.  You can build in the  shadow
     tree,  and the object files will be in the shadow directory,
     while the source files in the shadow directory are just sym-
     links to the real files.

     This scheme has the advantage that if you update the source,
     you need not propagate the change to the other architectures
     by hand, since all source in all shadow directories are sym-
     links to the real thing: just cd to the shadow directory and
     recompile away.

     The  todir  argument is optional and defaults to the current
     directory.  The fromdir  argument  may  be  relative  (e.g.,
     ../src)  and  is  relative  to todir (not the current direc-

     Note that BitKeeper, CVS, CVS.adm, .git, .hg, RCS, SCCS, and
     .svn  directories are shadowed only if the -withrevinfo flag
     is specified.  Files with names ending in ~ are never  shad-

     If you add files, simply run lndir again.  New files will be
     silently added.  Old files will be checked  that  they  have
     the correct link.

     Deleting  files is a more painful problem; the symlinks will
     just point into never never land.

     If a file in fromdir is a symbolic link, lndir will make the
     same  link  in  todir  rather than making a link back to the
     (symbolic link) entry in  fromdir.   The  -ignorelinks  flag
     changes this behavior.

          Normally lndir outputs the name of each subdirectory as

X Version 11         Last change: lndir 1.0.3                   1

User Commands                                            LNDIR(1)

          it descends into it.   The  -silent  option  suppresses
          these status messages.

          Causes  the  program  to  not  treat  symbolic links in
          fromdir specially.  The  link  created  in  todir  will
          point back to the corresponding (symbolic link) file in
          fromdir.  If the link is to a directory, this is almost
          certainly the wrong thing.

          This option exists mostly to emulate the behavior the C
          version of lndir had in X11R6.  Its use is  not  recom-

          Causes any source control manager subdirectories (those
          named BitKeeper, CVS, CVS.adm, .git, .hg, RCS, SCCS, or
          .svn) to be treated as any other directory, rather than

     The program  displays  the  name  of  each  subdirectory  it
     enters,  followed by a colon.  The -silent option suppresses
     these messages.

     A warning message is displayed if the symbolic  link  cannot
     be created.  The usual problem is that a regular file of the
     same name already exists.

     If the link already exists but doesn't point to the  correct
     file,  the  program  prints  the  link name and the location
     where it does point.


     See  attributes(5)  for  descriptions   of   the   following

     |      ATTRIBUTE TYPE         |      ATTRIBUTE VALUE        |
     |Availability                 |file/lndir                   |
     |Interface Stability          |Uncommitted                  |

X Version 11         Last change: lndir 1.0.3                   2