Linux環境でディレクトリを再帰的にアーカイブして圧縮する方法について解説します。具体的なコード例とその解説、応用例を含めています。
目次
はじめに
Linuxにおいて、ディレクトリとその中のファイルを再帰的にアーカイブし、圧縮する操作は非常に一般的です。この記事では、基本的なコマンドから応用例まで詳細に解説します。
基本的なアーカイブと圧縮
Linuxで最も一般的に使用される`tar`コマンドを使用して、ディレクトリを再帰的にアーカイブと圧縮します。
# ディレクトリを再帰的にアーカイブして圧縮
tar -zcvf archive.tar.gz /path/to/directory # /path/to/directoryをarchive.tar.gzとして圧縮
オプションの解説
– `-z`: gzipで圧縮
– `-c`: 新しいアーカイブを作成
– `-v`: 冗長モード
– `-f`: 出力ファイル名を指定
応用例
特定の拡張子のみを圧縮
find /path/to/directory -name "*.txt" | tar -zcvf txt_files.tar.gz -T - # .txtファイルのみを圧縮
このコマンドは、特定の拡張子(ここでは.txt)を持つファイルのみを圧縮します。
除外パターンを使用する
tar --exclude='*.mp3' -zcvf archive.tar.gz /path/to/directory # .mp3ファイルを除外して圧縮
.mp3ファイルを除外してディレクトリを圧縮します。
パスワードで保護
tar -zcvf - /path/to/directory | openssl des3 -salt -k password -out archive.des3 # パスワードで保護
このコマンドは`openssl`を使用してパスワードで保護します。
特定の日付以降のファイルのみをアーカイブ
find /path/to/directory -type f -newermt '2021-01-01' | tar -zcvf new_files.tar.gz -T - # 2021年1月1日以降のファイルのみを圧縮
このコマンドは2021年1月1日以降に更新されたファイルのみをアーカイブします。
まとめ
Linuxでディレクトリを再帰的にアーカイブして圧縮する方法は多種多様です。基本的な`tar`コマンドから、特定の条件を満たすファイルのみをアーカイブする方法など、用途に応じて選ぶことができます。
コメント