file (UNIX)
こ の ký sự はKiểm chứng khả năngなTham khảo văn hiến や xuất xứが toàn く kỳ されていないか, không thập phần です.(2020 năm 12 nguyệt) |
Khai phát nguyên | ベル viện nghiên cứu |
---|---|
Sơ bản |
1973 nămResearch Unixバージョン4 の một bộ として ) 1986 năm ( オープンソース lại thật trang ) | (
リポジトリ | https://github /file/file |
プログラミング Ngôn ngữ | C |
Đối ứng OS | Unix・Unix hệ |
プラットフォーム | クロスプラットフォーム |
Loại đừng | ファイルフォーマットの kiểm ra |
ライセンス | BSDライセンス・CDDL |
Công thức サイト | https://darwinsys /file/ |
file
( ファイル ) は,UNIX・UNIX hệのオペレーティングシステムにおけるコマンドの một つであり,ファイルに hàm まれるデータ の loại đừng を nhận thức するために sử dụng する.
Lịch sử
[Biên tập]file
の オリジナル の バージョンは, 1973 năm にResearch Unixバージョン4 の một bộ としてリリースされたも の である[1].System Vでは, いくつか の quan trọng な変 càng を hàm むメジャーアップデートが hành われた. Đặc に, プログラム の バイナリ tự thể に hàm まれていたファイルタイプ tình báo が phần ngoài の テキストファイルに di された.
ほとんど の chủ yếu なBSD・Linuxの ディストリビューションでは, 1986 năm から1987 năm にかけてイアン・ダーウィン(Ian Darwin)がゼロから thư き thẳng したフリー のオープンソースLại thật trang を sử dụng している[2].1989 năm にジェフ・コルヤーによって拡 trương され, tới nay, Guy Harris, Chris Lowth, Eric Fischerなど の nhiều く の người による tu chỉnh が thêm えられている. 1993 năm sau nửa から, Christos Zoulasがメンテナンスを hành っている.OpenBSDは, ゼロから tác thành された một mình の サブセット thật trang を sử dụng しているが, ダーウィンとZoulasによるファイルタイプ tình báo を dẫn き続き sử dụng している.
Sĩ dạng
[Biên tập]Single UNIX Specification(SUS)では, コマンドライン の dẫn số で chỉ định されたファイルに đối して dưới の liên tiếp の テストが thật hành されることを quy định している.
- ファイルを đọc み lấy ることができない trường hợp, またはそ のUNIXファイルタイプが chưa quyết định の trường hợp,
file
プログラムは, ファイルが処 lý されたがそ の loại đừng が chưa quyết định である chỉ を tỏ vẻ する. file
は,ディレクトリ,Danh trước phó きパイプ(FIFO),ソケット,ブロックデバイスファイル,キャラクタデバイスファイル の loại đừng を phân biệt する.- Trường さゼロ の ファイルはそ の ように phân biệt される.
file
は, ファイル の ngoi đầu bộ phận を suy xét して, vị trí sống nhờ vào nhau テストを thật thi する.file
は, ファイル toàn thể を suy xét して, trạng huống sống nhờ vào nhau テストを thật thi する.- Thượng nhớ の いずれ の テストでも phân biệt できなかった trường hợp, ファイルはデータファイルとして phân biệt される.
file
の vị trí sống nhờ vào nhau テストは, thông thường, ファイル nội の dạng 々な nơi をマジックナンバーの テキストデータベースと chiếu hợp することで thật trang される (# sử dụng phương phápを tham chiếu ). これは,拡 trương tửやMIMEなどといった hắn の giản 単なファイル loại đừng phân biệt pháp とは dị なる.
ほとんど の thật trang では,file
コマンドはデータベースを sử dụng して ngoi đầu bộ の phân tích を thật thi する. そ の データベースは,magic
というファイルに cách nạp されている. こ の ファイルは, thông thường/etc/magic
や/usr/share/file/magic
などに trí かれている.
Sử dụng phương pháp
[Biên tập]SUS[3]では, dưới の オプション の thật trang が nghĩa vụ phó けられている.
- -Mfile- vị trí sống nhờ vào nhau テストを hàm む đặc biệt にフォーマットされたファイルを chỉ định する. デフォルト の vị trí sống nhờ vào nhau テストと trạng huống sống nhờ vào nhau テストは thật hành されない.
- -mfile--Mと cùng dạng だが, デフォルト の テストを sau で thật thi する.
- -d- chỉ định されたファイルに đối してデフォルト の vị trí sống nhờ vào nhau およびコンテキスト sống nhờ vào nhau テストを thật hành する.-Mや-mが chỉ định されていない trường hợp の デフォルト の động tác である.
- -h- đã tồn の ファイルまたはディレクトリを chỉ すシンボリックリンクを nghịch tham chiếu しない.
- -L- đã tồn の ファイルまたはディレクトリを chỉ すシンボリックリンクを nghịch tham chiếu する.
- -i- kỹ càng tỉ mỉ なファイル loại đừng の phân biệt を hành わず, tồn tại しない, ブロックデバイスファイル, キャラクターデバイスファイル, ディレクトリ, danh trước phó きパイプ, ソケット, シンボリックリンク, thông thường の ファイル の いずれかとして phân loại する. Linux[4]とBSD[5]ではこ の オプション の động tác が dị なり, nhận thức されたファイル hình thức のMIMEタイプで tỏ vẻ する.
オペレーティングシステムによっては,-s'special files',-k'keep-going',-r'raw'など の オプションが thêm vào されている ( sử dụng pháp は# thật hành lệを tham chiếu ).
こ の コマンドは, ファイル の thật tế の nội dung ではなく, ファイル の nội dung が “ど の ように thấy えるか” の みを kỳ す. Vốn dĩ の ファイル loại đừng とは dị なるマジックナンバーを phân れ込ませることで,file
プログラムは giản 単に lừa すことができる. よって,file
コマンドは riêng の trạng huống bên ngoài ではセキュリティツールとして sử dụng できない.
Thật hành lệ
[Biên tập]$ file file.c file.c:Cprogramtext
$ file program program:ELF32-bitLSBexecutable,Intel 80386,version1 (SYSV),dynamically linked (usesshared libs),stripped
$ file/dev/hda1 /dev/hda1:block special(0/0)
$ file -s/dev/hda1 /dev/hda1:Linux/i386ext2filesystem
-sは, một bộ の プラットフォームで の み sử dụng khả năng な phi tiêu chuẩn オプションであるが, デバイスファイルとして phân biệt する の ではなく, デバイスファイルを đọc み lấy ってそ の nội dung を phân biệt するようにfile
に chỉ thị することに chú ý する tất yếu がある. Thông thường,file
はデバイスファイルを đọc み lấy ろうとしない. そ の ようなファイルを đọc み lấy ると, vọng ましくない tác dụng phụ が sinh じる khả năng tính があるためである.
$ file -k -r libmagic-dev_5.35-4_armhf.deb # (onLinux) libmagic-dev_5.35-4_armhf.deb:Debian binary package (format 2.0) - currentararchive - data
Phi tiêu chuẩn オプション-kを sử dụng すると, プログラムは lúc ban đầu にヒットが thấy つかったとき đình chỉ せず, hắn の nhất trí するパターンを thăm す. Một bộ の バージョンで sử dụng khả năng な-rオプションを sử dụng すると, in ấn できないĐổi nghề コードが8 tiến số biểu hiện ではなく sinh の hình thức で tỏ vẻ される.
$ file compressed.gz compressed.gz:gzipcompresseddata,deflated,originalfilename,`compressed', last modified: Thu Jan 26 14:08:23 2006,os:Unix
$ file -i compressed.gz # (onLinux) compressed.gz:application/x-gzip;charset=binary
$ file data.ppm data.ppm:Netpbm PPM"rawbits"imagedata
$ file /bin/cat /bin/cat:Mach-Ouniversal binarywith 2architectures /bin/cat [for architectureppc7400):Mach-Oexecutableppc /bin/cat (forarchitecturei386):Mach-Oexecutablei386
Libmagicライブラリ
[Biên tập]Ian Darwin/Christos Zoulasバージョン のfile
の バージョン4.00 lấy hàng,file
の cơ năng はC ( およびC trao đổi ) リンクを giới してアクセス khả năng なlibmagic
ライブラリに tổ み込まれている[6][7].file
はそ の ライブラリを sử dụng して thật trang される[8][9].
Chú thích
[Biên tập]- ^“Source of the UNIX V4 "file" man page”.2019 năm ngày 22 tháng 8Duyệt lãm.
- ^The early history of this program is recorded in its private CVS repository; see[1]the log of the main program
- ^The Open Group Base Specifications Issue 7 —filecommand
- ^
file(1)
–JM ProjectLinuxUser Commandsマニュアル - ^
file(1)
–NetBSDGeneral CommandsManual(en) - ^
libmagic(3)
–JM ProjectLinuxLibrary Functionsマニュアル - ^
libmagic(3)
–NetBSDLibrary FunctionsManual(en) - ^Zoulas, Christos (27 February 2003)."file-3.41 is now available".File(Mailing list).2013 năm ngày 1 tháng 1 duyệt lãm.
- ^Zoulas, Christos (24 March 2003)."file-4.00 is now available".File(Mailing list).2013 năm ngày 1 tháng 1 duyệt lãm.
Phần ngoài リンク
[Biên tập]file
:determine file type –The Open GroupCơ bản sĩ dạng thư đệ 7 hào 2018 năm bản “シェル cập びユーティリティ”- file mailing list
- file releases
manページ
[Biên tập]file(1)
–LinuxUser CommandsManual(en)libmagic(3)
–NetBSDLibrary FunctionsManual(en)libmagic(3)
–LinuxLibrary FunctionsManual(en)file(1)
–OpenBSDGeneral Commandsマニュアル
そ の hắn
[Biên tập]- Fine Free File Command– homepage for version of
file
used in major BSD and Linux distributions. - File for Windows– webpage of nativeGnuWin32port of
file
for 32 bit Windows. - Thelibmagic-dev packageonpackages.debian.org
- TrID,an alternative providing ranked answers (instead of just one) based on statistics.