Eu quero tar X diretório não incluindo seus pais

6
tar cvf /var/lib/backup/sample.tar /home/user/.project

No entanto, quando eu extraio, eu também recebo seus pais

/backup/
  - /home/
     - /user/
        - .project/

Esses comandos tar fazem isso porque não inclui mais nada em seus pais (outras pastas sob user , por exemplo).

Eu quero fazer isso programaticamente, portanto, alterar o diretório de trabalho atual para /home/user/ não é realmente uma opção. É possível fazer isso?

    
por User007 25.06.2012 / 03:39

2 respostas

13

Você pode usar a opção -C para mudar para o diretório /home/user antes de tarring ou usar --strip-components 2 na extração.

tar cvfC /var/lib/backup/sample.tar /home/user .project
#                              Note the space ^
tar cvf /var/lib/backup/sample.tar /home/user/.project
tar Cxf /backup /var/lib/backup/sample.tar --strip-components 2
    
por 25.06.2012 / 03:56
2

Eu acho que se você cd para o diretório de nível superior que você deseja criar tar file, você não deve ter esse problema. Ou seja,

cd to user e tar up .project .. você pode especificar o destino do arquivo tar no /var/... como antes.

Ou há uma razão pela qual você não deseja / não pode cd to user ?

    
por 25.06.2012 / 03:43

Tags