web-dev-qa-db-ja.com

ルートディレクトリからtar.gzでファイルをパックする

ルートディレクトリにいるときに、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」という別のフォルダーが含まれています。

すべてのディレクトリをコピーするのではなく、ファイルのみを圧縮することは可能ですか?

8
Black

使用 --directoryオプションman tar

-C、--ディレクトリDIR

ディレクトリDIRに移動します

例:

tar -C /mnt/sdb1/ -czf /mnt/sdb1/old_files/new.tar.gz myfile.csv
12
Fiximan

最初にcd /mnt/sdb1、次にtarコマンドを起動します。

参考までに、tarhereを使用する必要はありません。その目的は、tarball内の複数のファイルを凝集させることです。ここにはファイルが1つしかないため、gzipを使用します。

3
dr_

使用 -C tarのオプション:

   -C Directory
        Causes the tar command to perform a chdir subroutine to the
        directory specified by the Directory variable.
1
Jeff Schaller