web-dev-qa-db-ja.com

コマンドラインを介してパスワードでフォルダーを圧縮する

CLIを使用して次のことができるかどうかを知りたいのですが。

複数のサブフォルダーといくつかのファイルを含むフォルダーFがあります。 「password-only-extract」でフォルダーF.Zipファイルに圧縮したい。

57
UnderDog

次のようにcdコマンドを使用して、関連するフォルダーに移動します。

cd /path/to/folder/

(フォルダーFがホームフォルダーにある場合は、単にcd ~を実行できます。)

次に、ターミナルに入力します。

Zip -er F.Zip F

これにより、パスワードの入力が求められます。それを与えると、そのフォルダからパスワードで保護されたZipファイルが作成されます。

  • -eは、Zipファイルの暗号化を有効にします。これが、パスワードを要求する理由です。
  • -rはコマンドを再帰的にします。つまり、フォルダー内のすべてのファイルがZipファイルに追加されます。
  • F.Zipは出力ファイルの名前です。
  • FはZipしたいフォルダーです。

コマンド自体でパスワードを渡すことができる-Pと呼ばれるオプションがありますが、常に肩越しのピークの脅威。また、ps -efスイッチを使用する場合、他のユーザーは-Pコマンドを使用してパスワードを表示できます。その-Pスイッチを使用すると、コマンドは次のようになります。

Zip -P password -r F.Zip F
  • 詳細については、 man Zip をご覧ください。
66
dedunumax

Zipファイルの暗号化は脆弱であり、非常に簡単に破られる可能性があります。代わりに7Zipを使用してください。

7z a -p Fdirectory.7z /path/to/F
  • aコマンドは、7Zipにファイルを追加するよう指示します。
  • -p空白のままにして、対話形式で尋ねるか、ここにパスワードを入力できます。
  • Fdirectory.7zは、作成されるアーカイブの名前です。
  • /path/to/Fは、ディレクトリのパスです。相対パスまたはフルパスを指定できます。

/procディレクトリへのアクセス権を持つすべてのユーザーに表示されるため、シェルにパスワードを入力しないことをお勧めします。

39
Braiam