「:」と「@」を含むファイル名から「リモート」tarを防ぐ方法

「:」と「@」を含むファイル名から「リモート」tarを防ぐ方法

tar -xvf*@*@*@*.tar.gz形式(*は任意の単語文字)を使用してtarballを抽出しようとしていますが、tarがリモートの場所でファイルを見つけようとしているようです。私が得るエラーは次のコマンドですtar -xzvf tasf423@2012-02-22\@00:03:04\@ja41nf.tar.gz

tar (child): Cannot connect to 2012-02-22@00: resolve failed

バックスラッシュを使用してエスケープしようとし、@記号を%40に置き換えようとしましたが、これらのいずれも機能しないようです。名前に@を含むtarコマンドを使用してタルボールを抽出する方法はありますか?

他の例:

おそらく、この例は問題をよりよく説明します。

# tar czvf 2022-02-10-00\:04.tar.gz 2022-02-10-00\:04
2022-02-10-00:04/
2022-02-10-00:04/dmesg.txt
tar (child): Cannot connect to 2022-02-10-00: resolve failed
2022-02-10-00:04/vmcore
tar: 2022-02-10-00:04.tar.gz: Wrote only 2048 of 10240 bytes
tar: Child returned status 128
tar: Error is not recoverable: exiting now

注:コロン(:)はエスケープする必要はありません。 Bashのファイル名補完コードはこれを行います。:Windowsとは異なり、UNIXでは「悪意のある」文字とは見なされません。

ベストアンサー1

問題はatシンボルではなくコロンです。使用--force-local

おすすめ記事