Parece haber entendido mal el significado de -C(que no es extraño, ya que está documentado vagamente). Para más detalles, consulte serverfault.com/q/416002/86283 .
NN
Respuestas:
48
La forma más fácil, si no necesita usar particularmente -Cpara indicarle tarque cambie a otro directorio, es simplemente especificar la ruta completa al archivo en la línea de comando. Entonces puede estar en el directorio que prefiera para crear la estructura de directorios que desee dentro del archivo.
Lo siguiente creará el archivo /var/www/file.tar.gzy lo colocará file1desde el directorio actual (lo que sea que esté) en él, sin información de ruta en el archivo.
tar czf /var/www/file.tar.gz file1
La ruta (al archivo, a los archivos constituyentes o a ambos), por supuesto, también puede ser relativa. Si file1está dentro /tmp, estás dentro /var/spooly quieres crear el archivo /var/www, puedes usar algo como:
tar czf ../www/file1.tar.gz /tmp/file1
Hay un millón de variaciones sobre el tema, pero esto debería ayudarlo a comenzar. Agregue la vbandera si desea ver lo que tarrealmente hace.
@NN Absolutamente, pero como no tenemos idea de qué $PWDes, parecía más seguro usar una ruta absoluta en el ejemplo.
un CVn
De hecho, pensé que tenía sentido incluir eso para mostrar que es una opción disponible para resolver el problema.
NN
De esa manera, la ruta file1en el archivo tar será /tmp. Esto puede o no ser lo que espera.
mouviciel
8
Convierto los datos comprimidos en una secuencia (-) y renombro y ubico fácilmente (>) siempre que elijo (También siempre tar la ruta relativa (./) para que sea más fácil tratar cuando se descomprime)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
-C
(que no es extraño, ya que está documentado vagamente). Para más detalles, consulte serverfault.com/q/416002/86283 .Respuestas:
La forma más fácil, si no necesita usar particularmente
-C
para indicarletar
que cambie a otro directorio, es simplemente especificar la ruta completa al archivo en la línea de comando. Entonces puede estar en el directorio que prefiera para crear la estructura de directorios que desee dentro del archivo.Lo siguiente creará el archivo
/var/www/file.tar.gz
y lo colocaráfile1
desde el directorio actual (lo que sea que esté) en él, sin información de ruta en el archivo.La ruta (al archivo, a los archivos constituyentes o a ambos), por supuesto, también puede ser relativa. Si
file1
está dentro/tmp
, estás dentro/var/spool
y quieres crear el archivo/var/www
, puedes usar algo como:Hay un millón de variaciones sobre el tema, pero esto debería ayudarlo a comenzar. Agregue la
v
bandera si desea ver lo quetar
realmente hace.fuente
$PWD
es, parecía más seguro usar una ruta absoluta en el ejemplo.file1
en el archivo tar será/tmp
. Esto puede o no ser lo que espera.Convierto los datos comprimidos en una secuencia (-) y renombro y ubico fácilmente (>) siempre que elijo (También siempre tar la ruta relativa (./) para que sea más fácil tratar cuando se descomprime)
fuente
-C
es mucho más idiomático (y más corto).Creo que debería ser:
tar czf file.tar.gz -C /var/www/ file1
Lo que funciona para mi. Le dice que cambie de directorio y luego elija el archivo.
fuente
Funcionó perfectamente
fuente