Apenas use links simbólicos:
ln -s ~/Documents ~/Dropbox/
Isso criará um diretório no seu $HOME/Dropbox
que, na verdade, é um link para ~/Documents
. Isso significa que todas as alterações feitas no ~/Documents
também serão visíveis em ~/Dropbox/Documents
, pois o último é apenas um link para o primeiro.
Links simbólicos são truques simples. Você pode pensar no symlink como uma cópia virtual do destino do link. Todas as operações feitas no link são aplicadas ao destino. Os dois são cópias exatas um do outro. A exclusão do link não afetará o destino de nenhuma maneira. Para ilustrar, aqui está um exemplo simples:
$ mkdir foo
$ touch foo/file1
$ tree
.
└── foo
└── file1
1 directory, 1 file
Portanto, temos um diretório chamado foo
que contém um arquivo chamado file
. Agora, o que acontece se criarmos um link para foo
?
$ ln -s foo bar
$ tree
.
├── bar -> foo
└── foo
└── file1
2 directories, 1 file
OK, vamos ver o conteúdo de bar
:
$ ls bar
file1
E se excluirmos o arquivo?
$ rm foo/file1
$ ls bar
$
O diretório bar
agora está vazio porque é apenas um link simbólico para foo
, portanto, excluir foo/file1
também excluiu bar/file1
porque os dois eram o mesmo arquivo .
Por outro lado, a exclusão do link em si não afetará o original porque o link é apenas isso, um link.