Compactar todos os arquivos em um diretório por linha de comando

Índice:

Anonim

Este é um ótimo comando de terminal que compacta todos os arquivos dentro de um diretório, transformando-os em um arquivo zip. Vamos oferecer duas variantes dele; um que remove o arquivo de origem original e deixa apenas os arquivos compactados e outro comando que deixa os arquivos de origem descompactados intactos. Isso foi testado e funciona em Mac OS X e Linux.

Comprima todos os arquivos em um diretório e remova os arquivos de origem

Esta versão compacta todos os itens no diretório atual e, em seguida, remove o arquivo original descompactado:

"

para item em ; do zip -m ${item}.zip>"

Lembre-se de quesignifica todos os arquivos no diretório atual, portanto, certifique-se de estar no diretório que deseja compactar antes de executar o comando. Você sempre pode verificar novamente em qual diretório está trabalhando com o comando 'pwd' também.

Eu testei isso e depois de ler no StevenF e em média ele comprimiu os arquivos 66%, o que é uma redução significativa. Se você tiver uma pasta de downloads ou outros arquivos acessados ​​com pouca frequência, esse comando pode realmente economizar espaço em disco. Obviamente, como ele compacta os arquivos, não faria sentido usá-lo em um diretório onde as coisas são acessadas regularmente.

Comprimir todos os arquivos em um diretório, manter os arquivos originais

Você também pode usar o comando acima para compactar todos os arquivos dentro de um diretório, mas ainda manter os arquivos ou pastas originais como descompactados. O comando é praticamente idêntico, apenas deixe de fora o sinalizador -m:

"

para item em ; do zip ${item}.zip ${item}; feito"

Você agora terá compactado todos os arquivos no diretório de trabalho atual (pwd) e os arquivos de origem originais também permanecerão descompactados.

Este comando funciona no Mac OS X e no Linux, e provavelmente também em outras variantes do Unix.

Confira mais dicas de linha de comando se estiver interessado.

Compactar todos os arquivos em um diretório por linha de comando