zip

zip は ZIP の作成・展開、単一ファイル GZIP の圧縮・展開、内容一覧、整合性テスト、圧縮レベルの指定を行います。

アーカイブバージョン 1.2.5安定版
lil-terminal

概要

圧縮したディレクトリツリーには ZIP、単一ファイルには GZIP を使います。展開前に確認またはテストし、上書きは -f で明示し、成功後に元データを削除したい場合だけ -d を使います。

ZIP はツリーをまとめ、GZIP は一つのファイルを圧縮する

ZIP は複数のファイルやディレクトリを格納できます。GZIP は一つの圧縮データストリームなので、zip <file> -gz が別のアーカイブツリーを作ることはありません。適用できる場面では同じ安全なパス・競合ルールを使います。

構文

lil-terminal
zip <src|arc.zip|file.gz|file.bz2> [dst] [options]

リファレンス

zip <src> [dst]

ZIP アーカイブを作成

zip <arc.zip> [dst]

ZIP を現在のディレクトリまたは <dst> に展開

zip <file.gz|file.bz2> [dst]

GZIP または BZIP2 を展開

使い方

zip <src|arc.zip|file.gz|file.bz2> [dst] [options]

フォルダー全体と単一ファイル

ZIP はフォルダーを圧縮します。-gz と -bz2 は単一ファイルだけを圧縮し、それぞれ zlib と PHP bz2 拡張が必要です。

圧縮方式の指定

標準は DEFLATE です。-0 は無圧縮、-1〜-9 は圧縮レベルです。-m store|deflate|bzip2|lzma|zstd は ZIP 内の方式を選択し、libzip の対応が必要です。

検査と展開

-l は一覧、-t は整合性確認です。-f は上書きを許可し、-d は作成成功後に del で元データを削除します。

安全な展開

危険なパスやリンクは拒否します。結果には対象フォルダーの一階層だけを表示します。

インタラクティブな sandbox プレビュー

用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。

ZIP アーカイブを作成

インストールと管理

現在の互換バージョンをインストールします。全機能は Base、縮小版は Minimum を選び、すでに導入済みのモジュール更新には upgrade を使います。

Base と Minimum は同じ現在のモジュールリリースの二つのパッケージです。

Base パッケージ

ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。

install zip
Minimum パッケージ

縮小パッケージをインストールします。ローカルリファレンスは含まれず、help <cmd> -i で現在のサーバーリファレンスを開きます。

install zip -m
正確な公開版

この公開済みバージョンを正確に指定してインストールします。

install zip -v 1.2.5
確認または更新

upgrade が互換性を確認し、必要な場合だけブロックを置換します。

upgrade zip
モジュールを削除

コアや他のモジュールに触れず拡張ブロックを削除します。

install zip -u

例

例はコピーできますが、サイトは実行しません。実プロジェクトではパス、権限、破壊的オプションを確認してください。

ZIP アーカイブを作成
cd \sandbox | zip data tmp/data.zip
sandbox

README.txt
current.txt
data.tar
data.zip
draft.txt
new.txt
Zip · list
zip tmp/data.zip -l
data/             directory
data/sample.csv   file · 59 B
data/sample.txt  file · 100 B
data/users.json  file · 102 B
Zip · test
zip tmp/data.zip -t
Status   Archive OK
Entries  4
Files    3
Size     261 B
ZIP を現在のディレクトリまたは <dst> に展開
zip tmp/data.zip tmp/restored
data/
ZIP アーカイブを作成
zip data tmp/data.zip
Archive already exists
Zip · data
zip data tmp/data.zip -f
README.txt
current.txt
data.tar
data.zip
draft.txt
new.txt
Zip · data
zip data tmp/data-0.zip -0
README.txt
current.txt
data-0.zip
data.tar
data.zip
draft.txt
new.txt
Zip · data
zip data tmp/data-9.zip -9
README.txt
current.txt
data-9.zip
data.tar
data.zip
draft.txt
new.txt
Zip · data
zip data tmp/data-store.zip -m store
data-store.zip
data.tar
data.zip
Zip · data
zip data tmp/data-deflate.zip -m deflate
data-deflate.zip
data.tar
data.zip
Zip · data
zip data tmp/data-zstd.zip -m zstd
ZIP compression method is not supported on this host
Zip · log
zip logs/app.log tmp/app.log.gz -gz
app.log.gz
app.log
Zip · gz
zip tmp/app.log.gz -l
File        app.log
Compressed  92 B
Original    96 B
Zip · gz
zip tmp/app.log.gz -t
Status  Archive OK
Size    96 B
GZIP または BZIP2 を展開
zip tmp/app.log.gz tmp/restored.log
restored.log
Zip · log
zip logs/app.log tmp/app.log.bz2 -bz2
bz2 extension required
GZIP または BZIP2 を展開
zip tmp/app.log.bz2 tmp/restored.log
restored.log
Zip · txt
zip tmp/draft.txt tmp/draft.zip -d
draft.zip
data.zip
(source draft.txt removed only after successful creation)
ZIP を現在のディレクトリまたは <dst> に展開
zip missing.zip
Source not found

この例で使うファイル: sandbox/data/sample.txt

例では、保護されたドキュメント用 /sandbox/ ワークスペースのファイルまたはディレクトリを使います。

lil-terminal sandbox text file

This file is safe to read, copy, rename, replace, hash and archive.

関連ドキュメント

現在の公開版

v1.2.52026-11-01

プロダクション向け調整

zip の現在の安定版。zip は ZIP の作成・展開、単一ファイル GZIP の圧縮・展開、内容一覧、整合性テスト、圧縮レベルの指定を行います。