Günün Linux Komutu: cp ile Kopyalama İşlemleri
cp (copy), Linux terminalinde ustalaşmak isteyen herkesin "adını soyadını bilir gibi" bilmesi gereken temel komutlardan biridir.
Günün Linux Komutu: cp (Kopyalama)
Linux terminalinde dosya ve klasör yönetiminin bel kemiği olan cp komutu, "Copy" (Kopyala) kelimesinin kısaltmasıdır. Grafik arayüzdeki "Sağ Tık > Kopyala > Yapıştır" işleminin terminaldeki karşılığıdır, ancak çok daha güçlü ve esnektir.
Temel Sözdizimi (Syntax)
Komutun mantığı çok basittir: Neyi, Nereye kopyalamak istiyorsun?
cp [seçenekler] <kaynak> <hedef>
Kaynak (Source): Kopyalanacak dosya veya klasör.
Hedef (Destination): Kopyanın oluşturulacağı yer veya yeni isim.
En Sık Kullanılan Senaryolar
1. Basit Dosya Kopyalama
Bir dosyayı aynı dizin içinde farklı bir isimle çoğaltmak veya başka bir konuma kopyalamak için kullanılır.
# dosya.txt'yi yedek_dosya.txt olarak kopyalar
cp dosya.txt yedek_dosya.txt
2. Klasör (Dizin) Kopyalama: -r Parametresi
En sık yapılan hata, bir klasörü düz cp komutuyla kopyalamaya çalışmaktır. Linux buna izin vermez. Klasörleri ve içindekileri kopyalamak için "Recursive" (Özyinelemeli) anlamına gelen -r (veya -R) bayrağını kullanmalısınız.
# 'projelerim' klasörünü 'projelerim_yedek' olarak kopyalar
cp -r projelerim projelerim_yedek
3. Birden Fazla Dosyayı Bir Klasöre Atma
Aynı anda birden çok dosyayı tek bir hedef klasöre gönderebilirsiniz.
# resim1.jpg, resim2.jpg ve notlar.txt dosyasını 'Arsiv' klasörüne kopyalar
cp resim1.jpg resim2.jpg notlar.txt Arsiv/
Hayat Kurtaran Parametreler (Flags)
cp komutunu daha güvenli ve etkili kullanmak için bu parametreleri mutlaka bilmelisiniz:
| Parametre | Anlamı | Ne İşe Yarar? |
-r | Recursive | Klasörleri ve içindeki her şeyi kopyalar. |
-i | Interactive | Güvenlik kilidi. Eğer hedefte aynı isimde bir dosya varsa, üzerine yazmadan önce size "Emin misin?" diye sorar. |
-v | Verbose | Detaylı mod. Arka planda hangi dosyanın kopyalandığını ekrana yazdırır (büyük kopyalama işlemlerinde ilerlemeyi görmek için harikadır). |
-u | Update | Güncelleme modu. Sadece kaynak dosya hedef dosyadan daha yeniyse veya hedef dosya yoksa kopyalar. |
-p | Preserve | Dosyanın izinlerini, sahibini ve zaman damgasını (oluşturulma tarihi) koruyarak kopyalar. |
İpuçları ve Püf Noktaları
Dikkat: Linux varsayılan olarak, aynı isimde bir dosya varsa sormadan üzerine yazar. Yanlışlıkla önemli bir dosyanın üzerine yazmamak için
.bashrcdosyanızdaalias cp='cp -i'tanımlaması yapmak iyi bir alışkanlıktır.
Joker Karakter (Wildcard) Kullanımı:
Belli bir uzantıya sahip tüm dosyaları kopyalamak için * işaretini kullanabilirsiniz.
# Sadece .jpg uzantılı dosyaları 'Resimler' klasörüne kopyalar
cp *.jpg Resimler/
Bulunduğun Dizine Kopyalama (.):
Uzaktaki bir dosyayı, şu an bulunduğun terminal dizinine kopyalamak için hedef olarak nokta . işaretini kullanabilirsin.
# /etc/passwd dosyasını bulunduğum yere kopyala
cp /etc/passwd .
Senin İçin Bir Sonraki Adım
cp komutunu öğrendikten sonra, genellikle bir sonraki mantıksal adım dosyaları taşımak veya adını değiştirmektir.
cp (copy) komutu, Linux ve Unix tabanlı işletim sistemlerinde dosya ve dizinleri kopyalamak için kullanılır.
📌 En sık kullanılan temel komutlardan biridir.
📌 Dosya yedekleme, proje çoğaltma ve sistem yönetiminde çok yaygındır.
Ayrıntılı Örnekler
🔹 Ayrıntılı Çıktı ile Kopyalama (-v)
cp -v belge.txt /tmp/
🖥️ Çıktı:
'belge.txt' -> '/tmp/belge.txt'
🔹 Üzerine Yazmadan Önce Sor (-i)
cp -i rapor.docx /home/ogrenci/
🛑 Aynı isim varsa sorar:
overwrite '/home/ogrenci/rapor.docx'?
🔹 Sadece Güncel Olmayan Dosyaları Kopyala (-u)
cp -u *.txt yedek/
📌 Yedekleme işlemleri için idealdir.
Dosya Özelliklerini Koruyarak Kopyalama
cp -p script.sh /opt/scripts/
✔️ Dosya sahibi
✔️ İzinler
✔️ Tarih bilgileri korunur
Yaygın Hatalar ve Uyarılar
❌ Dizin kopyalarken -r kullanmamak
❌ Üzerine yazma riskini fark etmemek
❌ Hedef dizinin var olup olmadığını kontrol etmemek
📌 Güvenli kullanım için:
cp -riv kaynak hedef
Gerçek Hayat Senaryosu
🎓 Öğrenci Senaryosu:
Öğrenci proje klasörünü yedeklemek istiyor.
cp -r Proje Proje_2026_Yedek
Mini LAB Çalışması
1️⃣ deneme.txt oluştur
2️⃣ yedek.txt olarak kopyala
3️⃣ Bir klasör oluştur (mkdir)
4️⃣ Dosyayı klasöre kopyala
5️⃣ -v parametresi ile tekrar dene
📝 Özet
cpdosya ve dizin kopyalama komutudurDizinlerde mutlaka
-rkullanılmalıdırYedekleme işlemleri için çok kritiktir
Parametrelerle güvenli ve kontrollü çalışır
Yorumlar