Closed8

Linuxでトップディレクトリを含めずに隠しファイルやフォルダを含めてZIP圧縮する

ピン留めされたアイテム
hirenhiren

結論:含めたくないトップディレクトリの中でカレントを指定して再帰付けてzip

[hoge]$zip -r hoge.zip .
hirenhiren

こんな構成

hoge
|   .eslintrc.json
|   .gitignore
|   package-lock.json
|   package.json
|   README.md
|   tsconfig.json
|
+---.git
|   |   .test1
|   |   config
|   |   HEAD
|   |
|   \---hooks
|           .test2
|           pre-push.sample
|
+---doc
|       README.md
|
\---src
    |   .npmignore
    |   package-lock.json
    |   package.json
    |
    +---bin
    |       .test3
    |
    \---lib
hirenhiren

解凍時にトップディレクトリ(hoge)が含まれてしまう

zip -r hoge.zip hoge
hirenhiren

hogeディレクトリの中でzip

[hoge]$zip -r hoge.zip *

トップディレクトリは含まれなくなるが、カレントディレクトリの隠しファイルやフォルダが含まれなくなってしまう

.
|   package-lock.json
|   package.json
|   README.md
|   tsconfig.json
|
+---doc
|       README.md
|
\---src
    |   .npmignore
    |   package-lock.json
    |   package.json
    |
    +---bin
    |       .test3
    |
    \---lib
hirenhiren

ワイルドカード指定をやめてカレントを指定してみる

[hoge]$zip -r hoge.zip .

トップディレクトリを含めずに隠しファイルやフォルダを含めてZIP圧縮出来た!

.
|   .eslintrc.json
|   .gitignore
|   package-lock.json
|   package.json
|   README.md
|   tsconfig.json
|
+---.git
|   |   .test1
|   |   config
|   |   HEAD
|   |
|   \---hooks
|           .test2
|           pre-push.sample
|
+---doc
|       README.md
|
\---src
    |   .npmignore
    |   package-lock.json
    |   package.json
    |
    +---bin
    |       .test3
    |
    \---lib
hirenhiren

逆に言えば、ワイルドカード指定すれば隠しファイルや隠しフォルダがzipに入らない

hirenhiren

おまけ
除外したいファイルやディレクトリがある場合は、-xオプションで除外が可能

[hoge]$zip -r hoge.zip . -x ".git/*"

トップディレクトリを除外しつつ隠しファイルやフォルダを含め、尚且つ一部ファイルやディレクトリを除外する事は、可能!

.
|   .eslintrc.json
|   .gitignore
|   package-lock.json
|   package.json
|   README.md
|   tsconfig.json
|
+---doc
|       README.md
|
\---src
    |   .npmignore
    |   package-lock.json
    |   package.json
    |
    +---bin
    |       .test3
    |
    \---lib
このスクラップは26日前にクローズされました