Finder che tratta i collegamenti simbolici in modo diverso dal terminale MacBook Pro Retina OS X 10.9.4

2

Ho creato il collegamento simbolico jboss7 per il collegamento duro jboss-as-7.1.1. Scaricato per principianti e ha funzionato correttamente in Finder. Poi ho fatto il backup prima di modificare JBoss ...

ln -s jboss-as-7.1.1.Final-downloaded jboss7
cp jboss-as-7.1.1.Final-downloaded jboss-as-7.1.1.Final-downloaded-orig

Successivamente, ho rinominato il collegamento fisico a jboss-as-7.1.1.Final-scaricato-modificato e sostituito con il backup.

mv jboss-as-7.1.1.Final-downloaded jboss-as-7.1.1.Final-downloaded-modified
mv jboss-as-7.1.1.Final-downloaded-orig jboss-as-7.1.1.Final-downloaded

Il link simbolico punta correttamente al backup con lo stesso nome file (che termina con -downloaded), ma Finder mostra e considera il link simbolico in modo errato, dicendo che è un alias per la cartella che termina con (-downloaded-modified).

Il Finder dovrebbe trattare i collegamenti simbolici in questo modo? Come posso aggiornare Finder per riconoscere il collegamento simbolico come punto del collegamento fisico corrente?

Punto laterale: comandi che ho scritto usando il terminale tcsh o il Finder (non ricordo, e la cronologia del terminale non è abbastanza indietro per rispondere a questo).

Correlati: OS X non creerà alcun collegamento simbolico, ma crea alias

    
posta Raymond Naseef 25.08.2014 - 16:44
fonte

2 risposte

1

Sono riuscito a riprodurre anche questo (su OS X 10.9.4). Un caso più semplice è il seguente:

touch file.txt
ln -s file.txt link.txt
mv file.txt moved.txt
touch file.txt

Se il Finder era aperto alla directory di lavoro mentre mv è stato eseguito, allora (erroneamente) seguirà link.txt in moved.txt fino a quando non viene riavviato. È interessante notare che non è nemmeno necessario il terminale per riprodurre questo bug, poiché si applica anche agli alias:

  1. Crea file.txt .
  2. Crea un alias di file.txt .
  3. Rinomina file.txt in moved.txt .
  4. Crea un nuovo file chiamato anche file.txt .

Il comportamento desiderato per gli alias è quello di puntare al file spostato ( moved.txt ) a meno che un nuovo file è stato creato nella posizione originale ( file.txt , creato nel passaggio 4). Ma il comportamento effettivo è proprio come nel tuo esempio: il Finder continua a seguire l'alias nella posizione spostata fino a quando non viene riavviato.

Questo è un bug nel Finder. La soluzione alternativa è di riavviare il Finder se una finestra aperta mostra un collegamento simbolico / alias mentre si sposta o si rinomina il file di destinazione.

    
risposta data 25.08.2014 - 19:49
fonte
0

È strano. Posso riprodurlo, ma solo se controllo effettivamente il collegamento simbolico nella finestra Ottieni informazioni nel Finder prima di spostare il backup. Se esegui tutti i passaggi senza aprire quella finestra e il controllo, sembra che non lo faccia, ma spostando il file originale nel Finder, il link seguirà il file, ma solo nel Finder. Inoltre, dopo aver riavviato il Finder, mostra il percorso corretto, purché il file originale sia ancora lì. Durante tutto questo, il link simbolico non cambia, punta sempre allo stesso posto. Deve essere un bug con il modo in cui Finder risolve i collegamenti simbolici. Sembra trattarli come alias, ma in realtà non li aggiorna se sposti il file originale in modo che si azzeri se rilanci il Finder.

Non sono sicuro di quali siano le implicazioni, esattamente. Se è necessario sostituire il file originale, è praticamente impossibile riavviare il Finder ogni volta, ma suppongo che ciò dovrebbe influire solo sui casi in cui si sta aprendo il collegamento simbolico nel Finder o, forse, i programmi che utilizzano il widget di selezione file del sistema operativo. (Non ho provato se sono trattati allo stesso modo del Finder)

    
risposta data 25.08.2014 - 18:47
fonte

Leggi altre domande sui tag