Linuxシステムにおけるディレクトリの再帰的な移動は、一般的に`mv`コマンドや`rsync`コマンドを用いて行われます。この記事では、それぞれのコマンドの基本的な使い方から応用例までを詳細に解説します。特に、`rsync`の高度なオプションを活用した複雑なケースにも焦点を当てています。
目次
基本的なディレクトリの移動方法
Linuxの基本的なディレクトリの移動方法は、`mv`コマンドを用います。以下の例では、`old_directory`を`new_directory`に移動しています。
# old_directoryをnew_directoryに移動する
mv old_directory new_directory
`rsync`コマンドの基本
`rsync`コマンドは、`mv`よりも高度なディレクトリやファイルの同期・移動が可能です。以下は、基本的な使用例です。
# old_directoryをnew_directoryに同期(移動)する
rsync -a old_directory/ new_directory/
`rsync`のオプション
– `-a`:アーカイブモードで、ディレクトリの属性やパーミッションも保持します。
– `–delete`:目的ディレクトリに存在するが、元ディレクトリに存在しないファイルを削除します。
応用例
応用例1: ネットワーク越しにディレクトリを移動
# リモートマシンのディレクトリをローカルにコピー
rsync -av user@remote:/path/to/remote/directory /path/to/local/directory
応用例2: ディレクトリの内容を除外して移動
# .logファイルを除外してディレクトリを移動
rsync -av --exclude='*.log' old_directory/ new_directory/
応用例3: `cron`で定期的なディレクトリのバックアップ
# crontabに以下の行を追加
* * * * * rsync -av --delete /path/to/source/ /path/to/backup/
応用例4: ディレクトリを圧縮して移動
# old_directoryをnew_directoryに圧縮して移動
tar czf - old_directory/ | (cd new_directory && tar xzf -)
まとめ
Linuxでのディレクトリの再帰的な移動は、基本的な`mv`コマンドから、より高度な`rsync`コマンドまで多くの方法が存在します。特に`rsync`は、ネットワーク越しのディレクトリ移動や定期的なバックアップなど、多様なシナリオで有用です。
コメント