Comprimindo pastas com senha via linha de comando

47

Eu gostaria de saber se é possível fazer o seguinte via CLI.

Eu tenho uma pasta F que contém várias subpastas e alguns arquivos. Eu quero compactar a pasta F no arquivo .zip com o "somente extrair senha".

    
por UnderDog 08.09.2013 / 13:57

2 respostas

48

Vá para a pasta relevante usando o comando cd da seguinte forma:

cd /path/to/folder/

(Se a sua pasta F estiver na sua pasta Home, você pode fazer apenas cd ~ .)

Em seguida, digite seu terminal:

zip -er F.zip F

Isso solicitará uma senha. Dê-o, e isso criará um arquivo zip protegido por senha a partir dessa pasta.

  • -e ativa a criptografia do seu arquivo zip. É isso que faz com que peça a senha.
  • -r torna o comando recursivo, o que significa que todos os arquivos dentro da pasta serão adicionados ao arquivo zip.
  • F.zip é o nome do arquivo de saída.
  • F é a pasta que você deseja compactar.

Existe uma opção chamada -P que permitirá que você passe a senha no comando em si, mas isso não é bom porque há sempre a ameaça de over-the- espreitar o ombro . Além disso, outros usuários podem ver a senha usando o comando ps -ef se você usar a opção -P . Com esse switch -P , o comando ficará assim:

zip -P password -r F.zip F
  • Visite man zip para obter mais informações.
por dedunumax 08.09.2013 / 14:09
33

A criptografia dos arquivos zip é fraca e pode ser quebrada com muita facilidade. Em vez disso, use 7zip.

7z a -p Fdirectory.7z /path/to/F
  • O comando a diz ao 7zip para adicionar arquivos.
  • -p Você pode deixar em branco para perguntar de forma interativa ou digitar sua senha aqui.
  • Fdirectory.7z é o nome do arquivo a ser criado.
  • /path/to/F é o caminho do seu diretório. Pode ser um caminho relativo ou completo.

É recomendável não digitar a senha no shell, pois é visível para qualquer pessoa com acesso ao diretório /proc .

    
por Braiam 09.09.2013 / 13:54