Невозможно передать файл из-за ошибки «Файловая система не поддерживает символические ссылки»

10

Когда я хочу перенести файлы с локального жесткого диска на флэш-накопитель, я получаю эту ошибку:

Filesystem does not support symbolic links. 

Я не знаю, что это такое, мне нужна помощь с передачей файлов.

Перетаскивание, у меня не работает, появляется ошибка. Щелкните правой кнопкой мыши по файлу и выберите «Копировать», затем щелкните правой кнопкой мыши на дисководе и выберите «Вставить не работает», я все еще получаю ту же ошибку.

сова
источник
перетаскивание, у меня не работает, появляется ошибка. щелкните файл правой кнопкой мыши и выберите «Копировать», затем щелкните правой кнопкой мыши на дисководе и выберите «Вставить не работает», я все еще получаю ту же ошибку.
сова

Ответы:

5

Символическая ссылка - это файл, который указывает на другой файл, своего рода псевдоним для пути к файлу. Он не совместим с файловой системой FAT-32, обычно встречающейся на USB-накопителях.

Чтобы найти символическую ссылку, вы можете открыть терминал и сделать ls -alв каталоге, с которым у вас проблемы - символическая ссылка будет иметь lпервый символ в списке (где каталоги имеют a d). Или вы можете создать каталог find DIR -type lwhere DIR, который может (косвенно) содержать символические ссылки ( .тоже нормально).

Если вы хотите скопировать содержимое:, ls -al LINKгде LINKнаходится ваша ссылка, она сообщит вам, куда она указывает (если LINKэто каталог, вам придется удалить последний слеш, если он у вас есть). Просто скопируйте это.

NB: ls -lобычно достаточно, я просто добавил a, чтобы отобразить скрытые файлы, имя которых начинается с точки - для случая, когда ссылка представляет собой скрытый файл.

Но, если вы боитесь терминала : в Nautilus (файловом браузере) значки ссылок отмечены маленькой стрелкой в ​​правом нижнем углу (но не все значки, помеченные как ссылки). Если вы щелкните правой кнопкой мыши на значке и выберите Properties, если это ссылка, Typeона начнется с Link toнее, и Link targetона скажет вам, где находится реальный материал (если это не сама ссылка, в этом случае вам придется следовать по цепочке) ,

Уолтер Тросс
источник
macOSможет создавать символические ссылки на моем exfatдиске. так что это должно быть проблема с linux / driver, а не с файловой системой. Эта неспособность делает git бесполезным для клонирования проектов на мой exfatдиск, который я использую кроссплатформенный.
Necktwi
7

Если копирование выполняется в некотором терминале оболочки (т.е. баш), то cpможет быть явно сказано , чтобы скопировать файл , который указывает ссылка с --dereference, вместо самой ссылки. Поведение по умолчанию cp- копировать файлы по их ссылкам, но многие графические браузеры файлов, по-видимому, по умолчанию пытаются копировать ссылки и обычно сохраняют большинство атрибутов.

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

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

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

пример

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

Тот факт, что someLinkэто ссылка, показывается lфлагом в первой позиции вывода списка (а `d 'обозначает каталог).

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

Файл содержит содержимое, и ссылка указывает на файл, но может использоваться практически любым способом, которым может быть файл. (Обратите внимание, что размер файла ссылки и размер текстового файла: 32 байта против 12 байтов.)

cat someFile.txt

Some content for the test file.

cat someLink

Some content for the test file.

Сначала копируем ссылку на каталог. Затем скопируйте файл в каталог, перейдя по ссылке. (Ниже также показано, что ссылки на каталоги работают аналогично ссылкам на файлы.):

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


предосторожность

Можно сделать ссылки, указывающие на полный или относительный путь. Поскольку в этом примере использовалась ссылка на основе относительного пути к цели, находящейся в том же каталоге, что и создаваемая ссылка, ссылка была разорвана при копировании в новый каталог.

cat someDirLink/newCopy

cat: someDirLink/newCopy: No such file or directory

cat someDirLink/newCopy.txt

Some content for the test file.

Kevin
источник
Это должен быть принятый ответ
Sourabh
5

Вы можете просто сжать папку, а затем скопировать ее, как вам нравится

أحمد طه
источник
Это очень сильно зависит от формата архива и используемых вами опций.
Jawtheshark
2

Файл, который вы пытаетесь скопировать, по-видимому, является символической ссылкой, которая просто указывает на другой файл. Съемные носители обычно отформатированы в файловой системе Microsoft, такой как FAT32 или NTFS, которая не поддерживает символические ссылки, поэтому вы не можете разместить ее на диске. Обратите внимание, что копирование только ссылки не принесет никакой пользы, поскольку ссылка без файла, на который она указывает, будет бесполезной.

psusi
источник
2
NTFS хорошо поддерживает символические ссылки, однако они в формате Interix. Обычно они конвертируются в Ubuntu при использовании драйвера ntfs-3g. Но я согласен с вашим мнением, что копирование символических ссылок само по себе может создать больше проблем.
Матенг
1

Ваш флэш-накопитель / pendrive, вероятно, отформатирован как FAT32 . Попробуйте отформатировать его как NTFS (сначала сделайте резервную копию его содержимого). Конечно, EXT3 / EXT4 также поддерживают символические ссылки - но тогда у вас возникнут проблемы совместимости с системами, отличными от Linux.
Проверьте эту связанную тему .

Но, как правильно упоминает psusi, копирование символической ссылки может создать больше проблем, поскольку может указывать на файл или папку на локальном жестком диске и, следовательно, не будет доступно с других компьютеров. Симлинки сохраняются, если они являются относительными симлинками (например, указывают на каталог над текущим каталогом).

По слухам, отформатированные в NTFS pendrives, как правило, изнашиваются раньше . Это не проверено :). [Изменено]

Mateng
источник
2
Я не согласен с вашей частью о том, что NTFS_форматированные подвески быстрее изнашиваются. У меня есть флэш-накопитель USB на 8 ГБ по крайней мере 7 лет назад, и его отформатированная NTFS. Это все еще работает. Кроме того, полагаться на ответы Yahoo за то, что вы цитируете в качестве совета, не совсем хорошая вещь.
Томас Уорд
Действительно, быстрее изнашивается FUD, и что более важно, NTFS также не поддерживает символические ссылки.
Псуси
Я не знал, что это подделка, приятно знать. Я изменил свою формулировку. NTFS, однако, поддерживает символические ссылки. Я думаю, что NTFS - лучший выбор, потому что флэш-накопитель, отформатированный в EXT3 / EXT4, не может быть прочитан из не-Linux систем.
Матенг
0

Простой обходной путь для этого - просто сжать файлы, которые вы хотите скопировать, затем скопировать их на диск и извлечь данные после того, как вы поместите их в нужное место. Таким образом, вам не нужно торопиться с проблемой форматирования. В дальнейшем вы все равно сможете сохранить все файлы на диске и переформатировать ваше устройство, сделав более совместимым, если хотите.

uloco
источник