Linux işletim sisteminde, belirli bir dizinde çok fazla dosyanız olduğunda disk inodesini doldurabilirsiniz. Özellikle vds veya sanal sunucu kullanan kullanıcılarda ortaya çıkabilen bir durumdur. Dosyalarınız /tmp klasöründe birikebilir ve bunları silmek istediğinizde “Argument list too long” hatası alabilirsiniz.
Hata Neden Oluşur?
- Joker karakterler (
*
) tüm dosyaları aynı anda işleme sokmaya çalışır. - Linux çekirdeği, bir komutun alabileceği maksimum argüman boyutunu sınırlar.
- Özellikle VDS veya sanal sunucu kullananlarda
/tmp
,cache
ya dalog
klasörlerinde dosya birikmesi bu hatayı tetikler.
Hatayı aldığınızda, bulunduğunuz dizinde aşağıdaki komutu girmeniz yeterli olacaktır. Hata;
/bin/rm: Argument list too long
Çözüm :
ls | xargs rm
Biraz bekledikten sonra, dizinde bulunan tüm dosyalarınız silinecektir. Eğer belirli dosyaları silmek isterseniz, grep ile ayırabilirsiniz.
ls | xargs rm |grep b_ile_baslayan_dosyalar*
“Argument list too long” hatası, çok fazla dosya ile çalışırken ortaya çıkan doğal bir sınırlamadır. xargs
veya find
kullanarak bu engeli aşabilir, dizinlerinizi kolayca temizleyebilirsiniz.