Symlink Google Drive


13

Voglio sincronizzare le cartelle presenti sul mio Mac su Google Drive, senza dover trascinare le cartelle sulla cartella Google Drive e preservare la struttura delle mie cartelle sul mio Mac.

Ho pensato che avresti dovuto avere un link simbolico (link simbolico) per farlo funzionare.

Quindi ho provato nel terminale:

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

La cartella è apparsa sulla mia cartella Google Drive, ma non voleva sincronizzarsi.

Quindi ho provato

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

Non ha ancora funzionato. Quindi ho fatto riferimento a questo articolo di HowToGeek su questo argomento e ha detto che è necessario spostare la cartella originale nella cartella Google Drive e creare un simbolo simile alla cartella principale originale.

Vorrei che l'originale non fosse nella cartella di Google Drive. Esiste un'alternativa gratuita al link simbolico? Ho esaminato jdrivesync ma non sono riuscito a installarlo (questo sarà un altro problema in un'altra discussione).

Grazie per l'aiuto!


Esiste un modo alternativo a un collegamento simbolico per sincronizzare le cartelle all'esterno della mia cartella di Google Drive? Aggiornerò la domanda. @techraf
ThoughToo

Non dice mai che è impossibile. Potrebbe esserci un modo diverso dall'uso dei symlink o potrebbe esserci un'app? @techraf
ThoughToo

Non ho mai chiesto un altro comando symlink o qualsiasi altra cosa come ovviamente non avrebbe funzionato. Esiste un'app o un altro comando in grado di ottenere ciò che voglio fare? Non ha senso discutere su quello che ho detto, ci aiutiamo a vicenda qui.
ThoughToo

Risposte:


15

È possibile utilizzare un collegamento reale alla directory, ma solo sul file system HFS +. Avrai bisogno di GNU lnper usare l' -dopzione. Questo può essere installato utilizzando Homebrew : brew install coreutils, quindi eseguire:

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

Ti verrà chiesta la password. Questo comando crea un collegamento reale al file / cartella stesso anziché come un collegamento simbolico a un puntatore a un file / dir. Poiché la cartella dei collegamenti è essenzialmente la stessa della cartella originale, Google Drive la sincronizza correttamente.

Per scollegare un collegamento reale, utilizzare unlink "/path/to/drive/folder".

ATTENZIONE: APFS (Apple File System) non supporta i collegamenti reali. Se prevedi di installare macOS High Sierra o versione successiva e desideri continuare a utilizzare i collegamenti diretti alla directory, dovrai mantenere il tuo file system HFS +. Di default macOS High Sierra intaller su un mac con SSD (ad es. Senza HDD o Fusion Drive) converte automaticamente il filesystem HFS + in APFS. Per saltare la conversione durante l'aggiornamento dovrai eseguire il programma di installazione di macOS come segue:

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

Se eviti l'ultima opzione, finirai con il caos delle directory hard linkate /.HFS+ Private Directory Datadopo l'aggiornamento.


1
Grazie per aver risposto. Ho provato quello e ha detto che era una directory che presumo "ln" da sola funziona solo per i file reali?
ThoughToo

1
@Mekul Oops -dè per le directory, vedi modifica.
GRG

1
Sei sicuro? Ho appena digitato Terminal e ha detto che è un'opzione illegale, anche digitando "man ln" e non esisteva "-d". Grazie comunque dell'aiuto!
ThoughToo

1
@Mekul Va bene, è colpa mia! Sto facendo tutto questo sul mio telefono dalla memoria, la prossima volta aspetterò solo di essere al mio computer! Credo che faccia parte del pacchetto "coreutils" e si chiama "gln" per non sostituire l'attuale "ln".
GRG

1
@Mekul intendevo installare coreutils e quindi il comando diventa 'sudo gln -d ... `, niente altro da installare.
GRG

0

Google Drive sembra essere inutile a meno che tu non voglia riorganizzare il tuo disco.

Sugarsync è progettato pensando a Windows. È davvero semplice e ti consente di sincronizzare le cartelle esistenti, ovunque si trovino. L'ho usato per un po '. Ha un client Mac, ma è tutto ciò che hanno pensato. Non è possibile sincronizzare correttamente i bundle. I bundle sono una struttura UNIX che il Mac utilizza per applicazioni e file di dati. Quindi mi sono sbarazzato di Sugarsync.

OneDrive di Microsoft non esegue collegamenti simbolici e non penso nemmeno che sappiano cosa siano i bundle.

Dropbox invece onora i symlink e gestisce correttamente i bundle.


0

Hardlink tradizionalmente funziona solo per file, non per directory.

Sebbene HFS + supporti la directory hardlink, è piuttosto una funzione interna riservata a Time Machine . Usalo a tuo rischio e pericolo.

Potresti guardare SugarSync , che sostiene

Eseguire il backup e accedere ai file. Utilizzando la struttura delle cartelle esistente.

Un'esperienza personale con il collegamento diretto alla directory è quella

  • Rimpicciolisco e poi ingrandisco il disco di Time Machine, che utilizza fortemente il collegamento hard della directory
  • Quindi i dati di backup sono incasinati
  • Devo formattare la partizione, perdendo la cronologia

-1

In macOS Sierra e con la nuova soluzione coreutils nei post precedenti non funzionano come previsto.

1) Avrai bisogno di gnu coreutils. Puoi installarlo tramite homebrew.

brew install coreutils

2) (facoltativo) è possibile digitare gln --helpper ottenere il manuale d'uso di questo comando. Questo produrrà 4 modi:

  1. Utilizzo: gln [OPTION] ... [-T] TARGET LINK_NAME (1 ° modulo)
  2. oppure: gln [OPTION] ... TARGET (2 ° modulo)
  3. oppure: gln [OPTION] ... TARGET ... DIRECTORY (3 ° modulo)
  4. oppure: gln [OPTION] ... -t OBIETTIVO DI DIRECTORY ... (4 ° modulo)

    Nel primo modulo, crea un link a TARGET con il nome LINK_NAME.

    Nel secondo modulo, creare un collegamento a TARGET nella directory corrente.

    Nei moduli 3 ° e 4 °, creare collegamenti a ciascun OBIETTIVO in DIRECTORY.

3) Vai a google '' cartella dell'azionamento '' (GD) o qualsiasi sottocartella GD dalla riga di comando:

3.a) Puoi digitare il tipo di terminale cd(spazio dopo 'd') e trascinare la cartella / directory nella finestra del terminale

3.b) oppure digita semplicemente la tua destinazione, ad esempio cd /Users/yourAccountName/Google\ Drive/sub/subSubFolder dove "yourAccountName" è il nome del tuo account nel sistema operativo e "sub / subSubFolder" la struttura delle cartelle in GD. Si noti che è necessario "sfuggire" a simboli speciali nel percorso del file e al nome con la barra rovesciata ('\'), come ho fatto con lo spazio nel nome della cartella 'Google Drive', quindi ora appare 'Google \ Drive'.

4) E, come ha chiarito grgarside nel suo post, è necessario utilizzare sudo e la -dchiave per eseguire il collegamento. Quindi, basta digitare:

sudo gln -d '/Users/yourAccountName/path/to/original/folder/with/your/stuff'

-2

Due modi per ottenere molti file / cartelle in Google Drive senza alterare la struttura dei file:

  1. Con Google Drive per Mac installato: duplica le cartelle pertinenti e trascina le loro copie nella cartella Google Drive.

O

  1. Utilizzo di Google Drive con Google Chrome: trascina le cartelle pertinenti su una finestra di Google Drive in Chrome; caricheranno e questo non rovinerà la struttura del tuo file.

L'uso di uno di questi metodi porterà le tue cartelle in Drive senza alterare la struttura dei file.

So che nessuno di questi è ciò che hai richiesto, ma entrambi dovrebbero fare il lavoro. Commenta sotto per qualcos'altro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.