When one grabs an icon (file) with the LMB (left mouse button) and drags it to another location or surface, the file is moved or copied depending on it's location, after the user lets go of the mouse it can be seen that the file has been copied (the file is still in its orinal location and in the new location) or has been moved (the file has disapeared from its orinal location).
Therefore I suggest to add the following visualization differences:
When the default action is copying: the icon in the original location should stay and a transparent copy should be held on to the mouse cursor until the mouse button is released
When the default action is moving: the icon in the original location should be moved away from the original location and held on to the mouse cursor until the mouse button is released, the icon held on the mouse cursor should be much less transparent (more opaque) then when it is being copied)
The default drag-and-drop-with-LMB action could be set to always copy, move, or link. When the default action is linking a process visually similar to the copy action takes place with the addition of a dashed line (similar like the dashed lines in a selection rectangle) following the icon held by the mouse cursor. This visual 'dashed-line-link' behaviour could be displayed briefly during linking with the RMB (right mouse button), say 200-500ms.