Linuxサーバーのスペースを節約しようとしましたが、サブフォルダーに22 GBのイメージを含むフォルダーがあります。
だから私はそれらを圧縮することにしました。
まず、tarを使用します。
tar -zcf folder.tar folder
その後、gzipで圧縮
gzip folder
最後に、もし備えてbzip2
bzip2 folder
結局のところ、folder.tar.gz.bzip2
すべての総合はまだ22GBです!より正確な精度を使用して1%のスペースを節約しましょう!
私がここで何か間違っているのでしょうか?私は節約額が1%より数倍大きいと期待しています!
ファイルをどのように圧縮できますか?
答え1
圧縮率は非常に圧縮したいターゲットによって異なります。同じバイナリ空間で表現できる全数値範囲を最大限に活用できないため、テキストは非常によく圧縮されます。したがって、これを実行する形式(圧縮ファイルなど)は、テキストエンコーディングで意味のないすべてのバイナリを使用して、より少ないスペースに同じ情報を格納でき、単一バイトで文字を効率的に表現できます。進み、そのような良い圧縮率を得ることです。
ファイルがすでに圧縮されている場合、通常再圧縮しても大きな利点はありません。これが余分なスペースを節約するならば、最初の圧縮アルゴリズムがやや悪いという信号かもしれません。質問の性質として見ると、その多くはメディアファイルなので、すでに圧縮されていると仮定します(アルゴリズムは解凍速度を優先しますが)。したがって、そのファイルから多くの情報を取得できません。石の中の血に似ています。情報を失うことなくできるだけ小さく作られました。
スペースが本当に心配な場合は、ただ「bzip2 -9」をしてgoodと呼んでください。しかし、XZの割合については良いニュースを聞いた。私はXZを直接使用していませんが(他の人の素材を解凍することを除く)、bzip2よりも比率が良いはずですが、圧縮/圧縮解除に時間がかかります。
答え2
データがすでに高度に圧縮されており、情報が利用できなくなったため、圧縮試行が失敗しました。詳しくは、他の回答をご覧ください。ただし、同意できる場合損失が多い圧縮とロスレス以前に試したように、画像を大幅に圧縮できます。ただし、データが削除されたため回復できません。
以下は、imagemagickを使用してすべてのJPEG画像を再圧縮する例です。ファイルが上書きされることに注意してください。
find image_directory -type f -name "*.jpg" -exec mogrify -quality 75% {} \+
答え3
最も一般的な画像形式はすでに圧縮されているため(jpg、png、gifなど)、コストを節約することはできません。 1%は良いようです。
より多くの圧縮を追加すると、実際に結果が(わずかに)大きくなる可能性があります。圧縮アルゴリズムは、データの圧縮には何もせず、形式(gzipなど)がヘッダーおよび/または構造情報を出力に追加する必要があるためです。
すみません! pngを使用している場合は、次のコマンドを使用してファイルを折りたたむことができます。スマッシュ。
答え4
提起する価値があるもう1つの点:複数の圧縮ツール/アルゴリズムを使用すると、実際に最終結果のサイズが膨らみ、必要以上に大きくなる可能性があります。つまり、100 GBを10 GBに圧縮してから再圧縮しようとすると、圧縮内容と圧縮内容によっては最大15GBになることがあります。
tar cjvf container.tar.bz2 /target
個人的には、二重圧縮で節約されるディスク容量が少ないため、何もしません。