Yeni yazı: Kümenin Kapağını Açalım: Kubernetes Bileşenleri Birbirini Neden Hiç Aramaz?
Linux Dosya Oluşturma ve Kopyalama Komutları: Dosyalarınızı Yönetmek

Linux Dosya Oluşturma ve Kopyalama Komutları: Dosyalarınızı Yönetmek

İçindekiler

cp masum görünen bir komuttur: kaynağı yazarsınız, hedefi yazarsınız, biter. Ama aynı komut, hedefte zaten bir dosya varsa hiçbir şey sormadan üzerine yazar — ve üzerine yazılan içerik geri gelmez. Kopyalamak kolaydır; komutun hangi durumda tam olarak ne yaptığını bilmek işin asıl kısmıdır.

Bu yazıda dosya oluşturmanın (touch, echo) ve kopyalamanın (cp) temel kullanımını, dizin kopyalarken neyin değiştiğini ve cp ile mv arasındaki gerçek farkı göreceğiz.

Dosya Oluşturma Komutları

touch Komutu: Yeni bir dosya oluşturmak için “touch” komutunu kullanabilirsiniz. Örneğin:

touch yeni_dosya

touch aslında bir zaman damgası komutudur: dosyanın son erişim ve son değişiklik zamanını o ana çeker. Dosya yoksa boş olarak oluşturması bu işin yan etkisidir. Bu yüzden var olan bir dosyaya touch çalıştırmak içeriğine dokunmaz — yalnızca tarihini günceller.

echo Komutu: Metin içeriği ile dolu bir dosya oluşturmak için “echo” komutunu kullanabilirsiniz. Örneğin:

echo 'Merhaba, dünya!' > merhaba

Buradaki > işareti komutun çıktısını ekrana değil dosyaya yönlendirir. Dikkat edilmesi gereken nokta şu: > dosyayı içeriğiyle birlikte sıfırlar. Dosya yoksa oluşturur, varsa içindeki her şeyi siler ve yalnızca yeni girdiyi yazar. Var olanın sonuna eklemek istiyorsanız >> kullanmanız gerekir:

echo 'ikinci satır' >> merhaba

Dosya Kopyalama Komutları

cp Komutu: Dosyaları kopyalamak için “cp” komutunu kullanabilirsiniz. Örneğin, “dosya.txt” dosyasını “yedek_dosya.txt” olarak kopyalamak için;

cp dosya yedek_dosya

Dizin kopyalarken -r zorunludur. cp tek başına yalnızca dosya kopyalar; bir dizini hedef alırsanız cp: -r not specified; omitting directory 'proje' hatası verir:

cp -r proje/ proje_yedek/

cp üzerine yazarken uyarmaz. Hedefte aynı adda bir dosya varsa sessizce ezer. Elle çalışırken -i (interactive) seçeneğini alışkanlık hâline getirmek, tek bir yazım hatasında veri kaybetmenizi engeller:

cp -i dosya yedek_dosya
# cp: overwrite 'yedek_dosya'?

Dosya Yönetiminde Pratik Bilgiler

  • Dosya ve dizin adları BÜYÜK-küçük harf duyarlılığına göre farklılık gösterir. “dosya” ve “Dosya” iki farklı dosyayı temsil eder.
  • cp” kaynağı yerinde bırakır, “mv” bırakmaz. Aradaki fark yalnızca kaynağın silinmesi de değildir: mv aynı dosya sistemi içinde veriyi hiç kopyalamaz, sadece dizin girdisini yeniden adlandırır. Bu yüzden 100 GB’lık bir dosya aynı disk içinde anında taşınır. Farklı bir diske ya da bölüme taşırken ise mecburen kopyalayıp kaynağı siler; o durumda süre dosya boyutuyla orantılıdır.
  • rsync” veya “scp” gibi komutlarla uzak sunucular, sanal makineler veya kendi ağınızdaki bilgisayarlar arasında dosya ve dizin kopyalayabilirsiniz. Büyük dizinlerde rsync tercih edilir: yarıda kalan aktarımı kaldığı yerden sürdürür ve yalnızca değişen dosyaları gönderir.

Sonuç

Dosya oluşturma ve kopyalama komutlarının tamamı üç davranışa dayanır:

  • touch bir zaman damgası komutudur. Boş dosya oluşturması yan etkisidir; var olan dosyanın içeriğine asla dokunmaz.
  • > sıfırlar, >> ekler. Bir günlük dosyasına > ile yazmak, o ana kadarki tüm kaydı tek seferde siler.
  • cp dizin için -r ister ve üzerine yazarken sormaz. mv ise aynı dosya sistemi içinde veri taşımaz, yalnızca adı değiştirir.

Yol haritasında sırada dosyaların içine bakmak var: Dosya İçeriğini Görüntüleme (cat, less, tail, head). Serinin tamamına GNU/Linux Öğrenme Yolculuğu sayfasından ulaşabilirsiniz.

Paylaş :

İlgili Yazılar

Symbolic Link ve Hard Link

Symbolic Link ve Hard Link

İşletim sistemlerinde dosyaları düzenlemek ve yönetmek, veri organizasyonunun temel bir parçasıdır. GNU/Linux dünyasında, dosyaları bağlamak için kullanılan iki önemli kavram Symbolic Link (Sembolik Bağlantı) ve Hard Link (Sert Bağlantı) olarak karşımıza çıkar. Bu yazıda, Symbolic Link ve Hard Link kavramlarını ayrıntılı bir şekilde inceleyecek ve her iki bağlantı türünün nasıl çalıştığını ve farklılıklarını örneklerle anlatacağız.

Kabukta İlk Adımlar: Komutlar ve Temel Seçenekler

Kabukta İlk Adımlar: Komutlar ve Temel Seçenekler

GNU/Linux işletim sisteminde kabuk (shell) kullanarak temel komutları ve komutlarda kullanılan temel seçenekleri öğrenmeye başlayacağız. Kabuk, kullanıcıların işletim sistemiyle etkileşim kurmasını sağlayan arayüzdür ve komut satırını kullanarak birçok işlemi gerçekleştirebiliriz. Haydi, kabukta ilk adımlarımıza başlayalım ve komutların temel seçeneklerini öğrenelim. Diğer konuları ‘GNU/Linux Öğrenme Yolculuğu’ bu adresten ulaşabilirsiniz.

Linux Dosya ve Dizin Hiyerarşisi: Verileri Organize Etme Sanatı

Linux Dosya ve Dizin Hiyerarşisi: Verileri Organize Etme Sanatı

Bir Linux sunucusuna ilk kez bağlandığınızda / altında yirmiye yakın dizin görürsünüz ve hiçbirinin adı ne işe yaradığını söylemez: /etc, /opt, /srv, /var. Bu isimler rastgele seçilmedi — her biri Filesystem Hierarchy Standard (FHS) adlı bir sözleşmenin parçası. O sözleşmeyi bilen yönetici, ömründe hiç görmediği bir dağıtımda bile log dosyasını, yapılandırmayı ve kullanıcı verisini nerede arayacağını bilir.