{"id":24188,"date":"2025-06-16T07:00:17","date_gmt":"2025-06-16T04:00:17","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/"},"modified":"2025-06-16T07:00:17","modified_gmt":"2025-06-16T04:00:17","slug":"kendi-kabugunuzu-olusturun-codecrafters-surumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/","title":{"rendered":"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc"},"content":{"rendered":"<p><body><\/p>\n<p>Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc<\/p>\n<p>Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m.  Bu, programlama becerilerinizi geli\u015ftirmek ve i\u015fletim sistemlerinin alt seviyelerini anlamak i\u00e7in harika bir yoldur.  \u00d6zellikle Codecrafters gibi projelerle ilgilenenler i\u00e7in olduk\u00e7a faydal\u0131 bir deneyim olacakt\u0131r.  \u00d6ncelikle temel kavramlar\u0131 anlamak \u00f6nemlidir. Sonras\u0131nda, C programlama dili kullanarak bu projeyi hayata ge\u00e7irece\u011fiz.  Haz\u0131rsan\u0131z ba\u015flayal\u0131m!<\/p>\n<h2>Temel Kavramlar<\/h2>\n<p>Kendi shell&#8217;inizi olu\u015fturmadan \u00f6nce, birka\u00e7 \u00f6nemli kavram\u0131 anlamak gereklidir.  Bunlar aras\u0131nda fork(), exec(), pipe(), ve signal handling gibi sistem \u00e7a\u011fr\u0131lar\u0131 yer al\u0131r.  Ayr\u0131ca,  komut sat\u0131r\u0131ndan gelen girdileri i\u015flemek i\u00e7in string manip\u00fclasyon tekniklerine ihtiyac\u0131n\u0131z olacakt\u0131r.  Bunlar\u0131n hepsini detayl\u0131 bir \u015fekilde inceleyece\u011fiz.  \u00d6rne\u011fin,  fork() sistemi, mevcut i\u015flemi kopyalayarak yeni bir i\u015flem olu\u015fturur.  Bu,  shell&#8217;inizin ayn\u0131 anda birden fazla komutu \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 sa\u011flar.  Ba\u015fka bir deyi\u015fle, bu, e\u015fzamanl\u0131 olarak birden fazla i\u015flemi y\u00f6netmenize yard\u0131mc\u0131 olan \u00f6nemli bir fonksiyondur. <\/p>\n<h2>C Programlama Dili ile Shell Geli\u015ftirme<\/h2>\n<p>\u015eimdi, C programlama dili kullanarak basit bir shell nas\u0131l olu\u015fturaca\u011f\u0131m\u0131za bakal\u0131m.  \u0130lk ad\u0131m,  sonsuz bir d\u00f6ng\u00fc i\u00e7inde \u00e7al\u0131\u015facak ve kullan\u0131c\u0131dan komut girdisi alacak bir program yazmakt\u0131r.  Bu d\u00f6ng\u00fc i\u00e7inde,  kullan\u0131c\u0131n\u0131n girdi\u011fi komutu parse edip,  gerekli sistem \u00e7a\u011fr\u0131lar\u0131n\u0131 kullanarak \u00e7al\u0131\u015ft\u0131raca\u011f\u0131z.  A\u015fa\u011f\u0131da basit bir \u00f6rnek g\u00f6rebilirsiniz:<\/p>\n<pre><code class=\"language-c\">\n#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt;\n#include &lt;unistd.h&gt;\n\nint main() {\n  char komut[100];\n  while (1) {\n    printf(\"$ \");\n    fgets(komut, sizeof(komut), stdin);\n    system(komut);\n  }\n  return 0;\n}\n<\/code><\/pre>\n<p>Bu kod,  kullan\u0131c\u0131n\u0131n girdi\u011fi komutu system() fonksiyonu kullanarak \u00e7al\u0131\u015ft\u0131r\u0131r.  Ancak,  daha geli\u015fmi\u015f bir shell i\u00e7in,  fork() ve exec() fonksiyonlar\u0131n\u0131 kullanarak daha fazla kontrol sahibi olman\u0131z gerekecektir.  Bunlar\u0131 nas\u0131l kullanaca\u011f\u0131m\u0131z\u0131 sonraki b\u00f6l\u00fcmlerde daha detayl\u0131 inceleyece\u011fiz. Bu basit \u00f6rnekten yola \u00e7\u0131karak daha geli\u015fmi\u015f \u00f6zellikler ekleyebilirsiniz.  \u00d6rne\u011fin,  pipe i\u015flemleri veya arka plan \u00e7al\u0131\u015ft\u0131rma gibi \u00f6zellikleri entegre edebilirsiniz.   Bu, shell&#8217;inizi daha da i\u015flevsel hale getirecektir. <\/p>\n<h2>Geli\u015fmi\u015f \u00d6zellikler<\/h2>\n<p>Basit bir shell&#8217;in \u00f6tesine ge\u00e7mek i\u00e7in,  pipe() ve  signal handling gibi geli\u015fmi\u015f \u00f6zelliklere odaklanmal\u0131s\u0131n\u0131z.  pipe(),  iki i\u015flem aras\u0131nda veri al\u0131\u015fveri\u015fini sa\u011flayan bir mekanizmad\u0131r. Bu, bir komutun \u00e7\u0131kt\u0131s\u0131n\u0131 ba\u015fka bir komutun girdisi olarak kullanman\u0131za olanak tan\u0131r.  signal handling ise,  \u00f6rne\u011fin Ctrl+C ile shell&#8217;i durdurmak gibi,  i\u015fletim sistemi sinyallerini yakalaman\u0131za ve bunlara uygun \u015fekilde tepki vermenize olanak tan\u0131r.  Bu \u00f6zellikler,  shell&#8217;inizi daha sa\u011flam ve kullan\u0131c\u0131 dostu hale getirecektir.<\/p>\n<p>Bu geli\u015fmi\u015f \u00f6zellikleri eklemek,  kod karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 art\u0131racakt\u0131r.  Ancak, bu karma\u015f\u0131kl\u0131k,  shell&#8217;inizin i\u015flevselli\u011fini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.  Bu nedenle,  kodunuzu iyi organize etmek ve  okunabilirli\u011fini korumak \u00f6nemlidir.  \u0130yi dok\u00fcmantasyon da kodunuzun anla\u015f\u0131lmas\u0131n\u0131 kolayla\u015ft\u0131racakt\u0131r. <\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Kendi shell&#8217;inizi olu\u015fturmak,  i\u015fletim sistemlerinin \u00e7al\u0131\u015fma prensiplerini anlamak ve programlama becerilerinizi geli\u015ftirmek i\u00e7in harika bir f\u0131rsatt\u0131r.  Bu rehberde,  temel kavramlar\u0131 ve C programlama dili kullanarak basit bir shell olu\u015fturmay\u0131 \u00f6\u011frendiniz.  Daha geli\u015fmi\u015f \u00f6zelliklerin eklenmesiyle,  daha g\u00fc\u00e7l\u00fc ve i\u015flevsel bir shell olu\u015fturabilirsiniz.  Umar\u0131m bu makale,  kendi shell&#8217;inizi olu\u015fturma yolculu\u011funuzda size yard\u0131mc\u0131 olmu\u015ftur.  Daha fazla bilgi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> adresini ziyaret edebilirsiniz.<\/p>\n<p>#Etiketler: shell programlama, c programlama, komut sat\u0131r\u0131, i\u015fletim sistemi, kendi shell&#8217;inizi olu\u015fturun, codecrafters, programlama rehberi, fatihsoysal, fork, exec, pipe, signal handling<\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l&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":[1],"tags":[],"class_list":{"0":"post-24188","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc<\/title>\n<meta name=\"description\" content=\"Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m. Bu, programlama becerilerinizi geli\u015ftirmek ve i\u015fletim sistemlerinin alt seviyelerini anlamak i\u00e7in harika bir yoldur. \u00d6zellikle Codecrafters gibi projelerle ilgilenenler i\u00e7in olduk\u00e7a faydal\u0131 bir deneyim olacakt\u0131r. \u00d6ncelikle temel kavramlar\u0131 anlamak \u00f6nemlidir. Sonras\u0131nda, C programlama dili kullanarak bu projeyi hayata ge\u00e7irece\u011fiz. Haz\u0131rsan\u0131z ba\u015flayal\u0131m!\" \/>\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\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m. Bu, programlama becerilerinizi geli\u015ftirmek ve i\u015fletim sistemlerinin alt seviyelerini anlamak i\u00e7in harika bir yoldur. \u00d6zellikle Codecrafters gibi projelerle ilgilenenler i\u00e7in olduk\u00e7a faydal\u0131 bir deneyim olacakt\u0131r. \u00d6ncelikle temel kavramlar\u0131 anlamak \u00f6nemlidir. Sonras\u0131nda, C programlama dili kullanarak bu projeyi hayata ge\u00e7irece\u011fiz. Haz\u0131rsan\u0131z ba\u015flayal\u0131m!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-16T04:00:17+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=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc\",\"datePublished\":\"2025-06-16T04:00:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/\"},\"wordCount\":615,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/\",\"name\":\"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-06-16T04:00:17+00:00\",\"description\":\"Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m. Bu, programlama becerilerinizi geli\u015ftirmek ve i\u015fletim sistemlerinin alt seviyelerini anlamak i\u00e7in harika bir yoldur. \u00d6zellikle Codecrafters gibi projelerle ilgilenenler i\u00e7in olduk\u00e7a faydal\u0131 bir deneyim olacakt\u0131r. \u00d6ncelikle temel kavramlar\u0131 anlamak \u00f6nemlidir. Sonras\u0131nda, C programlama dili kullanarak bu projeyi hayata ge\u00e7irece\u011fiz. Haz\u0131rsan\u0131z ba\u015flayal\u0131m!\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc\"}]},{\"@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":"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc","description":"Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m. Bu, programlama becerilerinizi geli\u015ftirmek ve i\u015fletim sistemlerinin alt seviyelerini anlamak i\u00e7in harika bir yoldur. \u00d6zellikle Codecrafters gibi projelerle ilgilenenler i\u00e7in olduk\u00e7a faydal\u0131 bir deneyim olacakt\u0131r. \u00d6ncelikle temel kavramlar\u0131 anlamak \u00f6nemlidir. Sonras\u0131nda, C programlama dili kullanarak bu projeyi hayata ge\u00e7irece\u011fiz. Haz\u0131rsan\u0131z ba\u015flayal\u0131m!","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\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc","og_description":"Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m. Bu, programlama becerilerinizi geli\u015ftirmek ve i\u015fletim sistemlerinin alt seviyelerini anlamak i\u00e7in harika bir yoldur. \u00d6zellikle Codecrafters gibi projelerle ilgilenenler i\u00e7in olduk\u00e7a faydal\u0131 bir deneyim olacakt\u0131r. \u00d6ncelikle temel kavramlar\u0131 anlamak \u00f6nemlidir. Sonras\u0131nda, C programlama dili kullanarak bu projeyi hayata ge\u00e7irece\u011fiz. Haz\u0131rsan\u0131z ba\u015flayal\u0131m!","og_url":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-06-16T04:00:17+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc","datePublished":"2025-06-16T04:00:17+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/"},"wordCount":615,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/","url":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/","name":"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-06-16T04:00:17+00:00","description":"Merhaba! Fatih Soysal olarak, bu yaz\u0131da sizlere kendi komut sat\u0131r\u0131 kabu\u011funuzu (shell) nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m. Bu, programlama becerilerinizi geli\u015ftirmek ve i\u015fletim sistemlerinin alt seviyelerini anlamak i\u00e7in harika bir yoldur. \u00d6zellikle Codecrafters gibi projelerle ilgilenenler i\u00e7in olduk\u00e7a faydal\u0131 bir deneyim olacakt\u0131r. \u00d6ncelikle temel kavramlar\u0131 anlamak \u00f6nemlidir. Sonras\u0131nda, C programlama dili kullanarak bu projeyi hayata ge\u00e7irece\u011fiz. Haz\u0131rsan\u0131z ba\u015flayal\u0131m!","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kabugunuzu-olusturun-codecrafters-surumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kendi Kabu\u011funuzu Olu\u015fturun: Codecrafters S\u00fcr\u00fcm\u00fc"}]},{"@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\/24188","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=24188"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/24188\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=24188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=24188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=24188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}