tar命令中的-f参数有什么作用

tar命令中的-f参数有什么作用

使用时tar我总是包含-f在参数中,但我不知道为什么。

我抬头看了看那个人,他说:

-f, --file [HOSTNAME:]F

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

但说实话我不知道这意味着什么。任何人都可以阐明它吗?

答案1

-f选项告诉tar下一个参数是存档的文件名,或者标准输出(如果是-.

答案2

非常简单。如果省略该-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$ 

答案3

它允许您指定要使用的文件或设备。根据其他提供的标志创建、更新或从中提取内容。例如:

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

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

相关内容