前のチュートリアルでは、gzipとbzip2を使用してファイルを圧縮および解凍する方法について説明しました。 プログラム。今日は、Linuxでファイルとディレクトリをアーカイブする方法を学びます。アーカイブと圧縮は同じではありませんか?これらの用語は同じ意味を指していると思う人もいるかもしれません。しかし、どちらも完全に異なります。アーカイブとは、複数のファイルとディレクトリ(同じサイズまたは異なるサイズ)を1つのファイルに結合するプロセスです。一方、圧縮は、ファイルまたはディレクトリのサイズを縮小するプロセスです。アーカイブは、システムバックアップの一部として、またはあるシステムから別のシステムにデータを移動するときによく使用されます。アーカイブと圧縮の違いを理解していただければ幸いです。それでは、トピックに取り掛かりましょう。
Linuxでのファイルとディレクトリのアーカイブ
ファイルとディレクトリをアーカイブするための最も一般的なプログラムは次のとおりです。
- タール
- zip
これは大きなトピックです。そこで、この記事を2部構成で公開します。最初の部分では、 Tarを使用してファイルとディレクトリをアーカイブする方法を説明します。 コマンド。
Tarコマンドを使用してファイルとディレクトリをアーカイブする
タール Tを表すUnixコマンドです。 類人猿A アーカイブ。複数のファイル(同じサイズまたは異なるサイズ)を1つのファイルに結合または保存するために使用されます。 tarユーティリティには4つの主要な動作モードがあります。
- c -ファイルまたはディレクトリからアーカイブを作成します。
- x -アーカイブを抽出します。
- r -アーカイブの最後にファイルを追加します。
- t -アーカイブの内容を一覧表示します。
モードの完全なリストについては、マニュアルページを参照してください。
新しいアーカイブを作成する
このガイドでは、 ostechnixという名前のフォルダーを使用します。 3つの異なるタイプのファイルが含まれています。
$ ls ostechnix/ file.odt image.png song.mp3
それでは、ディレクトリostechnixの新しいtarアーカイブを作成しましょう。
$ tar cf ostechnix.tar ostechnix/
ここで、 c フラグは、新しいアーカイブの作成と fを示します ファイル名を参照します。
同様に、現在の作業ディレクトリにある一連のファイルからアーカイブを作成するには、次のコマンドを使用します。
$ tar cf archive.tar file1 file2 file 3
アーカイブの抽出
現在のディレクトリにアーカイブを抽出するには、次の手順を実行します。
$ tar xf ostechnix.tar
C を使用して、別のディレクトリにアーカイブを抽出することもできます フラグ(大文字c)。たとえば、次のコマンドは、ダウンロードで指定されたアーカイブファイルを抽出します ディレクトリ。
$ tar xf ostechnix.tar -C Downloads/
または、ダウンロードフォルダに移動し、以下のようにその中のアーカイブを抽出します。
$ cd Downloads/
$ tar xf ../ostechnix.tar
特定の種類のファイルを抽出したい場合があります。たとえば、次のコマンドは「.png」タイプのファイルを抽出します。
$ tar xf ostechnix.tar --wildcards "*.png"
gzipで圧縮されたアーカイブとbzipで圧縮されたアーカイブを作成する
デフォルトでは、Tarは .tarで終わるアーカイブファイルを作成します 拡大。また、tarコマンドは圧縮ユーティリティ gzipと組み合わせて使用できます。 およびbzip2 。ファイルは.tarで終わります 拡張機能はプレーンなtarアーカイブを参照し、ファイルは tar.gzで終わります または.tgz gzip圧縮されたを指します アーカイブし、tarファイルは tar.bz2で終わります または.tbz bzipされたを指します それぞれアーカイブ。
まず、gzipで圧縮されたものを作成しましょう アーカイブ:
$ tar czf ostechnix.tar.gz ostechnix/
または、
$ tar czf ostechnix.tgz ostechnix/
ここでは、 zを使用します gzip圧縮方式を使用してアーカイブを圧縮するフラグ。
vを使用できます フラグを立てて、アーカイブの作成中に進行状況を表示します。
$ tar czvf ostechnix.tar.gz ostechnix/ ostechnix/ ostechnix/file.odt ostechnix/image.png ostechnix/song.mp3
ここでは、 v 冗長を指します。
ファイルのリストからgzip圧縮されたアーカイブを作成するには:
$ tar czf archive.tgz file1 file2 file3
現在のディレクトリにgzip圧縮されたアーカイブを抽出するには、次を使用します。
$ tar xzf ostechnix.tgz
別のフォルダにアーカイブを抽出するには、-Cフラグを使用します。
$ tar xzf ostechnix.tgz -C Downloads/
それでは、bzipされたアーカイブを作成しましょう 。
これを行うには、 jを使用します 以下のようなフラグ。
ディレクトリのアーカイブを作成します:
$ tar cjf ostechnix.tar.bz2 ostechnix/
または、
$ tar cjf ostechnix.tbz ostechnix/
ファイルのリストからアーカイブを作成します:
$ tar cjf archive.tar.bz2 file1 file2 file3
または、
$ tar cjf archive.tbz file1 file2 file3
進行状況を表示するには、 vを使用します フラグ。
次に、現在のディレクトリにbzipされたアーカイブを抽出しましょう。そのために、次のことを行います。
$ tar xjf ostechnix.tar.bz2
または、アーカイブを他のディレクトリに抽出します:
$ tar xjf ostechnix.tar.bz2 -C Downloads
一度に複数のディレクトリやファイルのアーカイブを作成する
これは、tarコマンドのもう1つの最も優れた機能です。複数のディレクトリまたはファイルのgzip圧縮されたアーカイブを一度に作成するには、次のコマンドを使用します。
$ tar czvf ostechnix.tgz Downloads/ Documents/ ostechnix/file.odt
上記のコマンドは、ダウンロードのアーカイブを作成します 、ドキュメント ディレクトリとfile.odt ostechnixのファイル ディレクトリを作成し、アーカイブを現在の作業ディレクトリに保存します。
アーカイブの作成中にディレクトリやファイルを除外する
これは、データをバックアップするときに非常に役立ちます。重要でないファイルまたはディレクトリをバックアップから除外できます。ここで-除外します スイッチが役に立ちます。たとえば、/ homeディレクトリのアーカイブを作成したいが、ダウンロード、ドキュメント、写真、音楽ディレクトリは除外したい。
これが私たちのやり方です。
$ tar czvf ostechnix.tgz /home/sk --exclude=/home/sk/Downloads --exclude=/home/sk/Documents --exclude=/home/sk/Pictures --exclude=/home/sk/Music
上記のコマンドは、ダウンロード、ドキュメント、画像、音楽フォルダを除く、$HOMEディレクトリのgzip圧縮されたアーカイブを作成します。 bzipされたアーカイブを作成するには、 zを置き換えます jで 上記の例では拡張子.bz2を使用します。
アーカイブファイルを抽出せずに一覧表示する
アーカイブファイルの内容を一覧表示するには、 tを使用します フラグ。
$ tar tf ostechnix.tar ostechnix/ ostechnix/file.odt ostechnix/image.png ostechnix/song.mp3
詳細な出力を表示するには、 vを使用します フラグ。
$ tar tvf ostechnix.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/ -rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt -rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png -rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3>
既存のアーカイブにファイルを追加する
r を使用して、ファイルまたはディレクトリを既存のアーカイブに追加/更新できます。 国旗。次のコマンドを見てください。
$ tar rf ostechnix.tar ostechnix/ sk/ example.txt
上記のコマンドは、 skという名前のディレクトリを追加します およびexample.txtという名前のファイル ostechnix.tarアーカイブへ。
コマンドを使用して、ファイルが追加されているかどうかを確認できます:
$ tar tvf ostechnix.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/ -rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt -rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png -rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3 drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/ -rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt -rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt
TL; DR
tarアーカイブを作成する:
- プレーンtarアーカイブ: tar -cf archive.tar file1 file2 file3
- Gzip圧縮されたtarアーカイブ: tar -czf archive.tgz file1 file2 file3
- Bzipされたtarアーカイブ: tar -cjf archive.tbz file1 file2 file3
tarアーカイブを抽出する:
- プレーンtarアーカイブ: tar -xf archive.tar
- Gzip圧縮されたtarアーカイブ: tar -xzf archive.tgz
- Bzipされたtarアーカイブ: tar -xjf archive.tbz
tarコマンドの基本的な使用法について説明しました。 tarコマンドを使い始めるには十分です。ただし、詳細については、マニュアルページを参照してください。
$ man tar
そして、今のところこれですべてです。次のパートでは、Zipユーティリティを使用してファイルとディレクトリをアーカイブする方法を説明します。
- Linuxでファイルとディレクトリをアーカイブする方法–パート2