Linux:: パッケージ化と解凍の手順 [2]: tar コマンド: パッケージ化と解凍の使い方を詳しく解説 【重要!!!】

はじめに: この記事は Linux の基本操作の章の内容です。
私が使用している環境は Tencent Cloud Server: CentOS 7.6 64bit をベースとしています。


学習セット:


ディレクトリインデックス:
1. 基本的な構文と関数
2. オプションのパラメータの説明 【重要】
3. テスト例の作成
4. tar パッケージ化命令の使用例
- - 4.1 現在のディレクトリ/ファイルにパックする
- - 4.2 パッケージングの詳細を表示する
5. tar の解凍例コマンドの使い方
- - 5.1 現在のディレクトリ/ファイルに解凍
- - 5.2 指定したディレクトリに解凍
6. パッケージ化と圧縮の簡単な説明
7. おすすめの関連記事またはシリーズ


1. 基本的な構文と関数

基本構文: tar [-cxtzjvf] ファイルとディレクトリ...パラメータ


機能: 梱包/開梱します。開けずに中身を読むだけです。[通常、パッケージ化後のサフィックスは tgz です]


2. オプションのパラメータの説明

注: tar コマンドにはオプションのパラメータが多数あり、複雑であるため、通常は次の 2 つのパラメータの組み合わせを覚えておくだけで済みます。

  • パッケージング: tar -czvf
  • 解凍: tar -xzvf

  • c: パッケージングファイルの作成
  • ×:解凍時にパッケージファイルが存在する
  • z: パッケージ化されたオブジェクトの属性も持ちます
  • f: 名前
  • v: パッケージの詳細を表示します
オプションのパラメータ パラメータの意味
-c 圧縮ファイルを作成する
-バツ 圧縮ファイルを解凍する
-f ドキュメント名の後に新しいドキュメント名を続けて使用します。
-v 圧縮中にファイルを表示します。一般的に使用されますが、バックグラウンドでの実行には推奨されません。
-t tarfile 内のファイルを表示する
-j bzip2 の属性も持っていますか? つまり、bzip2 圧縮を使用する必要があるのでしょうか?
-z gzipの属性も付いているのでしょうか?つまり、gzip 圧縮を使用する必要があるのでしょうか?
-C 指定したディレクトリに解凍します

3. テスト例の作成

[Mortal@VM-12-16-centos unzip_test]$ cd ~
[Mortal@VM-12-16-centos ~]$ mkdir test_tar
[Mortal@VM-12-16-centos ~]$ cd test_tar
[Mortal@VM-12-16-centos test_tar]$ mkdir -p a/aa/aaa
[Mortal@VM-12-16-centos test_tar]$ echo "a: test" > tar.txt
[Mortal@VM-12-16-centos test_tar]$ echo "aa:test" > a.txt
[Mortal@VM-12-16-centos test_tar]$ echo "aaa: test" > a/aa/aaa/a.txt
[Mortal@VM-12-16-centos test_tar]$ tree .
.
|-- a
|   `-- aa
|       `-- aaa
|           `-- a.txt
|-- a.txt
`-- tar.txt

3 directories, 3 files

4. タールパッケージング指示の使用例

4.1 現在のディレクトリ/ファイルへのパッケージ化

使用法: tar czf パッケージ名 パッケージ オブジェクト

  • c: パッケージングファイルの作成
  • z: パッケージ化されたオブジェクトの属性も持ちます
  • f: 名前
/* 打包目录 */
[Mortal@VM-12-16-centos test_tar]$ ls
a  a.txt  tar.txt
[Mortal@VM-12-16-centos test_tar]$ tar czf a_tar.tgz a
[Mortal@VM-12-16-centos test_tar]$ ls
a  a_tar.tgz  a.txt  tar.txt

/* 打包文件 */
[Mortal@VM-12-16-centos test_tar]$ tar czf a_txt.tgz a.txt 
[Mortal@VM-12-16-centos test_tar]$ ls
a  a_tar.tgz  a.txt  a_txt.tgz  tar.txt

.4.2 パッケージの詳細を表示する

使用法: tar czvf パッケージ名 パッケージ オブジェクト

  • v: パッケージの詳細を表示します
/* 打包目录 */
[Mortal@VM-12-16-centos test_tar]$ ls
a  a_tar.tgz  a.txt  a_txt.tgz  tar.txt
[Mortal@VM-12-16-centos test_tar]$ mkdir tar_v
[Mortal@VM-12-16-centos test_tar]$ cp a tar_v
cp: omitting directory ‘a’
[Mortal@VM-12-16-centos test_tar]$ cp -r a tar_v
[Mortal@VM-12-16-centos test_tar]$ ls tar_v
a
[Mortal@VM-12-16-centos test_tar]$ cd tar_v/
[Mortal@VM-12-16-centos tar_v]$ ls
a
[Mortal@VM-12-16-centos tar_v]$ tar czvf new_tar_v.tgz a
a/
a/aa/
a/aa/aaa/
a/aa/aaa/a.txt
[Mortal@VM-12-16-centos tar_v]$ ls
a  new_tar_v.tgz

/* 打包文件 */
[Mortal@VM-12-16-centos tar_v]$ cp ../tar.txt .
[Mortal@VM-12-16-centos tar_v]$ ls
a  new_tar_v.tgz  tar.txt
[Mortal@VM-12-16-centos tar_v]$ tar czvf a_v.tgz tar.txt 
tar.txt
[Mortal@VM-12-16-centos tar_v]$ ls
a  a_v.tgz  new_tar_v.tgz  tar.txt

5. tar展開コマンドの使用例

5.1 現在のディレクトリに解凍します

使用法: tar xzvf unpack オブジェクト

  • 注: 操作オプションの指示の意味は、以前のパッケージと同じです。
[Mortal@VM-12-16-centos tar_v]$ ls
a  a_v.tgz  new_tar_v.tgz  tar.txt

[Mortal@VM-12-16-centos tar_v]$ mkdir open_tar
[Mortal@VM-12-16-centos tar_v]$ ls
a  a_v.tgz  new_tar_v.tgz  open_tar  tar.txt

[Mortal@VM-12-16-centos tar_v]$ cp a_v.tgz new_tar_v.tgz open_tar/
[Mortal@VM-12-16-centos tar_v]$ ls open_tar/
a_v.tgz  new_tar_v.tgz

[Mortal@VM-12-16-centos tar_v]$ cd open_tar/

[Mortal@VM-12-16-centos open_tar]$ ls
a_v.tgz  new_tar_v.tgz
[Mortal@VM-12-16-centos open_tar]$ tar xzvf a_v.tgz
tar.txt
[Mortal@VM-12-16-centos open_tar]$ tar xzvf new_tar_v.tgz 
a/
a/aa/
a/aa/aaa/
a/aa/aaa/a.txt

5.2 指定したディレクトリに解凍する

使用法: tar xzvf unpack object -C 指定されたディレクトリ

  • -C: 解凍先の指定されたディレクトリを指定します (指定されたディレクトリは存在する必要があります)。
[Mortal@VM-12-16-centos open_tar]$ mkdir test_C
[Mortal@VM-12-16-centos open_tar]$ tar xzvf new_tar_v.tgz -C test_C
a/
a/aa/
a/aa/aaa/
a/aa/aaa/a.txt
[Mortal@VM-12-16-centos open_tar]$ ls test_C/
a
[Mortal@VM-12-16-centos open_tar]$ tree test_C/
test_C/
`-- a
    `-- aa
        `-- aaa
            `-- a.txt

3 directories, 1 file

6.梱包・圧縮について

  • パッケージング: サイズを圧縮せずに物をグループ化することを意味します。学校に行くときにランドセルに本を入れるのと同じで、さまざまなテーマの本をランドセルに入れて一緒に学校に運ぶだけです。

  • 圧縮: 目的は、元のサイズの空間を圧縮することです。


7. 関連記事またはシリーズの推奨事項

1. Linux学習ディレクトリコレクション;


2. Linux:: 圧縮と解凍の手順 [1]: zip / unzip の手順: 圧縮と解凍の使用方法の詳細な説明


おすすめ

転載: blog.csdn.net/weixin_53202576/article/details/131155373