使用时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