lntree

lntree.txt
Login
LNTREE(1)                   General Commands Manual                  LNTREE(1)

NAME
     lntree - small portable program to replicate a directory tree

SYNOPSIS
     lntree [-.cnsv] [-C command] source target

DESCRIPTION
     lntree replicates the files from the source directory tree to the target
     directory tree. I originally wrote it for installing configuration files.

     The default replication method is hard linking, that is, ln(1) with no
     arguments. The following flags change this.

     -C command
             The argument is used as the linking command.

     -c      Copy files with cp(1), equivalent to `-Ccp'.

     -n      Do a dry run, equivalent to `-Cecho'.

     -s      Make symbolic links with ln(1) with the -s flag, equivalent to
             `-Cln\ -s'.

     The remaining options are as follows.

     -.      Prepend paths with `.' if they don't already start with `.'.

     -v      Add verbose output.

APPLYING CONFIGURATION FILES
     I use lntree to apply my configuration files. If you store your
     configuration files in one directory, you might do something like this.

           lntree /configuration /

     The same works for the dotfiles in your home directory.

           lntree -. ~/dotfiles ~

     If your configuration files are in multiple directories, call lntree once
     for each directory.

           lntree -. ~/rc/dotfiles     ~
           lntree    ~/rc/bin          ~/bin
           lntree    /conf/common      /
           lntree    /conf/$(hostname) /

SEE ALSO
     lntree depends on ln(1), cp(1), and find(1).  Other similar programs
     include rcm(7), rcup(1), rsync(1), and install(1).

HISTORY
     I wrote lntree mostly to create an alternative to rcup(1) that was easier
     to distribute.  It is usually the very first program I want to install,
     and I use it to install my configuration files.  lntree also includes
     some improvements that I had been meaning to add to rcup(1): Faster file-
     difference checking, and full support for spaces in file names.

SUPPORT
     The source code repository is at https://thomaslevine.com/scm/lntree/.

AUTHOR
     Thomas Kai Levine <_@thomaslevine.com>

                                August 19, 2017