{"id":2470,"date":"2026-10-04T15:00:00","date_gmt":"2026-10-04T12:00:00","guid":{"rendered":"https:\/\/narhost.com\/destek\/?p=2470"},"modified":"2026-10-04T15:00:00","modified_gmt":"2026-10-04T12:00:00","slug":"argument-list-too-long-hatasi","status":"publish","type":"post","link":"https:\/\/narhost.com\/destek\/argument-list-too-long-hatasi\/","title":{"rendered":"Argument List Too Long Hatas\u0131 Nas\u0131l \u00c7\u00f6z\u00fcl\u00fcr (rm, cp, mv)"},"content":{"rendered":"<p class=\"kb-dogrulama\">Son g\u00f6zden ge\u00e7irme: Eyl\u00fcl 2026 \u00b7 Ubuntu 24.04 resm\u00ee dok\u00fcman\u0131na g\u00f6re<\/p>\n<div id=\"hizli-cozum\" class=\"ai-box ai-box--cozum\">\n<p class=\"ai-box-title\">H\u0131zl\u0131 \u00e7\u00f6z\u00fcm<\/p>\n<p><code>bash: \/usr\/bin\/rm: Argument list too long<\/code> \u2014 <strong>argument list too long<\/strong> hatas\u0131, <code>*<\/code> joker karakteri binlerce dosya ad\u0131na a\u00e7\u0131ld\u0131\u011f\u0131nda komut sat\u0131r\u0131n\u0131n \u00e7ekirdek s\u0131n\u0131r\u0131n\u0131 (<code>ARG_MAX<\/code>) a\u015fmas\u0131d\u0131r. \u00c7\u00f6z\u00fcm dosyalar\u0131 tek komuta y\u0131\u011fmak yerine <code>find<\/code> ile i\u015flemektir.<\/p>\n<ol>\n<li>\u00d6nce listeleyin ve say\u0131n: <code>find \/yol -maxdepth 1 -type f -name \"*.log\" | wc -l<\/code><\/li>\n<li>Silmek i\u00e7in: <code>find \/yol -maxdepth 1 -type f -name \"*.log\" -delete<\/code><\/li>\n<li>Ta\u015f\u0131mak ya da kopyalamak i\u00e7in: <code>find ... -exec mv -t \/hedef\/ {} +<\/code> (kopyada <code>cp -t<\/code>).<\/li>\n<\/ol>\n<\/div>\n<table class=\"kb-uyg\">\n<tr>\n<th>Panel<\/th>\n<td>Yok \u2014 VPS\/VDS y\u00f6netimsizdir; i\u015flem sunucunuzda SSH ile yap\u0131l\u0131r<\/td>\n<\/tr>\n<tr>\n<th>Sistem<\/th>\n<td>Ubuntu 22.04\/24.04, Debian 12, AlmaLinux 8\/9, Rocky 9 (GNU findutils)<\/td>\n<\/tr>\n<tr>\n<th>Yetki<\/th>\n<td>Dosyalar\u0131n sahibi olan kullan\u0131c\u0131; sistem dizinlerinde sudo<\/td>\n<\/tr>\n<tr>\n<th>Narhost \u00fcr\u00fcn\u00fc<\/th>\n<td><a href=\"https:\/\/narhost.com\/vps-sunucu\" title=\"Narhost VPS Sunucu paketleri\">VPS Sunucu<\/a>, VDS Sunucu<\/td>\n<\/tr>\n<\/table>\n<div class=\"kb-once\">\n<p class=\"label\">Ba\u015flamadan \u00f6nce<\/p>\n<ul>\n<li>Sunucunuza SSH ile ba\u011fl\u0131 olun; payla\u015f\u0131ml\u0131 hostingde SSH yoktur, bu kart VPS\/VDS i\u00e7indir.<\/li>\n<li>\u0130\u015flem yapaca\u011f\u0131n\u0131z dizinin tam yolunu ve dosya ad\u0131 desenini (<code>*.log<\/code>, <code>sess_*<\/code> gibi) netle\u015ftirin.<\/li>\n<li>Silme i\u015flemi geri al\u0131namaz; gerekli dosyalar varsa \u00f6nce yedek al\u0131n.<\/li>\n<\/ul>\n<\/div>\n<h2>Argument List Too Long Hatas\u0131 Neden Olur<\/h2>\n<p>Kabuk, <code>rm *.log<\/code> yazd\u0131\u011f\u0131n\u0131zda deseni komutu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce e\u015fle\u015fen t\u00fcm dosya adlar\u0131na a\u00e7ar ve bu listeyi tek par\u00e7a olarak <code>rm<\/code> program\u0131na g\u00f6nderir. Linux \u00e7ekirde\u011fi bir programa aktar\u0131lan arg\u00fcman ve ortam de\u011fi\u015fkenlerinin toplam boyutunu s\u0131n\u0131rlar; s\u0131n\u0131r a\u015f\u0131l\u0131nca <code>execve<\/code> \u00e7a\u011fr\u0131s\u0131 <code>E2BIG<\/code> d\u00f6ner ve kabuk bunu hata olarak yazar. S\u0131n\u0131r\u0131n ayr\u0131nt\u0131s\u0131 <a href=\"https:\/\/man7.org\/linux\/man-pages\/man2\/execve.2.html\" title=\"execve(2) Linux man sayfas\u0131 \u2014 arg\u00fcman boyutu s\u0131n\u0131rlar\u0131\" target=\"_blank\" rel=\"noopener\">execve man sayfas\u0131nda<\/a> anlat\u0131l\u0131r.<\/p>\n<p>Sorun <code>rm<\/code>&#8216;e \u00f6zg\u00fc de\u011fildir; <code>cp<\/code>, <code>mv<\/code>, <code>ls<\/code>, <code>chmod<\/code> ve <code>tar<\/code> ayn\u0131 hatay\u0131 verir. Genellikle y\u00fcz binlerce PHP oturum dosyas\u0131, \u00f6nbellek par\u00e7as\u0131, e-posta kuyru\u011fu ya da g\u00fcnl\u00fck dosyas\u0131yla dolan bir dizinde g\u00f6r\u00fcl\u00fcr. Dosya say\u0131s\u0131 dizinin boyutundan ba\u011f\u0131ms\u0131z sorun \u00e7\u0131kar\u0131r; k\u00fc\u00e7\u00fck ama \u00e7ok say\u0131da dosya disk yerine inode t\u00fcketir.<\/p>\n<h2>Ad\u0131m Ad\u0131m \u00c7\u00f6z\u00fcm<\/h2>\n<h3>1. S\u0131n\u0131r\u0131 ve dosya say\u0131s\u0131n\u0131 g\u00f6r\u00fcn<\/h3>\n<ol class=\"kb-adimlar\">\n<li><strong>\u00c7ekirde\u011fin arg\u00fcman s\u0131n\u0131r\u0131n\u0131 okuyun:<\/strong>\n<pre><code class=\"language-bash\">getconf ARG_MAX<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: bayt cinsinden bir say\u0131, \u00e7o\u011fu Ubuntu kurulumunda <code>2097152<\/code> (y\u0131\u011f\u0131n s\u0131n\u0131r\u0131n\u0131n d\u00f6rtte biri). Say\u0131 s\u0131n\u0131r\u0131 de\u011fil, toplam bayt s\u0131n\u0131r\u0131d\u0131r.<\/p>\n<\/li>\n<li><strong>Dizindeki e\u015fle\u015fen dosyalar\u0131 say\u0131n:<\/strong>\n<pre><code class=\"language-bash\">find \/var\/www\/ornek.com\/tmp -maxdepth 1 -type f -name \"*.log\" | wc -l<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: tek bir say\u0131. <code>find<\/code> dosya adlar\u0131n\u0131 kendisi okudu\u011fu i\u00e7in bu komut hataya d\u00fc\u015fmez.<\/p>\n<\/li>\n<\/ol>\n<h3>2. \u00d6nce listeleyin, sonra silin<\/h3>\n<div class=\"warn-box\">\n<p class=\"label\">Dikkat<\/p>\n<p>Silinen dosya geri gelmez. <code>-delete<\/code> yazmadan \u00f6nce ayn\u0131 komutu <code>-print<\/code> ile \u00e7al\u0131\u015ft\u0131r\u0131p listeyi g\u00f6zden ge\u00e7irin; <code>-delete<\/code> her zaman komutun en sonunda durmal\u0131d\u0131r, ba\u015fa yaz\u0131l\u0131rsa desen uygulanmadan her \u015feyi siler.<\/p>\n<\/div>\n<ol class=\"kb-adimlar\">\n<li><strong>Silinecekleri ekrana d\u00f6k\u00fcn:<\/strong>\n<pre><code class=\"language-bash\">find \/var\/www\/ornek.com\/tmp -maxdepth 1 -type f -name \"*.log\" -print | head -20<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: yaln\u0131z silmek istedi\u011finiz desene uyan ilk 20 dosya.<\/p>\n<\/li>\n<li><strong>Ayn\u0131 komutu <code>-delete<\/code> ile \u00e7al\u0131\u015ft\u0131r\u0131n:<\/strong>\n<pre><code class=\"language-bash\">find \/var\/www\/ornek.com\/tmp -maxdepth 1 -type f -name \"*.log\" -delete<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: \u00e7\u0131kt\u0131 yok, komut istem sat\u0131r\u0131na d\u00f6ner. Yaln\u0131z belirli ya\u015ftaki dosyalar i\u00e7in <code>-mtime +7<\/code> ekleyebilirsiniz.<\/p>\n<\/li>\n<\/ol>\n<h3>3. Ta\u015f\u0131ma ve kopyalama<\/h3>\n<ol class=\"kb-adimlar\">\n<li><strong><code>-exec ... {} +<\/code> bi\u00e7imini kullan\u0131n.<\/strong><code>+<\/code> sonu, <code>find<\/code>&#8216;\u0131n dosya adlar\u0131n\u0131 s\u0131n\u0131r\u0131 a\u015fmayacak gruplara b\u00f6l\u00fcp komutu gerekti\u011fi kadar \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 sa\u011flar:\n<pre><code class=\"language-bash\">find \/var\/www\/ornek.com\/tmp -maxdepth 1 -type f -name \"*.jpg\" -exec mv -t \/yedek\/resimler\/ {} +\nfind \/var\/www\/ornek.com\/tmp -maxdepth 1 -type f -name \"*.jpg\" -exec cp -t \/yedek\/resimler\/ {} +<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: dosyalar hedef dizine ge\u00e7er; <code>-t<\/code> hedefi ba\u015fa ald\u0131\u011f\u0131 i\u00e7in dosya listesi sona eklenebilir.<\/p>\n<\/li>\n<li><strong>Alternatif olarak <code>xargs<\/code>:<\/strong> bo\u015fluk ve \u00f6zel karakter i\u00e7eren adlar i\u00e7in <code>-print0<\/code> ile <code>-0<\/code> birlikte kullan\u0131l\u0131r.\n<pre><code class=\"language-bash\">find \/var\/www\/ornek.com\/tmp -maxdepth 1 -type f -name \"sess_*\" -print0 | xargs -0 rm --<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: <code>xargs<\/code> listeyi par\u00e7alara b\u00f6l\u00fcp <code>rm<\/code>&#8216;i birden \u00e7ok kez \u00e7al\u0131\u015ft\u0131r\u0131r; ayr\u0131nt\u0131lar <a href=\"https:\/\/man7.org\/linux\/man-pages\/man1\/xargs.1.html\" title=\"xargs(1) Linux man sayfas\u0131\" target=\"_blank\" rel=\"noopener\">xargs man sayfas\u0131nda<\/a>.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"nh-sema\"><img src=\"https:\/\/narhost.com\/destek\/wp-content\/uploads\/2026\/09\/argument-list-too-long-hatasi-sema-narhost.webp\" alt=\"Argument list too long hatas\u0131 \u00e7\u00f6z\u00fcm ak\u0131\u015f\u0131 \u2014 s\u0131n\u0131r\u0131 g\u00f6rme, dosyalar\u0131 sayma, listeleyip silme ve find -exec ile ta\u015f\u0131ma ad\u0131mlar\u0131\" width=\"1200\" height=\"500\" loading=\"lazy\" decoding=\"async\"><figcaption>Joker karakter yerine find: \u00f6nce say, sonra listele, en son sil ya da ta\u015f\u0131.<\/figcaption><\/figure>\n<h2>Do\u011frulama<\/h2>\n<div class=\"success-box\">\n<p class=\"label\">Sonu\u00e7<\/p>\n<p>Say\u0131m komutunu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n: <code>find \/var\/www\/ornek.com\/tmp -maxdepth 1 -type f -name \"*.log\" | wc -l<\/code> \u00e7\u0131kt\u0131s\u0131 <code>0<\/code> ise silme tamamlanm\u0131\u015ft\u0131r. Ta\u015f\u0131mada hedef dizindeki say\u0131 kaynaktaki eski say\u0131ya e\u015fit olmal\u0131d\u0131r. <code>df -i<\/code> ile inode kullan\u0131m\u0131n\u0131n d\u00fc\u015ft\u00fc\u011f\u00fcn\u00fc de g\u00f6rebilirsiniz.<\/p>\n<\/div>\n<h2>H\u00e2l\u00e2 \u00c7\u00f6z\u00fclmediyse<\/h2>\n<ul>\n<li><strong><code>-exec rm {} \\;<\/code> \u00e7ok yava\u015f.<\/strong> Noktal\u0131 virg\u00fcl sonu her dosya i\u00e7in ayr\u0131 bir <code>rm<\/code> ba\u015flat\u0131r; <code>+<\/code> ya da <code>-delete<\/code> kullan\u0131n.<\/li>\n<li><strong>Dizin yeniden doluyor.<\/strong> Dosyalar\u0131 \u00fcreten uygulamay\u0131 ya da cron g\u00f6revini bulun; eski dosyalar\u0131 d\u00fczenli silmek i\u00e7in <a href=\"https:\/\/narhost.com\/destek\/ubuntu-crontaba-satir-nasil-eklenir\/\" title=\"Ubuntu&#039;da Crontab&#039;a Yeni Sat\u0131r Nas\u0131l Eklenir \u2014 Narhost Destek\">crontab&#8217;a bir <code>find ... -mtime +7 -delete<\/code> sat\u0131r\u0131<\/a> ekleyin.<\/li>\n<li><strong>Hangi dizinin doldu\u011funu bilmiyorsunuz.<\/strong><a href=\"https:\/\/narhost.com\/destek\/linux-klasor-boyutu-ogrenme\/\" title=\"Linux&#039;ta Klas\u00f6r Boyutu Nas\u0131l \u00d6\u011frenilir (du -sh) \u2014 Narhost Destek\">du ile klas\u00f6r boyutunu \u00f6l\u00e7\u00fcn<\/a> ya da <a href=\"https:\/\/narhost.com\/destek\/linux-buyuk-boyutlu-dosyalari-nasil-bulurum\/\" title=\"Linux&#039;ta B\u00fcy\u00fck Boyutlu Dosyalar Nas\u0131l Bulunur (find, du) \u2014 Narhost Destek\">b\u00fcy\u00fck dosyalar\u0131 bulun<\/a>.<\/li>\n<li><strong>&#8220;Permission denied&#8221; al\u0131yorsunuz.<\/strong> Dosyalar ba\u015fka kullan\u0131c\u0131ya (\u00f6r. <code>www-data<\/code>) aittir; komutu <code>sudo<\/code> ile \u00e7al\u0131\u015ft\u0131r\u0131n.<\/li>\n<\/ul>\n<div class=\"cta-box\">\n<p class=\"label\">Narhost deste\u011fi<\/p>\n<p>Talebe \u015funlar\u0131 ekleyin: sunucunuzun IP adresi, hatan\u0131n birebir metni, \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z komut ve dizin yolu. Sunucu i\u00e7i yaz\u0131l\u0131m sizin y\u00f6netiminizdedir; altyap\u0131 kaynakl\u0131 bir sorun g\u00f6r\u00fcrsek birlikte bakar\u0131z.<\/p>\n<p><a class=\"cta-btn\" href=\"https:\/\/narhost.com\/submitticket.php\" title=\"Narhost destek talebi a\u00e7\">Destek talebi a\u00e7<\/a><\/div>\n<div class=\"kb-ilgili\">\n<p class=\"label\">Sonraki ad\u0131mlar<\/p>\n<ul>\n<li><a href=\"https:\/\/narhost.com\/destek\/vps-vds-ilk-kurulum-rehberi\/\" title=\"VPS VDS Sunucu \u0130lk Kurulum Rehberi (10 Ad\u0131mda G\u00fcvenli Kurulum) \u2014 Narhost Destek\">VPS VDS ilk kurulum rehberi<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/linux-sunucuda-disk-kullanimi-nasil-denetlenir\/\" title=\"Linux Sunucuda Disk Kullan\u0131m\u0131 Nas\u0131l Denetlenir (df, du) \u2014 Narhost Destek\">Disk kullan\u0131m\u0131n\u0131 denetleme (df, du)<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/ubuntuda-gereksiz-dosyalar-ve-onbellek-nasil-silinir\/\" title=\"Ubuntu&#039;da Gereksiz Dosyalar ve \u00d6nbellek Nas\u0131l Silinir \u2014 Narhost Destek\">Ubuntu&#8217;da gereksiz dosyalar\u0131 temizleme<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"kb-faq\">\n<h2>S\u0131k\u00e7a sorulan sorular<\/h2>\n<h3>ARG_MAX de\u011ferini y\u00fckseltmek \u00e7\u00f6z\u00fcm olur mu?<\/h3>\n<p>Kal\u0131c\u0131 \u00e7\u00f6z\u00fcm de\u011fildir. S\u0131n\u0131r y\u0131\u011f\u0131n boyutuna ba\u011fl\u0131d\u0131r ve dosya say\u0131s\u0131 artmaya devam ederse hata geri d\u00f6ner. <code>find<\/code> ve <code>xargs<\/code> dosya say\u0131s\u0131ndan ba\u011f\u0131ms\u0131z \u00e7al\u0131\u015f\u0131r.<\/p>\n<h3>Dizini tamamen silmek istesem ne yapmal\u0131y\u0131m?<\/h3>\n<p>\u0130\u00e7eri\u011fi ve dizini birlikte kald\u0131rmak i\u00e7in <code>rm -r \/yol\/dizin<\/code> arg\u00fcman listesi olu\u015fturmaz, bu hatay\u0131 vermez. Yolu iki kez kontrol edin; yanl\u0131\u015f dizinde \u00e7al\u0131\u015ft\u0131r\u0131lan bu komutun geri d\u00f6n\u00fc\u015f\u00fc yoktur.<\/p>\n<h3>Argument list too long hatas\u0131 ls komutunda da \u00e7\u0131kar m\u0131?<\/h3>\n<p>Evet, <code>ls *.log<\/code> gibi joker i\u00e7eren her komutta \u00e7\u0131kabilir. Yaln\u0131z saymak i\u00e7in <code>ls | wc -l<\/code> ya da <code>find<\/code> kullan\u0131n; bunlar deseni kabu\u011fa a\u00e7t\u0131rmaz.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Argument list too long hatas\u0131n\u0131n nedeni (ARG_MAX ve execve s\u0131n\u0131r\u0131) ve \u00e7\u00f6z\u00fcm\u00fc: dosyalar\u0131 \u00f6nce find ile listeleyip saymak, sonra find -delete, find -exec {} + ve xargs -0 ile silmek, ta\u015f\u0131mak ya da kopyalamak.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-2470","post","type-post","status-publish","format-standard","hentry","category-vps-server"],"meta_box":[],"_links":{"self":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/comments?post=2470"}],"version-history":[{"count":1,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2470\/revisions"}],"predecessor-version":[{"id":2852,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2470\/revisions\/2852"}],"wp:attachment":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/media?parent=2470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/categories?post=2470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/tags?post=2470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}