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
-Cpara indicarletarque 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.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:Hay un millón de variaciones sobre el tema, pero esto debería ayudarlo a comenzar. Agregue la
vbandera si desea ver lo quetarrealmente hace.fuente
$PWDes, parecía más seguro usar una ruta absoluta en el ejemplo.file1en 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
-Ces mucho más idiomático (y más corto).Creo que debería ser:
tar czf file.tar.gz -C /var/www/ file1Lo que funciona para mi. Le dice que cambie de directorio y luego elija el archivo.
fuente
Funcionó perfectamente
fuente