Повеќето луѓе го гледаат продолжувањето на датотеката, а потоа го погодат типот на датотека од таа екстензија. На пример, кога ќе видите датотека со продолжување на gif, jpg, bmp или png, ќе размислите за датотеката со слика и кога ќе видите датотека со продолжување на zip, претпоставувате дека датотеката е компресирана со помош на алатка за компресирање со zip .
Всушност, датотеката може да има едно проширување, но да биде нешто сосема различно и ако датотеката нема екстензијата, како може да го одреди типот на датотеката?
Во Linux можете да го дознаете вистинскиот тип на датотека користејќи команда за датотеки.
Како функционира датотеката
Според документацијата, командата за датотеки извршува три групи на тестови против датотека:
- тестови на датотечниот систем
- магиски тестови
- јазични тестови
Првиот сет од тестови за да се врати валиден одговор предизвикува типот на датотеката да се отпечати.
Тестирањето на датотечниот систем го испитува враќањето од системскиот повик на системот. Програмата проверува дали датотеката е празна и дали е специјална датотека. Ако типот на датотека се наоѓа во датотеката за заглавието на системот, таа ќе се врати како валиден тип на датотека.
Магичните тестови ја проверуваат содржината на датотеката и конкретно неколку бајти на почетокот кои помагаат да се одреди типот на датотеката. Постојат различни датотеки кои се користат за да се совпаднат датотеката со неговиот тип на датотека и тие се чуваат во / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic. Можете да ги пребришете овие датотеки со ставање на датотека во вашата домашна папка наречена $ HOME / .magic.mgc или $ HOME / .magic.
Конечните тестови се јазични тестови. Датотеката е проверена дали е текстуална датотека. Со тестирање на првите неколку бајти од датотека можете да заклучите дали е ASCII, UTF-8, UTF-16 или во друг формат кој ја одредува датотеката како текстуална датотека. Откако ќе се прикаже сетот на знаци, датотеката се тестира на различни јазици. На пример е датотеката ac програма.
Ако ниту еден од тестовите не работи, излезот е едноставно податоци.
Како да ја користите командата за датотеки
Командата на датотеката може да се користи на следниов начин:
датотека името на датотеката
На пример замислете дека имате датотека наречена file1 ќе ја извршите следната команда:
file1
Излезот ќе биде вака:
file1: PNG податоци за слика, 640 x 341, 8-битна / боја RGB, не-испреплетени
Прикажаниот излез одредува датотеката1 да биде датотека со слика или поточно преносна мрежна графичка (PNG) датотека.
Различни типови на датотеки произведуваат различни резултати како што следува:
- ISO тип на датотека - сектор за подигање на DOS / MBR ISO 9660 CD-Rom податоци за датотечниот систем "етикета" (бутабилен); партиција 2: ID = 0xef, старт-CHS (0x3ff, 254,63), end-CHS (0x3ff, 4,63) старт-сектор 1496, 4736 сектори
- ODS-тип на датотека - Табеларна табела за OpenDocument
- PDF датотека - PDF документ, верзија 1.4
- CSV тип на датотека - ASCII текст, со многу долги редови, со CRLF линии индикатори
Прилагодете го излезот од командата за датотеки
По дифолт, командата за датотека го дава името на датотеката, а потоа сите детали над датотеката. Ако сакате само деталите без повторување на името на датотеката, користете го следниот прекинувач:
датотека-b датотека1
Излезот ќе биде вака:
PNG податоци за слика, 640 x 341, 8-bit / color RGB, не-испреплетени
Можете исто така да го промените разделувачот помеѓу името на датотеката и типот.
По дифолт, раздвојувачот е дебело црево (:), но можете да го промените на нешто што ви се допаѓа, како што е симболот на цевката, на следниов начин:
датотека -F '|' file1
Излезот сега ќе биде вака:
file1 | PNG податоци за слика, 640 x 341, 8-bit / color RGB, не-испреплетени
Ракување со повеќе датотеки
Стандардно, ќе ја користите командата за датотеки против една датотека. Меѓутоа можете да наведете име на датотека кој содржи листа на датотеки што треба да се обработуваат од командата на датотеката:
Како пример отворете датотека наречена testfiles користејќи го нано уредувачот и додајте ги следните редови:
- / etc / passwd
- /etc/pam.conf
- / etc / opt
Зачувајте ја датотеката и стартувајте ја следнава команда:
file -f testfiles
Излезот ќе биде вака:
/ etc / passwd: ASCII текст
/etc/pam.conf: ASCII текст
/ etc / opt: директориум
Компресирани датотеки
Стандардно, кога ја извршувате командата за датотека против компресирана датотека, ќе видите излез нешто слично:
file.zip: податоци од ZIP архиви, барем V2.0 за да се извлече
Додека ова ви кажува дека датотеката е архива датотека што навистина не ја знаете содржината на датотеката. Можете да погледнете во внатрешноста на zip датотеката за да ги видите типовите на датотеки на датотеките во компресираната датотека.
Следната команда ја извршува командата за датотеки против датотеките внатре во ZIP-датотека:
датотека -z име на датотека
Излезот сега ќе ги прикаже типовите на датотеки во архивата.
Резиме
Во принцип, повеќето луѓе едноставно едноставно ќе ја користат командата за датотеки за да го најдат основниот тип на датотека, но за да дознаат повеќе за сите можности кои командата за датотеки ги нуди, внесете го следново во терминалниот прозорец:
човек датотека