Estou tentando compactar um diretório em
/home/cyrus/sql
E eu queria alterar o diretório de trabalho ao fechar a pasta:
/ $ zip -b /home/cyrus sql.zip /home/cyrus/sql
Mas quando eu verifico o arquivo zip:
/ $ unzip -l sql.zip
Archive: sql.zip
Length Date Time Name
--------- ---------- ----- ----
0 2013-05-30 10:59 home/cyrus/sql/
1776642 2013-05-23 10:22 home/cyrus/sql/wordpress.sql
--------- -------
1776642 2 files
A pasta raiz deveria ter sido sql
. O que eu fiz errado?
cd /home/cyrus && zip /sql.zip sql
se você deseja que o arquivo zip seja criado na raiz.não sei se entendi direito, mas -b não mudará a pasta raiz. Ele colocará o arquivo zip temporário no diretório / home / cryus, copiando o sql.zip para o diretório atual quando terminar. Esta opção é útil apenas ao atualizar um arquivo existente, e o sistema de arquivos que contém esse arquivo antigo não possui espaço suficiente para armazenar os arquivos antigos e novos ao mesmo tempo.
tente usar:
-j Armazene apenas o nome de um arquivo salvo (junk the path) e não armazene nomes de diretório. Por padrão, o zip armazenará o caminho completo (relativo ao caminho atual).
fonte
-j
pode não estar certo; Eu assumiria que o OP quer manter caminhos relativos, não remover todos os caminhos.Inspirado pela resposta de Stephane:
O resultado:
fonte
Pode ser mais fácil desvincular a pasta que você está tentando compactar no diretório atual. Dessa forma, você pode ficar onde está.
Eles possuem o link simbólico, se desejar.
fonte