Lo spostamento di un file con "copia e incolla" è sicuro?

2

Se si taglia e incolla un file (in Windows specificamente) all'interno della stessa unità, ci sono effettivamente due versioni del file sul disco; uno nella nuova posizione e il file originale sul disco che non è più 'visibile'? Cioè taglia e incolla davvero solo copia e incolla ma cancella il file originale? Oppure Windows cambia semplicemente la directory?

Come possiamo spostare in modo sicuro un file senza lasciare nulla dietro?

    
posta user190602 06.11.2018 - 02:01
fonte

3 risposte

9

Questo dipende dal fatto che tu stia tagliando o incollando nella stessa partizione , non solo la stessa unità. Se lo si incolla in una partizione diversa, verrà effettivamente copiato e l'originale successivamente scollegato. Se, tuttavia, lo stai spostando all'interno della stessa partizione, cambieranno solo i metadati che specificano dove si trova il file. Questo è il motivo per cui i file di grandi dimensioni possono essere spostati (tagliati e incollati) immediatamente all'interno di una determinata partizione, anche se hanno dimensioni di diversi gigabyte.

Si noti che questo vale anche per Mac OSX e la maggior parte delle distribuzioni GNU / Linux.

    
risposta data 06.11.2018 - 05:33
fonte
3

Taglia e incolla in Explorer (la shell grafica di Windows) funziona esattamente come se si chiamasse qualche variante dell'API MoveFile , probabilmente in modo specifico MoveFileExW con i flag che consentono la copia del file (poiché è necessario" spostare "un file attraverso le connessioni di rete o le partizioni del disco fisico ) e il flag di write-through, che indica alla funzione di non tornare fino a quando il disco non è stato aggiornato con tutte le modifiche inclusa la cancellazione del vecchio percorso file (per "move" che devono essere implementate come operazioni di copia-eliminazione-eliminazione). Questo è generalmente lo stesso comportamento che si otterrebbe utilizzando i comandi move o ren in cmd.exe (questi comandi fanno la stessa cosa), trascinando e rilasciando il file in Explorer o così via. Il sistema eseguirà una rinomina, piuttosto che una mossa fisica, se possibile, poiché è molto più veloce.

Qualsiasi operazione di spostamento riuscita significherà che il file non è più raggiungibile con il suo vecchio percorso / nome, efficace all'istante quando l'operazione ha esito positivo. Tuttavia, la "cancellazione" effettuata da una copia e cancella "sposta" lascerà il contenuto del file sul disco e rimuoverà semplicemente la voce del file system e contrassegnerà lo spazio come libero; eventuali nuovi dati scritti sul disco potrebbero sovrascrivere quello spazio, ma fino a quando non lo fa, un utente malintenzionato con accesso a basso livello al disco potrebbe ignorare il file system e accedere al contenuto del file leggendo il disco come dispositivo a blocchi. Le "mosse" che si svolgono all'interno di una singola partizione e pertanto vengono semplicemente implementate come un rinominatore non cambiano nemmeno la posizione fisica sul disco, ma solo il percorso logico attraverso il file system che punta alla posizione fisica del file. Se si desidera eseguire un'eliminazione più approfondita, ad esempio sovrascrivendo la posizione precedente del file, è necessario utilizzare un'operazione di copia esplicita ( CopyFileW o copia e incolla o il comando copy , ecc.) E quindi esegui l'operazione di eliminazione completa sul vecchio percorso.

    
risposta data 06.11.2018 - 10:27
fonte
0

Ci sono 2 casi:

1. Tra diverse partizioni

Taglia e incolla esegue una procedura "copia in nuova destinazione" e "elimina dalla vecchia posizione".

Se lo interrompi nel mezzo dell'operazione o se la copia si ferma a causa di vari motivi alcuni dei tuoi file rimarranno nella posizione originale e alcuni saranno nella nuova posizione. A causa dello strano ordinamento dei file di questa operazione, sarà molto difficile capire quali sono esattamente se si dispone di una grande quantità di file.

Pertanto, la pratica migliore è solo per copiare il contenuto nella nuova posizione e quindi eliminare da quello precedente. Praticamente hai lo stesso risultato, ma è molto più sicuro.

Questo è utile per un'operazione di spostamento su diverse partizioni.

2. Sulla stessa partizione

Se esegui un'operazione di spostamento con la stessa partizione, il sistema operativo NON eseguirà alcuna operazione di copia ed eliminazione ma modificherà solo il percorso effettivo dei dati. Quindi, nel caso in cui ti muovi all'interno della stessa unità, usa taglia e incolla, non copia-incolla-cancella.

    
risposta data 08.11.2018 - 14:48
fonte

Leggi altre domande sui tag