Pardus Linux’ta file Komutu

TÜBİTAK ULAKBİM tarafından geliştirilen Pardus Linux, açık kaynaklı işletim sistemlerinin sunduğu güçlü komut satırı araçlarını bünyesinde barındırır. Bu araçlardan biri de, sistem yöneticilerinden son kullanıcılara kadar herkesin işini kolaylaştıran file komutudur.


1. file Komutu Nedir?

Windows gibi işletim sistemlerinde bir dosyanın ne tür bir dosya olduğu genellikle uzantısından (örneğin .txt, .exe, .jpg) anlaşılır. Ancak Pardus (ve genel olarak Linux) dünyasında dosya uzantılarının bir önemi yoktur. Bir metin dosyasının adını belge.mp3 yapsanız bile, sistem onun bir metin dosyası olduğunu bilir.

İşte file komutu tam bu noktada devreye girer. Bir dosyanın uzantısına bakmaksızın, o dosyanın gerçekte ne tür bir dosya olduğunu (içeriğini analiz ederek) size söyler.

Nasıl Çalışır?

file komutu, dosyaların içeriğini inceleyerek "sihirli sayılar" (magic numbers) adı verilen özel bayt dizilimlerini arar. Çoğu dosya formatının (PDF, PNG, ZIP vb.) en başında, kendi türünü belirten standart bir imza bulunur. Komut bu imzayı okur ve sistemdeki veritabanıyla karşılaştırarak size doğru sonucu verir.


2. Temel Kullanım

Bir terminal (uçbirim) penceresi açın. En basit kullanımı, file komutunun yanına dosyanın adını yazmaktır:

Bash:
file dosya_adi

Örnek:

Diyelim ki masaüstünüzde gizli_belge adında, uzantısı olmayan bir dosya var.

Bash:

pardus@pardus:~$ file gizli_belge
gizli_belge: PDF document, version 1.4

Gördüğünüz gibi, komut dosyanın uzantısı olmamasına rağmen onun bir PDF belgesi olduğunu tespit etti.


3. En Sık Kullanılan Parametreler

file komutunu daha işlevsel hale getiren bazı önemli parametreler (bayraklar) vardır.

A. -i (MIME Türünü Gösterme)

Dosyanın insan tarafından okunabilen açıklaması yerine, standartlaştırılmış MIME türünü (Multipurpose Internet Mail Extensions) ve karakter kodlamasını görmek isterseniz bu parametreyi kullanabilirsiniz. Özellikle betik (script) yazarken veya web sunucusu yapılandırırken çok faydalıdır.

Bash:
pardus@pardus:~$ file -i resim.jpg
resim.jpg: image/jpeg; charset=binary

B. -b (Kısa Çıktı - Brief)

Normalde file komutu önce dosyanın adını, sonra türünü yazar. Eğer bir betik (bash script) içinde sadece dosya türü bilgisine ihtiyacınız varsa ve dosya adının yazdırılmasını istemiyorsanız -b parametresini kullanabilirsiniz.

Bash:
pardus@pardus:~$ file -b gizli_belge
PDF document, version 1.4

C. -z (Sıkıştırılmış Dosyaların İçine Bakma)

Bir dosya .gz veya .zip gibi bir formatla sıkıştırılmışsa, standart kullanım size sadece "bu bir arşiv dosyasıdır" der. Ancak -z parametresi, sıkıştırılmış dosyanın içindeki verinin ne olduğunu tahmin etmeye çalışır.

Bash:
pardus@pardus:~$ file -z arsiv.gz
arsiv.gz: ASCII text (gzipped)

D. * (Toplu Analiz)

Bulunduğunuz dizindeki tüm dosyaların türünü tek seferde görmek isterseniz, joker karakter olan yıldız (*) işaretini kullanabilirsiniz.

Bash:
pardus@pardus:~$ file *
belge.txt:    ASCII text
logo.png:     PNG image data, 800 x 600, 8-bit/color RGBA, non-interlaced
script.sh:    Bourne-Again shell script, ASCII text executable
Muzik:        directory

(Not: Çıktıda bir klasörün bile directory olarak belirtildiğine dikkat edin, çünkü Linux'ta her şey bir dosyadır.)


4. Gerçek Hayattan Bir Senaryo: Güvenlik Analizi

Pardus sisteminize internetten bir resim dosyası indirdiğinizi varsayalım: manzara.jpg. Ancak dosyadan şüpheleniyorsunuz.

Hemen uçbirimi açıp şu komutu veriyorsunuz:

Bash:
file manzara.jpg

Eğer çıktı şu şekilde gelirse:

manzara.jpg: ELF 64-bit LSB executable...

Bu, dosyanın aslında bir resim değil, çalıştırılabilir bir program (bir yazılım veya potansiyel olarak zararlı bir betik) olduğu anlamına gelir. file komutu sizi uzantı hilesine düşmekten kurtarmış oldu.


Özet

Pardus Linux üzerinde file komutu:

  • Dosyaların uzantısına aldanmaz, gerçek kimliklerini ortaya çıkarır.

  • Sorun giderme, sistem yönetimi ve güvenlik analizi süreçlerinde kritik bir araçtır.

  • Betik yazımında MIME türü tespiti için -i parametresiyle büyük kolaylık sağlar.

Başka bir Linux veya Pardus komutu hakkında daha fazla bilgi almak isterseniz sormanız yeterli! Öğrenme sürecinizde size rehberlik etmekten memnuniyet duyarım. Hangi konularda kendinizi geliştirmeyi hedefliyorsunuz?

file Komutu Nedir?

Linux sistemlerinde dosyaların uzantıları her zaman gerçek türünü göstermez.
Örneğin:

  • resim.jpg aslında bir metin dosyası olabilir.

  • Zararlı bir yazılım kendini .pdf gibi gösterebilir.

  • Bir dosyanın çalıştırılabilir mi, sıkıştırılmış mı, metin mi olduğunu anlamak gerekebilir.

İşte bu noktada file komutu kullanılır.

file komutu bir dosyanın içeriğini analiz ederek gerçek dosya türünü tespit eder.

Pardus Linux’ta sistem yöneticileri, geliştiriciler ve siber güvenlik uzmanları tarafından sık kullanılır.


Temel Kullanım

file dosya_adi

Örnek:

file belge.txt

Çıktı:

belge.txt: UTF-8 Unicode text

Bu çıktı dosyanın bir Unicode metin dosyası olduğunu gösterir.


file Komutu Nasıl Çalışır?

file komutu dosyanın:

  • İçeriğini

  • Binary yapısını

  • Magic number değerlerini

  • Header bilgilerini

inceleyerek tür belirler.

Bu yöntem dosya uzantısından çok daha güvenlidir.


En Çok Kullanılan Örnekler

1. Metin Dosyasını Tanıma

file notlar.txt

Çıktı:

notlar.txt: ASCII text

2. Görsel Dosyasını Tanıma

file fotograf.png

Çıktı:

fotograf.png: PNG image data, 1920 x 1080

3. PDF Dosyasını Kontrol Etme

file kitap.pdf

Çıktı:

kitap.pdf: PDF document, version 1.7

4. Çalıştırılabilir Dosyayı Tanıma

file program

Çıktı:

program: ELF 64-bit executable

Bu dosyanın Linux çalıştırılabilir dosyası olduğunu gösterir.


5. Sıkıştırılmış Dosyayı Tanıma

file arsiv.zip

Çıktı:

arsiv.zip: Zip archive data

Birden Fazla Dosyayı İnceleme

file *.txt

Tüm .txt dosyalarını analiz eder.

Örnek:

not1.txt: ASCII text
not2.txt: UTF-8 Unicode text

Gizli veya Şüpheli Dosyaları İnceleme

Siber güvenlikte çok önemlidir.

Örneğin:

file fatura.pdf

Çıktı:

fatura.pdf: PE32 executable

Bu durumda dosya aslında PDF değil Windows çalıştırılabilir dosyasıdır.

Bu yöntem:

  • Zararlı yazılım analizinde

  • Oltalama saldırılarında

  • Sahte dosya tespitinde

çok kullanılır.


Önemli Parametreler

-i → MIME Türünü Gösterir

file -i resim.png

Çıktı:

resim.png: image/png; charset=binary

Web sistemlerinde faydalıdır.


-b → Dosya Adını Gizler

file -b belge.txt

Çıktı:

ASCII text

Sadece tür bilgisi gösterilir.


-z → Sıkıştırılmış Dosyaları İnceler

file -z arsiv.gz

Sıkıştırılmış içeriği analiz etmeye çalışır.


-f → Liste Halindeki Dosyaları Okur

Önce liste oluştur:

nano liste.txt

İçerik:

dosya1
dosya2
dosya3

Sonra:

file -f liste.txt

Siber Güvenlikte Kullanımı

file komutu:

  • Malware analizi

  • Adli bilişim

  • Zararlı dosya inceleme

  • Şüpheli e-posta eki kontrolü

  • Reverse engineering

alanlarında temel araçlardan biridir.

file komutu siber güvenlik dünyasında en temel analiz araçlarından biridir.
Çünkü saldırganlar çoğu zaman zararlı dosyaları masum görünmesi için farklı uzantılarla gizlerler.

Örneğin:

rapor.pdf
fatura.docx
resim.jpg

gibi görünen dosyalar aslında:

  • Zararlı yazılım

  • Çalıştırılabilir dosya

  • Script

  • Backdoor

  • Trojan

olabilir.

file komutu dosyanın uzantısına değil içeriğine baktığı için gerçek türü ortaya çıkarır.


Neden Önemlidir?

Siber güvenlikte dosyanın gerçek türünü bilmek kritik öneme sahiptir.

Çünkü:

  • Sahte dosyalar tespit edilir

  • Malware analizine başlanır

  • Şüpheli dosyalar doğrulanır

  • Sosyal mühendislik saldırıları anlaşılır

  • Zararlı e-posta ekleri incelenir


Zararlı Yazılım Analizinde Kullanımı

Bir malware örneği elde edildiğinde ilk yapılan işlemlerden biri:

file supheli_dosya

komutudur.

Örnek:

supheli_dosya: PE32 executable

Bu çıktı:

  • Dosyanın Windows çalıştırılabilir dosyası olduğunu

  • Muhtemelen EXE tabanlı malware içerdiğini

gösterebilir.


Oltalama (Phishing) Saldırılarında Önemi

Saldırganlar kullanıcıyı kandırmak için dosya uzantılarını gizler.

Örnek:

maas_listesi.pdf.exe

Windows bazı durumlarda son uzantıyı gizleyebilir.

Kullanıcı bunu PDF sanabilir.

Linux üzerinde:

file maas_listesi.pdf.exe

çıktısı gerçek dosya türünü gösterir.

Bu nedenle SOC ekipleri ve güvenlik analistleri file komutunu sık kullanır.


Adli Bilişimde Kullanımı

Dijital delil incelemelerinde:

  • Disk imajları

  • Şüpheli dosyalar

  • USB bellekler

  • E-posta ekleri

analiz edilir.

file komutu sayesinde:

  • Gizlenmiş içerikler

  • Yanlış uzantılar

  • Binary dosyalar

  • Script türleri

tespit edilir.


Reverse Engineering Sürecindeki Rolü

Tersine mühendislikte ilk adımlardan biri dosyanın ne olduğunu anlamaktır.

Örneğin:

file malware.bin

çıktısı şunları gösterebilir:

  • ELF executable

  • Python script

  • Shell script

  • Shared object

  • ARM binary

Bu bilgi analiz yöntemini belirler.


Linux Sistem Güvenliğinde Kullanımı

Sistem yöneticileri:

  • Şüpheli çalışan dosyaları

  • İzinleri değişmiş binary’leri

  • Beklenmeyen scriptleri

incelemek için kullanır.

Örneğin:

find /tmp -type f -exec file {} \;

Bu komut /tmp altındaki tüm dosyaların türünü analiz eder.


Zararlı Script Tespiti

Bazı saldırganlar:

  • Bash script

  • Python malware

  • Perl backdoor

dosyalarını sahte uzantılarla gizler.

Örneğin:

fotograf.jpg

gerçekte:

Bourne-Again shell script

olabilir.


SOC ve SIEM Ortamlarında Kullanımı

Güvenlik operasyon merkezlerinde:

  • Şüpheli dosya otomasyonu

  • IOC analizi

  • Sandbox süreçleri

içinde file komutu sıkça kullanılır.

Otomatik sistemler dosya tipini belirleyip farklı analiz süreçlerine yönlendirir.


Diğer Siber Güvenlik Araçlarıyla Kullanımı

file komutu genellikle şu araçlarla birlikte kullanılır:

AraçAmaç
strings        Binary içindeki yazıları görmek
hexdump        Hex analiz yapmak
xxd        Binary incelemek
binwalk        Firmware analizi
exiftool        Metadata incelemek
clamscan        Zararlı taraması
yara        Malware imza tespiti

Gerçek Hayat Senaryosu

Bir kullanıcı e-postadan şu dosyayı indiriyor:

odeme_bilgisi.pdf

Şüphelenip kontrol ediyorsunuz:

file odeme_bilgisi.pdf

Çıktı:

PE32 executable (GUI) Intel 80386

Bu durumda dosya aslında:

  • Windows EXE dosyasıdır

  • Büyük ihtimalle trojan içerir

  • Fidye yazılımı olabilir

Bu basit kontrol ciddi bir saldırıyı önleyebilir.


Siber Güvenlik Açısından Avantajları

✅ Çok hızlı çalışır
✅ Dosya uzantısına aldanmaz
✅ Malware analizinde ilk adımdır
✅ Adli bilişim için kritiktir
✅ Linux sistem güvenliğinde çok kullanılır
✅ Sosyal mühendislik saldırılarını tespit etmeye yardımcı olur


Sonuç

file komutu küçük görünmesine rağmen siber güvenlikte son derece güçlü bir araçtır.

Özellikle:

  • Malware analizi

  • Adli bilişim

  • Oltalama saldırıları

  • Zararlı e-posta ekleri

  • Reverse engineering

  • Sistem güvenliği

alanlarında vazgeçilmezdir.

Siber güvenlik öğrenen herkesin ilk öğrenmesi gereken Linux araçlarından biridir.


Diğer Yararlı Komutlarla Birlikte Kullanım

ls

ls -lh

Dosya boyutu ve izinlerini gösterir.


stat

stat dosya.txt

Detaylı metadata verir.


strings

strings program

Binary dosya içindeki okunabilir metinleri gösterir.


hexdump

hexdump -C dosya.bin | head

Hex görünümü sağlar.


Gerçek Hayat Senaryosu

Bir e-posta eki geldi:

maas_bilgisi.pdf

Şüpheli görünüyor.

Kontrol edelim:

file maas_bilgisi.pdf

Çıktı:

PE32 executable

Bu dosyanın aslında Windows zararlı yazılımı olabileceğini gösterir.


file Komutunun Kurulu Olup Olmadığını Kontrol Etme

which file

Pardus’ta Kurulum

Genellikle hazır gelir.

Yüklü değilse:

sudo apt update
sudo apt install file

Yardım Menüsü

man file

veya:

file --help

Avantajları

✅ Hızlıdır
✅ Güvenlidir
✅ Dosya uzantısına bağlı değildir
✅ Siber güvenlikte çok değerlidir
✅ Sistem yöneticileri için temel araçtır


Dezavantajları

❌ Çok özel formatları her zaman tanıyamayabilir
❌ Bozuk dosyalarda yanlış sonuç verebilir
❌ Şifrelenmiş içerikleri analiz edemez


Özet

file komutu Linux dünyasının en önemli analiz araçlarından biridir.

Özellikle:

  • Sistem yönetimi

  • Siber güvenlik

  • Adli bilişim

  • Yazılım geliştirme

alanlarında temel bilgi sağlar.

Pardus kullanıcılarının mutlaka öğrenmesi gereken komutlardan biridir.

file komutunun siber güvenlikteki yeri gerçekten çok önemlidir. Zararlı yazılım analistleri (malware analysts), olay müdahale ekipleri (incident responders) ve sistem yöneticileri için adeta bir "ilk bakış" aracıdır. Neden bu kadar kritik olduğunu detaylandıralım:

Siber Güvenlikte file Komutunun Yeri ve Önemi

Siber saldırganlar, zararlı yazılımlarını gizlemek için sıklıkla dosya uzantılarını manipüle ederler. Bir kullanıcıyı, zararsız görünen bir dosyayı çalıştırmaya ikna etmek (sosyal mühendislik), en yaygın saldırı vektörlerinden biridir. İşte file komutu, bu aldatmacayı saniyeler içinde bozan bir dedektif gibi çalışır.

1. Uzantı Sahtekarlığını (Extension Spoofing) Tespit Etme

Saldırganlar, çalıştırılabilir bir zararlı dosyayı (örneğin .exe, .elf, .sh) masum bir belge veya resim gibi göstermeye çalışır.

  • Senaryo: E-posta ekinizde fatura.pdf adında bir dosya var.

  • Tehlike: Bu aslında bir çalıştırılabilir dosya olabilir. Windows'ta ikonlar değiştirilebilir veya çift uzantı (fatura.pdf.exe) kullanılabilir. Linux'ta ise uzantının zaten önemi yoktur.

  • Çözüm: file fatura.pdf yazdığınızda dönen sonuç PDF document ise sorun yok denebilir (yine de içinde zararlı bir makro veya istismar kodu barındırabilir). Ancak sonuç PE32 executable (GUI) Intel 80386, for MS Windows veya ELF 64-bit LSB executable ise, o dosyanın kesinlikle bir PDF olmadığını ve açılmaması gerektiğini anlarsınız.

2. Kötü Amaçlı Yazılım (Malware) Analizinde İlk Adım

Bir güvenlik uzmanı şüpheli bir dosyayı analiz etmeye başladığında, ilk öğrenmesi gereken şey o dosyanın hangi formatta olduğu ve hangi mimaride (32-bit, 64-bit, ARM, x86 vb.) çalışmak üzere derlendiğidir.

  • file komutu bu bilgiyi anında verir. Uzman, analizi nasıl sürdüreceğine (örneğin hangi tersine mühendislik aracını veya hata ayıklayıcıyı kullanacağına) bu sonuca göre karar verir.

3. Gizlenmiş Verileri (Steganografi / Arşivler) Tespit Etme

Bazen zararlı kodlar başka dosyaların içine saklanabilir.

  • Bir saldırgan, zararlı bir betiği çalıştıran bir bash betiğini .jpg uzantısıyla sisteme yükleyebilir. file komutu, o resmin aslında bir Bourne-Again shell script olduğunu ortaya çıkarır.

  • Ayrıca -z parametresi ile sıkıştırılmış dosyaların (zip, tar, gz) içine bakılarak, arşivi açmadan içindeki verinin ne olduğu hakkında fikir sahibi olunabilir.

4. Forensics (Adli Bilişim) Süreçleri

Bir siber olay gerçekleştiğinde, sistemde bırakılan izler incelenir. Saldırganlar izlerini silmek için log dosyalarının isimlerini değiştirebilir veya silebilir. file komutu, kurtarılan veya ismi değiştirilmiş dosyaların orijinal türlerini tespit ederek adli bilişim uzmanlarına yön gösterir.

Özetle;

file komutu siber güvenlikte "Güvenme, Doğrula" (Zero Trust) yaklaşımının en temel ve en pratik araçlarından biridir. Karmaşık analiz araçlarına geçmeden önce, bir dosyanın "kimliğini" sorgulamanın en hızlı yoludur.


Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu