- Konu sahibi
- #1
Linux cat komutu nedir?
Linux
cat komutu, dosyaların içeriğini terminale yazdırmak ve birden fazla dosyayı arka arkaya birleştirmek için kullanılır. En basit kullanımda dosya adını verirsiniz; komut dosyayı okur ve içeriğini standart çıktıya gönderir. Dosya içeriğini görmek için cat dosya.txt çalıştırın. Boş dosyada hiçbir metin görünmemesi normaldir; başarıyı komuttan hemen sonra echo $? ile denetleyebilirsiniz. Sıfır çıkış durumu başarı, sıfır dışı değer hata gösterir; “No such file or directory” benzeri bir hata alırsanız dosya yolu veya bulunduğunuz dizin yanlıştır.cat komutu nasıl çalışır?
cat, kendisine verilen dosyaları sırayla okur ve içeriklerini birleştirerek ekrana veya yönlendirdiğiniz başka bir hedefe gönderir. Dosya adı verilmezse standart girdiyi okur; bu giriş terminalden, bir pipe’tan veya yönlendirmeden gelebilir. Bu nedenle cat komutu tek başına çalıştırıldığında yazdığınız metni, giriş akışı sonlandırılana kadar ekrana geri verebilir.Bir dosyanın bulunduğunuz dizinde olup olmadığını önce
ls ile kontrol edebilirsiniz. Başka bir dizindeki dosya için göreli veya mutlak yol kullanın:
Kod:
cat ./notlar/gunluk.txt
cat /home/kullanici/notlar/gunluk.txt
Çok uzun dosyalarda
cat yerine less daha uygundur; çünkü içeriği sayfa sayfa incelemenizi sağlar. cat özellikle kısa dosyalar, yapılandırma parçaları ve komut çıktısını başka bir komuta aktarma gibi durumlarda pratiktir.Temel kullanım örnekleri
Aşağıdaki örnekler, komutun en sık kullanılan biçimlerini gösterir:
- Tek bir dosyanın içeriğini gösterin:
cat ayarlar.conf - Birden fazla dosyayı arka arkaya yazdırın:
cat bolum-1.txt bolum-2.txt - Çıktıyı yeni bir dosyaya aktarın:
cat kaynak.txt > kopya.txt - Bir dosyanın sonuna başka bir dosya ekleyin:
cat ek.txt >> arsiv.txt - Dosyaları birleştirip yeni dosya oluşturun:
cat parca-1.txt parca-2.txt > tam-metin.txt - Satır numaralarını gösterin:
cat -n notlar.txt
Bash’te varsayılan davranışta
>, hedef dosya varsa komut çalışmadan önce boyutunu sıfırlar; yoksa dosyayı oluşturur. Kaynak ve hedef olarak aynı dosyayı seçmeyin. Önce kaynak okunsun sonra yazılsın varsayımı veri kaybına yol açar. >> ise mevcut dosyanın sonuna ekler. Bu iki yönlendirme işareti cat seçeneği değil, kabuğun çıktı yönlendirme operatörleridir.Hangi durumda hangi kullanım?
İhtiyacınıza göre karar vermeyi kolaylaştıran kısa karşılaştırma şöyledir:
| İhtiyaç | Örnek | Sonuç |
|---|---|---|
| Kısa dosyayı okumak | cat dosya.txt | İçerik terminale yazılır |
| Dosyaları birleştirmek | cat a.txt b.txt > tumu.txt | a ve b sırasıyla yeni dosyaya yazılır |
| Çıktıyı eklemek | cat yeni.txt >> kayit.txt | İçerik mevcut dosyanın sonuna eklenir |
| Uzun dosyayı incelemek | less dosya.txt | İçerik sayfalı görüntülenir |
Birleştirme işleminden sonra
cat tumu.txt çalıştırarak sonucu kontrol edin. Dosyaların sırası önemlidir; komutta önce yazılan dosyanın içeriği önce gelir. Cat ikili veriyi de aktarabilir; sorun bunu doğrudan terminale basmaktır, kontrol karakterleri görünümü bozabilir. İkili dosya incelemede uygun araç kullanın. Rastgele iki görseli birleştirmek, dosya biçimine uygun tek bir görsel oluşturmaz.Sık yapılan hatalar
- Dosya adında boşluk varsa adı tırnak içine alın:
cat "proje notu.txt". - Büyük-küçük harfleri kontrol edin; yaygın Linux dosya sistemlerinde
Notlar.txtilenotlar.txtfarklıdır; bağlanan dosya sisteminin davranışını da dikkate alın. - Yanlışlıkla
>kullanıp önemli bir dosyanın içeriğini silmeyin. Mevcut dosyaya ekleme niyetiniz varsa>>kullanın. - Yetki hatasında dosyanın izinlerini ve doğru kullanıcıyla çalışıp çalışmadığınızı kontrol edin. Yetkiyi değiştirmeden önce dosyanın gerçekten okunması gereken dosya olduğunu doğrulayın.
- Çok büyük dosyaları doğrudan
catile ekrana basmayın; çıktı terminali doldurabilir ve aradığınız satırları bulmanızı zorlaştırabilir.
Sık sorulan sorular
cat ile dosya oluşturulabilir mi?
Evet. Örneğincat > yeni.txt komutundan sonra metin yazıp girişi Ctrl+D ile sonlandırırsanız yazdıklarınız dosyaya kaydedilir. Aynı dosya zaten varsa > mevcut içeriğin üzerine yazar.Dosya adım tireyle başlıyorsa nasıl okurum?
GNU cat kullanırken seçeneklerin bittiğini belirtmek içincat -- -notlar.txt yazabilirsiniz. Göreli yolu ./ ile başlatmak da dosya adının seçenek gibi yorumlanmasını önler.cat yerine ne zaman less kullanılmalı?
Dosya uzun olduğunda veya yalnızca belirli bölümleri arayarak incelemek istediğinizdeless kullanın. Kısa dosyaları hızlıca görmek ve dosyaları birleştirmek için cat daha uygundur.