Sometimes, when working with directories and files, we want to reference the same file in a different directory.
This is most apparent when you want to upload dotfiles and config on github so you can backup and pull down these onto any computer.
Lets get started and you’ll see how my setup will help your setup.
Working with files
You can create an “original” file and create as many “links” pointing to the original as desired.
1. Create a txt file
``$ echo "test" > tmp1.txt
2. Create a symbolic link and new txt file
$ ln -s tmp1.txt tmp2.txt
You now have this output on
Working with config files
1 – Download your config files directories.
I use a
~/.vim directory to store all my relevant
vim related configs and plugins.
cd && git clone https://github.com/theptrk/.vim
2 – Symlink your
~/.vim/.vimrc to the system
You system will look for
~/.vimrc when booting up your vim and doesn’t know about your fancy new config folder. If you symlink these, then your system will boot your version controlled config!
ln -s ~/.vim/.vimrc .vimrc
3 – Double check your symlink
This should show
Links reference abstract filenames/directories and NOT physical locations on disk.
Links will not reference the original if either is moved
If you delete the original, the linked files still exist as “orphaned” links that point to nothing. However, if you then save to the linked file, the “original” will be recreated.