フルパスの代わりにファイルをアーカイブする方法

フルパスの代わりにファイルをアーカイブする方法

特定のファイルを別のフォルダに保存しようとしています。私はこのbashコマンドを使います:

tar cf file.tar /home/albertserres/Descargas/file

.tarファイルにはhomeというフォルダがあり、ここにalbertserresという別のフォルダがあり、私のファイルがあるDescargasという別のフォルダがあります。

なぜこれが起こるのですか?フルフォルダ階層ではなくファイルのみが必要です。

答え1

-Cファイルをアーカイブする前にディレクトリに変更するには、このオプションを使用します。

tar cf file.tar -C /home/albertserres/Descargas file

Pythonでは、次のようになります。

saveFolder = "/home/albertserres/a.tar"
srcFolder = "/home/albertserres/Descargas"
srcFile = "test1"
subprocess.call(["tar", "rvf", saveFolder, "-C", srcFolder, srcFile])

関連情報