Я хочу синхронизировать папки на моем Mac с Google Диском, не перетаскивая папки в папку Google Диска и сохраняя структуру папок на моем Mac.
Я предположил, что для этого вам понадобится символическая ссылка (симлинк).
Итак, я попробовал в терминале:
cd /path/to/google/drive
ln -s /path/to/folder/
Папка появилась у меня в папке Google Диска, но не хотела синхронизироваться.
Так что я тогда попробовал
ln -s “/path/to/folder” “/path/to/google/drive/”
Все еще не работает. Поэтому я сослался на эту статью HowToGeek по этой теме, и в ней говорилось, что вы должны переместить исходную папку в папку Google Диска и сделать символическую ссылку на исходную родительскую папку.
Я бы хотел, чтобы оригинал не находился в папке Google Диска. Есть ли бесплатная альтернатива симлинку? Я просмотрел jdrivesync, но не смог установить (это будет еще одна проблема в другом обсуждении).
Спасибо за вашу помощь!
Вы можете использовать жесткую ссылку на каталог, но только в файловой системе HFS+. Вам понадобится GNU ln
, чтобы использовать эту -d
опцию. Это можно установить с помощью Homebrew : brew install coreutils
, затем запустить:
sudo gln -d "/path/to/original" "/path/to/drive/folder"
Вас попросят ввести пароль. Эта команда создает жесткую ссылку на сам файл/папку, а не на то, как символическая ссылка ссылается на указатель на файл/каталог. Поскольку папка ссылки практически такая же, как и исходная папка, Google Диск синхронизирует ее правильно.
Чтобы отменить жесткую ссылку, используйте unlink "/path/to/drive/folder"
.
ВНИМАНИЕ: APFS (файловая система Apple) не поддерживает жесткие ссылки. Если вы планируете установить macOS High Sierra или более позднюю версию и хотите продолжать использовать жесткие ссылки на каталоги, вам потребуется поддерживать файловую систему HFS+. По умолчанию программа установки macOS High Sierra на Mac с SSD (например, без HDD или Fusion Drive) автоматически преобразует файловую систему HFS+ в APFS. Чтобы пропустить преобразование во время обновления, вам нужно будет запустить установщик macOS следующим образом:
/Applications/Install\ macOS\ High\ Sierra.app/*/R*/startosinstall --converttoapfs NO
Если вы избегаете последнего варианта, /.HFS+ Private Directory Data
после обновления вы получите беспорядок из жестко связанных каталогов.
-d
предназначен для каталогов, см. Правку.sudo
не кажется необходимым.Google Диск кажется бесполезным, если вы не хотите реорганизовать свой диск.
Sugarsync разработан с учетом потребностей Windows. Это действительно элегантно и позволяет синхронизировать существующие папки, где бы они ни находились. Я использовал его некоторое время. У него есть клиент для Mac, но это все, что они в него вложили. Он не может правильно синхронизировать пакеты. Пакеты — это структура UNIX, которую Mac использует для приложений и файлов данных. Так я избавился от Sugarsync.
Microsoft OneDrive не использует символические ссылки, и я не думаю, что они даже знают, что такое пакеты.
С другой стороны, Dropbox учитывает символические ссылки и корректно обрабатывает пакеты.
Жесткая ссылка традиционно работает только для файла, а не для каталога.
Хотя HFS+ поддерживает жесткие ссылки на каталоги, это скорее внутренняя функция, зарезервированная для Time Machine . Используйте его на свой страх и риск.
Вы можете посмотреть SugarSync , который утверждает
Сделайте резервную копию и получите доступ к своим файлам. Используя существующую структуру папок.
Личный опыт работы с жесткой ссылкой на каталог таков:
В macOS Sierra и с новым решением coreutils в предыдущем посте не работает должным образом.
1) Вам понадобится gnu coreutils. Вы можете установить его через homebrew.
brew install coreutils
2) (необязательно) вы можете ввести gln --help
, чтобы получить руководство по использованию этой команды. Это выведет 4 способа:
или: gln [ОПЦИЯ]... -t ЦЕЛЬ СПРАВОЧНИКА... (4-я форма)
В первой форме создайте ссылку на TARGET с именем LINK_NAME.
Во 2-й форме создайте ссылку на ЦЕЛЬ в текущем каталоге.
В 3-й и 4-й формах создайте ссылки на каждую ЦЕЛЬ в СПРАВОЧНИКЕ.
3) Перейдите в «папку диска» Google (GD) или любую подпапку GD через командную строку:
3.a) Вы можете ввести тип терминала cd
(пробел после «d») и перетащить папку/каталог в окно терминала.
3.b) или просто введите свой путь к месту назначения, например cd /Users/yourAccountName/Google\ Drive/sub/subSubFolder
, где «yourAccountName» — это имя вашей учетной записи в ОС, а «sub/subSubFolder» — структура вашей папки в GD. Обратите внимание, что вам нужно «экранировать» специальные символы в пути к файлу и имени с помощью обратной косой черты ('\'), как я сделал с пробелом в имени папки «Google Диск», поэтому теперь он выглядит как «Google\ Диск».
4) И, как пояснил grgarside в своем посте, вам нужно использовать ключ sudo
и -d
для выполнения связывания. Итак, просто введите:
sudo gln -d '/Users/yourAccountName/path/to/original/folder/with/your/stuff'
Два способа получить много файлов/папок на Google Диске без изменения файловой структуры:
ИЛИ
Использование любого из этих методов позволит перенести ваши папки на Диск без изменения файловой структуры.
Я знаю, что ни один из них не является тем, что вы просили, но они оба должны выполнять свою работу. Комментарий ниже для чего-нибудь еще.
ХотяСлишком
ХотяСлишком
ХотяСлишком