tarコマンドは、ドットファイルを無視します。
こんな感じで.testrcファイルは無視されます。
$ ls -a test . .. .testrc test $ tar cfz test.tar.gz test/* $ tar tfz test.tar.gz test/test $
バックアップ用途の場合、ドットファイルだけがバックアップされていないのは致命的です。
ドットファイルを含めてtarにする
ドットファイルを含めてtarファイルにアーカイブするには明示的にファイルを指定する必要があります。
空のディレクトリは、無視されてしまいますが、以下のようにするとドットファイルを含めてtarできます。
$ ls -a test
. .. .testrc test
$ tar cfz test2.tar.gz `find test -type f`
$ tar tfz test2.tar.gz
test/.testrc
test/test
$
tarのオプションでドットファイルを含めるようにできないかな…
コメント
ワイルドカードの*がドットファイルにマッチしないのが原因で、
tarが無視してるわけはありません。
$ tar cfz test.tar.gz test
ならtest/以下全部が対象になります。
ebanさん
コメントありがとうございます。
確かに、おっしゃるとおりでした。
ディレクトリ指定でドットファイルもアーカイブされました。
$ tar cfz test3.tar.gz test
$ tar tfz test3.tar.gz
test/
test/.test
test/test
$