uniceではファイル拡張子は必要ありませんが、遭遇するすべてのtar、gzip、またはbzipされたファイルには.tar
、.tar.gz
やのようなファイル拡張子があります.tgz
。
そのための特別な理由はありますか、それとも単なる慣習ですか?
uniceではファイル拡張子は必要ありませんが、遭遇するすべてのtar、gzip、またはbzipされたファイルには.tar
、.tar.gz
やのようなファイル拡張子があります.tgz
。
そのための特別な理由はありますか、それとも単なる慣習ですか?
回答:
もともと、UNIXシステムでは、ファイル名の拡張子は慣例の問題でした。それらは人間がファイルを開くための適切なプログラムを選択することを可能にしました。現代の慣習では、ほとんどの場合拡張機能を使用します。一般的な例外は次のとおりです。
README
、TODO
。時には例えば、サブカテゴリを示す追加的な部分がありINSTALL.linux
、INSTALL.solaris
。.bashrc
、.profile
、.emacs
。Makefile
。(これらは一般的なケースであり、厳格なルールではありません。)
ほとんどのバイナリファイル形式には、ファイルのプロパティを説明するヘッダーの種類も含まれており、通常、マジックナンバーによってファイル形式を識別できます。file
コマンドこの情報を見て、ショーあなたがその推測。
ファイル拡張子はファイル形式よりも多くの情報を提供する場合もあれば、逆の場合もあります。たとえば、多くのファイル形式はzipアーカイブで構成されています。Javaライブラリ(.jar
)、OpenOfficeドキュメント(.odt
、…)、Microsoft Officeドキュメント(.docx
、…)などです。別の例はソースコードファイルで、拡張子はプログラミング言語を示します。コンピュータがファイルの内容から自動的に推測するのが難しい。逆に、いくつかの拡張機能は非常にあいまいです。たとえば.o
、コンパイルされたコードファイル(オブジェクトファイル)に使用されますが、ファイルの内容を調べると、通常、オブジェクトファイルのマシンタイプとオペレーティングシステムが簡単にわかります。
拡張機能の利点は、ファイルを開いてマジックシーケンスを探すよりも、認識した方がはるかに高速であることです。たとえば、シェルでのファイル名の補完は、ほとんどの場合、名前(主に拡張子)に基づいています。これは、大きなディレクトリのすべてのファイルを読み取るのに時間がかかる可能性があるのに対し、ファイル名を読み取るだけの場合は、Tabプレスに十分な速度です。
ファイルの拡張子を変更すると、2つのファイル形式がほぼ同じであるが完全に同一ではない場合に、ファイルの解釈方法を指定できる場合があります。例えば、ウェブサーバは扱うかもしれない.shtml
と.html
、異なったいくつか受けて旧サーバー側の前処理を、後者は、ある務めました。
gzip形式のアーカイブの場合は、gzip
名前の両端で再圧縮ファイルではないだろう.gz
、.tgz
といくつかの他の拡張機能。これによりgzip *
、ディレクトリ内のすべてのファイルを圧縮して実行でき、すでに圧縮されているファイルは変更されません。
拡張子は必要ないかもしれませんが、の出力でそれらを識別しやすくなりますls
。
tar
取得したアーカイブの種類を通知する必要があります。
ファイル拡張子は、主にシステムを使用する人間のための規則です。ファイル名拡張子を使用して処理を行うツールがあります。たとえば、Nautilusは、ファイル拡張子に基づいて異なるアイコンを表示します。
というファイルをあなたに渡した場合、file
このファイルを開く方法がわからない可能性があります。私はあなたの名前のファイルを与えた場合は、file.tar.gz
またはfile.tar
あなたが迅速かつ容易にそれを把握することができます。