Özet
mv [-f | -i | -n] [-hv] kaynak hedef
mv [-f | -i | -n] [-v] kaynak ... hedef_dizin
Açıklama
mv yardımcı programı, birinci biçiminde, kaynak olarak belirtilen dosya veya dizini hedef olarak belirtilen yeni isme yeniden adlandırır. Hedef yol halihazırda mevcut bir dizini belirtmiyorsa bu biçim kullanılır.
İkinci biçiminde, kaynak olarak belirtilen bir veya daha fazla dosya veya dizini, hedef_dizin olarak belirtilen mevcut dizinin içine taşır. Taşınan her öğe, hedef dizin içinde kendi orijinal adını korur.
Seçenekler
Aşağıdaki seçenekler mevcuttur:
-f: Hedef yolun üzerine yazılmadan önce onay istemez. Bu seçenek, kendisinden önce belirtilen tüm-iveya-nseçeneklerini geçersiz kılar.-h: Hedef terimi bir dizine işaret eden sembolik bağlantı (symlink) ise, bu bağlantıyı takip etmez (hedefini çözmez). Bu sayedemv, kaynak öğeyi sembolik bağlantının işaret ettiği dizinin içine taşımak yerine, doğrudan hedef sembolik bağlantı dosyasının üzerine yazarak onu yeniden adlandırır.-i: Mevcut bir dosyanın üzerine yazılmadan önce standart hataya (stderr) bir onay istemi yazdırır. Standart girdiden gelen yanıt 'y' veya 'Y' karakteriyle başlıyorsa taşıma işlemi gerçekleştirilir, aksi takdirde işlem iptal edilir. Bu seçenek, önceki tüm-fveya-nseçeneklerini geçersiz kılar.-n: Mevcut hiçbir dosyanın üzerine yazmaz. Bu seçenek, önceki tüm-fveya-iseçeneklerini geçersiz kılar.-v: Ayrıntılı (verbose) modda çalışarak, dosyalar taşındıkça veya yeniden adlandırıldıkça işlem yapılan dosyaları standart çıktıya gösterir.
[!NOTE]
Target(hedef) mevcutsa ve bir dizin değilse,Source(kaynak) öğesinin bir dizin belirtmesi durumunda komut hata verir. Hedef yol yazmaya izin veren bir izin moduna sahip değilse,mvkullanıcıya onay sorar.
Dosya Sistemleri Arası Taşıma Mantığı
rename(2) sistem çağrısı farklı dosya sistemleri (disk bölümleri) arasında doğrudan çalışmadığından, mv bu tür durumlarda taşıma işlemini gerçekleştirmek için cp(1) ve rm(1) komutlarını arka planda çağırır. Bu işlemin mantıksal karşılığı şöyledir:
rm -f hedef_yol && \
cp -pRP kaynak_dosya hedef && \
rm -rf kaynak_dosya
Çıkış Durumu
mv aracı başarı durumunda 0, bir hata oluştuğunda ise 0'dan büyük bir değerle sonlanır.
Örneğin, mv dizin/dosya dizin komutu dosyayı kendi üst dizinine taşımaya çalışacağı için bir hata mesajı vererek başarısız olur. Ancak eski uyumluluk modunda (legacy mode) bu komut sessizce göz ardı edilir ve 0 döndürülür (detaylar için compat(5) sayfasına bakın).
Örnekler
Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:
foodosyasınıbarolarak yeniden adlandırma (varsa üzerine yazmayı onaylama):mv -f foo barDosyayı taşırken hedefte aynı isimde dosya varsa üzerine yazmadan önce onay isteme (
-i):mv -i rapor.pdf ~/Documents/Birden fazla resim dosyasını tek seferde
arsivklasörüne taşıma:mv resim1.png resim2.png resim3.png ~/Pictures/arsiv/Dosyaları taşırken hedefte var olan hiçbir belgenin kazara üzerine yazılmamasını garanti etme (
-n):mv -n *.txt /Volumes/YedekDisk/belgeler/
Uyumluluk
-h, -n ve -v seçenekleri standart dışıdır. Taşınabilir kabuk betiklerinde kullanılmaları önerilmez.
mv aracı macOS üzerinde HFS+ Finder, Genişletilmiş Öznitelikler (Extended Attributes) ve kaynak çatallarını (resource forks) tam olarak destekler. Dosyaları taşırken bu kaynak verilerini ayırmaz ve korur.