Rinomina un "alias" per lo spostamento?

0

È corretto affermare (su Windows e Unix \ Linux \ OS X) che la ridenominazione di un file o di una directory è solo un alias per lo spostamento?

es.

  1. Ci sono effetti collaterali per entrambi che non sono presenti sull'altro?
  2. Il "rinominare" in realtà "sposta" si sposta sotto il cofano?

C'è un modo in cui posso dimostrare \ confutare questo?

    
posta BanksySan 06.05.2015 - 18:51
fonte

2 risposte

4

Is there a way I can prove\disprove this?

No, perché

  • Diversi sistemi operativi fanno le cose in modo diverso.
  • Diversi tipi di rinomina / mossa possono essere atti concettualmente diversi:

    • Rinominare / spostare un file all'interno della stessa directory,
    • Ridenominazione / spostamento di un file da una cartella / directory a un'altra sullo stesso dispositivo logico,
    • Rinominare / spostare un file da un dispositivo logico a un altro e
    • Rinominare / spostare un file da un dispositivo fisico a un altro.

Nei più comuni sistemi moderni, rinominare / spostare un file all'interno della stessa periferica logica è una semplice questione di eliminare il riferimento all'oggetto file dalla posizione originale e aggiungere un riferimento all'oggetto file nella posizione di destinazione. I contenuti del file non vengono toccati.

Questo è impossibile quando "si muove" su dispositivi fisici. Il contenuto del file da spostare non esiste sul dispositivo di destinazione. I contenuti devono essere copiati. Il passaggio tra dispositivi logici dipende dal concetto di sistema logico del sistema operativo.

    
risposta data 07.05.2015 - 01:23
fonte
2

Le opzioni extra supportate dalla funzione Win32 MoveFileEx fornisce una buona panoramica e una spiegazione delle somiglianze e delle differenze tra la ridenominazione e lo spostamento.

Quando si spostano i file tra i volumi, viene eseguita una copia (seguita da eliminazione).

Dal punto di vista di un normale utente di computer, quando si desidera eseguire una ridenominazione, ci si aspetterebbe che il computer impedisca che questo sovrascriva un file esistente con lo stesso nome.

Mentre la copia e lo spostamento offrono una scelta di annullamento, rinominazione automatica o sostituzione (sovrascrittura).

Si noti che questo è dal punto di vista dell'utente, non dalla prospettiva di un programmatore. Tuttavia, l'API deve supportare flag aggiuntivi in modo che il programmatore possa implementare le aspettative dell'utente.

In sintesi, a causa delle convenzioni ereditate dai giorni di MS-DOS, un "rinominare" è percepito come meno "distruttivo" (oltre che rinominato), anche se la distinzione non ha più alcuna rilevanza il meccanismo sottostante (il file system) a meno che l'operazione non si estenda su diversi file system.

Unix e Linux sono stati progettati da programmatori, per programmatori. Pertanto, le opinioni dei normali utenti di computer non avevano mai preso in considerazione la progettazione dei comandi del file system, quindi la distinzione non esiste lì.

    
risposta data 06.05.2015 - 20:17
fonte