2011-01-17 21 views
5

Cuando comprimimos una carpeta, escribimos el comando carpeta tar -cjf folder.tar.bz2, comprime toda la carpeta en ella.compresión de archivos bz2 pregunta

¿Hay alguna forma de comprimir todo dentro de la carpeta pero la carpeta no debería aparecer en el archivo?

Ejemplo: cuando abre el archivo, los archivos dentro de la carpeta aparecerán en lugar de toda la carpeta.

Respuesta

0

I piensa a lo que te refieres es simplemente cd folder; tar -cjf ../folder.tar.bz2 * .[^.]*, pero podría estar equivocado. Esto coloca los nombres de los archivos en el nivel superior en el archivo resultante, en lugar de después de folder/.

parámetro
+0

intentado. pero no creo que funcione alquitrán -cjf folder.tar.bz2 alquitrán: Rechazo cobarde para crear un archivo vacío Pruebe 'tar --help 'o' tar --usage' para más información. – op1

+0

y gracias por su respuesta rápida = D – op1

+0

o hay de todos modos para seleccionar todos los archivos dentro de la carpeta? generalmente, si lo hacemos dentro de la carpeta, agregamos los nombres de archivo que queremos comprimir. – op1

5

uso de alquitrán -C

tar -C folder -jcvf folder.tar.bz2 . 

he intentado esto en mi PC y funcionó;)

+0

Lo hice en el directorio donde está la carpeta, cuando abro el tar.bz2, muestra que todo está almacenado en. carpeta. – op1

+0

Si crees que esta es la respuesta correcta, me alegra que la marques :) –

+0

solo una pregunta más. jeje. los archivos dentro de la carpeta se almacenan en '.' carpeta cuando abro tar.bz2. – op1

3

Esto debe hacerlo:

cd folder; tar -cjf ../folder.tar.bz2 * 

El * al final consigue expandido por el shell a la lista de todos los archivos (excepto ocultos) en el directorio actual. Pruebe echo *.

Para los archivos ocultos, hay dos enfoques posibles:

  1. Use el comando ls con su -A opción (lista de "casi todos" los archivos, es decir, todos excepto . y .. entradas para este y el directorio padre .

    carpeta del CD; alquitrán -cjf ../folder.tar.bz2 $ (ls -a)

  2. expresiones Use comodines (tenga en cuenta que esto no funciona en el tablero, y, cuando cualquiera de los patrones no coincide, lo obtendrá textualmente en la lista de argumentos)

    carpeta de cd; tar -cjf ../folder.tar.bz2 *. [^.] * ..? *

+0

yup, esto funciona, pero ¿qué ocurre si necesito incluir los archivos ocultos? – op1

+0

disculpa por no mencionar los archivos ocultos anteriormente. – op1

+0

@ op1: Archivos ocultos: vea editar. – jpalecek