{"id":25926,"date":"2025-07-16T00:45:27","date_gmt":"2025-07-15T21:45:27","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/"},"modified":"2025-07-16T00:45:27","modified_gmt":"2025-07-15T21:45:27","slug":"bash-tum-dosyalara-uzanti-ekleme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/","title":{"rendered":"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme"},"content":{"rendered":"<p># Bash ile T\u00fcm Dosyalara Uzant\u0131 Ekleme: Ad\u0131m Ad\u0131m K\u0131lavuz<\/p>\n<p>Dosyalar\u0131n\u0131z\u0131n d\u00fczensiz oldu\u011funu ve hepsine ayn\u0131 uzant\u0131y\u0131 eklemek istedi\u011finizi d\u00fc\u015f\u00fcn\u00fcn.  Belki de bir projede t\u00fcm <code class=\"language-\">.txt<\/code> dosyalar\u0131n\u0131 <code class=\"language-\">.md<\/code> olarak yeniden adland\u0131rman\u0131z gerekiyor ya da bir yedekleme i\u015flemi sonras\u0131 dosyalar\u0131n t\u00fcr\u00fcn\u00fc belirtmek i\u00e7in uzant\u0131 eklemeniz gerekiyor.  Bu gibi durumlarda Bash komut sat\u0131r\u0131 aray\u00fcz\u00fcn\u00fcn g\u00fcc\u00fcnden faydalanarak bu i\u015flemi h\u0131zl\u0131 ve etkili bir \u015fekilde ger\u00e7ekle\u015ftirebilirsiniz. Bu makale, Bash kullanarak t\u00fcm dosyalara uzant\u0131 ekleme i\u015flemini ad\u0131m ad\u0131m, yeni ba\u015flayanlardan uzmanlara kadar herkesin anlayabilece\u011fi \u015fekilde a\u00e7\u0131klayacakt\u0131r.  Farkl\u0131 senaryolar, performans optimizasyon teknikleri ve olas\u0131 sorunlar \u00fczerinde detayl\u0131 olarak duraca\u011f\u0131z.<\/p>\n<p><strong>Bash Temelleri: Dosya \u0130\u015flemleri ve Komutlar<\/strong><\/p>\n<p>Bash, Linux ve macOS sistemlerinde kullan\u0131lan g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 yorumlay\u0131c\u0131s\u0131d\u0131r. Dosya i\u015flemleri i\u00e7in bir\u00e7ok kullan\u0131\u015fl\u0131 komuta sahiptir. Bu makalede, \u00f6zellikle <code class=\"language-\">find<\/code>, <code class=\"language-\">rename<\/code> (veya <code class=\"language-\">prename<\/code>) ve <code class=\"language-\">for<\/code> d\u00f6ng\u00fclerini kullanaca\u011f\u0131z.  <code class=\"language-\">find<\/code> komutu dosyalar\u0131 bulmak i\u00e7in kullan\u0131l\u0131r, <code class=\"language-\">rename<\/code> (veya <code class=\"language-\">prename<\/code>) komutu dosya adlar\u0131n\u0131 toplu olarak de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r ve <code class=\"language-\">for<\/code> d\u00f6ng\u00fcs\u00fc birden fazla dosya \u00fczerinde i\u015flem yapmak i\u00e7in kullan\u0131l\u0131r.  Bu komutlar\u0131n temel kullan\u0131m\u0131n\u0131 anlamak, daha karma\u015f\u0131k i\u015flemleri ger\u00e7ekle\u015ftirmek i\u00e7in \u00f6nemlidir.  \u00d6rne\u011fin, <code class=\"language-\">find . -name \"*.txt\"<\/code> komutu, ge\u00e7erli dizin ve alt dizinlerindeki t\u00fcm <code class=\"language-\">.txt<\/code> dosyalar\u0131n\u0131 bulur.  <code class=\"language-\">rename 's\/\\.txt$\/.md\/' *.txt<\/code> komutu ise t\u00fcm <code class=\"language-\">.txt<\/code> dosyalar\u0131n\u0131n uzant\u0131s\u0131n\u0131 <code class=\"language-\">.md<\/code> olarak de\u011fi\u015ftirir (burada <code class=\"language-\">rename<\/code> komutunun farkl\u0131 da\u011f\u0131t\u0131mlarda farkl\u0131 davranabilece\u011fini unutmay\u0131n, <code class=\"language-\">prename<\/code> daha tutarl\u0131 bir alternatif olabilir).<\/p>\n<p><strong>Yeni Ba\u015flayanlar \u0130\u00e7in: Basit Bir Uzant\u0131 Ekleme \u00d6rne\u011fi<\/strong><\/p>\n<p>\u0130lk olarak, basit bir senaryoyu ele alal\u0131m: Ge\u00e7erli dizindeki t\u00fcm <code class=\"language-\">.jpg<\/code> dosyalar\u0131na <code class=\"language-\">.bak<\/code> uzant\u0131s\u0131 eklemek istiyoruz.  Bu, yedekleme i\u015flemlerinde s\u0131k\u00e7a kullan\u0131lan bir y\u00f6ntemdir.<\/p>\n<p><strong>Ad\u0131m 1:<\/strong>  Ge\u00e7erli dizindeki t\u00fcm <code class=\"language-\">.jpg<\/code> dosyalar\u0131n\u0131 listeleyelim.<\/p>\n<pre class=\"language-bash\"><code>ls *.jpg<\/code><\/pre>\n<p><strong>Ad\u0131m 2:<\/strong>  <code class=\"language-\">rename<\/code> komutunu kullanarak uzant\u0131 ekleyelim.  (Baz\u0131 sistemlerde <code class=\"language-\">rename<\/code> yerine <code class=\"language-\">prename<\/code> kullanman\u0131z gerekebilir.  <code class=\"language-\">prename<\/code> daha tutarl\u0131 bir davran\u0131\u015f sergiler.)<\/p>\n<pre class=\"language-bash\"><code>rename 's\/\\.jpg$\/.jpg.bak\/' *.jpg<\/code><\/pre>\n<p>Bu komut, her <code class=\"language-\">.jpg<\/code> dosyas\u0131n\u0131n sonuna <code class=\"language-\">.bak<\/code> uzant\u0131s\u0131n\u0131 ekler. <code class=\"language-\">s\/\\.jpg$\/\\.jpg\\.bak\/<\/code> ifadesi,  <code class=\"language-\">sed<\/code> komutuna benzer bir d\u00fczenli ifadedir. <code class=\"language-\">.jpg$' ifadesi <\/code>.jpg<code class=\"language-\"> ile biten sat\u0131rlar\u0131 hedefler ve <\/code>.jpg.bak<code class=\"language-\"> ile de\u011fi\u015ftirir.<\/p>\n<p><strong>Ad\u0131m 3:<\/strong>  \u0130\u015flemin ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edelim.<\/p>\n<pre class=\"language-bash\"><code>ls *.jpg*<\/code><\/pre>\n<p>Bu komut, <\/code>.jpg<code class=\"language-\"> ve <\/code>.jpg.bak<code class=\"language-\"> uzant\u0131l\u0131 t\u00fcm dosyalar\u0131 listeler.<\/p>\n<p><strong>Orta Seviye: Ger\u00e7ek Hayat \u00d6rne\u011fi ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>\u015eimdi daha ger\u00e7ek\u00e7i bir senaryoyu ele alal\u0131m: Bir web sitesi i\u00e7in t\u00fcm <\/code>.html<code class=\"language-\"> dosyalar\u0131n\u0131 <\/code>.php<code class=\"language-\"> olarak yeniden adland\u0131rmak istiyoruz. Ancak, alt dizinlerdeki dosyalar\u0131 da i\u00e7ermeli ve i\u015flem s\u0131ras\u0131nda olu\u015fabilecek hatalar\u0131 \u00f6nlemek i\u00e7in ek g\u00fcvenlik \u00f6nlemleri almal\u0131y\u0131z.<\/p>\n<p><strong>Ad\u0131m 1:<\/strong> <\/code>find<code class=\"language-\"> komutunu kullanarak t\u00fcm <\/code>.html<code class=\"language-\"> dosyalar\u0131n\u0131 bulal\u0131m ve bunlar\u0131 bir de\u011fi\u015fkene atayal\u0131m.<\/p>\n<pre class=\"language-bash\"><code>html_files=$(find . -name &quot;*.html&quot;)<\/code><\/pre>\n<p><strong>Ad\u0131m 2:<\/strong>  <\/code>for<code class=\"language-\"> d\u00f6ng\u00fcs\u00fc kullanarak her dosya i\u00e7in <\/code>rename<code class=\"language-\"> komutunu \u00e7al\u0131\u015ft\u0131ral\u0131m.  Bu, hata kontrol\u00fc ekleme olana\u011f\u0131 sa\u011flar.<\/p>\n<pre class=\"language-bash\"><code>for file in $html_files; do\n  new_file=$(echo &quot;$file&quot; | sed 's\/\\.html$\/.php\/')\n  if [ ! -f &quot;$new_file&quot; ]; then\n    rename 's\/\\.html$\/.php\/' &quot;$file&quot;\n    echo &quot;$file renamed to $new_file&quot;\n  else\n    echo &quot;Error: $new_file already exists. Skipping $file&quot;\n  fi\ndone<\/code><\/pre>\n<p>Bu kod, her <\/code>.html<code class=\"language-\"> dosyas\u0131n\u0131 <\/code>.php<code class=\"language-\"> olarak yeniden adland\u0131r\u0131r.  <\/code>if<code class=\"language-\"> ko\u015fulu, hedef dosyan\u0131n zaten var olup olmad\u0131\u011f\u0131n\u0131 kontrol eder ve varsa i\u015flemi atlar, b\u00f6ylece dosya \u00fczerine yazma hatas\u0131n\u0131 \u00f6nler.  Ayr\u0131ca, her ba\u015far\u0131l\u0131 adland\u0131rma i\u015flemini ekrana yazd\u0131r\u0131r. Bu, i\u015flemin do\u011fru \u015fekilde ilerledi\u011fini takip etmenizi sa\u011flar.  Bu, \u00f6zellikle b\u00fcy\u00fck say\u0131da dosya ile \u00e7al\u0131\u015f\u0131rken \u00f6nemli bir optimizasyondur.<\/p>\n<p><strong>\u0130leri D\u00fczey: Performans Analizi ve Edge Case'ler<\/strong><\/p>\n<p>\u00c7ok say\u0131da dosya ile \u00e7al\u0131\u015f\u0131rken performans kritik hale gelir.  <\/code>find<code class=\"language-\"> ve <\/code>rename<code class=\"language-\"> komutlar\u0131n\u0131n performans\u0131n\u0131 art\u0131rmak i\u00e7in baz\u0131 y\u00f6ntemler vard\u0131r.  \u00d6rne\u011fin, <\/code>find<code class=\"language-\"> komutunda <\/code>-print0<code class=\"language-\"> ve <\/code>xargs -0<code class=\"language-\"> se\u00e7eneklerini kullanarak null karakterle ayr\u0131lm\u0131\u015f dosya adlar\u0131n\u0131 i\u015fleyebilirsiniz. Bu, dosya adlar\u0131nda bo\u015fluk veya \u00f6zel karakterler varsa sorunlar\u0131 \u00f6nler.<\/p>\n<pre class=\"language-bash\"><code>find . -name &quot;*.html&quot; -print0 | xargs -0 -I {} rename 's\/\\.html$\/.php\/' {}<\/code><\/pre>\n<p>Bu y\u00f6ntem, \u00f6zellikle \u00e7ok say\u0131da dosya veya uzun dosya adlar\u0131 ile \u00e7al\u0131\u015f\u0131rken \u00f6nemli bir performans art\u0131\u015f\u0131 sa\u011flar.<\/p>\n<p><strong>Edge Case'ler:<\/strong><\/p>\n<p>* <strong>\u00d6zel karakterler:<\/strong> Dosya adlar\u0131nda \u00f6zel karakterler (\u00f6rne\u011fin, bo\u015fluk, <\/code>$<code class=\"language-\">, <\/code>&#038;<code class=\"language-\">) varsa, <\/code>rename<code class=\"language-\"> komutunda uygun ka\u00e7\u0131\u015f karakterleri kullanman\u0131z gerekebilir.  Bu durumlar i\u00e7in d\u00fczenli ifadeleri do\u011fru kullanmak hayati \u00f6nem ta\u015f\u0131r.<br \/>\n* <strong>Uzun dosya adlar\u0131:<\/strong> \u00c7ok uzun dosya adlar\u0131 performans\u0131 etkileyebilir.  Bu durumda, dosya adlar\u0131n\u0131 k\u0131saltmak veya daha etkili bir dosya i\u015fleme stratejisi geli\u015ftirmek gerekebilir.<br \/>\n* <strong>Sembolik ba\u011flant\u0131lar:<\/strong> Sembolik ba\u011flant\u0131lar\u0131 (symbolic links) nas\u0131l i\u015fleyece\u011finizi belirlemeniz gerekir.  <\/code>find<code class=\"language-\"> komutunda <\/code>-L<code class=\"language-\"> se\u00e7ene\u011fini kullanarak sembolik ba\u011flant\u0131lar\u0131 takip edebilir veya <\/code>-H<code class=\"language-\"> se\u00e7ene\u011fini kullanarak sembolik ba\u011flant\u0131lar\u0131 hedef dosya olarak ele alabilirsiniz.<\/p>\n<p>Bu gibi durumlarda, hatay\u0131 yakalayan ve uygun \u015fekilde i\u015fleyen daha sa\u011flam bir script yazman\u0131z gerekebilir.  Bu script, her durum i\u00e7in \u00f6zel \u00e7\u00f6z\u00fcmler i\u00e7erebilir ve daha g\u00fcvenilir bir sonu\u00e7 sa\u011flar.<\/p>\n<p><strong>Dosya Uzant\u0131s\u0131 Ekleme \u0130\u00e7in Daha Geli\u015fmi\u015f Teknikler<\/strong><\/p>\n<p>Daha karma\u015f\u0131k dosya adland\u0131rma i\u015flemleri i\u00e7in, daha g\u00fc\u00e7l\u00fc ara\u00e7lar kullanman\u0131z gerekebilir.  \u00d6rne\u011fin, <\/code>perl<code class=\"language-\"> ile yaz\u0131lm\u0131\u015f <\/code>rename<code class=\"language-\"> komutunun daha geli\u015fmi\u015f se\u00e7enekleri veya Python gibi bir betik dili kullanarak \u00f6zelle\u015ftirilmi\u015f bir script yazabilirsiniz.  Bu, daha fazla esneklik ve kontrol sa\u011flar.  \u00d6rne\u011fin, dosya ad\u0131na tarih eklemek veya dosya ad\u0131n\u0131 belirli bir \u015fablona g\u00f6re de\u011fi\u015ftirmek gibi i\u015flemler i\u00e7in Python kullan\u0131m\u0131 daha uygun olabilir.  [Fatih Soysal'\u0131n blogunda](https:\/\/fatihsoysal.com)  Bash ve Python ile dosya i\u015flemleri \u00fczerine daha fazla bilgi bulabilirsiniz.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bash kullanarak t\u00fcm dosyalara uzant\u0131 eklemek, do\u011fru komutlar\u0131n ve tekniklerin kullan\u0131m\u0131yla olduk\u00e7a kolay ve h\u0131zl\u0131 bir i\u015flemdir. Bu makalede, yeni ba\u015flayanlardan ileri d\u00fczey kullan\u0131c\u0131lara kadar farkl\u0131 seviyelerde bilgi sahibi ki\u015filer i\u00e7in ad\u0131m ad\u0131m bir k\u0131lavuz sunuldu.  Performans optimizasyonu ve olas\u0131 sorunlar ele al\u0131narak, daha g\u00fcvenilir ve etkili bir dosya i\u015fleme s\u00fcreci olu\u015fturulmas\u0131na yard\u0131mc\u0131 olunmu\u015ftur.  Unutmay\u0131n, her zaman yedekleme alman\u0131z ve komutlar\u0131 dikkatlice test etmeniz \u00f6nemlidir.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><\/code>rename<code class=\"language-\"> komutu \u00e7al\u0131\u015fm\u0131yor, ne yapmal\u0131y\u0131m?<\/strong>  Sisteminizde <\/code>rename<code class=\"language-\"> komutunun hangi s\u00fcr\u00fcm\u00fcn\u00fcn kurulu oldu\u011funu kontrol edin.  Baz\u0131 da\u011f\u0131t\u0131mlar <\/code>prename<code class=\"language-\"> kullan\u0131r.  Alternatif olarak, <\/code>perl<code class=\"language-\"> tabanl\u0131 <\/code>rename<code class=\"language-\"> komutunu kullanmay\u0131 deneyebilirsiniz.<br \/>\n2. <strong>\u00c7ok say\u0131da dosya ile \u00e7al\u0131\u015f\u0131rken performans d\u00fc\u015f\u00fcyor, ne yapabilirim?<\/strong>  <\/code>find<code class=\"language-\"> ve <\/code>rename<code class=\"language-\"> komutlar\u0131n\u0131 yukar\u0131da a\u00e7\u0131klanan optimize edilmi\u015f y\u00f6ntemlerle kullan\u0131n.  <\/code>xargs<code class=\"language-\"> kullan\u0131m\u0131 performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<br \/>\n3. <strong>Dosya adlar\u0131nda \u00f6zel karakterler varsa ne yapmal\u0131y\u0131m?<\/strong>  D\u00fczenli ifadelerde \u00f6zel karakterleri uygun \u015fekilde ka\u00e7\u0131r\u0131n.  Gerekirse, <\/code>find<code class=\"language-\"> komutu ile <\/code>-print0<code class=\"language-\"> ve <\/code>xargs -0<code class=\"language-\"> se\u00e7eneklerini kullan\u0131n.<br \/>\n4. <strong>Hata al\u0131yorum, ne yapmal\u0131y\u0131m?<\/strong>  Hata mesaj\u0131n\u0131 dikkatlice inceleyin ve hatan\u0131n nedenini belirleyin.  Daha fazla bilgi i\u00e7in hata mesaj\u0131n\u0131 internette aray\u0131n veya bir forumda yard\u0131m isteyin.<br \/>\n5. <strong>Alt dizinleri de i\u00e7eren bir i\u015flem nas\u0131l yapar\u0131m?<\/strong> <\/code>find<code class=\"language-\"> komutunu kullanarak alt dizinleri dahil edin.  \u00d6rne\u011fin, <\/code>find . -name &#8220;*.txt&#8221;<code class=\"language-\"> komutu ge\u00e7erli dizin ve alt dizinlerindeki t\u00fcm <\/code>.txt` dosyalar\u0131n\u0131 bulur.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash ile T\u00fcm Dosyalara Uzant\u0131 Ekleme: Ad\u0131m Ad\u0131m K\u0131lavuz Dosyalar\u0131n\u0131z\u0131n d\u00fczensiz oldu\u011funu ve hepsine ayn\u0131 uzant\u0131y\u0131 eklemek&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1328],"tags":[],"class_list":{"0":"post-25926","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-bash","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-15T21:45:27+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme\",\"datePublished\":\"2025-07-15T21:45:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/\"},\"wordCount\":438,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Bash\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/\",\"name\":\"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-15T21:45:27+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-15T21:45:27+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme","datePublished":"2025-07-15T21:45:27+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/"},"wordCount":438,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Bash"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/","name":"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-15T21:45:27+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-tum-dosyalara-uzanti-ekleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: T\u00fcm Dosyalara Uzant\u0131 Ekleme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=25926"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25926\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=25926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=25926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=25926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}