Linux

-bash: /usr/bin/chmod: Argument list too long Çözümü

SSL Nedir? Yeni Başlayanlara Özel SSL Rehberi!

Linux’ta “Argument list too long” hatası genellikle birçok dosya üzerinde bir işlem yapmaya çalıştığınızda, komut satırının izin verilen maksimum uzunluğu aştığında ortaya çıkar. Bu kısıtlama, sistemin maksimum argüman listesi boyutundan kaynaklanır.

Bu hata genellikle birçok dosya için * joker karakterini kullanarak chmod komutunu kullanırken meydana gelir.

İşte birkaç olası çözüm:

1. find ve -exec seçeneği kullanma:

Yıldız karakterini kullanarak geniş bir dosya kümesine izinleri değiştirmeye çalışmak yerine, find komutunu -exec seçeneği ile kullanarak her dosya için chmod’u ayrı ayrı çalıştırabilirsiniz.

find /dosya/yolu -type f -exec chmod izinler {} \;

/dosya/yolu’nu dosyalarınızın gerçek yolu ile değiştirin ve izinleri istediğiniz izinlerle değiştirin.

2. find ile xargs kullanma:

find /dosya/yolu -type f -print0 | xargs -0 chmod izinler

-print0 seçeneği find için ve -0 seçeneği xargs için dosya adlarını ayırmak için null karakterlerini kullanır, bu da boşluk veya özel karakter içeren dosya adlarıyla başa çıkmaya yardımcı olur.

3. Argüman Listesi Boyut Sınırını Artırma:

Maksimum argüman listesi boyutunu artırmayı deneyebilirsiniz. Ancak bu, sistem parametrelerini değiştirmeyi içerir ve olumsuz etkileri olabilir.

ulimit -s unlimited

Sistem sınırlarını değiştirmenin yan etkileri olabileceğini unutmayın ve genellikle yukarıda belirtilen ilk iki çözümü kullanmak daha iyidir.

İhtiyacınıza ve görevinizin özel gereksinimlerine en uygun yöntemi seçin.