Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
  Condividi: Facebook Twitter
(RISOLTO) Copiare la destinazione dei symlinks
#1
Ciao a tutti.
Ho una cartella con dei symlinks che puntano a delle immagini presenti in altre cartelle.
Qualcuno conosce un metodo pratico per copiare la destinazione dei symlinks (e non i collegamenti symlinks) in un'altra cartella ?
L'unico modo alternativo sarebbe di andare fisicamente cartella per cartella a prelevare le destinazioni originale e sarebbe piuttosto stressante  0063
Ciao
Francesco bat
Cita messaggio
#2
Clicca sul symlinks con il mouse dx, proprietà
Cita messaggio
#3
Si questo lo so, ma il problema è che i files originali sono allocati tutti in cartelle differenti e l'operazione potrebbe essere possibile solo con un file alla volta.
Comunque cercando in giro non mi sembra aver trovato una soluzione pratica.
Ciao
Francesco bat
Cita messaggio
#4
Faccio fatica a capire cosa vuoi fare, ma per copiare potresti usare " cp " e poi ricreare i symlinks?
Cita messaggio
#5
No, volevo copiare i filers reali dai symlinks.
Cioè, per fare un esempio, il symlink collega al file 01.jpg, io voglio copiare direttamente lo 01.jpg e non il symlink ma farlo direttamente dalla cartella dei symlinks.
La questione è che la cartella che contiene i symlinks, i symlinks sono collegati a file tutti diversi e in destinazioni diverse, quindi per questo è una cosa piuttosto ostica da fare manualmente uno alla volta e volevo sapere se esistesse un metodo per copiare o meglio convertire i symlinks nei files reali in un'altra cartella senza doverli andare a prendere uno alla volta nelle cartelle originali.
Spero di essere stato chiaro  00005

Ciao
Francesco bat
Cita messaggio
#6
Devi usare
Codice:
readlink
readlink ti dirà in formato relativo dove punta il symlink

esempio
https://serverfault.com/a/766599
Cita messaggio
#7
Mettiamo che il file1 sia indicato in proprietà del symlinks in "collegamento a /home/francesco/immagini/estate/file1.jpg". Apri un terminale e digiti
cp /home/francesco/immagini/estate/file1.jpg(qui c'è uno spazio) /home/francesco/newfolder/file1.jpg
Puoi per comodità copiare la source direttamente da "proprietà" in modo da fare tutto dalla cartella dove tieni i symlinks, quindi senza doverti spostare materialmente nelle cartelle dove sono gli originali. Due note, i symlink probabilmente non funzioneranno più, la source è stata spostata. Volendo nella destinazione puoi anche rinominare il file.
Cita messaggio
#8
Grazie per le risposte.
Allora procediamo con ordine:

Citazione:Devi usare
Codice:
readlink
readlink ti dirà in formato relativo dove punta il symlink

esempio
https://serverfault.com/a/766599



htUn comando molto interessante che stavo cercando, ma purtroppo facendo la prova con un file ho ottenuto questo:


Codice:
$ cp `readlink /home/francesco/Immagini/icewm/agua.jpg "/home/francesco/Immagini/sfondi/sistemi operativi/icewm/"
>

Il terminale in pausa ho dovuto interromperlo con CTRL+C

Citazione:Mettiamo che il file1 sia indicato in proprietà del symlinks in "collegamento a /home/francesco/immagini/estate/file1.jpg". Apri un terminale e digiti
cp /home/francesco/immagini/estate/file1.jpg(qui c'è uno spazio) /home/francesco/newfolder/file1.jpg
Puoi per comodità copiare la source direttamente da "proprietà" in modo da fare tutto dalla cartella dove tieni i symlinks, quindi senza doverti spostare materialmente nelle cartelle dove sono gli originali. Due note, i symlink probabilmente non funzioneranno più, la source è stata spostata. Volendo nella destinazione puoi anche rinominare il file.

Infatti, questa sembra l'unica soluzione percorribile, solo che i files da copiare sono 62 e quindi per questo speravo di trovare qualcosa di più pratico per rispolvere tutto più velocemente  005
Ciao
Francesco bat
Mettiamo 
Cita messaggio
#9
Puoi copiare i files/dirs utilizzando rsync.  In questo modo puoi usare il flag -L, che trasforma i symlink nei files corrispondenti (di default mantiene i symlink come tali). Maggiori info con "man rsync":

Codice:
--copy-links, -L         transform symlink into referent file/dir

Ciao, Mauro
CPU: Intel 6-Core i7-5820K (Haswell rev.2)
nVidia GeForce GTX 750 (drv 525.125.06),  16GB DDR4 RAM
Intel C610/X99 HD Audio / Intel I210 Gigabit Network
Supermicro C7X99-OCE
PCLinuxOS KDE Plasma:5.27.11 Frameworks:5.116.0 Apps:23.08.5
X.org:1.21.1.13 Qt:5.15.6/6.7.3
Kernel:6.6.47-pclos1
Cita messaggio
#10
(01/09/2022, 07:48)footstep11 Ha scritto: Puoi copiare i files/dirs utilizzando rsync.  In questo modo puoi usare il flag -L, che trasforma i symlink nei files corrispondenti (di default mantiene i symlink come tali). Maggiori info con "man rsync":

Codice:
--copy-links, -L         transform symlink into referent file/dir

Ciao, Mauro

Siii, è così !
Sei un mito.  000016
Non sapevo che si poteva fare con rsync.Ora devo caire come inserire tutti i files insieme nel terminale e fare tutto in unica operazione.  000018
Ciao
Francesco bat
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)