「zip」コマンドを使用してファイル拡張子なしでzipアーカイブを作成する方法は?

「zip」コマンドを使用してファイル拡張子なしでzipアーカイブを作成する方法は?

通常、ディレクトリを圧縮するには、次の手順を実行します。

zip -r archive.zip directory/

archive.zipただし、次のように拡張機能を削除しようとすると:

zip -r archive directory/

これは暗黙的に出力に.zip拡張を追加します。作成し.zipて名前を変更せずにこれを行う方法はありますか?

zipUbuntu 18.04でこのバージョンを使用しています。

Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.

答え1

-A--adjust-sfx)オプションを使用すると、zip指定されたアーカイブ名がそのまま処理されます。

zip -Ar archive directory/

archiveこの機能は、アーカイブが自動抽出アーカイブとして作成されていない場合でも機能します。

答え2

zip出力をstdoutに供給してからファイルにリダイレクトできます。

zip -r - -- directory/ > archive

明確にするために、最初のダッシュは標準出力を表し、ダッシュペアは入力リスト内の初期パラメータを区切ります。

関連情報