Günün Linux Komutu: mv (Taşı ve Yeniden Adlandır)
mv komutu, Linux terminalindeki en temel ama en çok kafa karıştıran (özellikle "yeniden adlandırma" işlevi nedeniyle) araçlardan biridir.
İşte hem yeni başlayanlar hem de bilgilerini tazelemek isteyenler için Günün Linux Komutu: mv
Linux dünyasında dosyalarınızın yerini değiştirmek veya onlara yeni bir kimlik (isim) kazandırmak istediğinizde başvuracağınız komut mv'dir. İngilizce "move" (taşı) kelimesinin kısaltmasıdır.
Ancak mv sadece bir nakliye aracı değildir; aynı zamanda dosya isimlendiricisidir.
Temel Sözdizimi (Syntax)
Komutun yapısı oldukça basittir:
mv [seçenekler] [kaynak] [hedef]
Kaynak: Taşımak veya adını değiştirmek istediğiniz dosya/klasör.
Hedef: Dosyanın gideceği yeni yer veya yeni ismi.
1. İşlev: Dosya Taşıma (The Mover)
Bir dosyayı A noktasından B noktasına götürmek için kullanılır. Kaynak dosya eski konumundan silinir ve yeni konumuna geçer.
Örnek: rapor.pdf dosyasını Belgeler klasörüne taşıyalım.
mv rapor.pdf Belgeler/
İpucu: Birden fazla dosyayı aynı anda taşıyabilirsiniz. Sondaki argüman her zaman hedef klasör olmalıdır.
mv resim1.jpg resim2.jpg /home/kullanici/Resimler/
2. İşlev: Yeniden Adlandırma (The Renamer)
Linux'ta "yeniden adlandırma" (rename) diye özel bir komut yoktur (bazı dağıtımlarda rename olsa da standart değildir). mv komutu bu işi yapar. Mantığı şudur: "Dosyayı bulunduğu yere, ama farklı bir isimle taşı."
Örnek: eski_dosya.txt ismini yeni_dosya.txt olarak değiştirelim.
mv eski_dosya.txt yeni_dosya.txt
⚠️ Kritik Uyarı: Üzerine Yazma Riski
mv komutu varsayılan olarak sessizdir ve acımasızdır. Eğer taşıdığınız yerde aynı isimde bir dosya varsa, mv size sormadan o dosyanın üzerine yazar ve eski dosya kalıcı olarak kaybolur.
Bunu önlemek için aşağıdaki parametreleri kullanmalısınız.
Hayat Kurtaran Parametreler (Flags)
Aşağıdaki bayraklar (flags), kazaları önlemek ve işlemi kontrol etmek için hayati önem taşır:
| Parametre | Açıklama | Neden Kullanmalısın? |
-i | Interactive (Etkileşimli) | Hedefte aynı isimde dosya varsa, üzerine yazmadan önce sana sorar. |
-v | Verbose (Detaylı) | Arka planda ne işlem yapıldığını ekrana yazar. |
-n | No-clobber (Üzerine yazma) | Hedefte aynı dosya varsa işlemi iptal eder, üzerine asla yazmaz. |
-u | Update (Güncelle) | Sadece kaynak dosya, hedef dosyadan daha yeniyse taşıma yapar. |
Örnek Senaryolar
1. Güvenli Taşıma (Mutlaka Alışkanlık Haline Getirin):
Bir dosyanın üzerine yanlışlıkla yazmamak için -i parametresini kullanın.
mv -i veri.txt /yedekler/
# Eğer /yedekler içinde veri.txt varsa sistem sorar:
# mv: '/yedekler/veri.txt' üzerine yazılsın mı? (e/h)
2. Ne Olduğunu Görmek İstiyorum:
Yüzlerce dosyayı taşırken terminalin donduğunu sanmamak için -v kullanın.
mv -v *.jpg /Arsiv/
# Çıktı:
# 'foto1.jpg' -> '/Arsiv/foto1.jpg'
# 'foto2.jpg' -> '/Arsiv/foto2.jpg'
3. Klasör Taşıma:
Klasörleri taşımak için ekstra bir parametreye (-r gibi) gerek yoktur (cp komutunun aksine). mv klasörü olduğu gibi taşır.
mv Projeler/ /home/kullanici/Yedek/
Özet: mv vs cp
cp(Copy): Dosyayı çoğaltır. Orijinal dosya yerinde kalır. (Ctrl+C / Ctrl+V)mv(Move): Dosyayı taşır. Orijinal dosya silinir. (Ctrl+X / Ctrl+V)
Linux’ta dosya ve dizin yönetiminin temel taşlarından biri mv (move) komutudur.
mv, dosya/dizin taşımak ve yeniden adlandırmak için kullanılır.
📌 Önemli:
Linux’ta yeniden adlandırma işlemi ayrı bir komut değildir,mvile yapılır.
🔹 Temel Sözdizimi (Syntax)
mv [SEÇENEKLER] KAYNAK HEDEF
veya birden fazla dosya için:
mv [SEÇENEKLER] KAYNAK1 KAYNAK2 ... HEDEF_DİZİN
🔹 1. Dosya Taşıma
📄 Aynı dizinde dosya taşımak
mv belge.txt Belgeler/
➡️ belge.txt dosyası Belgeler dizinine taşınır.
📄 Farklı dizinler arasında taşıma
mv /home/ali/test.txt /home/ali/Masaüstü/
🔹 2. Dosya Yeniden Adlandırma
mv eski_ad.txt yeni_ad.txt
➡️ Dosyanın ismi değiştirilir, konumu aynı kalır.
📌 Bu işlem taşıma değil, isim değişikliğidir ama komut aynıdır.
🔹 3. Dizin Taşıma
mv Proje Arsiv/
➡️ Proje dizini, Arsiv dizini içine taşınır.
🔹 4. Birden Fazla Dosyayı Taşıma
mv a.txt b.txt c.txt Belgeler/
➡️ Üç dosya birden Belgeler dizinine taşınır.
🔹 5. Üzerine Yazmayı Kontrol Etme
⚠️ Varsayılan Davranış
Eğer hedefte aynı isimli dosya varsa, sessizce üzerine yazar!
mv dosya.txt Belgeler/
🛑 Onay İste (-i)
mv -i dosya.txt Belgeler/
📌 Sistem sorar:
mv: overwrite 'Belgeler/dosya.txt'?
🚀 Zorla Taşı (-f)
mv -f dosya.txt Belgeler/
➡️ Uyarı sormadan üzerine yazar.
🔹 6. Detaylı Çıktı Göster (-v)
mv -v dosya.txt Belgeler/
Çıktı:
'dosya.txt' -> 'Belgeler/dosya.txt'
📌 Eğitim ortamlarında önerilir.
🔹 7. Dosya Türüne Göre Taşıma (Wildcard)
mv *.pdf PDF_Dosyalar/
➡️ Tüm PDF dosyaları taşınır.
mv *.jpg *.png Resimler/
🔹 8. mv ve cp Arasındaki Fark
| Komut | Ne yapar? |
|---|---|
cp | Kopyalar |
mv | Taşır (kaynak silinir) |
🔹 9. Yaygın Hatalar ⚠️
❌ Hedef dizin yok
mv dosya.txt YeniKlasor/
➡️ Hata verir.
✔️ Çözüm:
mkdir YeniKlasor
mv dosya.txt YeniKlasor/
❌ Yanlış joker kullanımı
mv *.txt belge.txt
➡️ HATA: Birden çok dosya tek dosyaya taşınamaz.
🔹 Sınıf İçi LAB Senaryosu 🧪
🎯 Amaç:
Dosya taşıma ve yeniden adlandırmayı öğrenmek.
🧩 Senaryo:
mkdir lab
cd lab
touch a.txt b.txt c.txt
mkdir metinler
mv *.txt metinler/
cd metinler
mv a.txt rapor.txt
📌 Kazanımlar:
Joker karakter kullanımı
Dizin taşıma
Dosya yeniden adlandırma
🔹 11. mv Komutu Özeti 📝
| Seçenek | Açıklama |
|---|---|
-i | Üzerine yazmadan önce sor |
-f | Zorla taşı |
-v | Detaylı çıktı |
✅ Sonuç
mv komutu:
📁 Dosya ve dizin taşır
✏️ Yeniden adlandırma yapar
⚡ Hızlı ve güçlüdür
Linux’ta dosya yönetimi öğrenmenin temel adımlarından biridir.
Yorumlar