web-dev-qa-db-ja.com

tarコマンドの-fパラメータの機能

tarを使用するときは、常にパラメーターに-fを含めますが、その理由はわかりません。

私はその男を見上げて言った。

-f, --file [HOSTNAME:]F

use archive file or device F (default
"-", meaning stdin/stdout)

しかし、正直なところ、それが何を意味するのかはわかりません。誰でもそれに光を当てることができますか?

19
Toby

-fオプションは、tarに次の引数がアーカイブのファイル名であること、または-の場合は標準出力であることを伝えます。

20
ddeimeke

かなりシンプルです。 -fパラメータを省略すると、出力はstdoutに渡されます。

gammy@denice:/tmp/demo$ tar -c a b c
a0000644000175000017500000000000011435437117010223 0ustar  gammygammyb0000644000175000017500000000000011435437117010224 0ustar  gammygammyc0000644000175000017500000000000011435437117010225 0ustar  gammygammygammy@denice:/tmp/demo$ ls
a  b  c
gammy@denice:/tmp/demo$ 

...なんてめちゃくちゃ!

-fパラメータ(引用したとおり)はファイル名(およびオプションでホスト名)を想定しているため、その後の最初の引数は出力ファイル名です。

gammy@denice:/tmp/demo$ tar -cf output.tar a b c
gammy@denice:/tmp/demo$ ls
a  b  c  output.tar
gammy@denice:/tmp/demo$ 
8
gamen

使用するファイルまたはデバイスを指定できます。提供された他のフラグに応じて、作成、更新、または抽出を行います。例えば:

# Create a tar file with the contents of somepath/
tar -cvf filename.tar somepath/

# Extract the tar file.
tar -xvf filename.tar
2
signine