すべてを現在のディレクトリに圧縮する


84

現在のディレクトリ内のファイルやフォルダーを含め、すべてを圧縮し、Ubuntu上の単一のZIPファイルにパッケージ化します。

これに最も便利なコマンドは何ですか(また、インストールする必要があるツールの名前がある場合)。

編集:1つのフォルダーまたは複数のファイルを除外する必要がある場合はどうなりますか?

回答:


103

インストールzipして使用する

zip -r foo.zip .

圧縮率を変更するには、フラグ-0(なし)から-9(最適)を使用できます。

ファイルを除外するには、-xフラグを使用します。マンページから:

-x files
--exclude files
          Explicitly exclude the specified files, as in:

                 zip -r foo foo -x \*.o

          which  will  include the contents of foo in foo.zip while excluding all the files that end in .o.  The backslash avoids the shell filename substitution, so that the name matching
          is performed by zip at all directory levels.

          Also possible:

                 zip -r foo foo -x@exclude.lst

          which will include the contents of foo in foo.zip while excluding all the files that match the patterns in the file exclude.lst.

          The long option forms of the above are

                 zip -r foo foo --exclude \*.o

          and

                 zip -r foo foo --exclude @exclude.lst

          Multiple patterns can be specified, as in:

                 zip -r foo foo -x \*.o \*.c

          If there is no space between -x and the pattern, just one value is assumed (no list):

                 zip -r foo foo -x\*.o

          See -i for more on include and exclude.

+1フォルダーまたはファイルを除外する場合はどうすればよいですか?
テリーリー

1
@TerryLiYifeng私はその上の情報を私の答えを編集しました
SkaveRat

18

この質問にGoogle経由でアクセスする多くの人は、「zip」を書くときに「アーカイブして圧縮」することを意味すると思います。zip形式の代替はtarです:

tar -czf copy.tar.gz whatever/

ここで、圧縮されたアーカイブファイルはcopy.tar.gzになり、コンテンツはフォルダ内のすべてのものになります。

 -c, --create
       create a new archive
 -z, --gzip, --gunzip --ungzip
 -f, --file ARCHIVE
       use archive file or device ARCHIVE

1
XZのために、オプションがある--J or --xz
アンワル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.