Truncate nedir?¶
Linux'ta 'truncate' komutu, bir dosyanın boyutunu değiştirmek için kullanılır. En önemli özelliği, dosyayı silmeden içeriğini boşaltabilmesidir. Yani dosya yerinde kalır ama içi boşalır.
Bu özellikle log dosyaları veya çalışan uygulamaların kullandığı dosyalarla uğraşırken hayat kurtarıcı olabilir. Dosyayı silsem, uygulama hata verebilir. Ama boşaltırsam, hem yer açarım hem de yapı bozulmaz.
Temel kullanımı¶
Temel kullanımı oldukça basit:
Burada -s parametresi "size" yani boyut anlamına gelir. Boyut için çeşitli birimler kullanılabilir.
Pratik örnekler¶
En yaygın kullanım, bir dosyayı tamamen boşaltmaktır:
Bu komut, dosyanın içeriğini sıfırlar ama dosya hala vardır. Uygulama çalışmaya devam eder ve yeni loglar bu dosyaya yazılır.
Belirli bir boyuta da ayarlayabilirsiniz:
Bu, dosyayı 1 megabayta keser.
Mevcut boyuta göre ayarlama da yapabilirsiniz:
Ne zaman kullanmalı?¶
Şu durumlarda truncate kullanmak mantıklıdır:
- Log dosyaları biriktiğinde
- Docker konteynerlerinde silme yetkisi olmadığında
- Çalışan bir sistemi bozmadan yer açmak gerektiğinde
- Dosya yapısını korumak ama içeriği temizlemek istediğinizde
Geçen haftaki sorunumda, konteyner içindeki 8GB'lık log dosyasını truncate -s 0 ile anında temizledim ve sistem çalışmaya devam etti.
Bu basit ama güçlü komut, sistem yöneticisinin alet çantasında bulunması gereken araçlardan biridir.