Dosyalar, klasörler ve dosya uzantıları
Dosya, bir adı olan bayt dizisidir; klasör ise bir adlar listesinden başka bir şey değildir. Dosya uzantısı, yani son noktadan sonraki harfler, dosyanın içinde gerçekte ne olduğuyla ilgili değildir: yalnızca işletim sistemine onu hangi programla açacağını söyler.
- Ders 5 / 12
- Başlangıç
- Ücretsiz, kayıt yok
Bir kök ve dört dal, fazlası değil
Her klasör adının başındaki sayı yalnızca sıralarının alfabetik olan değil, sizin seçtiğiniz sıra olarak kalması içindir.
-
01-clients
Her müşteri için bir klasör, faturada kullandığınız adla
-
02-active
Yalnızca bu ay elinizde olan; büyüyorsa bir şey bitmiş ve taşınmamıştır
-
03-archive
Biten proje buraya taşınır, silinmez
-
04-personal
İşle ilgisi olmayan her şey, iş yedeğine karışmasın diye
Bu bir örnektir, standart değil. İşiniz başka bir biçimdeyse dalları değiştirin, ama sayılarını az tutun ve üç seviyeden aşağı inmeyin.
Son kontrol: Bu dersteki bilgiler ve araç adları bu tarihte kaynaklarıyla yeniden doğrulanır.
Dosya nedir, klasör nedir
Dosya, işletim sisteminin bir ad verdiği ardışık bayt dizisidir. Hepsi bu. İster fotoğraf, ister metin, ister program olsun, diskte hepsi aynı şeydir: arka arkaya sayılar.
Klasör ise özel bir dosya türünden başka bir şey değildir: resim ya da metin yerine başka dosyaların adlarının listesini tutan bir dosya. Yani aynı diskte bir dosyayı bir klasörden diğerine taşıdığınızda genellikle dosyanın kendisinden tek bir bayt bile yer değiştirmez; yalnızca adı bir listeden diğerine geçer. Disk içinde taşımanın anlık, başka bir diske kopyalamanın zaman almasının sebebi budur.
Yol, bir dosyanın tam adresidir; kökten dosyanın kendisine kadar uzanan klasör zinciri. Windows bunu ters bölü ile, macOS ve Linux ise düz bölü ile yazar ve bu küçük fark, dosyalar iki sistem arasında gezinirken gördüğünüz birçok hatanın kaynağıdır.
Bu yalın tanımdan önemli bir sonuç çıkar: dosya adı başlı başına veridir. Bir dosyanın adı, kimse onu açmadan bir müşteri adını, bir sözleşme tutarını ya da bir dosyanın konusunu ele verebilir. Bu dersin yapay zekâ bölümü tam bu noktaya dönüyor.

Dosya uzantısı nedir, ne değildir
Uzantı, dosya adında son noktadan sonraki o birkaç harftir: .pdf, .jpg, .docx. Tam olarak tek bir iş yapar, fazlası değil: işletim sistemi kendi listesine bakıp o uzantı için hangi programın kayıtlı olduğunu görür ve dosyayı ona verir.
Şimdi neredeyse herkesin yanlış anladığı kısım: uzantı dosyanın içindekini değiştirmez, onu tarif de etmez. Uzantı bir kutuya yapıştırılmış bir etikettir ve etiketi herkes değiştirebilir. Kutunun içindekiler yerinde kalır.
Bunu tam da bu sunucuda denedik. Sekiz çarpı sekiz bir PNG görüntü oluşturduk ve hiçbir dönüştürme yapmadan .jpg ile biten bir ada kopyaladık. file komutu yine PNG dedi, PHP nin görüntü okuma işlevi de türü yine image/png olarak döndürdü. Sebebi dosyanın kendisinde: ilk sekiz baytı 89 50 4E 47 0D 0A 1A 0A idi; resmî PNG şartnamesi buna PNG imzası diyor ve her PNG veri akışının bununla başladığını yazıyor.
Yani birbirinden ayrı iki şey var: dosyanın iddia ettiği şey, ki uzantıdır, ve dosyanın olduğu şey, ki ilk baytlarına yazılıdır. Ciddi programlar ikincisine bakar. Sizin için pratik sonucu: bir görüntü desteklenmeyen biçim mesajıyla açılmıyorsa, adını değiştirmek bunu neredeyse hiç düzeltmez; düzeltirse de uzantısı baştan yanlış demektir.
Çift tıklama ile dosyanın açılması arasındaki dört adım
Üçüncü adıma kadar kimse dosyanın içine bakmamıştır. Bütün uzantı meselesi buradan çıkar.
-
1
Uzantı okunur
Yalnızca son noktadan sonraki harfler, bir harf fazlası değil
-
2
Program aranır
İşletim sistemi kendi listesinde o uzantıya hangi programın kayıtlı olduğuna bakar
-
3
Dosya teslim edilir
İçeriğinden tek bir bayt bile okunmadan
-
4
İçerik okunur
Dosyanın gerçekte ne olduğu ancak burada ortaya çıkar ve bazen bu çok geçtir
macOS ve Linux ta bu zincir biraz farklıdır ve bazen içeriğe de bakılır, ama orada da üçüncü adım dördüncüden öncedir.
photo.jpg.exe adlı bir dosya neden tehlikelidir
Şimdi söylediğimiz iki şeyi yan yana koyun: uzantı yalnızca bir etikettir ve işletim sistemi program seçerken o etiketten başka hiçbir şeye bakmaz. Sonuç, e postada ve mesajlaşma uygulamalarında karşınıza çıkan en eski ve hâlâ en etkili numaradır.
photo.jpg.exe adlı bir dosya, işletim sistemi için çalıştırılabilir bir programdır, çünkü gerçek uzantısı exe dir; adın ortasındaki jpg yalnızca adın bir parçasıdır ve hiçbir anlamı yoktur. Dosya yöneticinizde uzantı gösterimi kapalıysa aynı dosya ekranınızda photo.jpg olarak görünür. Siz bir fotoğraf görürsünüz ve bir programa çift tıklarsınız.
O yüzden bugün yapmaya değer ilk şey şu: dosya uzantısı gösterimini açın. Microsoft yolu kendisi yazmış ve cümlesi tam da bununla başlıyor: File Explorer da dosya adı uzantılarını görmüyorsanız, Windows 11 de View, sonra Show, sonra File name extensions; Windows 10 da View sekmesinde Show/hide grubundaki aynı kutuyu işaretleyin. Bir kez yapılır ve kalır.
Ve kendi kodumuzdan gelen bir nokta: dosya adını temizlemek bu numarayı durdurmaz. WordPress in dosya adlarını düzenleyen standart işlevini bu makinede denedik ve photo.jpg.exe yi olduğu gibi geri verdi; diğer adlarda yaptığı tek şey boşlukları tireye çevirmek oldu. Bunu gerçekte durduran şey başka iki şeydir: izin verilen uzantılar listesi ve dosyanın kendi baytlarını okumak. Serbest çalışma platformumuzun yükleme katmanı ikisini de yapar ve o dosyanın içindeki yorum, uzantıyı kontrol etmenin tek başına bunu görmediğini açıkça yazar.
Konunun devamı var ve yeri bu ders değil; güvenlik izleği hem zararlı yazılım türlerini hem de bir yazılımın nereden alınması gerektiğini ele alıyor.
Altı ay sonra da işe yarayan adlandırma
Adlandırmanın sorunu dağınık olmanız değil. Sorun, adı o andaki kendiniz için yazmanız, altı ay sonraki kendiniz için değil. O kişi "son" un ne demek olduğunu ya da hangi "kopya" nın daha yeni olduğunu bilmez.
Üç kural yeter, gerisi süstür.
Tarihi her zaman yıl, sonra ay, sonra gün olarak yazın, 2026-09-06 gibi. Sebebi güzellik değil; sebebi bu biçimde alfabetik sıralamanın tam olarak zamana göre sıralama olmasıdır. 6-9-26 bu özelliğe sahip değildir ve üstelik hangi sayının ay olduğunu söylemez.
Sürümü sıfatla değil sayıyla gösterin: v01, v02, v03. Baştaki sıfır önemlidir, yoksa sürüm 10, sürüm 2 den önce sıralanır. "Son" bir sıfattır ve bir sıfat bir sonraki sıfata yer bırakır; "son2" ye tam da böyle varılır.
Dosyanın ait olduğu şeyin adını başa koyun, yani müşteriyi ya da projeyi. Böylece bir müşterinin bütün dosyaları, hepsi tek bir klasöre boşaltılmış olsa bile bir arada sıralanır.
Gerekli bir dürüstlük: hiçbir düzen, yazılı olmadıkça ve bir sahibi bulunmadıkça ortak bir sürücüdeki dört kişiye dayanmaz. Dosyalar üç ay sonra yine karışmışsa sorun düzen değildi; sahibi yoktu.
Kalıcı olan ve olmayan dosya adı
Ölçüt tek: bu adı altı ay sonra okuyan biri dosyayı açmadan karar verebiliyor mu.
Altı ay sonra da okunur
- Tarih 2026-09-06 biçiminde, çünkü alfabetik sıra zaman sırası olur
- Dosya adının başında müşteri ya da proje adı
- Sürüm, baştaki sıfırla bir sayı: v01, v02, v10
- Boşluk yerine tire; kısa ama okunur bir ad
Ertesi hafta anlamsızlaşır
- son, son2, son-gercek
- 6-9-26 biçiminde bir tarih, hangi sayının ay olduğu belirsiz
- onemli belge, yeni, onemli belgenin kopyasi
- Tek bir dosyayı saklayan iç içe beş klasör seviyesi
Bu kurallar yalnızca bir kişi onlara sahip çıktığı sürece işler. Ortak bir sürücüde yazılı olmayan kural her zaman kaybeder.
Klasör mü kurmalı, aramaya mı güvenmeli
Tutumumuz: derin klasör ağaçları neredeyse her zaman başarısız olur ve sebebi açık. Her fazladan seviye, kaydetme anında fazladan bir karardır ve yorgun bir insan o kararı vermez; dosya masaüstünde kalır.
Ayakta kalan şey daha basit bir bileşimdir: iki, en fazla üç seviye klasör, artı iyi adlar. O zaman arama işe yarar, çünkü arama dosya adları üzerinden cevap verir ve sizin adlarınız bir şey ifade eder. Arama, düzenin yerine geçmez; aramadan yararlanan kişi, adlandırması doğru olandır.
Daha az söylenen pratik bir kural var: işi bitmek olan bir klasör kurun. Tamamlanan bir proje güncel klasörden arşive taşınmalı, silinmemeli ve yerinde de bırakılmamalıdır. Yalnızca büyüyen bir güncel klasör, başka bir adla masaüstüdür.
Ve düzenlilikle hiç ilgisi olmayan, hepsinden önemli son şey: bunların hiçbiri yedek değildir. Yalnızca tek bir diskte bulunan düzenli bir klasör, o disk bozulduğunda dağınık olanı kadar yok olur. Bu konunun kendi dersi var ve buradan sonraki mantıklı adım odur.
Yapay zekayla hızlı yol
Alışılmış öğüt "baştan düzenli olun" dur ve dört yüz karışık dosyası olan bir klasör için hiçbir işe yaramaz. Hızlı yol, dosya adlarının gerçek listesini çıkarıp bir modelden yeniden adlandırmanın kendisini değil, bir yeniden adlandırma planı istemektir. Bunu bir numaradan bir yönteme çeviren şey tablonun dördüncü sütunudur: modelin emin olmadığı her ad o sütunda "dokunma" olarak işaretlenir ve el değmeden kalır.
- Dosyaları değil, adların listesini alın. O klasörün içinde Windows ta dir /b, macOS ve Linux ta ls -1 yeter.
- Yapıştırmadan önce listeyi bir kez kendiniz okuyun ve dışarı çıkmaması gereken her adı çıkarın. Dosya adı başlı başına veridir ve bu, kimsenin sizin yerinize yapmadığı tek adımdır.
- Aşağıdaki tarifi verin. İş, metin üzerinde örüntü eşleştirmedir, yargı değil; hızlı ve ucuz bir model yeter, güncel tercih için bu sitenin yapay zekâ bölümüne bakın.
- İlk beş satırı elle yeniden adlandırın ve sonuca bakın. Beş satırı kendi gözünüzle görene kadar hiçbir betiği bütün klasörde çalıştırmayın.
Kopyalamaya hazır şablon
Bu, tek bir klasördeki dosya adlarının listesi. Dosyaların içeriğine sahip değilsin ve tahmin etmemelisin.
Adlandırma kuralım: {örn. tarih-musteri-konu-surum}
Adların listesi:
{listeyi buraya yapıştırın}
Bana dört sütunlu bir tablo ver:
mevcut ad | önerilen ad | mevcut adın hangi kısmından aldın | dokunma
Katı kurallar:
- Adın kendisinde zaten bulunmayan bir tarihi asla yazma.
- Bir Celali tarihi Miladi tarihe çevirme; olduğu gibi bırak.
- Yalnızca addan emin değilsen dördüncü sütuna "dokunma" yaz ve ikinciyi boş bırak.
- Hiçbir adı tamamlama ve hiçbir kelime ekleme.
Çıktıya güvenmeden önce: O tarifteki son iki katı kural süs değil; gerçek bir denemeden çıktılar. Bunu beş adlık bir örnek listede yaptığımızda adların ikisi hiç tarih taşımıyordu ve "tarih-musteri-konu" kuralı bir tarih uydurmaya itiyordu; bir ad da ayı bilinmeden Miladi tarihe çevrilemeyecek bir Celali yıl taşıyordu. "Dokunma" sütunu o denemeden sonra eklendi. Ve hiçbir istemin kaldırmadığı bir sınır: model yalnızca adları gördü, içerikleri değil. Rapor adlı bir dosya pekâlâ geçen yılın raporu olabilir.
Bu işte yapay zeka
Bu konuda yapay zekâ bir işi gerçekten iyi yapar: karışık bir ad yığınından bir örüntü çıkarır ve bir adlandırma kuralı önerir; bu, bir insan için can sıkıcı, bir model için zahmetsiz bir iştir. Yapamadığı şey ise tam olarak bu dersin konusudur: bir dosyanın içinde ne olduğunu bilmez, çünkü gördüğü tek şey sizin yapıştırdığınız addır.
Gerçekten işe yarayan araçlar
- Gemini Uzun bir ad listesini yeniden adlandırma tablosuna çevirmeye uygundur, çünkü uzun metinle rahat çalışır. İran, Google un kendi desteklenen ülkeler listesinde değil; ayrıntısı bu sitedeki araç sayfasında.
- Claude O tarifteki katı kurallara daha iyi karşılık verir ve bir şey uydurmak yerine "dokunma" sütununu doldurmaya daha yatkındır. İran, şirketin iki desteklenen ülke listesinin ikisinde de yok.
- ChatGPT İşinizin tarifinden bir klasör yapısı önermek için iyidir; buradaki hiçbir hassas girdi gerektirmeyen tek görev budur. Aynı erişim kısıtı geçerli.
Nerede geri teper
Buradaki risk beklenmedik bir yerden gelir ve ilk bölümde söylediğimiz şeydir: dosya adı başlı başına veridir. Bir iş klasöründeki adların listesi genellikle müşteri adlarını, proje başlıklarını, bazen bir tutarı ve hatta bir telefon numarasını da beraberinde dışarı taşır ve bunların hepsi tek bir dosya açılmadan bir sohbete düşer. Google un Gemini için kendi gizlilik sayfası, bir insan gözden geçirenin görmesini ya da Google un hizmetlerini geliştirmek için kullanmasını istemeyeceğiniz bilgileri girmemenizi açıkça söylüyor. O yüzden listeyi yapıştırmadan önce kendiniz okuyun. İkinci risk daha incedir: model dosyaların içeriğini görmemiştir, dolayısıyla bir dosyanın ne olduğuna dair kurduğu her cümle addan tahmin edilmiştir. Bu, tam da bu dersin baştan sona anlattığı hatadır; yalnızca bu kez onu yapan modeldir.
Kaynaklar: Google: Gemini Apps Privacy Hub (last updated 10 August 2026) Anthropic: is my data used for model training
Bu tavsiyenin sınırı
Uzantı, masaüstü dünyasının bir uzlaşımıdır. Telefonda ve web in içinde onu genelde hiç görmezsiniz ve bir mesajlaşma uygulamasından gelen dosyanın adı tamamen değişmiş olabilir. Daha önemlisi, bir dosyanın gerçek baytlarını okumak onun ne olduğunu kanıtlar, güvenli olduğunu değil: kusursuz geçerli bir docx zararlı bir makro taşıyabilir ve gerçek bir PDF in içinde bir betik olabilir. Adlandırma kuralları da yalnızca bir kişi onlara sahip çıktığı sürece yaşar; dört kişilik ortak bir sürücüde, yazılı olmadıkça ve bir sahibi bulunmadıkça en iyi düzen bile bir mevsim içinde dağılır.
Kendi işimizden
"Uzantı içeriği belirlemez" iddiasını aynı gün bu sunucuda çalıştırdık ve beş satır çıktısı var. Sekiz çarpı sekiz bir PNG görüntü oluşturduk, hiç dönüştürmeden holiday.jpg olarak kopyaladık ve sonra: file komutu, sürüm 5.45, iki dosya için de PNG image data, 8 x 8 dedi; PHP deki getimagesize işlevi o jpg adlı dosya için image/png döndürdü; ve ilk sekiz bayt xxd ile okundu ve tam olarak 8950 4e47 0d0a 1a0a idi, yani resmî PNG şartnamesinin her PNG nin onunla başladığını söylediği imza. İkinci yarıyı da denedik, çünkü herkes adı temizlemenin yeterli olduğunu sanır: bu makinede WordPress in sanitize_file_name işlevi Farsça bir fatura dosyasının adını tireli bir sürüme çevirdi ama photo.jpg.exe yi tam olduğu gibi, el değmeden geri verdi. Kendi platformlarımızda bunu gerçekte durduran şey rgb-freelance/includes/uploads.php te yazılıdır: önce izin verilen uzantılar listesi, sonra geçici dosya üzerinde wp_check_filetype_and_ext ve görüntüler için getimagesize. O işlevin üstündeki, onu kurarken kendi yazdığımız yorum, uzantıyı tek başına kontrol etmenin bunu görmediğini söylüyor. Daha da ilginci, aynı katman bazen uzantıyı kendisi değiştirir: bir PNG, JPEG olarak daha küçük çıkarsa dosya jpg uzantısıyla saklanır ve yeni yol döndürülür. Yani bizim kodumuzda da uzantı içeriği izler, tersi değil.
Gerçek devam soruları
Windows ta dosya uzantılarını nasıl gösteririm?
Windows 11 de File Explorer da View, sonra Show a gidip File name extensions ı seçin. Windows 10 da View sekmesinde, Show/hide grubunda aynı kutuyu işaretleyin. Bir kez yapılır ve kalır; ondan sonra çift uzantılı bir dosya ilk bakışta kendini ele verir.
Bir dosyanın uzantısını değiştirirsem ne olur?
İçerik hiç değişmez; işletim sistemi bundan sonra onu yalnızca başka bir programa verir. Olağan sonuç, programın onu açmayı reddetmesi ya da bir biçim hatası vermesidir. Uzantıyı değiştirmek bir dosyayı dönüştürmez; dönüştürmek, bir programın içeriği okuyup yeniden yazması demektir.
Dosyaları Farsça adlandırmakta bir sorun var mı?
Kendi bilgisayarınızda genelde hiç sorun yoktur ve bu sitede Farsça bir ad, yalnızca boşlukları tireye dönerek korunur. Sorun dosya yolculuğa çıkınca başlar: bir sistemde yapılıp başka bir sistemde açılan bir arşiv bazen bozuk adlar gösterir ve bir web adresindeki Farsça ad uzun bir kodlanmış diziye dönüşür. Web e çıkacak dosyalar için Latin harfli bir ad daha güvenli seçimdir.