Enlace simbólico Google Drive

13

Quiero sincronizar carpetas que están en mi Mac con Google Drive, sin tener que arrastrar las carpetas a la carpeta de Google Drive y preservar la estructura de mi carpeta en mi Mac.

Asumí que tendrías que tener un enlace simbólico (enlace simbólico) para que esto funcione.

Entonces intenté en la Terminal:

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

La carpeta apareció en mi carpeta de Google Drive, pero no quería sincronizar.

Entonces intenté

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

Todavía no funcionó. Así que me referí a este artículo de HowToGeek sobre este tema y decía que debe mover la carpeta original a la carpeta de Google Drive y hacer un simbólico como la carpeta principal original.

Me gustaría que el original no esté en la carpeta Google Drive. ¿Existe una alternativa gratuita al enlace simbólico? He examinado jdrivesync pero no he podido instalarlo (ese será otro problema en otra discusión).

¡Gracias por tu ayuda!

Aunque demasiado
fuente
¿Hay alguna forma alternativa de un enlace simbólico para sincronizar carpetas fuera de mi carpeta de Google Drive? Actualizaré la pregunta. @techraf
ThoughToo
Nunca dice que es imposible. ¿Podría haber otra forma que no sea usar enlaces simbólicos o podría haber una aplicación? @techraf
ThoughToo
Nunca pedí otro comando de enlace simbólico o lo que sea, ya que obviamente no funcionaría. ¿Hay una aplicación u otro comando que pueda lograr lo que quiero hacer? No tiene sentido discutir sobre lo que dije, nos ayudamos mutuamente aquí.
ThoughToo

Respuestas:

15

Puede usar un enlace fijo de directorio, pero solo en el sistema de archivos HFS +. Necesitará GNU lnpara usar la -dopción. Esto se puede instalar usando Homebrew :, brew install coreutilsluego ejecuta:

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

Se le pedirá su contraseña. Este comando crea un enlace rígido al archivo / carpeta en sí en lugar de cómo un enlace simbólico enlaza a un puntero a un archivo / directorio. Como la carpeta de enlaces es esencialmente la misma que la carpeta original, Google Drive la sincroniza correctamente.

Para desvincular un enlace rígido, use unlink "/path/to/drive/folder".

ADVERTENCIA: APFS (Sistema de archivos de Apple) no admite enlaces duros. Si planea instalar macOS High Sierra o posterior y desea continuar usando los enlaces duros del directorio, deberá mantener su sistema de archivos HFS +. De manera predeterminada, el instalador de macOS High Sierra en una Mac con SSD (por ejemplo, sin HDD o Fusion Drive) convierte automáticamente el sistema de archivos HFS + a APFS. Para omitir la conversión durante la actualización, deberá ejecutar el instalador de macOS de la siguiente manera:

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

Si evita la última opción, terminará con un lío de directorios vinculados /.HFS+ Private Directory Datadespués de la actualización.

grg
fuente
1
Gracias por responder. Intenté eso y dijo que era un directorio que supongo que "ln" solo funciona para archivos reales.
Demasiado
1
@Mekul Oops -des para directorios, ver edición.
grg
1
¿Estás seguro? Simplemente escribí en Terminal y dije que es una opción ilegal, incluso escribí "man ln" y no había tal cosa como "-d". ¡De todas formas, gracias por la ayuda!
ThoughToo
1
@Mekul ¡Está bien, es mi culpa! Estoy haciendo todo esto en mi teléfono desde la memoria, ¡la próxima vez esperaré hasta estar en mi computadora! Creo que es parte del paquete 'coreutils' y se llama 'gln' para no reemplazar el 'ln' existente.
grg
1
@Mekul Quise decir instalar coreutils y luego el comando se convierte en 'sudo gln -d ...', nada más que instalar.
grg
0

Google Drive parece ser inútil a menos que desee reorganizar su disco.

Sugarsync está diseñado con Windows en mente. Es realmente elegante, y le permite sincronizar carpetas existentes, estén donde estén. Lo usé por un tiempo. Tiene un cliente Mac, pero eso es todo lo que pensaron. No puede sincronizar paquetes correctamente. Los paquetes son una estructura UNIX que la Mac usa para aplicaciones y archivos de datos. Así que me deshice de Sugarsync.

OneDrive de Microsoft no hace enlaces simbólicos y no creo que sepan qué son los paquetes.

Dropbox, por otro lado, honra los enlaces simbólicos y maneja los paquetes correctamente.

Ken Collins
fuente
0

Hardlink tradicionalmente solo funciona para archivos, no para directorios.

Aunque HFS + admite el enlace de directorio, es más bien una característica interna reservada para Time Machine . Úselo bajo su propio riesgo.

Puede mirar SugarSync , que afirma

Haga una copia de seguridad y acceda a sus archivos. Usando su estructura de carpetas existente.

Una experiencia personal con el enlace duro del directorio es que

  • Reduzco y luego agrando el disco de Time Machine, que utiliza mucho el enlace duro del directorio
  • Entonces los datos de la copia de seguridad están en mal estado
  • Tengo que formatear la partición, perdiendo el historial
amdyes
fuente
-1

En macOS Sierra y con la nueva solución coreutils en la publicación anterior, no funciona como se esperaba.

1) Necesitarás gnu coreutils. Puede instalarlo a través de homebrew.

brew install coreutils

2) (opcional) puede escribir gln --helppara obtener el manual de uso de este comando. Esto generará 4 formas:

  1. Uso: gln [OPCIÓN] ... [-T] TARGET LINK_NAME (1er formulario)
  2. o: gln [OPCIÓN] ... OBJETIVO (segunda forma)
  3. o: gln [OPCIÓN] ... OBJETIVO ... DIRECTORIO (3er formulario)
  4. o: gln [OPCIÓN] ... -t OBJETIVO DEL DIRECTORIO ... (4to formulario)

    En el primer formulario, cree un enlace a TARGET con el nombre LINK_NAME.

    En el segundo formulario, cree un enlace a TARGET en el directorio actual.

    En los formularios tercero y cuarto, cree enlaces a cada OBJETIVO en el DIRECTORIO.

3) Vaya a la 'carpeta de unidad' (GD) de Google o cualquier subcarpeta GD a través de la línea de comando:

3.a) Puede escribir en el terminal cd(espacio después de 'd') y arrastrar la carpeta / directorio a la ventana del terminal

3.b) o simplemente escriba su camino al destino, como cd /Users/yourAccountName/Google\ Drive/sub/subSubFolder 'yourAccountName' es el nombre de su cuenta en el sistema operativo y 'sub / subSubFolder' la estructura de su carpeta en GD. Tenga en cuenta que necesita 'escapar' símbolos especiales en la ruta y el nombre de su archivo con una barra invertida ('\'), como hice con el espacio en el nombre de la carpeta 'Google Drive', por lo que ahora se ve 'Google \ Drive'.

4) Y, como grgarside aclaró en su puesto, es necesario utilizar sudo y -dtecla para realizar la vinculación. Entonces, solo escriba:

sudo gln -d '/Users/yourAccountName/path/to/original/folder/with/your/stuff'
Ruslan Zaytsev
fuente
-2

Dos formas de obtener muchos archivos / carpetas en Google Drive sin alterar la estructura de sus archivos:

  1. Con Google Drive para Mac instalado: duplica las carpetas relevantes y arrastra sus copias a la carpeta de Google Drive.

O

  1. Uso de Google Drive con Google Chrome: arrastre las carpetas relevantes a una ventana de Google Drive en Chrome; subirán y esto no estropeará la estructura de su archivo.

El uso de cualquiera de estos métodos llevará sus carpetas a Drive sin alterar su estructura de archivos.

Sé que ninguno de estos es lo que solicitó, pero ambos deberían hacer el trabajo. Comenta abajo para cualquier otra cosa.

búho
fuente