Perché lo spazio libero sulla partizione di origine non cambia durante "mv"?


13

Sto correndo mvper spostare una directory (che contiene molti file) da una partizione all'altra. Mentre mvsi spostano i singoli file nella directory uno per uno, noto che la dimensione dello spazio libero della partizione di origine non cambia, mentre la dimensione dello spazio libero della partizione di destinazione sta diminuendo.

Perché funziona in questo modo, invece che la somma delle dimensioni dello spazio libero delle partizioni di origine e destinazione rimane invariata?

Risposte:


16

Come definito da POSIX, mv duplicherà il file di origine nel percorso di destinazione e, se nulla va storto, il file di origine deve essere rimosso:

  1. La gerarchia di file radicata in source_file deve essere duplicata come gerarchia di file radicata nel percorso di destinazione

  2. La gerarchia dei file radicata in source_file deve essere rimossa. Se ciò non riesce per qualsiasi motivo, mv deve scrivere un messaggio diagnostico sull'errore standard, non fare nulla di più con il file sorgente corrente e passare a tutti i file sorgente rimanenti.

Se ci si sposta sullo stesso file system, si sposta solo la voce da una posizione nel file system a un'altra.

Ha garantito che non si perderà il file di origine se si verificano errori durante il processo di spostamento.


16

È conservativo e non elimina i file fino a quando la copia non riesce. Questo facilita il recupero se qualcosa va storto.


ma la directory ha molti file
Tim

7
@Tim: non inizia a rimuovere i file di origine fino a quando tutti i file non sono stati duplicati sul volume di destinazione. Se è necessario spostare i file uno alla volta, in modo che non vi sia mai più spazio "extra" utilizzato rispetto a quello del file più grande, è necessario creare un ciclo per farlo.
Warren Young,

4
Hai mai fatto una mossa in MS-Windows, e circa a metà della mossa, qualcosa va storto. Sia l'origine che la destinazione sono un disastro e ti resta da risolvere. Se non sei un fanatico della cena, probabilmente li elimini entrambi e impari a non farlo di nuovo.
ctrl-alt-delor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.