نحوه تعیین نوع فایل یک فایل با استفاده از لینوکس

اکثر مردم به گسترش یک فایل نگاه می کنند و سپس نوع فایل را از این پسوند حدس می زنند. به عنوان مثال زمانی که شما یک فایل با پسوند gif، jpg، bmp یا png را مشاهده می کنید، می توانید از یک فایل تصویری فکر کنید و زمانی که یک فایل با پسوند zip مشاهده می کنید، فرض کنید فایلی با فشرده سازی فشرده سازی فشرده فشرده شده است .

در حقیقت یک پرونده می تواند یک پسوند داشته باشد، اما چیزی کاملا متفاوت است و اگر یک فایل دارای پسوند نیست، چگونه می توانید نوع فایل را تعیین کنید؟

در لینوکس می توانید نوع فایل واقعی را با استفاده از دستور فایل ببینید.

چگونه فرمان فایل کار می کند

با توجه به مستندات، دستورات فایل اجرا می کند سه مجموعه ای از آزمون ها در برابر یک فایل:

اولین مجموعه ای از تست ها برای بازگرداندن یک پاسخ معتبر باعث می شود که نوع فایل چاپ شود.

آزمونهای فایلسیستم بررسی بازگشت از تماس سیستم استات را بررسی می کند. برنامه بررسی می کند که آیا فایل خالی است یا اینکه آیا یک فایل خاص است یا خیر. اگر نوع فایل در فایل هدر سیستم یافت می شود به عنوان نوع فایل معتبر بازگردانده می شود.

تست جادویی محتویات یک فایل و به طور خاص چند بایت در ابتدا را بررسی می کند که به تعیین نوع فایل کمک می کند. فایل های مختلفی وجود دارد که برای کمک به مطابقت یک فایل با نوع فایل مورد استفاده قرار می گیرد و در / 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، بدون درهم آمیخته

خروجی نمایش داده شده تعیین می کند file1 به یک فایل تصویری یا دقیق تر از یک فایل گرافیکی شبکه قابل حمل (PNG) است.

انواع فایل های مختلف نتیجه های مختلفی تولید می کنند:

سفارشی خروجی از فرمان فایل

به طور پیش فرض، دستور file فایل نام و پس از آن تمام جزئیات در بالای فایل را فراهم می کند. اگر فقط می خواهید جزئیات بدون نام فایل تکرار استفاده از سوئیچ زیر:

فایل -b file1

خروجی چیزی شبیه به این خواهد بود:

داده های تصویر PNG، 640 x 341، 8 بیتی / رنگ RGB، بدون interlaced

شما همچنین می توانید جداکننده بین نام فایل و نوع را تغییر دهید.

به طور پیشفرض، delimiter یک کولون (:) است، اما شما می توانید آن را به هر چیزی که دوست دارید مانند نماد لوله به صورت زیر تغییر دهید:

فایل -F '|' file1

خروجی اکنون چیزی شبیه به این خواهد بود:

file1 | داده های تصویر PNG، 640 x 341، 8 بیتی / رنگ RGB، بدون interlaced

اداره چندین فایل

به طور پیش فرض، از فرمان فایل در برابر یک فایل استفاده می کنید. با این حال، می توانید یک نام فایل را که حاوی لیستی از فایل هایی است که توسط دستور file پردازش می شود، مشخص کنید:

به عنوان مثال یک فایل با نام testfiles با استفاده از ویرایشگر nano باز کنید و این خطوط را به آن اضافه کنید:

فایل را ذخیره کرده و دستور زیر را اجرا کنید:

فایل -f testfiles

خروجی چیزی شبیه به این خواهد بود:

/ etc / passwd: متن ASCII
/etc/pam.conf: متن ASCII
/ etc / opt: دایرکتوری

فایل های فشرده

به طور پیش فرض زمانی که شما فرمان فایل را در برابر فشرده سازی فایل اجرا می کنید، خروجی شبیه به این را خواهید دید:

file.zip: اطلاعات آرشیو ZIP، حداقل V2.0 برای استخراج

در حالی که این به شما می گوید که پرونده یک فایل بایگانی است که محتوای فایل را واقعا نمی دانید. شما می توانید داخل فایل zip نگاه کنید تا انواع فایل های فایل را در فایل فشرده مشاهده کنید.

فرمان زیر فرمان فایل را در برابر فایل های داخل یک فایل ZIP اجرا می کند:

file -z filename

خروجی اکنون انواع فایلهای فایل در بایگانی را نشان می دهد.

خلاصه

به طور کلی، اکثر افراد به سادگی از دستور فایل برای یافتن نوع فایل پایه استفاده می کنند، اما برای پیدا کردن اطلاعات بیشتر در مورد همه امکانات که فرمان فایل ارائه می دهد، زیر را در پنجره ترمینال:

فایل شخصی