md5sum はチェックサムの前に「\」を追加します。

md5sum はチェックサムの前に「\」を追加します。

名前に "\"が含まれるファイルのチェックサムを見つけると、md5sumがチェックサムの前に "\"を追加するのはなぜですか?

$ md5sum /tmp/test\\test
\d41d8cd98f00b204e9800998ecf8427e  /tmp/test\\test

他のすべてのユーティリティにも同様です。

ベストアンサー1

これはファイルに書き込む、Coreutils の場合md5sum:

もし文書バックスラッシュまたは改行文字を含み、行はバックスラッシュで始まり、ファイル名に問題があるすべての文字はバックスラッシュでエスケープされるため、任意のファイル名があっても出力はあいまいになりません。

文書ファイルの内容ではなくファイル名です。)

b2sumsha1sum、そして様々なSHA-2ツール動作はと同じですmd5sumsumそしてcksumいいえ。sum以前のバージョンとの互換性のみを提供します(そしてその祖先は引用された出力を生成しません)。cksumはい。POSIXで指定このタイプの出力は許可されません。

この行動は2015年11月発売バージョン 8.25 (2016 年 1 月) では、次の項目が含まれてリリースされましたNEWS

md5sum次に、行の先頭に「\」を使用し、改行を「\ n」に置き換えて、各ファイルが標準出力にステータスを表示していることを確認してください。これは、にもsha1sum影響しsha224sumます。sha256sumsha384sumsha512sum

行の先頭のバックスラッシュはフラグとして使用されます。ファイル名のエスケープは、行がバックスラッシュで始まる場合にのみ処理されます。 (エスケープ解除はデフォルトの動作ではありません。保存したファイル名を含める\\か、保存した以前のバージョンのCoreutilsで生成された合計を破棄することができます。)\n

おすすめ記事