アーカイブからファイルを展開する
アーカイブの作成方法と内容の表示方法がわかったので、次はアーカイブからファイルを展開する方法を学びましょう。これは、バックアップからファイルを復元する必要がある場合や、他の人からアーカイブを受け取った場合に便利です。
これを実証するために、まず元のディレクトリ構造が失われたシナリオをシミュレートしましょう。document_library
ディレクトリを削除します。
rm -rf ~/project/document_library
rm
コマンドはファイルやディレクトリを削除します。-rf
オプションは、再帰的に操作し、確認を求めずに強制的に削除するよう指示します。実際のシナリオでこのコマンドを使用する場合は注意してください。このコマンドはファイルを永久に削除します。
ディレクトリが削除されたことを確認しましょう。
ls -la ~/project
一覧に document_library
が表示されないはずですが、documents_archive.tar.gz
ファイルはまだ表示されるはずです。
では、アーカイブを展開してファイルを復元しましょう。tar
で展開する基本的な構文は次の通りです。
tar [options] [archive-name]
一般的な展開オプションは以下の通りです。
-x
: アーカイブからファイルを展開する
-z
: gzip を使用して解凍する
-v
: 詳細モード(進行状況を表示する)
-f
: アーカイブのファイル名を指定する
-C
: 展開する前に指定されたディレクトリに移動する
アーカイブを展開しましょう。
tar -xzvf ~/project/documents_archive.tar.gz -C ~/project
このコマンドでは、
-x
は tar
にファイルを展開するよう指示します。
-z
は tar
に gzip で圧縮されたアーカイブを解凍するよう指示します。
-v
は詳細モードを有効にし、展開されるファイルを表示します。
-f ~/project/documents_archive.tar.gz
はアーカイブファイルを指定します。
-C ~/project
は tar
にファイルを ~/project
ディレクトリに展開するよう指示します。
アーカイブを作成したときと同様に、展開されるすべてのファイルが一覧表示される出力が表示されるはずです。
ディレクトリ構造が復元されたことを確認しましょう。
ls -R ~/project/document_library
最初に作成したのと同じディレクトリ構造とファイルが表示されるはずです。
/home/labex/project/document_library:
references reports specifications
/home/labex/project/document_library/references:
guide.txt handbook.txt manual.txt
/home/labex/project/document_library/reports:
annual.txt monthly.txt quarterly.txt
/home/labex/project/document_library/specifications:
product.txt service.txt system.txt
アーカイブから特定のファイルのみを展開したい場合は、アーカイブ名の後にそれらのパスを指定することができます。たとえば、reports
ディレクトリのみを展開するには、次のようにします。
mkdir -p ~/project/extracted_reports
tar -xzvf ~/project/documents_archive.tar.gz -C ~/project/extracted_reports document_library/reports
これにより、reports
ディレクトリとその内容のみが extracted_reports
ディレクトリに展開されます。
おめでとうございます!tar
コマンドを使用してアーカイブからファイルを展開する方法を成功裏に学びました。このスキルは、バックアップの復元、ソースからのソフトウェアのインストール、およびその他多くの Linux 操作に不可欠です。