ルートディレクトリにいるときに、tar.gzで.csvファイルをパックしようとします。
ファイルmyfile.csv
は/mnt/sdb1/
にあります。したがって、完全なファイル名は/mnt/sdb1/myfile.csv
です。
/mnt/sdb1/old_files
にtar.gzを保存しようとします
私はこのようにしてみました:
tar -czf /mnt/sdb1/old_files/new.tar.gz mnt/sdb1/myfile.csv
しかし、ファイルを抽出すると、「mdb」という名前のフォルダーが抽出されます。このフォルダーには、ファイルを含む「sdb1」という別のフォルダーが含まれています。
すべてのディレクトリをコピーするのではなく、ファイルのみを圧縮することは可能ですか?
使用 --directory
オプションman tar
:
-C、--ディレクトリDIR
ディレクトリDIRに移動します
例:
tar -C /mnt/sdb1/ -czf /mnt/sdb1/old_files/new.tar.gz myfile.csv
最初にcd /mnt/sdb1
、次にtar
コマンドを起動します。
参考までに、tar
hereを使用する必要はありません。その目的は、tarball内の複数のファイルを凝集させることです。ここにはファイルが1つしかないため、gzip
を使用します。
使用 -C
tarのオプション:
-C Directory Causes the tar command to perform a chdir subroutine to the directory specified by the Directory variable.