MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Linuxコマンド - ファイルの圧縮と解凍のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Linuxコマンド - ファイルの圧縮と解凍
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == ここでは、Linuxでファイルの圧縮、解凍方法を記載する。<br> <br><br> == tar.gz形式 == 圧縮<br> tar zcf xxxx.tar.gz <ファイルのパスまたはディレクトリのパス> # または tar zcvf xxxx.tar.gz <ファイルのパスまたはディレクトリのパス> <br> 解凍<br> tar xf xxxx.tar.gz # または tar zxvf xxxx.tar.gz <br><br> == tar.bz2形式 == 圧縮<br> tar jcf xxxx.tar.bz2 <ファイルのパスまたはディレクトリのパス> # または tar jcvf xxxx.tar.bz2 <ファイルのパスまたはディレクトリのパス> <br> 解凍<br> tar xf xxxx.tar.bz2 # または tar jxvf xxxx.tar.bz2 <br><br> == tar.xz形式 == XZ形式とは、LZMA2のデータ圧縮アルゴリズムを採用したデータ圧縮フォーマットおよびその圧縮プログラムである。<br> 圧縮に時間が掛かるが圧縮率は良い。<br> <br> 圧縮<br> tar Jcf xxxx.tar.xz <ファイルのパスまたはディレクトリのパス> # または tar Jcvf xxxx.tar.xz <ファイルのパスまたはディレクトリのパス> <br> 解凍<br> tar xf xxxx.tar.xz # または tar Jxvf xxxx.tar.xz <br><br> == xz形式 == 圧縮<br> 圧縮率を0~9で指定することができる。<br> <code>-0</code>オプションは、圧縮率が低いが高速に処理することができる。<br> <code>-9</code>オプションは、時間が掛かるが圧縮率は高くなる。<br> # 元のファイルを削除する xz <ファイル名> # 元のファイルを削除しない xz -k <ファイル名> # 圧縮率を指定する xz -0 <ファイル名> xz -9 <ファイル名> <br> 解凍<br> # 圧縮ファイルを削除する xz -d <XZ形式のファイル>.xz unxz -d <XZ形式のファイル>.xz # 圧縮ファイルを削除しない xz -dk <XZ形式のファイル>.xz unxz -dk <XZ形式のファイル>.xz <br> その他<br> # 圧縮ファイル内のファイルを一覧表示する xz -l <XZ形式のファイル>.xz unxz -l <XZ形式のファイル>.xz <br><br> == tar.lz形式 == LZ形式とは、LZIPのデータ圧縮アルゴリズムを採用したデータ圧縮フォーマットおよびその圧縮プログラムである。<br> 圧縮に時間が掛かるが圧縮率は良い。<br> <br> tar.lz形式へ圧縮および解凍するには、Lzipをインストールする必要がある。<br> * パッケージ管理システムからインストールする場合 *: <code>sudo zypper install lzip</code> *: <br> * ソースコードからインストールする場合 *: [http://download.savannah.gnu.org/releases/lzip/ Lzipの公式Webサイト]にアクセスして、ソースコードをダウンロードする。 *: ダウンロードしたファイルを解凍する。 *: <code>tar xf lzip-<バージョン>.tar.lz</code> *: <code>cd lzip-<バージョン></code> *: <br> *: ビルド用ディレクトリを作成する。 *: <code>mkdir build && cd build</code> *: <br> *: Lzipをビルドおよびインストールする。 *: <code>../configure --prefix=<Lzipのインストールディレクトリ></code> *: <code>make -j $(nproc)</code> *: <code>make install</code> *: <br> *: ~/.profileファイル等に環境変数PATHを追記する。 *: <code>vi ~/.profile</code> *: <code>export PATH="/<Lzipのインストールディレクトリ>/bin:$PATH"</code> <br> 圧縮<br> tar --lzip -cf <ファイル名>.tar.lz <ファイルのパスまたはディレクトリのパス> # または tar --lzip -cvf <ファイル名>.tar.lz <ファイルのパスまたはディレクトリのパス> <br> 圧縮(圧縮率を上げる場合)<br> tar cf <ファイル名>.tar <ファイルのパスまたはディレクトリのパス>; lzip -9k <ファイル名>.tar <br> 解凍<br> tar xf <ファイル名>.tar.lz # または tar xvf <ファイル名>.tar.lz <br><br> == tar形式 == 圧縮<br> tar cf <ファイル名>.tar <ファイルのパスまたはディレクトリのパス> # または tar cvf <ファイル名>.tar <ファイルのパスまたはディレクトリのパス> <br> 解凍<br> tar xf <ファイル名>.tar # または tar xvf <ファイル名>.tar <br> <center> {| class="wikitable" | style="background-color:#fefefe;" |+ tarコマンドにおけるオプションの意味 |- ! style="background-color:#66CCFF;" | オプション ! style="background-color:#66CCFF;" | 説明 |- | z || gz |- | c || 新しいtarファイルを作る(create) |- | x || 解凍する(extract) |- | v || 圧縮・解凍状況を表示する(verbose) |- | f || 圧縮ファイルを指定する(filename) |- | j || bz2 |- | J || xz |} </center> <br><br> == zip形式 == 圧縮<br> # パスワードなし zip -r <ファイル名>.zip ディレクトリ名 # パスワード付き zip -e -r <ファイル名>.zip <ディレクトリ名> または $ zip -e -r --password=<パスワード> <ファイル名>.zip <ディレクトリ名> <br> 解凍<br> unzip <ファイル名>.zip # パスワード付きのzipファイルの場合、インタラクティブに2回とも同じパスワードの入力を求められる # または unzip -P <パスワード> <ファイル名>.zip <br> Windows上で日本語ファイル名のファイルをzipで圧縮して、Linux上にてunzipコマンドで解凍すると文字化けすることがあるが、<br> unarで解凍すると文字化けしない。<br> unar <ファイル名>.zip <br><br> == 7zip == 圧縮<br> 7z a <圧縮後のファイル名>.7z <圧縮元のファイル名またはディレクトリ名> 解凍<br> 7z e <圧縮されたファイル名>.7z <br><br> == Zstandard == ==== Zstandardとは ==== 2016年の8月にMeta社(旧Facebook)がオープンソース化した圧縮アルゴリズムである。<br> リアルタイム圧縮を重要視しており、圧縮率を維持しながら、高い圧縮速度と伸長速度、使用メモリ量の削減を実現している。<br> <br> また、辞書を作成することにより、更に圧縮率を高めることが可能である。<br> 多様な言語(Java、Swift、Go、Python等)で実装されている。<br> <br> ==== Zstandardのインストール ==== # RHEL sudo dnf install zstd # SUSE sudo zypper install zstd libzstd1 <br> ==== 圧縮 ==== ===== ファイルの圧縮 ===== ファイルを圧縮する。<br> 出力ファイル名は、<ファイル名>.zstとなる。<br> zstd <ファイル名> # 圧縮前のファイルおよびディレクトリを削除する場合 zstd --rm <ファイル名> <br> 出力ファイル名を指定して圧縮する。<br> zstd <ファイル名> -o <出力ファイル名>.zst # 圧縮前のファイルおよびディレクトリを削除する場合 zstd --rm <ファイル名> -o <出力ファイル名>.zst <br> ===== ディレクトリの圧縮 ===== ディレクトリを圧縮する。<br> # まず、Tarballファイルにする tar xf <Tarballファイル名>.tar <ディレクトリ名> # TasrballファイルをZstandard形式で圧縮する zstd <Tarballファイル名>.tar ## または zstd <Tarballファイル名>.tar -o <圧縮後のファイル名>.zst ## または zstd <圧縮後のファイル名>.zst <Tarballファイル名>.tar <br> <code>tar</code>コマンドで、ディレクトリをtar.zst形式に圧縮することもできる。<br> <code>tar</code>コマンドでZstandard形式の圧縮設定を行う場合は、<code>-I</code>オプションを付加してzstdコマンドとzstdのオプションを指定する。<br> tar --zstd -cf <圧縮後のファイル名>.tar.zst <圧縮前のディレクトリ名> # 圧縮率を設定する場合 # 以下の例では、圧縮率を最大に指定している tar -I 'zstd --ultra -22' -cf <圧縮後のファイル名>.tar.zst <圧縮前のディレクトリ名> <br> ===== 圧縮率の設定 ===== 圧縮レベルを1〜19(デフォルト : 3)で指定して圧縮する。<br> zstd -11 <ファイル名> <br> <code>--ultra</code>オプションを付加することにより、圧縮レベルを20以上にすることもできる。(最大圧縮レベル : 22)<br> zstd --ultra -22 <ファイル名> <br> ===== 再帰的な圧縮 ===== ディレクトリ内のファイル群を再帰的に圧縮する。<br> Zstandardは圧縮アルゴリズムであるため、ファイルアーカイブ機能は存在しない。<br> zstd -r <ディレクトリ名またはファイル名> <br> ===== マルチスレッドの使用 ===== マルチスレッドを使用して圧縮することにより、処理時間を短縮することもできる。<br> <code>-T</code>オプションでは、スレッド数を指定することができる。<br> <code>-T</code>オプションの初期値は<code>1</code>、<code>0</code>を指定することにより、空いているスレッドを全て使用する。<br> zstd --ultra -22 -T0 <ファイル名> <br> <code>-o</code>オプションを付加することにより、出力するファイル名を変更することができる。<br> zstd --ultra -22 -T0 <圧縮元のファイル名> -o <出力するファイル名> <br> ==== 解凍 ==== zstd -d <ディレクトリ名またはファイル名>.zst # または unzstd <ディレクトリ名またはファイル名>.zst <br><br> == パスワードの設定 == XZ形式やZStandard形式で圧縮する時に、パスワードを設定する機能はない。<br> これらの圧縮形式は、データの圧縮に特化しており、暗号化機能を持たないためである。<br> <br> しかし、暗号化を行う場合は、圧縮後に他のツールを使用してファイルを暗号化する。<br> <br> * GPGを使用する場合 *: まず、ファイルを圧縮する。 *: <code>tar -Jcf <圧縮後のファイル名>.tar.xz <圧縮前のファイルまたはディレクトリ></code> *: 次に、GPGで暗号化する。 *: このコマンドにより、圧縮ファイルは<u><圧縮後のファイル名>.tar.xz.gpg</u>ファイルを生成して、パスワードを設定することができる。 *: <code>gpg -c <圧縮後のファイル名>.tar.xz</code> <br> * OpenSSLを使用する場合 *: まず、ファイルを圧縮する。 *: <code>tar -Jcf <圧縮後のファイル名>.tar.xz <圧縮前のファイルまたはディレクトリ></code> *: 次に、OpenSSLで暗号化する。 *: このコマンドも、ファイルに対してパスワード保護をかける。 *: <code>openssl enc -aes-256-cbc -salt -in <圧縮後のファイル名>.tar.xz -out <圧縮後のファイル名>.tar.xz.enc</code> <br><br> == その他 == ==== debファイル ==== # 展開 ar xf <debファイル> # 作成 tar -cf data.tar <データファイル> gunzip data.tar tar -cf control.tar control postinstall prerm gunzip control.tar ar r <作成するdebファイル名> debian-binary control.tar.gz data.tar.gz # アーカイブする順は、debian-binary、control.tar.gz、data.tar.gzの順である必要がある <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
Linuxコマンド - ファイルの圧縮と解凍
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse