目次
パッケージ化と圧縮
zip
zip ファイルを圧縮します
zip 圧縮フォルダー
zip のサイレント出力
zip 解凍コマンド (unzip)
tar
gzip
gzip 圧縮ディレクトリ
gzip 解凍 (-d)
bzip2
bzip2 解凍 (-d)
パラメータ
ホームページ 運用・保守 Linuxの運用と保守 Linuxファイルのパッケージ化と圧縮の方法は何ですか?

Linuxファイルのパッケージ化と圧縮の方法は何ですか?

May 17, 2023 pm 04:56 PM
linux

パッケージ化と圧縮

ファイルまたはフォルダーをパッケージに結合し、圧縮アルゴリズムを通じてデータを圧縮して、パッケージのサイズを削減し、ネットワーク送信を容易にします。

windows:
  zip
  rar

linux:
  zip
  tar
  gz
  bz2
  tar.gz
  tar.bz2

压缩算法:
  gzip
  bzip2
ログイン後にコピー

zip

は、Windows および Linux で一般的に使用されるパッケージ化および圧縮ツールです。サポートされている圧縮アルゴリズムは zip です。

zip工具需要安装
  yum install zip
ログイン後にコピー

zip ファイルを圧縮します

# 格式
  zip [参数] 压缩包名称  文件路径

[root@abc ~]# zip 123.zip 123.log 
  adding: 123.log (deflated 87%)
[root@abc ~]# ls -l
ログイン後にコピー

zip 圧縮フォルダー

# 需要一个-r参数去递归压缩文件夹下的所有内容
[root@abc ~]# zip -r dir.zip dir/
  adding: dir/ (stored 0%)
  adding: dir/one/ (stored 0%)
  adding: dir/123.log (deflated 87%)
ログイン後にコピー

zip のサイレント出力

# -q:参数就是不输出任何打包信息
[root@abc opt]# zip -r -q etc.zip /etc/
[root@abc opt]# ls -l
ログイン後にコピー

zip 解凍コマンド (unzip)

# 格式
  unzip [参数] 压缩包路径

# unzip解压命令只能解压由zip打包的压缩文件
[root@abc ~]# unzip dir.zip 
Archive:  dir.zip
  inflating: dir/123.log             
[root@abc ~]# 

# 其他压缩包由unzip解压时随即报错。
[root@abc opt]# unzip nginx-.tar.gz
Archive:  nginx-.tar.gz
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of nginx-.tar.gz or
        nginx-.tar.gz.zip, and cannot find nginx-.tar.gz.ZIP, period.


# 查看压缩包中压缩那些内容,不解压?
# 只查看压缩包内容不解压需要使用 -l 参数
[root@abc opt]# unzip -l dir.zip 
Archive:  dir.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  03-11-2021 12:04   dir/
---------                     -------
        0                     1 file

# 解压到指定目录(-d)
[root@abc ~]# unzip -d /root/  etc.zip 
[root@abc opt]# cd /root/
[root@abc ~]# ls
]        anaconda-ks.cfg  dir.zip  index.html           test.pdf.gz  xxxeth0xxx           系统优化.md
123.log  demo.txt         etc      nginx-0.1.22.tar.gz  test.txt     上传与下载.md
123.zip  dir              eth0xxx  test                 xxxeth0      文件管理_(高级).pdf

# 静默输出(-q)
[root@abc ~]# rm -rf etc
[root@abc ~]# unzip -q -d /root/ /opt/etc.zip 
[root@abc ~]# ls -l
ログイン後にコピー

tar

tar 圧縮は複数の圧縮アルゴリズムをサポート

tar.gz gzip (最も一般的に使用される)

tar.bz2 bzip2

gzip

gzip 圧縮アルゴリズムを使用して、ファイルを特定のボリュームに圧縮します。これは、送信に役立ちます。パッケージ化はサポートされていません

[root@abc ~]# ls -l
total 4828
-rw-r--r--   1 root root  244977 Mar 10 12:12 index.html
[root@abc ~]# gzip index.html 
[root@abc ~]# ls -l
ログイン後にコピー
gzip 圧縮ディレクトリ
[root@abc etc]# gzip -r /etc
[root@abc etc]# ls
ログイン後にコピー

gzip 解凍 (-d)

[root@abc ~]# ls -l
-rw-r--r--   1 0 0   22652 Mar 10 12:12 index.html.gz
[root@abc ~]# gzip -d index.html.gz 
[root@abc ~]# ls -l
ログイン後にコピー

bzip2

bzip2 圧縮アルゴリズムを使用して、特定のボリュームのファイルを圧縮します。

[root@abc ~]# ls -l
total 4828
-rw-r--r--   1 root root  646165 Mar  9 10:31 123.log     
[root@abc ~]# bzip2 123.log 
[root@abc ~]# ls -l
total 4240
-rw-r--r--   1 root root       0 Mar 10 12:04 ]
ログイン後にコピー

bzip2 解凍 (-d)

bzip2 解凍は、bzip2 で圧縮された圧縮パッケージを解凍するためのものです。

[root@abc ~]# ls -l
total 4240
-rw-r--r--   1 root root   42210 Mar  9 10:31 123.log.bz2
[root@abc ~]# bzip2 -d 123.log.bz2 
[root@abc ~]# ls -l
ログイン後にコピー

tar

tar は実際にはパッケージ化ツールであり、圧縮関数はありませんが、パラメータを使用して圧縮ツールを呼び出して解凍することができます。

tar参数
  -c : 创建压缩
  -f ; 指定压缩包名称
  -z : 使用gzip压缩工具进行压缩
  -j : 使用bzip2压缩工具进行压缩
  -J : 使用xz压缩工具进行压缩
  -t : 显示压缩包内容,不解压
  -v : 显示压缩过程
  -P : 允许使用绝对路径进行压缩
  -x : 解压
  -C : 指定解压路径
  -h : 打包软连接
  --exclude : 排除某些文件
  --exclude-from :
ログイン後にコピー
パラメータ
  • -c: 圧縮パッケージの作成

  • -f: 圧縮パッケージ名を指定

[root@abc ~]# tar -c -f test.tar 123.log 
[root@abc ~]# ls -l
ログイン後にコピー
  • -z: 圧縮に gzip 圧縮ツールの使用を指定します

[root@abc ~]# tar  -c -z -f test-one.tar 123.log 
[root@abc ~]# ls -l 
total 5084
-rw-r--r--   1 root root   85279 Mar 11 15:56 test-one.tar

# 注:使用-z参数,不会自动添加.gz后缀

[root@abc ~]# tar -c -z -f anaconda.tar.gz  anaconda-ks.cfg 
[root@abc ~]# ls -l
ログイン後にコピー
  • -j: 圧縮に bzip2 圧縮ツールを使用することを指定します

  • #
[root@abc ~]# tar -c -j -f 123-bask-one.tar 123.log 
[root@abc ~]# ls -l
ログイン後にコピー
    #-J: 圧縮に xz 圧縮ツールの使用を指定します
  • #

    [root@abc test-tar]# tar -c -J  -f etc.tar.xz /etc/
    [root@abc ~]# ls -l
    ログイン後にコピー
-t: 圧縮パッケージの内容を表示します
  • ##
    [root@abc ~]# tar -t -f 123-bak.tar.bz2 
    123.log
    [root@abc ~]#
    ログイン後にコピー

    #-v: 圧縮パッケージの圧縮プロセスを表示します。圧縮パッケージ
    #
[root@abc ~]# tar -x -v -f etc.tar -C /opt/
ログイン後にコピー
  • -P: パッケージ化に絶対パスの使用を許可します
  • #
    [root@abc ~]# tar -c -P -f 123-three.tar /etc/passwd
    [root@abc ~]# tar -c -f 123-three.tar /etc/passwd
    tar: Removing leading `/' from member names
    [root@abc ~]#
    ログイン後にコピー
    • #-x: 解凍

    # tar解压是按照原来的路径进行解压
    [root@abc test]# tar -x -f etc.tar 
    
    # tar会自动识别压缩功能
    ログイン後にコピー
    • -C: 解凍パスを指定

    [root@abc ~]# tar -x -f etc.tar -C /opt/
    tar: Removing leading `/' from member names
    [root@abc ~]# cd /opt/
    [root@abc opt]# ls
    abc23  dir  dir.zip  etc  nginx-0.1.22.tar.gz  nginx-.tar.gz  xxx
    [root@abc opt]#
    ログイン後にコピー
    • -exclude: 特定のファイルを除外します

    [root@abc test-tar]# tar -c -f abc.tar ./* --exclude=abc7 --exclude=abc5   --exclude=abc1 
    [root@abc test-tar]# tar -t -f abc.tar 
    ./abc2
    ./abc3
    ./abc4
    ./abc6
    ./abc8
    ./abc9
    [root@abc test-tar]#
    ログイン後にコピー
    • –exclude-from: 特定のファイル リストに基づいて複数のファイルを除外します

    [root@abc test-tar]# cat list.txt 
    abc995
    abc996
    abc997
    abc998
    abc999
    [root@abc test-tar]# tar -c -f abc.tar ./* --exclude-from=list.txt
    ログイン後にコピー
    • -h: パッケージ ソフト リンク

    [root@abc test-tar]# tar -c -h -f bin-h.tar /bin
    ログイン後にコピー

    以上がLinuxファイルのパッケージ化と圧縮の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

    VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

    Linuxアーキテクチャ:5つの基本コンポーネントを発表します Linuxアーキテクチャ:5つの基本コンポーネントを発表します Apr 20, 2025 am 12:04 AM

    Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

    Apr 16, 2025 pm 07:39 PM

    NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

    VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

    VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

    vscodeはMacに使用できますか vscodeはMacに使用できますか Apr 15, 2025 pm 07:36 PM

    VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

    GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

    gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

    vscode端子使用チュートリアル vscode端子使用チュートリアル Apr 15, 2025 pm 10:09 PM

    VSCODEビルトインターミナルは、エディター内でコマンドとスクリプトを実行して開発プロセスを簡素化できるようにする開発ツールです。 VSCODE端子の使用方法:ショートカットキー(CTRL/CMD)で端子を開きます。コマンドを入力するか、スクリプトを実行します。 Hotkeys(Ctrl Lなどの端子をクリアするなど)を使用します。作業ディレクトリ(CDコマンドなど)を変更します。高度な機能には、デバッグモード、自動コードスニペット完了、およびインタラクティブコマンド履歴が含まれます。

    vscodeの使用方法 vscodeの使用方法 Apr 15, 2025 pm 11:21 PM

    Visual Studio Code(VSCODE)は、Microsoftが開発したクロスプラットフォーム、オープンソース、および無料のコードエディターです。軽量、スケーラビリティ、および幅広いプログラミング言語のサポートで知られています。 VSCODEをインストールするには、公式Webサイトにアクセスして、インストーラーをダウンロードして実行してください。 VSCODEを使用する場合、新しいプロジェクトを作成し、コードを編集し、コードをデバッグし、プロジェクトをナビゲートし、VSCODEを展開し、設定を管理できます。 VSCODEは、Windows、MacOS、Linuxで利用でき、複数のプログラミング言語をサポートし、マーケットプレイスを通じてさまざまな拡張機能を提供します。その利点には、軽量、スケーラビリティ、広範な言語サポート、豊富な機能とバージョンが含まれます

    See all articles