このチュートリアルでは、完全なガイドと、「Linuxでファイルを圧縮する方法」にリストされているすべての重要なオプションを紹介します。 Linuxでファイルまたはディレクトリを圧縮すると、未使用のファイルを圧縮することでバックアップを取り、ディスク領域を節約できます。 Ubuntu Linux 20.04を使用しています この投稿のすべての例を紹介します。
Zipとは
Zipは基本的に、Linuxフレーバー、Windows、Mac、さらには一部のRISCシステムを問わず、ほぼすべてのオペレーティングシステム用のファイルパッケージ化および圧縮ユーティリティです。
いくつかの場合を除いて、デフォルトですべてのLinuxまたはUnixシステムに常にインストールされます。これは、2つのコマンドの組み合わせに類似しています tar および圧縮 。
通常、zipプログラムは1つ以上の圧縮ファイルをLinuxに配置します ファイルに関するメタ情報とともに単一のzipアーカイブにまとめられます。
Linuxでのzipファイルの圧縮率は約2:1または3:1で、テキストファイルでは一般的であり、ファイルの種類によって異なります。 1つのzipコマンドで、ディレクトリ構造全体をzipアーカイブに入れることができます。
4GBを超える大規模なアーカイブの場合 、zipは自動的にzip64拡張子を使用します 。 ZipはPkzipと互換性があります およびPkunzip ユーティリティも。
Zipはbzip2圧縮ユーティリティもサポートするようになりました bzip2ライブラリが一般的にzipでコンパイルされる場合。
解凍 およびタール 2つのコンパニオンです ユーティリティ。解凍すると、zipアーカイブが解凍または解凍され、tarがバックアップの作成に使用されます。
Zipユーティリティの前提条件
特別な前提条件はありません。必要なのは、 zipかどうかを確認することだけです。 Linuxにインストールされているかどうか。
このコマンドを実行します。 zipおよびunzipユーティリティがインストールされます そこにない場合。すでにインストールされている場合は、出力に示されているようにアップグレードするか、何もしません。
$ sudo apt install zip unzip
zipおよびunzipユーティリティが表示されます すでに最新バージョンになっています。これで、この時点までzipとunzipのインストールが完了し、Linuxでファイルとフォルダーを圧縮するの世界を探索する準備が整いました。
CentosまたはFedoraディストリビューションをお持ちの場合 。下記のコマンドを実行して、zipをインストールして解凍します
$ sudo yum install zip
$ sudo yum install unzip
2つのオプションを使用してLinuxでファイルを圧縮する方法について説明します
- グラフィカルユーザーインターフェイス(GUI)を使用してLinuxでファイルを圧縮する
- コマンドラインインターフェイス(CLI)を使用してLinuxでファイルを圧縮する
最初のオプションを確認しましょう-
LinuxGUIでファイルを圧縮する方法
ステップ1:-
1つまたは複数のファイルが存在するディレクトリに移動します。
ステップ2:-
ファイルを選択して右クリックし、圧縮を選択します。
ステップ3:-
アーカイブ名を付けます。 sample-zipを提供します 例として。
ステップ4:-
完了です!!
Linuxターミナルでファイルを圧縮する方法
まず、zipの構文をご覧ください。 説明付き-
$ zip options "output_file_name" "target_file" "target_folder"
どこ
output_file_name- 指定する出力ファイルの名前。 zip拡張子 自動的に追加されます。
target_fileまたはfolder- zipするファイルまたはフォルダのパスであり、ワイルドカードが含まれている可能性があります。
さまざまなオプションとZipの例を見てみましょう 1つずつプログラムします。
例1:-Linuxでファイルを圧縮または圧縮する方法
dev@test:~$ zip test file1 file2
出力
追加:file1(収縮69%)
追加:file2(収縮69%)
dev @ test:〜$ ls test *
test.zip
dev @テスト:〜$
ファイル名と圧縮率が出力に反映されます。ご覧のとおり、 .zipは含まれていません。 拡張子、それでもデフォルトのコマンドはそれを出力ファイル名に追加します。私の場合、「 test-zip.zip "。
抑制したい場合 このzipコマンドの出力では、-qオプションを使用できます。 。
dev@test:~$ zip -q test file1 file2
出力
dev @ test:〜$ ls -ltrh test *
-rw-r--r-- 1 dev dev 56K Jun 18 16:30 test.zip
dev @ test:〜$
zipでoutput-file-nameを指定し忘れた場合があります。 コマンドを実行すると、デフォルトで最初のファイル名が出力ファイルとして選択され、2番目のファイルが zipに選択されます。 。したがって、以下の例では、複数のファイルを圧縮する方法も示しています。 Linuxの場合。
dev@test:~$ zip file1 file2
出力
追加:file2(69%収縮)
dev @ test:〜$ ls -l * .zip
-rw-r--r-- 1 dev dev 28519 Jun 18 16:33 file1.zip
例2:-Linuxでフォルダーとサブフォルダーを圧縮する方法
通常、zipアーカイブを作成する必要があります ファイルとサブディレクトリを含むディレクトリに移動します。 Zip option -r そのディレクトリ構造を再帰的にトラバースするのに役立ちます。
dev@test:~$ zip -r test sample/
出力
追加:sample /(保存0%)
追加:sample / file2(収縮69%)
追加:sample / file1(収縮69%)
dev @ test:〜 $lsサンプル*
test.zip
Zipユーティリティの圧縮レベル
デフォルト zipファイルの圧縮レベルは-6です そしてあなたは0から9の間の数を選ぶすべての自由を持っています。 -0を選択した場合 その場合、圧縮は行われません。つまり、Unixでファイルを圧縮することはありません。
-9を選択する場合 zipプログラムは、すべてのファイルまたはフォルダに最適な圧縮を選択するように強制されます。
例3:-圧縮レベル0および9の使用方法
dev@test:~$ zip -r -0 test.zip sample/
出力
追加:sample /(0%保存)
追加:sample / file2(0%保存)
追加:sample / file1(0%保存)
出力には、圧縮レベルとして0を選択すると、ファイルまたはフォルダーの圧縮中に圧縮がまったく行われないことが示されます。 。
例-
dev@test:~$ zip -r -9 test sample/
出力
追加:sample /(保存0%)
追加:sample / file2(収縮69%)
追加:sample / file1(収縮69%)
dev @ test:〜 $
Zipがファイルを圧縮できないことを検出した場合、Linuxではファイルを圧縮せずにそのままアーカイブして保存します。
bzip2について話しました 私のzipの紹介でも 声明。 bzip2 また、すべてのLinuxバージョンにデフォルトでインストールされます。 bzip2方式を使用してファイルを圧縮する場合は、-Zを使用できます。
例4:-bzip2ユーティリティを使用してLinuxでファイルを圧縮する方法
dev@test:~$ zip -r -Z bzip2 test.zip sample/
出力
追加:sample /(0%保存)
追加:sample / file2(bzip圧縮74%)
追加:sample / file1(bzip圧縮74%)
dev @ test:〜$ ls test.zip
test.zip
出力を比較すると、bzip2を使用すると、同じファイルの圧縮率が69%から74%に増加しました。
したがって、ファイルをbzipすることで、より多くのスペースを節約できる可能性があります。 ただし、圧縮レベルを変更したり、bzip2を使用してスペースを節約したりすると、CPUリソースにペナルティが課せられ、Linuxでファイル数が多い場合は、圧縮に時間がかかります。
ただし、インターネット経由で転送または送信する場合は、ネットワークリソースを確実に節約できます。
Linuxでファイルを圧縮して暗号化する
多くの場合、ファイルを保存したり、誰かにファイルを送信/転送したりする必要があり、機密データや個人データが含まれている可能性があります。
このファイルの誤用を防ぐために、いつでもパスワードを暗号化または有効化できます。 -eを使用したアーカイブファイル オプション 。
例5:-Linuxでzipファイルのパスワードを有効にする方法
dev@test:~$ zip -e test.zip sample/
パスワードを要求する出力
パスワードの入力:
パスワードの確認:
追加:sample /(0%保存)
dev @ test:〜$ ls sample
sample / test.zip
パスワードを誰かに送信する場合は、受信者とパスワードを共有することを忘れないでください🙂
Linuxで分割zipファイルを作成する
アーカイブする大きなファイルがあり、FTPサイトまたはファイルホスティングベンダーのストレージまたはアップロードの制限のために、ファイルを分割する必要がある場合があります。
サイズを指定して-sオプションを使用してzipファイルを作成できます。乗数は、k(キロバイト)、m(メガバイト)、t(テラバイト)として設定できます。
例6:-Linuxで分割zipファイルを作成する方法
Ubuntu20.04isoイメージのzipファイルがあります ubuntu.zip(2.5G)という名前で、1gアーカイブに分割します ファイル。
dev@test:~/sample$ ls -ltrh ubuntu.zip -rw-r--r-- 1 dev dev 2.5G Jun 18 17:51 ubuntu.zip
dev@test:~/sample$ zip -s 1g ubuntu.zip --out split copying: ubuntu-20.04-desktop-amd64.iso dev@test:~/sample$
出力
dev @ test:〜/ sample $ ls -ltrh split *
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:03 split.z02
-rw-r--r-- 1 dev dev 504M Jun 18 18:04 split.zip
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:04 split.z01
split.zip、split.z01、split.z02をご覧ください
これで、zipを使用してファイルを分割し、これをターゲットに結合することを検討します。心配しないでください。頭をかいてはいけません。
例7:-Linuxで分割zipファイルを追加または結合する方法
分割ファイルを保存したディレクトリに移動します
dev@test:~/sample$ ls -ltrh split*
出力
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:03 split.z02
-rw-r--r-- 1 dev dev 504M Jun 1818:04split。 zip
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:04 split.z01
分割されたzipファイルに参加します。
dev@test:~/sample$ cat split.z* > join.zip
出力のサイズを検証する
dev @ test:〜/ sample $ ls -ltrh join.zip
-rw-r--r-- 1 dev dev 2.5G 6月18日18:13join.zip
例8:-Linuxでzipファイルを更新する方法
1つのファイルをzipに追加するのを忘れた、または既存のzipにさらにファイルを追加したい場合は、 -u オプションが役立ちます。この例では、 file4を追加します 既存のtest.zipに ファイル。
dev@test:~$ zip -u test.zip file4
出力
追加:file4(69%収縮)
例9:-Linuxでzipアーカイブからファイルを除外する方法
ディレクトリに多数のファイルがあり、一部のファイルをzipアーカイブから除外したいシナリオ。 オプション-x ここの救世主です。
現在、サンプルディレクトリに3つのファイルがあります
dev@test:~$ ls -ltrh sample/
合計264K
-rw-r--r-- 1 dev dev 88K Jun 17 21:51 file1
-rw-r--r-- 1 dev dev 88K Jun 17 23:21 file2
-rw-r--r-- 1 dev dev 88K Jun 18 18:20 file3
file3を除外しましょう 、アーカイブされたファイルは2つだけです。
dev@test:~/sample$ zip test.zip * -x file3
出力
追加:file1(収縮69%)
追加:file2(収縮69%)
dev @ test:〜/ sample $
例10:-Linuxでファイルを圧縮する際の詳細モード
進捗状況を確認したい場合は、-vオプション 冗長または診断バージョン情報として知られている情報は、特に多数のファイルを操作している場合に役立ちます。
dev@test:~$ zip -v -r test.zip sample/
出力
追加:sample /(in =0)(out =0)(0%保存)
追加:sample / file3(in =90082)(out =28359)(69%収縮)
追加:sample / file2(in =90082)(out =28359)(収縮69%)
追加:sample / file1(in =90082)(out =28359)(収縮69%)
合計バイト=270246、圧縮=85077-> 69%の節約
dev @ test:〜$
例11:-Linuxでワイルドカードを使用してファイルを圧縮する
この世界で最もよく使用されるワイルドカードはアスタリスク(*)です。私の見解では、Zipユーティリティはこの便利なワイルドカード文字をサポートしています。すべてのファイル名を入力する必要はありません。
dev@test:~/sample$ zip file.zip file*
出力
追加:file1(収縮69%)
追加:file2(収縮69%)
追加:file3(収縮69%)
dev @ test:〜/ sample $
Linuxでのzip中のいくつかの一般的な問題とエラーコード
ステータス出力
0 通常;エラーや警告は検出されませんでした 、アーカイブが完了したことを意味します
2 Unixでのzipファイルの予期しない終わり 。
11エラーを読んだり探したりする ファイルを読み取れません
12zipは何の関係もありません 一部のアクションが欠落しています
13不足しているまたは空のzipファイル
14ファイルへの書き込みエラー
ビデオチュートリアル
初心者向けの「Linuxでファイルを圧縮する方法」を簡単にするために、ビデオも作成しました。便利だと思ったら、見て、いいねして、共有してください。Ubuntu20.04にVirtualBox6.1をインストールする方法
UbuntuにRubyをインストールする方法
Ubuntu18.04LTSにKubernetesとDockerをインストールして設定する方法