mv Komutu

Taşı (Move) komutudur. Dosyaların veya dizinlerin yerini değiştirmekte kullanılır.
Bu komut yardımıyla isim değişikliği de yapılır.
Taşınma işleminde sıradışı durumlar hariç dosya nitelikleri korunmaktadır.
İşlemin gerçekleşmesi için kaynak dosya mevcut olmalıdır.
Mevcut olmayan bir dizinin içeriğine de taşınma komutu verilirse işlem gerçekleşmez ve hata mesajı görüntülenir.

Temel kullanım şekli:
mv kaynak hedef

Örnekler:
mv aaa.txt bbb.txt
Konsolu aaa.txt dosyasının olduğu dizinde açarız.
Yukarıdaki komutu verdiğimizde aaa.txt, bbb.txt olarak isim değiştirecektir.
Eğer dizinde bbb.txt isimli bir dosya zaten varsa üzerine yazılacaktır.

mv bbb ccc
Konsolu bbb dizininin bulunduğu dizinde açarız. Yukarıdaki komutu verdiğimizde bbb dizini ccc olarak isim değiştirir ve içeriğini muhafaza eder. Eğer ccc isimli bir dizin zaten varsa bbb, ccc dizininin içerisine yazılacaktır. Tabii eğer ccc'nin içinde bbb isimli dolu bir dizin yoksa.

mv bbb /home/user
Konsolu bbb dizininin bulunduğu dizinde açarız. Yukarıdaki komutu verdiğimizde bbb dizini ismini muhafaza ederek /home/user dizininin içerisine taşınacaktır.

mv /home/user/belgeler/bbb /home/user/dosyalar/ccc ddd /home/user
Konsolda ddd isimli dizinin bulunduğu komut satırında yukarıdaki komutu verirsek bbb,ccc ve ddd dizinleri içerikleriyle birlikte hedef dizin olan user dizinine taşınmış olur. Dizinlerden birinin mevcut olmaması halinde bulunan dizinlerin taşınma işlemi gerçekleştirilir ve bulunamayan dizin için hata mesajı görüntülenir.

mv aaa.txt ../
aaa.txt dosyası kök dizinde değilse bir üst dizine taşınır.

mv ccc.txt ~/belgeler
ccc.txt dosyasını kullanıcının ev dizinindeki belgeler dizinine taşır. ~ işareti, kullanıcının ev dizinini simgelemektedir.

mv !(aaa1) aaa1
aaa1 dizini dışındaki bulunulan konumdaki tüm dizinler ve dosyalar aaa1 dizinine taşınacaktır.

mv !(aa|bb|cc) aa
aa,bb ve cc dışında aynı konumdaki tüm dizinler ve dosyalar aa dizinine taşınacaktır.

mv * ../aaa1
Bulunulan dizindeki tüm dosyalar ve dizinler bir üst dizinde bulunan aaa1 isimli dizinin içerisine taşınır.

mv *.txt ??a? -v
Bulunulan dizindeki tüm txt uzantılı dosyaları, baştan üçüncü karakteri a olan dört karakterli dizinin içerisine taşır ve yapılan işlemleri ekranda gösterir. Eğer aynı tanımlamaya uygun bir dizin daha varsa dizinlerden biri de txt uzantılı dosyalarla birlikte diğer dizinin içine taşınır.

mv --backup=numbered Kaynak hedef
Kaynak isimli dizin hedef dizininin içerisine taşınır ve hedef içerisindeki Kaynak isimli dizin Kaynak.~1~ şeklinde numaralandırılarak yedeklenir. Her yeni taşımada sayı artar, tüm eski dosyalar muhafaza edilmiş olur.

mv --backup=simple Kaynak.txt /hedef
Yedekleme ile numaralandırılmış Kaynak.txt dosyası olsa da, olmasa da yedeklemeyi standart biçimde Kaynak.txt~ olarak gerçekleştirir. Tabii --suffix parametresi ile son ek değiştirilebilir.

mv -i bbb.txt asa/bbb.txt
-i veya --interactive parametresi üzerine yazmadan önce sorar. Dizin taşımada kullanılmaz.Aynı isimde dizinlere taşıma yapıldığında hedef dizin dolu ise taşıma gerçekleşmez.
bbb.txt dosyasını asa dizini içerisindeki bbb.txt dosyası üzerine yazıp yazmayacağını sorar ve cevaba göre hareket eder.

mv --suffix=.bak aaa.txt bbb.txt veya mv -S .bak aaa.txt bbb.txt
--suffix=SUFFIX veya -S SUFFIX parametresi, -b parametresiyle birlikte kullanılarak her bir yedekleme dosyasına sonek (suffix) atar. Bu seçenekle sonek tanımlanmazsa 'SIMPLE_BACKUP_ SUFFIX' değişkeninde belirtilen sonek uygulanır. Eğer 'SIMPLE_ BACKUP_SUFFIX' ayarlanmamışsa öntanımlı yedekleme soneki '~' uygulanır. -b parametresi olmadan yalnız kullanıldığında da aktiftir.
bbb.txt dosyası bbb.txt.bak olarak yedeklenir ve aaa.txt bbb.txt dosyasının üzerine yazılır. Eğer bbb.txt.~4~ veya benzeri şekilde bir yedekleme mevcut ise son ek .bak değil bbb.txt~5~ şeklinde rakamla verilir.

mv --backup=simple --suffix=.bak 111.txt aa
aa dizini içinde 111.txt.bak olarak yedekleme gerçekleşir.

mv --backup=t --suffix=.bak 222.txt 333.txt
Yedekleme 333.txt.~1~ olarak gerçekleşir. Bu komutta --suffix parametresi etkisizdir.

mv -t bbb ccc ddd
mv ccc -t bbb ddd
-t veya --target-directory=DIRECTORY parametresi ile hedef dizin belirlenir. Hedef dizin -t parametresinden sonra gelen dizin olur.
Her iki komutta da ccc ve ddd dizinleri bbb içerisine taşınır.

mv -T bbb ccc
-T veya --no-target-directory parametresi, 'Hedefe kaynağın içeriğini yaz' emrini verir. Gösterilen hedefe sadece kaynak dizinin içeriği yazılır. Bu parametreyle dosyadan dizine taşıma işlemi yapılamaz. bbb dizininin içeriğini eğer boşsa ccc dizinine yazar.
Komuttan sonra ccc dizini içerisinde bbb dizininin kendisi değilde sadece bbb dizininin içeriği görüntülenir. İçeriği taşınmakla beraber bbb dizini ise silinmiş olur. ccc dizini dolu ise işlem gerçekleşmez. Eğer ccc isimli bir dizin yoksa sadece isim değişikliği gerçekleşir.

mv -T bbb.txt ccc.txt
bbb.txt dosyasının içeriği ccc.txt dosyası içerisine yazılır. ccc.txt dosyasında önceki içerik silinir. ccc.txt dosyası yoksa sadece isim değişikliği olur.

mv -u bbb.txt asa/bbb.txt
-u veya --update parametresi ile hedef dosya yoksa veya hedef dosya kaynak dosyadan daha eski ise taşıma işlemi gerçekleştirilir. Sormadan değerlendirip, uygular. Dizin taşımada kullanılmaz.
Bu komutla eğer asa dizini içerisindeki bbb.txt daha yeni ise kaynak bbb.txt taşınmaz. Eğer asa dizini içerisinde bbb.txt isimli bir dosya yoksa ya da taşınacak bbb.txt dosyasından daha eski ise taşıma işlemi gerçekleşir.

mv -v bbb.txt asa/bbb.txt
-v veya --verbose parametresi ile bilgisayara ne yaptığını açıkla emrini vermiş oluruz.
Taşıma işlemi gerçekleşmişse `bbb.txt' -> `asa/bbb.txt' şeklinde ekranda bilgi verilir. Taşıma işlemi gerçekleşmezse ekranda bir veri görüntülenmez.

mv --help
Yardım ekranı görüntülenir.

mv --version
Versiyon bilgisi görüntülenir.



Yukarıdaki işlemler "GNU bash, version 4.3.11(1)-release (i686-pc-linux-gnu)" üzerinde uygulanmıştır.
Yazı Tarihi: 29.02.2016




ANA SAYFA GNU/LINUX Komutlar