アンドロイド

Linuxのtarコマンド(アーカイブの作成と抽出)

目次:

Anonim

tar コマンドは、ファイルのグループをアーカイブに変換してtarアーカイブを作成するために使用されます。 また、tarアーカイブの抽出、アーカイブに含まれるファイルのリストの表示、既存のアーカイブへのファイルの追加、およびその他のさまざまな種類の操作も可能です。

Tarは元々、磁気テープにファイルを保存するアーカイブを作成するために設計されたため、「 T ape AR chive」という名前が付いています。

このチュートリアルでは、最も一般的なtarオプションの実用的な例と詳細な説明を通じて、 tar コマンドを使用してtarアーカイブを抽出、一覧表示、作成する方法を示します。

tarコマンド構文

tarには、BSD tarとGNU tarの2つのバージョンがありますが、機能的に違いがあります。 ほとんどのLinuxシステムには、デフォルトでGNU tarがプリインストールされています。

tar コマンドの一般的な構文は次のとおりです。

tar

  • OPERATION つの操作引数のみが許可され、必要です。 最も頻繁に使用される操作は次のとおりです。
    • --create -c )-新しいtarアーカイブを作成します。 --extract -x )-アーカイブ全体またはアーカイブから1つ以上のファイルを抽出します。 --list -t )-アーカイブに含まれるファイルのリストを表示します
    OPTIONS -最も頻繁に使用される操作は次のとおりです。
    • --verbose -v --verbose コマンドによって処理されているファイルを表示します。 --file=archive=name -f archive-name )-アーカイブファイル名を指定します。
    ARCHIVE_NAME アーカイブの名前。 FILE_NAME(s) -アーカイブから抽出されるファイル名のスペース区切りリスト。 指定しない場合、アーカイブ全体が抽出されます。

tarコマンドを実行するとき、 tar 操作およびオプションの長い形式または短い形式を使用できます。 長い形式の方が読みやすく、短い形式の方が入力が高速です。 長い形式のオプションには、先頭に二重ダッシュ( -- )が付きます。 短い形式のオプションには、省略可能な単一のダッシュ( - )が前に付いています。

Tarアーカイブの作成

Tarは、 gzip bzip2 lzip lzma lzop xz compress などの広範な圧縮プログラムをサポートしています。 圧縮されたtarアーカイブを作成する場合、圧縮ファイルのサフィックスをアーカイブファイル名に追加することは受け入れられている規則です。 たとえば、アーカイブが gzip で圧縮されている場合、archive.tar.gzという名前にする必要があります。

tarアーカイブを作成するには、 -c オプションに続けて -f とアーカイブの名前を使用します。

たとえば、 file1 file2 file3 という名前のファイルから archive.tar という名前のアーカイブを作成するには、次のコマンドを実行します。

tar -cf archive.tar file1 file2 file3

長い形式のオプションを使用した同等のコマンドを次に示します。

tar --create --file=archive.tar file1 file2 file3

1つ以上のディレクトリまたはファイルのコンテンツからアーカイブを作成できます。 デフォルトでは、 --no-recursion オプションが指定されていない限り、ディレクトリは再帰的にアーカイブされます。

次の例では、 /home/user ディレクトリの user_backup.tar という名前のアーカイブを作成します。

tar -cf backup.tar /home/user

処理中のファイルを表示する場合は、 -v オプションを使用します。

Tar Gzアーカイブの作成

Gzipは、tarファイルを圧縮するための最も一般的なアルゴリズムです。 gzipでtarアーカイブを圧縮する場合、アーカイブ名は tar.gz または tgz 終わる必要が tgz ます。

-z オプションは、作成時に gzip アルゴリズムを使用してアーカイブを圧縮するようtarに指示します。 たとえば、指定されたファイルからtar.gzアーカイブを作成するには、次のコマンドを使用します。

tar -czf archive.tar.gz file1 file2

Tar Bz2アーカイブの作成

tarファイルを圧縮するためのもう1つの一般的なアルゴリズムはbzip2です。 bzip2でtarアーカイブを圧縮する場合、アーカイブ名は tar.bz2 または tbz 終わる必要があります。

-j オプションを指定すると、tarは bzip2 アルゴリズムを使用してアーカイブを圧縮します。 次のコマンドは、指定されたファイルから tar.bz2 アーカイブを作成します。

tar -cjf archive.tar.bz2 file1 file2

Tarアーカイブのリスト

--list -t )オプションと共に使用すると、 tar コマンドはtarアーカイブの内容を抽出せずにリストします。 以下のコマンドは、 archive.tar ファイルの内容をリストします。

tar -tf archive.tar 出力には、アーカイブ内のすべてのファイルの名前がリストされます。

file1 file2 file3

ファイル所有者、ファイルサイズ、タイムスタンプなどの詳細情報を取得するには、-- --verbose -v )オプションを使用します。

tar -tvf archive.tar

-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3

Tarアーカイブの抽出

Linuxのアーカイブファイルのほとんどは、tarまたはtar.gz形式を使用してアーカイブおよび圧縮されています。 これらのファイルをコマンドラインから抽出する方法を知ることは重要です。

tarアーカイブを抽出するには、-- --extract -x )オプションに続いてアーカイブ名を使用します。

tar -xf archive.tar

-v オプションを追加して、抽出されるファイルの名前を出力することも一般的です。

tar -xvf archive.tar

別のディレクトリでのtarアーカイブの抽出

デフォルトでは、tarは現在の作業ディレクトリにアーカイブの内容を抽出します。 --directory -C )を使用して、特定のディレクトリのアーカイブファイルを抽出します。

たとえば、アーカイブの内容を /opt/files ディレクトリに抽出するには、次を使用できます。

tar -xf archive.tar -C /opt/files

Tar GzおよびTar Bz2アーカイブの抽出

tar.gz tar.bz2 などの圧縮アーカイブを抽出する場合、解凍オプションを指定する必要はありません。 コマンドは、 tar アーカイブを抽出する場合と同じです。

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

Tarアーカイブから特定のファイルを抽出する

アーカイブ全体を抽出する代わりに、アーカイブからいくつかのファイルのみを抽出する必要がある場合があります。

tarアーカイブから特定のファイルを抽出するには、アーカイブ名の後に、抽出するファイル名のスペース区切りリストを追加します。

tar -xf archive.tar file1 file2

ファイルを抽出するときは、-- --list -t )で出力されるパスを含む正確な名前を指定する必要があります。

アーカイブから1つ以上のディレクトリを抽出することは、ファイルを抽出することと同じです。

tar -xf archive.tar dir1 dir2

tar -xf archive.tar README

tar: README: Not found in archive tar: Exiting with failure status due to previous errors

ワイルドカードを使用してTarアーカイブからファイルを抽出する

ワイルドカードパターンに基づいてアーカイブからファイルを抽出するには、 --wildcards スイッチを使用してパターンを引用し、シェルが解釈しないようにします。

たとえば、名前が .js (Javascriptファイル)で終わるファイルを抽出するには、次を使用できます。

tar -xf archive.tar --wildcards '*.js'

既存のTarアーカイブへのファイルの追加

既存のtarアーカイブにファイルまたはディレクトリを追加するには、-- --append -r )操作を使用します。

たとえば、 newfile という名前のファイルをarchive.tarに追加するには、次を実行します。

tar -rvf archive.tar newfile

Tarアーカイブからファイルを削除する

--delete 操作を使用して、アーカイブからファイルを削除します。

次の例は、ファイル file1 をarchive.tarから削除する方法を示しています。

tar --delete -f archive.tar file1

結論

tar コマンドの最も一般的な用途は、tarアーカイブを作成および抽出することです。 アーカイブを抽出する場合は、 tar -xf コマンドの後にアーカイブ名を使用し、新しいアーカイブを作成するには、 tar -czf 後にアーカイブ名とアーカイブに追加するファイルとディレクトリを使用します。

tarコマンドの詳細については、Gnu tarのドキュメントページを参照してください。

タールターミナル