zip / unzip コマンド入門 - Windowsとやり取りする圧縮・解凍の基本
この記事でわかること
結論: zipで固めて、unzipで開く。中身確認と日本語ファイル名の文字化け対処まで覚えれば、Windowsとのやり取りで困らない。
zipでファイルやディレクトリを .zip に圧縮 できるunzipで .zip を解凍 できる(Windowsで作られたzipもOK)- 解凍前に 中身を確認 する安全な手順がわかる
- Windowsから来たzipの 日本語ファイル名の文字化け を直せる
対象読者:ファイル作成・基本コマンドを習得し、Windowsとファイルをやり取りしたい方
導入:Windowsから届いたzipファイル
結論: WindowsはZIP形式が標準。Linux側もzip / unzipを使えば、お互いに圧縮ファイルを送り合える。
report.zip ってファイルをもらったんですけど、Linuxで開けますか?.zip 形式。Linuxでは unzip コマンドで開いて、zip コマンドで作れるんだ。tar とは違うんですか?tar(.tar.gz)はLinux同士でよく使う形式。.zip は Windowsが標準で開ける のが強み。だから「Windowsの人とやり取りするなら zip」と覚えておくといいよ。1. そもそも zip / unzip とは?tar との違いは?
結論: zipは圧縮とまとめを1つで行う形式。Windowsが標準対応するため、相手がWindowsならzipが無難。
zip と tar 、どっちを使えばいいか迷います。| 形式 | 得意な場面 | 備考 |
|---|---|---|
.zip |
Windowsとやり取りする | Windowsが標準で開ける |
.tar.gz |
Linux / Mac 同士 | 権限や記号を正確に保てる |
迷ったらこれ:相手が Windows なら zip、相手が Linux / Mac なら tar.gz。それだけ覚えれば最初は十分です。
zip は「まとめる」と「圧縮する」を1つのコマンドでやってくれる。tar は本来「まとめるだけ」で、圧縮は gzip と組み合わせる——という違いもあるけど、最初は気にしなくて大丈夫。2. zip / unzip をインストールする
結論: Ubuntuでは初期状態でzip / unzipが入っていないことがある。
sudo apt install zip unzipで導入する。
unzip: command not found って出ました...$ sudo apt install zip unzip
zip と unzip 、両方まとめて入れるんですね。zip(作る側)と unzip(開く側)は別パッケージだから、両方入れておくと安心だよ。インストール済みか確認したいときは which を使おう。$ which zip unzip
/usr/bin/zip /usr/bin/unzip
3. zip で圧縮する
結論: ファイルは
zip 名前.zip ファイル、ディレクトリは-rを付けてzip -r 名前.zip ディレクトリで固める。
3-1. ファイルをまとめて圧縮
$ zip report.zip data.csv memo.txt
adding: data.csv (deflated 62%) adding: memo.txt (deflated 20%)
deflated 62% って何ですか?report.zip が 作られるファイル名、その後ろが 詰め込むファイル だよ。3-2. ディレクトリを丸ごと圧縮(-r が必須)
$ zip -r project.zip project/
ここが最大の注意点:ディレクトリを圧縮するときは -r(recursive=中身も全部)が必須です。-r を付け忘れると、中身が入らず空に近いzipができてしまいます。
tar のときも「ディレクトリは特別扱い」でしたね。zip では -r がその役割。ディレクトリを固めるときは反射的に -r を付ける、と体で覚えよう。4. unzip で解凍する
結論:
unzip 名前.zipでカレントディレクトリに展開。-dで展開先を指定すれば散らからず安全。
4-1. カレントディレクトリに展開(基本)
$ unzip report.zip
Archive: report.zip inflating: data.csv inflating: memo.txt
inflating は「膨らませる」、つまり解凍中ってことですね。deflate(しぼませる)、解凍が inflate(膨らませる)。対になってるんだ。4-2. 展開先を指定する(-d で事故防止)
$ unzip report.zip -d ~/work/report
散らかり防止のコツ:unzip は何も指定しないと 今いる場所 にファイルをばらまきます。中身がたくさんあるzipは、-d で専用ディレクトリを指定すると安全です。指定したディレクトリが無ければ自動で作ってくれます。
5. 解凍前に中身を確認する
結論:
unzip -l 名前.zipで展開せずに中身一覧を確認できる。見知らぬzipは展開前に必ず中身を見る。
-l(list)を付ければ、展開せずに中身の一覧だけ 見られるよ。$ unzip -l report.zip
Archive: report.zip
Length Date Time Name
--------- ---------- ----- ----
1024 2026-06-05 10:00 data.csv
256 2026-06-05 10:00 memo.txt
--------- -------
1280 2 files
安全のために:知らない相手からのzipは、必ず unzip -l で中身を確認してから展開しましょう。/etc/... のような変なパスや、見覚えのないファイルが含まれていないかチェックする習慣が事故を防ぎます。
6. 日本語ファイル名が文字化けしたら
結論: Windows製zipの日本語名が文字化けしたら、Ubuntuでは
unzip -O CP932 名前.zipで正しく展開できる。
\203t\202@... みたいな謎の文字になってました!UbuntuやDebianの unzip には、文字コードを指定する -O オプションがあります。
$ unzip -O CP932 windows.zip
なぜ直るのか:-O CP932 は「このzipのファイル名はCP932で書かれている」とunzipに教えるオプションです。これでLinux側が正しくUTF-8に変換し、日本語ファイル名がそのまま表示されます。展開前の確認にも使えます(unzip -O CP932 -l windows.zip)。
-O CP932 を足すだけで直りました!-O はUbuntu / Debianの unzip に入っている便利オプション。環境によっては無いこともあるけど、Windowsとやり取りするなら覚えておいて損はないよ。7. パスワード付きzipを扱う
結論:
zip -eで暗号化zipを作り、解凍時はunzipがパスワードを尋ねる。zipの暗号は強くないため過信しない。
7-1. パスワードを付けて圧縮
$ zip -e secret.zip data.csv
Enter password: Verify password: adding: data.csv (deflated 62%)
7-2. パスワード付きzipを解凍
$ unzip secret.zip
パスワードを尋ねられるので入力すると展開されます。
過信は禁物:従来のzip暗号は強度が高くありません。本当に機密性が必要なファイルは、zipのパスワードだけに頼らず、別の安全な方法(暗号化ツールや安全な転送経路)を検討しましょう。
ミニ課題で手を動かそう
結論: 圧縮 → 中身確認 → 展開先指定で解凍、の一連の流れを自分の手で通して定着させる。
課題1:ディレクトリを圧縮しよう
やること:mydata というディレクトリを作って中にファイルを置き、mydata.zip に圧縮しよう。
ヒント:mkdir、touch、zip -r を使います。
解答例:
$ mkdir mydata $ touch mydata/a.txt mydata/b.txt $ zip -r mydata.zip mydata/
課題2:中身を確認してから展開しよう
やること:作った mydata.zip の中身を一覧表示し、extract というディレクトリを展開先に指定して解凍しよう。
ヒント:unzip -l で確認、unzip -d で展開先を指定します。
解答例:
$ unzip -l mydata.zip $ unzip mydata.zip -d extract $ ls extract/mydata
a.txt b.txt
よくあるミスと対処法
結論: -r忘れ・command not found・展開先散らかり・文字化けの4つが定番。原因と対処をセットで押さえる。
ミス1:ディレクトリを圧縮したのに中身が空
zip backup.zip myfolder ってやったのに、中身がほとんど入ってませんでした。-r の付け忘れだね。ディレクトリは zip -r backup.zip myfolder/ で固める。これは本当によくあるミスだよ。ミス2:unzip: command not found
unzip を打ったら command not found でした。sudo apt install unzip で入れよう。zip を使うなら zip パッケージも別途必要だよ。ミス3:展開したらカレントが散らかった
unzip はデフォルトでカレントに展開するからね。次からは unzip xxx.zip -d 展開先/ で専用ディレクトリに出そう。展開前に unzip -l で「いくつ入っているか」を見るのもおすすめ。ミス4:日本語ファイル名が文字化けする
unzip -O CP932 xxx.zip で直ることが多いよ。Windowsが日本語名をCP932で保存しているのが原因だね。今日のまとめ
結論: zip -rで固め、unzip -lで中を見て、unzip -dで安全に展開。文字化けは-O CP932。この型でWindows連携は十分。
- 作る:
zip -r archive.zip dir/(ディレクトリは-r必須) - 中身を見る:
unzip -l archive.zip(展開前に確認) - 開く:
unzip archive.zip -d 展開先/(散らからない) - 文字化け:
unzip -O CP932 windows.zip(Ubuntu / Debian)