Kaynak bölümdeki boş alan neden “mv” sırasında değişmiyor?


13

mvBir dizin (birçok dosya içeren) bir bölümden diğerine taşımak için çalışıyorum . İken mvbirer dizin birinde ayrı ayrı dosyalar taşınıyor, ben hedef bölümünün boş alan büyüklüğü azalırken kaynak bölümünün boş alan büyüklüğü, değişmez dikkat edin.

Neden bu şekilde çalışıyor, kaynak ve hedef bölümlerin boş alan boyutlarının toplamı aynı kalıyor?

Yanıtlar:


16

POSIX'in tanımladığı gibi, mv kaynak dosyayı hedef yola çoğaltır ve hiçbir şey yanlış gitmezse kaynak dosya kaldırılır:

  1. Source_file köklü dosya hiyerarşisi, hedef yolunda köklü bir dosya hiyerarşisi olarak çoğaltılır

  2. Source_file köklü dosya hiyerarşisi kaldırılacaktır. Bu herhangi bir nedenle başarısız olursa, mv standart hataya bir tanı mesajı yazmalı, geçerli kaynak_dosyası ile başka bir şey yapmamalı ve kalan kaynak_dosyalara devam etmelidir.

Aynı dosya sisteminde hareket ederseniz, girişi yalnızca dosya sistemindeki bir konumdan diğerine taşırsınız.

Taşıma işlemi sırasında hata oluşursa kaynak dosyayı kaybetmeyeceğiniz garanti edilir.


16

Muhafazakar ve kopya başarılı olana kadar dosyaları silmiyor. Bu, bir şeyler ters giderse iyileşmeyi kolaylaştırır.


ama dir birçok dosya var
Tim

7
@Tim: Bu kadar kaynak dosyaları kaldırarak başlamaz tüm dosyaların hedef birimde kopyalandı. Dosyaların tek tek taşınması gerekiyorsa, en büyük dosyadan daha fazla "fazladan" alan kullanılmaması için bunu yapmak için bir döngü oluşturmanız gerekir.
Warren Young

4
Hiç MS-Windows'ta bir hamle yaptınız mı ve hamlenin yaklaşık yarısında bir şeyler ters gitti. Hem kaynak hem de hedef bir karmaşa ve düzeltmek için kaldı. Eğer akşam yemeği yiyen biri değilseniz, muhtemelen her ikisini de silersiniz ve tekrar yapmamayı öğrenirsiniz.
ctrl-alt-delor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.