コンテンツにスキップ

file (UNIX)

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
file
Khai phát nguyên ベル viện nghiên cứu
Sơ bản 1973 năm(1973)(Research Unixバージョン4 の một bộ として )
1986 năm(1986)( オープンソース lại thật trang )
リポジトリ https://github /file/file
プログラミング
Ngôn ngữ
C
Đối ứng OS UnixUnix hệ
プラットフォーム クロスプラットフォーム
Loại đừng ファイルフォーマットの kiểm ra
ライセンス BSDライセンスCDDL
Công thức サイト https://darwinsys /file/
テンプレートを tỏ vẻ

file( ファイル ) は,UNIXUNIX 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 なBSDLinuxの ディストリビューションでは, 1986 năm から1987 năm にかけてイアン・ダーウィン(Ian Darwin)がゼロから thư き thẳng したフリー のオープンソースLại thật trang を sử dụng している[2].1989 năm にジェフ・コルヤー(Tiếng Anh bản)によって拡 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 している.

  1. ファイルを đọ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ẻ する.
  2. fileは,ディレクトリ,Danh trước phó きパイプ(FIFO),ソケット,ブロックデバイスファイル,キャラクタデバイスファイル の loại đừng を phân biệt する.
  3. Trường さゼロ の ファイルはそ の ように phân biệt される.
  4. fileは, ファイル の ngoi đầu bộ phận を suy xét して, vị trí sống nhờ vào nhau テストを thật thi する.
  5. fileは, ファイル toàn thể を suy xét して, trạng huống sống nhờ vào nhau テストを thật thi する.
  6. 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(Tiếng Anh bản)
$ 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]
  1. ^Source of the UNIX V4 "file" man page”.2019 năm ngày 22 tháng 8Duyệt lãm.
  2. ^The early history of this program is recorded in its private CVS repository; see[1]the log of the main program
  3. ^The Open Group Base Specifications Issue 7 —filecommand
  4. ^file(1)JM ProjectLinuxUser Commandsマニュアル
  5. ^file(1)NetBSDGeneral CommandsManual(en)
  6. ^libmagic(3)JM ProjectLinuxLibrary Functionsマニュアル
  7. ^libmagic(3)NetBSDLibrary FunctionsManual(en)
  8. ^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.
  9. ^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]

manページ

[Biên tập]

そ の hắn

[Biên tập]