Dysk Google Symlink

13

Chcę zsynchronizować foldery znajdujące się na moim komputerze Mac z Dyskiem Google bez konieczności przeciągania folderów do folderu Dysk Google i zachowania struktury folderów na komputerze Mac.

Zakładam, że musisz mieć link symboliczny (dowiązanie symboliczne), aby to zadziałało.

Więc próbowałem w Terminalu:

cd /path/to/google/drive
ln -s /path/to/folder/

Folder pojawił się w folderze Dysku Google, ale nie chciał się zsynchronizować.

Więc spróbowałem

ln -s “/path/to/folder”  “/path/to/google/drive/”

Nadal nie działał. Odniosłem się więc do tego artykułu HowToGeek na ten temat i powiedziałem, że musisz przenieść oryginalny folder do folderu Dysku Google i uczynić symbolicznym jak oryginalny folder nadrzędny.

Chciałbym, aby oryginał nie znajdował się w folderze Dysku Google. Czy istnieje darmowa alternatywa dla dowiązania symbolicznego? Patrzyłem na jdrivesync, ale nie udało mi się zainstalować (to będzie kolejny problem w innej dyskusji).

Dzięki za pomoc!

ThoughToo
źródło
Czy istnieje alternatywny sposób na dowiązanie symboliczne do synchronizacji folderów poza folderem Dysku Google? Zaktualizuję pytanie. @techraf
ThoughToo
Nigdy nie mówi, że to niemożliwe. Czy może istnieć inny sposób niż używanie dowiązań symbolicznych lub może istnieć aplikacja? @techraf
ThoughToo
Nigdy nie prosiłem o inne polecenie dowiązania symbolicznego lub coś, co oczywiście nie zadziałałoby. Czy istnieje aplikacja lub inne polecenie, które może osiągnąć to, co chcę zrobić? Nie ma sensu kłócić się o to, co powiedziałem, pomagamy sobie tutaj.
ThooToo

Odpowiedzi:

15

Możesz użyć twardego łącza do katalogu, ale tylko w systemie plików HFS +. Będziesz potrzebował GNU, lnaby skorzystać z tej -dopcji. To może być zainstalowany przy użyciu Homebrew : brew install coreutils, a następnie uruchomić:

sudo gln -d "/path/to/original" "/path/to/drive/folder"

Zostaniesz poproszony o podanie hasła. To polecenie tworzy twarde łącze do samego pliku / folderu, a nie jak łącze symboliczne prowadzi do wskaźnika do pliku / katalogu. Ponieważ folder linków jest zasadniczo taki sam jak folder oryginalny, Dysk Google synchronizuje go poprawnie.

Aby odłączyć twardy link, użyj unlink "/path/to/drive/folder".

OSTRZEŻENIE: APFS (system plików Apple) nie obsługuje twardych łączy. Jeśli planujesz zainstalować system macOS High Sierra lub nowszy i chcesz nadal używać twardych linków do katalogu, musisz zachować system plików HFS +. Domyślnie system macOS High Sierra na komputerze Mac z dyskiem SSD (np. Bez dysku twardego lub napędu Fusion) automatycznie konwertuje system plików HFS + na APFS. Aby pominąć konwersję podczas aktualizacji, musisz uruchomić instalator systemu macOS w następujący sposób:

/Applications/Install\ macOS\ High\ Sierra.app/*/R*/startosinstall --converttoapfs NO

Jeśli unikniesz ostatniej opcji, /.HFS+ Private Directory Datapo aktualizacji skończy się bałagan z połączonymi katalogami .

grg
źródło
1
Dzięki za odpowiedź. Próbowałem tego i powiedziałem, że jest to katalog, który, jak zakładam, „ln” sam w sobie działa tylko dla rzeczywistych plików?
ThoughToo
1
@Mekul Oops -djest dla katalogów, patrz edycja.
grg
1
Jesteś pewny? Właśnie wpisałem w Terminalu i powiedziałem, że jest to nielegalna opcja, nawet wpisałem „man ln” i nie było czegoś takiego jak „-d”. W każdym razie dzięki za pomoc!
ThoughToo
1
@Mekul W porządku, to moja wina! Robię to wszystko na telefonie z pamięci, następnym razem po prostu poczekam, aż będę przy komputerze! Wierzę, że jest częścią pakietu „coreutils” i nazywa się „gln”, aby nie zastępować istniejącego „ln”.
grg
1
@Mekul Miałem na myśli instalację coreutils, a następnie polecenie brzmi „sudo gln -d…”, nic więcej do zainstalowania.
grg
0

Dysk Google wydaje się być bezużyteczny, chyba że chcesz zreorganizować dysk.

Sugarsync został zaprojektowany z myślą o systemie Windows. Jest naprawdę sprytny i pozwala synchronizować istniejące foldery, gdziekolwiek się znajdują. Użyłem go przez jakiś czas. Ma klienta Mac, ale to wszystko, co w niego wkładają. Nie można poprawnie zsynchronizować pakietów. Pakiety są strukturą UNIX, której Mac używa do aplikacji i plików danych. Więc pozbyłem się Sugarsync.

OneDrive Microsoftu nie robi dowiązań symbolicznych i nie sądzę, żeby nawet wiedzieli, jakie są pakiety.

Z drugiej strony Dropbox honoruje dowiązania symboliczne i poprawnie obsługuje pakiety.

Ken Collins
źródło
0

Hardlink tradycyjnie działa tylko w przypadku plików, a nie katalogów.

Chociaż HFS + obsługuje hardlink katalogu, jest to raczej funkcja wewnętrzna zarezerwowana dla Time Machine . Użyj go na własne ryzyko.

Możesz spojrzeć na SugarSync , który twierdzi

Utwórz kopię zapasową i uzyskaj dostęp do swoich plików. Korzystanie z istniejącej struktury folderów.

To jest osobiste doświadczenie z twardym linkiem do katalogu

  • Zmniejszam, a następnie powiększam dysk Time Machine, który mocno wykorzystuje twardy link do katalogu
  • Następnie dane kopii zapasowej są pomieszane
  • Muszę sformatować partycję, tracąc historię
amdyes
źródło
-1

W systemie macOS Sierra i nowym rozwiązaniu Coreutils we wcześniejszym poście nie działają zgodnie z oczekiwaniami.

1) Będziesz potrzebować jądra GNU. Możesz zainstalować go przez Homebrew.

brew install coreutils

2) (opcjonalnie) możesz wpisać, gln --helpaby uzyskać instrukcję obsługi tego polecenia. Spowoduje to wygenerowanie 4 sposobów:

  1. Użycie: gln [OPCJA] ... [-T] TARGET LINK_NAME (1. formularz)
  2. lub: gln [OPCJA] ... TARGET (2. formularz)
  3. lub: gln [OPCJA] ... TARGET ... DIRECTORY (3. formularz)
  4. lub: gln [OPCJA] ... -t DIRECTORY TARGET ... (4. formularz)

    W 1. formularzu utwórz link do TARGET o nazwie LINK_NAME.

    W drugim formularzu utwórz link do TARGET w bieżącym katalogu.

    W trzecim i czwartym formularzu utwórz łącza do każdego CELU w KATALOGU.

3) Przejdź do Google „folder dysku” (GD) lub dowolnego podfolderu GD za pomocą wiersza polecenia:

3.a) Możesz wpisać typ terminala cd(spacja po „d”) i przeciągnąć folder / katalog do okna terminala

3.b) lub po prostu wpisz swoją drogę do miejsca docelowego, np. cd /Users/yourAccountName/Google\ Drive/sub/subSubFolder Gdzie „twojaNazwa konta” to nazwa twojego konta w systemie operacyjnym i „sub / subSubFolder” struktura folderów w GD. Pamiętaj, że musisz „uciec” specjalnymi symbolami w ścieżce pliku i nazwie odwrotnym ukośnikiem („\”), tak jak zrobiłem to ze spacją w nazwie folderu „Dysk Google”, więc wygląda teraz na „Google \ Dysk”.

4) I, jak wyjaśnił grgarside w swoim poście, musisz użyć sudo i -dklucz do wykonania łączenia. Więc po prostu wpisz:

sudo gln -d '/Users/yourAccountName/path/to/original/folder/with/your/stuff'
Rusłan Zajcew
źródło
-2

Dwa sposoby na przeniesienie wielu plików / folderów na Dysk Google bez zmiany struktury plików:

  1. Z zainstalowanym Dyskiem Google na Maca: zduplikuj odpowiednie foldery i przeciągnij ich kopie do folderu Dysku Google.

LUB

  1. Używanie Dysku Google z Google Chrome: przeciągnij odpowiednie foldery do okna dysku Google w Chrome; prześlą, a to nie zepsuje struktury plików.

Użycie jednej z tych metod spowoduje przeniesienie folderów na Dysk bez zmiany struktury plików.

Wiem, że żadne z nich nie jest tym, o co prosiłeś, ale oba powinny wykonać zadanie. Komentarz poniżej do wszystkiego innego.

owlswipe
źródło