Cannot transfer file due to "Filesystem does not support symbolic links" error

If the copying is done in some shell terminal (i.e. bash), then cp can be explicitly told to copy the file that a link points to with --dereference, instead of the link itself. The default behavior of cp is to copy files by following their links, but many graphical file browsers seem to have a default behavior of attempting to copy links and generally perserving most attributes.

man cp
-a, --archive
       same as -dR --preserve=all

-d     same as --no-dereference --preserve=links

-L, --dereference
       always follow symbolic links in SOURCE  

Example

touch SomeFile.txt
echo "some content" > someFile.txt
ln -s -T someFile.txt someLink
echo "Some content for the test file." > someLink
mkdir someDirectory
ln -s -T someDirectory someDirLink

The fact that someLink is a link, is shown by the l flag in the first position of the listing output (and `d' designates a directory).

ls -l

drwxrwxr-x. 2 user group 4096 Aug 17 17:17 someDirectory
lrwxrwxrwx. 1 user group 13 Aug 17 17:17 someDirLink -> someDirectory
-rw-rw-r--. 1 user group 32 Aug 17 17:01 someFile.txt
lrwxrwxrwx. 1 user group 12 Aug 17 17:12 someLink -> someFile.txt

The file contains the content, and the link points to the file, but can be used in nearly any manner the file could be. (Note the link file size vs the text file size: 32 Bytes vs 12 Bytes.)

cat someFile.txt

Some content for the test file.

cat someLink

Some content for the test file.

First, copying the link to a directory. Then copying the file to the directory, through the link. (The below also shows that directory links work in a similar manner to file links.):

cp -a someLink someDirLink/newCopy
cp -L someLink someDirectory/newCopy.txt
ll -l someDirLink/

lrwxrwxrwx. 1 user group 12 Aug 17 17:12 newCopy -> someFile.txt
-rw-rw-r--. 1 user group 32 Aug 17 17:36 newCopy.txt


Caution

Links can be made to point to a full path or a relative path. Since this example used a linking based on the relative path of the target being in the same directory as the link being created, the link was broken when it was copied to a new directory.

cat someDirLink/newCopy

cat: someDirLink/newCopy: No such file or directory

cat someDirLink/newCopy.txt

Some content for the test file.


you can simply compress the folder and then copy it as you like


A symbolic link is a file that points to another file, a kind of alias for a filepath. It is not compatible with the FAT-32 filesystem commonly found on USB drives.

To find the symbolic link, you can open the terminal and do an ls -al in the directory you are having problems with - the symbolic link will have an l as the first character in the listing (where directories have a d). Or else, you can do a find DIR -type l where DIR is a directory that might (indirectly) contain symbolic links (. is ok too).

If you want to copy the content: ls -al LINK, where LINK is your link, will tell you where it points to (if LINK is a directory you will have to remove the final slash in case you have one). Just copy that.

N.B.: ls -l is normally sufficient, I just added the a in order to display hidden files, whose name starts with a dot - for the case where the link is a hidden file.

But, if you are afraid of the terminal: in Nautilus (the file browser), the icons of links are marked by a small arrow on the bottom right (but not all icons marked like that are links). If you right click on the icon and select Properties, if it is a link, its Type will start with Link to, and its Link target will tell you where the real stuff is (unless that is a link itself, in which case you will have to follow the chain).