背景:

背景:

背景:

興味がない場合は、このセクションをスキップしてください。

私は通常sudo dd if=/dev/sdc1 of=~/Document/Cell\ Phone\ Files/MicroSD_Backup/$(date +%y-%m-%d).imgカードリーダーを使ってMicroSDカードをコンピュータに接続し、コマンドを使って携帯電話にMicroSDカードをバックアップします。

私のMicroSDカードにはパーティションが1つだけあり、ファイルシステムはですfat32GBKしたがって、中国語のファイル名はGBKエンコーディングを使用し、英語のファイル名はASCIIエンコーディングを使用します。

MicroSDカードの最新イメージを作成した後、フォーマットし、最新イメージにある無駄なファイルを削除したかったです。

説明する:

imgファイルには、gbkファイル名とasciiファイル名を含むファイルが含まれており、マイコンピュータのデフォルトのエンコーディングはUTF-8です。これらのGBKファイル名をUTF-8に変換したいのですが、convmv --notest -f gbk -t utf-8 *イメージファイルマウントディレクトリからコマンドを実行すると、ASCIIファイル名を持つファイルが壊れるか心配されます。

質問:

gbkというファイルを見つけて、そのパスをコマンドにパイプできますかconvmv?したがって、ASCIIファイル名を持つファイルは保存できます。

答え1

ご提案いただいた@SiyuanRenに感謝します。 convmvASCIIを変更せずに間違った文字を防ぐ誤った文字を処理できます。

この場合、コマンドは正しく機能しますconvmv -f gbk -t utf8 *

もう1つの解決策は、イメージ-o loop,utf8ファイルをマウントするときに使用するか、udisksctlファイル名のエンコードを自動的に処理できるものを使用することです。

PSの全体的な使用方法はudisksctl次のとおりです。

# losetup --fine --show /path-to-img-file
$ udisksctl -b /the-loop-file-showed-after-former-command

その後、アカウントのパスワードを入力すると、インストールされている場所が表示されます/

関連情報