-fオプションなしでtarを抽出する

-fオプションなしでtarを抽出する

私の質問は次のようになりますtarコマンドの-fパラメータは何をしますか?しかし、アーカイブ抽出に関連しています。tar x代わりに発行したら、tar xf mytarball.tarstdinを介してアーカイブに「入力」する必要がありますか? Ctrl-Zで終了する必要がありますか?

ベストアンサー1

tar実装によって異なります。tarはいテープアーカイバー、ほとんどの実装がオプションをtar提供しない場合は、一部のテープデバイスからデータを抽出します。fxtar

しかし、tarGNUを含むいくつかの実装では、libarchiveはstar最初のテープデバイスではなく標準入力からアーカイブを読み込みます。

$TAPE同じ実装でfこのオプションが指定されていない場合は、環境変数を使用してテープデバイスへのパスを指定することもできます。

tar入力リダイレクトなしでターミナルのシェルプロンプトで実行するときのように、stdinがターミナルデバイスの場合は、tar xtarアーカイブを考慮してアーカイブの内容をキーボードで入力する必要があります(非常にトリッキーです)。バイナリ形式です)eofキーを2回押すか、文字を送信するキーの組み合わせ(通常^D(0x4)、通常はを押して取得)を押してCtrl+D実行されます。

通常、アーカイブの内容を入力せずに、代わりにstdinをファイル、パイプ、またはソケットに設定します。

tar x < file # better as tar xf - < file for portability
xzcat file.xz | tar x

おすすめ記事