tar
コマンドでフォルダーを圧縮しようとしています。
私がそれを圧縮しようとしているとき、それはうまく働きます。問題はファイル名にあります。
ソースパス:
/data/file/
宛先パス:
/data/repo/temp/file.tar.gz
tar zcvf $srcpath $destinationpath
別のフォルダーからコマンドを実行していますが、フォルダーを抽出している間、ファイルフォルダーだけではなく、すべてのサブディレクトリを取得しています。
これを行う最も簡単な方法は、最初にディレクトリにcdすることです:
cd /path/to/containing/folder && tar -zcvf tarfile.tar.gz foldername_tocompress
(含む)フォルダーのディレクトリが圧縮ファイルのルートディレクトリになるようにします。
もう少し高度なのは、-Cオプションを使用することです。
tar -zcvf tarfile.tar.gz -C /path/to/foldername_tocompress .
これにより、現在の(作業中の)ディレクトリにtar.gz
ファイルが作成され、foldername_tocompress
内のすべてのファイル/フォルダーが含まれます(ドットに注意して、すべてのファイル/フォルダーを含める必要があります)。