Bashエイリアスで7z圧縮を簡素化する方法

ファイルのサイズを縮小する方法やツールはたくさんあります。これにより、ファイルが占めるスペースを減らしたり、連絡先にパッケージとして送信したりできます。その中でも、7-Zipは優れたパフォーマンスと圧縮レベルを無料で提供する独自の組み合わせのおかげで、ほとんどのユーザーにとってトップの座を獲得しています。
この形式の圧縮のすべての形態は、ここで見るアプローチよりも複雑です。少なくとも、フォルダーとそのサブフォルダー内のすべてを圧縮された「バンドル」にパックするために圧縮を使用するほとんどのユーザーにとっては。
それでは、Bashのエイリアスのサポートと7zのコマンドラインバージョンを組み合わせて、簡単なコマンドでファイルのパッケージを作成する方法を見ていきましょう。
p7zipをインストールする
最も人気のある圧縮ツールである7-Zipは、あなたのLinuxディストリビューションにすでにインストールされている可能性が高いです。テストするには、ターミナルで「7z」コマンドを試してみてください。インストールされていない場合は、次のコマンドでUbuntu/Debianベースのディストリビューションにインストールできます。
sudo apt-get install p7zip-fullBashエイリアスファイルを作成する
Bashのエイリアスを使用すると、コマンドや複数のコマンドシーケンスを単語にマッピングできます。Bashにエイリアスを追加する簡単な方法は、「~/.bashrc」ファイルの最後に挿入することです。便利さと整理のために、別のファイルに配置するのが最善と考えられています。
このファイルはすでに存在する可能性が高く、Bashの設定にはそれへの参照が含まれています。「~/.bashrc」をお気に入りのワードプロセッサで開き、次を検索して確認してください。
if[-f ~/.bash_aliases]; then
. ~/.bash_aliases
Fi存在しない場合は、すでにあるすべての後にファイルの最後に追加してください。

7-Zipの情報を手元に置く
ターミナルで7-Zipを実行すると、そのコマンドラインオプションの概要を表示できます。より包括的な情報については、このユーザーガイドまたはプログラムのマニュアルページを訪れてください。
man 7zこれにより、自分自身の圧縮コマンドを設定するのに役立ちます。おそらく、ここで見るものはあなたのニーズにも対応するでしょう。したがって、それらを自分の.bash_aliasesファイルにコピー&ペーストできます。

超圧縮エイリアスを作成する
お気に入りのワードプロセッサで「~/.bash_aliases」ファイルを開きます。私たちはnanoを使用します。次を入力します。
alias 75='7z a -r -t7z -m0=lzma2 -mx=9 -myx=9 -mqs=on -ms=on'
alias 75は、ディレクトリ内のすべてのファイルとフォルダーを圧縮された7-Zipバンドルに圧縮するために今後使用するコマンド「75」を作成したいことを示しています。このコマンドにこの特異な名前を採用した理由は、「7zip圧縮レベル5」の短縮版として思い出しやすいからです。
7zは圧縮コマンド自体です。その後のaは「新しい圧縮パッケージにファイルを追加したい」という意味です。-rは、p7zipが「実行されたフォルダーに制約されるべきではなく」、最終的な圧縮パッケージとその中のすべてのサブフォルダーを含むべきであることを示します。
-t7z -m0=lzma2は、主にファイル圧縮にLZMA2アルゴリズムを使用する7zipパッケージを作成したいことを示します。これは通常、ほとんどのファイルタイプに対して最良の圧縮をもたらします。
-mx=9 -myx=9は、圧縮のレベルと、7-Zipが圧縮するファイルの内容を分析して最適な圧縮戦略を見つけるために費やす「努力の量」に対応します。これらの値が高いほど、圧縮が大きくなり、生成されるバンドルが小さくなります。
最後に、-mqs=on -ms=onは、「ソリッド」圧縮を希望することを定義します。これは、p7zipが類似のファイルを単一のデータチャンクとして圧縮し、さらに良い結果を達成することを意味します。これらがオプションとして存在する理由は、便利ですが、2つの欠点も伴うからです。圧縮時間が延長され、圧縮機が生成する最終バンドルから独立したファイルを解凍することが不可能になります。ソリッド圧縮では、「zipから単一のファイルを抽出する」ことの同等のことはできず、その内容にアクセスするためには全体のバンドルを解凍する必要があります。
エイリアスを複製して「削減」する
最大限の圧縮を達成するコマンドから始めたので、より多くの要素で拡張する代わりに、後ろに移動してパラメータを削除し、設定値を減らすことができます。
既存のコマンドをさらに5回コピーし、それぞれのコマンドを独自の行に配置します。最初の行はそのままにしておきます。なぜなら、それはすでに可能な最高の圧縮レベルを達成しているからです。残りを順番に修正し、余分なオプションを削除し、以下のように圧縮レベルを減らします。エイリアスを低い圧縮レベルに合わせて変更することを忘れないでください。

以下をコピーして、~/.bash_aliasesに貼り付けることができます。
alias 75='7z a -r -t7z -m0=lzma2 -mx=9 -myx=9 -mqs=on -ms=on'
alias 74='7z a -r -t7z -m0=lzma2 -mx=9'
alias 73='7z a -r -t7z -m0=lzma2 -mx=7'
alias 72='7z a -r -t7z -m0=lzma2 -mx=5'
alias 71='7z a -r -t7z -m0=lzma2 -mx=3'
alias 70='7z a -r -t7z -m0=lzma2 -mx=1'エイリアスを有効にする
ファイルへの変更を保存し、ターミナルに戻ります。新しいエイリアスを読み込み、有効にするには、次のコマンドを使用します。
source ~/.bashrc新しい圧縮コマンドがアクティブになりました。p7zipは、パラメータとして「何を圧縮したいか」を定義しない限り、実行されたディレクトリ内のすべてのファイルに対してデフォルトで動作します。したがって、今後はフォルダーの内容を7zパッケージに圧縮したいときは、次のコマンドを入力するだけです。
75 archive_nameここで「75」は、以前の最高圧縮レベルのエイリアスであり、「archive_name」は圧縮ファイルパッケージの名前です。「75」を他のエイリアス(75から70まで)に置き換えて、徐々に小さく、しかしより速い圧縮を行い、最終ファイルの名前には好きな名前を使用できます。

質問がある場合は、下のコメントでお知らせください。