目次:
- tarコマンド構文
- Tarアーカイブの作成
- Tar Gzアーカイブの作成
- Tar Bz2アーカイブの作成
- Tarアーカイブのリスト
- Tarアーカイブの抽出
- 別のディレクトリでのtarアーカイブの抽出
- Tar GzおよびTar Bz2アーカイブの抽出
- Tarアーカイブから特定のファイルを抽出する
- ワイルドカードを使用してTarアーカイブからファイルを抽出する
- 既存のTarアーカイブへのファイルの追加
- Tarアーカイブからファイルを削除する
- 結論
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アーカイブの抽出
デフォルトでは、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アーカイブから特定のファイルを抽出する
アーカイブ全体を抽出する代わりに、アーカイブからいくつかのファイルのみを抽出する必要がある場合があります。
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アーカイブからファイルを削除する
--delete
操作を使用して、アーカイブからファイルを削除します。
次の例は、ファイル
file1
をarchive.tarから削除する方法を示しています。
tar --delete -f archive.tar file1
結論
tar
コマンドの最も一般的な用途は、tarアーカイブを作成および抽出することです。 アーカイブを抽出する場合は、
tar -xf
コマンドの後にアーカイブ名を使用し、新しいアーカイブを作成するには、
tar -czf
後にアーカイブ名とアーカイブに追加するファイルとディレクトリを使用します。
tarコマンドの詳細については、Gnu tarのドキュメントページを参照してください。
タールターミナル