Compresser des dossiers avec mot de passe via la ligne de commande

48

J'aimerais savoir s'il est possible de faire les choses suivantes via l'interface de ligne de commande.

J'ai un dossier F qui contient plusieurs sous-dossiers et certains fichiers. Je veux compresser le dossier F dans le fichier .zip avec le "password-only-extract".

    
posée UnderDog 08.09.2013 - 13:57
la source

2 réponses

51

Accédez au dossier correspondant en utilisant la commande cd comme ceci:

cd /path/to/folder/

(Si votre dossier F est dans votre dossier d'accueil, vous pouvez simplement faire cd ~ .)

Ensuite, tapez votre terminal:

zip -er F.zip F

Cela vous demandera un mot de passe. Donnez-le et cela créera un fichier zip protégé par mot de passe à partir de ce dossier.

  • -e active le chiffrement de votre fichier zip. C'est ce qui le fait demander le mot de passe.
  • -r rend la commande récursive, ce qui signifie que tous les fichiers du dossier seront ajoutés au fichier zip.
  • F.zip est le nom du fichier de sortie.
  • F est le dossier à compresser.

Il existe une option appelée -P qui vous permettra de passer le mot de passe dans la commande elle-même, mais ce n'est pas bon car il y a toujours la menace de dépassement épaule furtivement . D'autres utilisateurs peuvent également voir le mot de passe en utilisant la commande ps -ef si vous utilisez -P switch. Avec ce commutateur -P , la commande ressemblera à ceci:

zip -P password -r F.zip F
  • Visitez man zip pour plus d'informations.
réponse donnée dedunumax 08.09.2013 - 14:09
la source
35

Le chiffrement des fichiers zip est faible et peut être rompu très facilement. Au lieu de cela, utilisez 7zip.

7z a -p Fdirectory.7z /path/to/F
  • La commande a indique à 7zip d'ajouter des fichiers.
  • -p Vous pouvez soit laisser ce champ vide pour vous demander de manière interactive, soit taper votre mot de passe ici.
  • Fdirectory.7z est le nom de l'archive à créer.
  • /path/to/F est le chemin de votre répertoire. Il peut être relatif ou complet.

Il est recommandé de ne pas taper le mot de passe dans le shell car il est visible par toute personne ayant accès au répertoire /proc .

    
réponse donnée Braiam 09.09.2013 - 13:54
la source

Lire d'autres questions sur les étiquettes