To get a file symlinked from your Documents folder to your OneDrive folder (or any folder for that matter) you need to format the command completely and properly
###Creating a symlink:
Creating a symlink:
ln -s SOURCE TARGET
More specifically, it must take on the form
ln -s /path/to/source /path/to/target
Let's say we are trying to create a link from a folder called "Personal" that's located on OneDrive and you want it to show up under Documents.
ln -s /Users/USERNAME/OneDrive/Personal /Users/USERNAME/Documents/Personal
Now, in your "Documents" folder, you will see a folder called "Personal."
###Spaces in the path and/or filename
Spaces in the path and/or filename
There are two ways to address spaces within the path or filename. Using the example from above, if the folder was called Personal Stuff we could handle it one of two ways:
Use backslashes () to escape the space:
ln -s /Users/USERNAME/OneDrive/Personal\ Stuff /Users/USERNAME/Documents/Personal\ Stuff
Use quotes (") to encapsulate the whole string:
ln -s "/Users/USERNAME/OneDrive/Personal Stuff" "Users/USERNAME/OneDrive/Personal Stuff"
ln -s "/Users/USERNAME/OneDrive/Personal Stuff" "Users/USERNAME/OneDrive/Personal Stuff"
###Using the tilde (~) for your home directory
Using the tilde (~) for your home directory
The tilde (~) is just a shortcut to your home directory. So, instead of typing out /Users/USERNAME/foo/bar/filename.ext
you can simply shorten it to ~/foo/bar/filename.ext
You can use it when creating your symlinks with no problem:
ln -s "/Users/USERNAME/OneDrive/Personal Stuff" "~/OneDrive/Personal Stuff"
Keep in mind that the tilde (~) changes for each user. This is why I have gotten in the habbit of just typing out the whole path; just to be sure I'm putting the link exactly where I want it.
###Symlinking per your example
Symlinking per your example
ln -s ~/OneDrive\ -\ Documents/X\ Documents ~/Downlaods/X\ Documents
This will create a link called "X Documents" in the Downloads Folder of the "X Documents" folder found on OneDrive.
You can find further details about the the ln
command by typing man ln
.