Linux Kullanarak Bir Dosya Dosya Türü Nasıl Belirlenir

Çoğu kişi bir dosyanın uzantısına bakar ve ardından bu uzantıdaki dosya türünü tahmin eder. Örneğin, gif, jpg, bmp veya png uzantılı bir dosya gördüğünüzde, bir görüntü dosyası düşünürsünüz ve bir zip uzantısı olan bir dosya gördüğünüzde, dosyanın bir sıkıştırılmış sıkıştırma yardımcı programı kullanılarak sıkıştırılmış olduğunu varsayalım.

Gerçekte bir dosya bir uzantıya sahip olabilir ancak tamamen farklı bir şey olabilir ve bir dosyada uzantı yoksa dosya türünü nasıl belirleyebilirsin?

Linux'ta, dosya komutunu kullanarak gerçek dosya türünü bulabilirsiniz.

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

Belgelere göre, dosya komutu bir dosyaya karşı üç set test çalıştırır:

Geçerli bir yanıt döndüren ilk test kümesi dosya türünün yazdırılmasına neden olur.

Dosya sistemi testleri bir stat sistem çağrısından dönüşü inceler. Program, dosyanın boş olup olmadığını ve özel bir dosya olup olmadığını kontrol eder. Dosya türü sistem başlık dosyasında bulunursa, geçerli dosya tipi olarak iade edilir.

Sihirli sınamalar, dosya türünü ve özellikle dosya türünü belirlemeye yardımcı olan birkaç bayt içeriğini denetler. Dosya türü ile bir dosyayı eşleştirmek için kullanılan çeşitli dosyalar vardır ve bunlar / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic dizinlerinde saklanır. Bu dosyaları, $ HOME / .magic.mgc veya $ HOME / .magic adlı ev klasörünüze bir dosya yerleştirerek geçersiz kılabilirsiniz.

Son testler dil sınavlarıdır. Dosya bir metin dosyası olup olmadığını kontrol edilir. Bir dosyanın ilk birkaç baytını test ederek, bir ASCII, UTF-8, UTF-16 veya dosyayı bir metin dosyası olarak belirleyen başka bir formatta olup olmadığını görebilirsiniz. Karakter kümesi çıkarıldıktan sonra dosya farklı dillere karşı test edilir. Örneğin, dosya ac programıdır.

Testlerin hiçbiri işe yaramazsa, çıktı sadece veridir.

Dosya Komutu Nasıl Kullanılır

Dosya komutu aşağıdaki gibi kullanılabilir:

dosya adı

Örneğin, file1 adında bir dosyanız olduğunu hayal edin, aşağıdaki komutu çalıştırın:

dosya dosyası1

Çıkış böyle bir şey olacak:

file1: PNG görüntü verileri, 640 x 341, 8 bit / renk RGB, titreşimsiz

Gösterilen çıktı, dosya1'in bir görüntü dosyası olduğunu veya daha kesin bir şekilde bir taşınabilir ağ grafiği (PNG) dosyası olduğunu belirler.

Farklı dosya türleri aşağıdaki gibi farklı sonuçlar üretir:

Dosya Komutundan Çıktının Özelleştirilmesi

Varsayılan olarak, dosya komutu dosya adını ve ardından dosyanın üzerindeki tüm ayrıntıları sağlar. Sadece dosya adı olmadan detayların tekrarlanmasını istiyorsanız, aşağıdaki anahtarı kullanın:

dosya -b dosyası1

Çıkış böyle bir şey olacak:

PNG görüntü verileri, 640 x 341, 8 bit / renkli RGB, titreşimsiz

Aynı zamanda dosya adı ile tür arasındaki sınırlayıcıyı da değiştirebilirsiniz.

Varsayılan olarak, sınırlayıcı bir kolondur (:) ancak bunu boru sembolü gibi istediğiniz herhangi bir şeye değiştirebilirsiniz:

dosya -F '|' dosya1

Çıktı şimdi böyle bir şey olacak:

dosya1 | PNG görüntü verileri, 640 x 341, 8 bit / renkli RGB, titreşimsiz

Birden Fazla Dosya İşleme

Varsayılan olarak, dosya komutunu tek bir dosyada kullanırsınız. Ancak, dosya komutu tarafından işlenecek dosyaların listesini içeren bir dosya adı belirtebilirsiniz:

Örnek olarak , nano düzenleyiciyi kullanarak test dosyaları adı verilen bir dosyayı açın ve bu satırları buna ekleyin:

Dosyayı kaydedin ve aşağıdaki dosya komutunu çalıştırın:

dosya -f test dosyaları

Çıkış böyle bir şey olacak:

/ etc / passwd: ASCII metni
/etc/pam.conf: ASCII metni
/ etc / opt: dizin

Sıkıştırılmış Dosyalar

Varsayılan olarak, sıkıştırılmış bir dosyaya karşı dosya komutunu çalıştırdığınızda, çıktıyı şöyle göreceksiniz:

file.zip: ZIP arşiv verileri, en az V2.0 ayıklamak

Bu, dosyanın bir arşiv dosyası olduğunu söylerken, dosyanın içeriğini gerçekten bilmezsiniz. Sıkıştırılmış dosya içindeki dosyaların dosya türlerini görmek için zip dosyasının içine bakabilirsiniz.

Aşağıdaki komut, bir ZIP dosyasındaki dosyalara karşı dosya komutunu çalıştırır:

dosya -z dosya adı

Çıkış şimdi arşivdeki dosya türlerini gösterecektir.

özet

Genel olarak, çoğu kişi basit bir dosya türünü bulmak için dosya komutunu kullanacak, ancak dosya komutunun aşağıdakileri terminal penceresine yazmasını sağlayacak tüm olasılıklar hakkında daha fazla bilgi edinecektir:

adam dosya