it-swarm-es.tech

¿Qué hace el parámetro -f en el comando tar?

Cuando uso tar siempre incluyo -f en los parámetros pero no tengo idea de por qué.

Miré al hombre y dijo;

-f, --file [HOSTNAME:]F

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

Pero para ser honesto, no tengo idea de lo que eso significa. ¿Alguien puede arrojar algo de luz sobre esto?

19
Toby

Los -f opción le dice a tar que el siguiente argumento es el nombre de archivo del archivo, o la salida estándar si es -.

20
ddeimeke

Bastante sencillo. Si omite el -f parámetro, la salida se pasa a stdout:

[email protected]:/tmp/demo$ tar -c a b c
a0000644000175000017500000000000011435437117010223 0ustar  gammygammyb0000644000175000017500000000000011435437117010224 0ustar  gammygammyc0000644000175000017500000000000011435437117010225 0ustar  [email protected]:/tmp/demo$ ls
a  b  c
[email protected]:/tmp/demo$ 

...¡que desastre!

Los -f- parámetro (como citó) espera un nombre de archivo (y opcionalmente un nombre de host), por lo tanto, el primer argumento después es el nombre de archivo de salida:

[email protected]:/tmp/demo$ tar -cf output.tar a b c
[email protected]:/tmp/demo$ ls
a  b  c  output.tar
[email protected]:/tmp/demo$ 
8
gamen

Te permite especificar el archivo o dispositivo con el que vas a trabajar. Ya sea creando, actualizando o extrayendo cosas de él dependiendo de otras banderas proporcionadas. Por ejemplo:

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

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