다양한 체크섬 유틸리티가 해시 앞에 백슬래시를 추가합니다.

다양한 체크섬 유틸리티가 해시 앞에 백슬래시를 추가합니다.

여기서 무슨 일이 일어나고 있는 걸까요? 디렉토리 이름 및/또는 파일 이름의 백슬래시로 인해 다양한 체크섬 유틸리티가 백슬래시 슬래시 앞에 오는 해시를 보고하는 것으로 보입니다.

coreutil은 wc이런 방식으로 작동하지 않습니다.

예상대로의 동작:

#ppd# ls -1a
.
..
#ppd# mkdir a\\b
#ppd# ls -1
a\b
#ppd# for i in 1 2 3; do echo $i > a\\b/c$i; done

#ppd# ls -1 a\\b/c*
a\b/c1
a\b/c2
a\b/c3

#ppd# cat a\\b/c*
1
2
3

#ppd# wc --version
wc (GNU coreutils) 8.13
#pre# wc a\\b/c*
1 1 2 a\b/c1
1 1 2 a\b/c2
1 1 2 a\b/c3

#ppd# cd a\\b/

#ppd# md5sum --version
md5sum (GNU coreutils) 8.13

#ppd# md5sum c*
b026324c6904b2a9cb4b88d6d61c81d1  c1
26ab0db90d72e28ad0ba1e22ee510510  c2
6d7fce9fee471194aa8b5b6e47267f03  c3

이제 이상한 동작을 살펴보겠습니다.

#ppd# pwd
/home/abe/tdir/a\b

#ppd# md5sum ../a\\b/c*
\b026324c6904b2a9cb4b88d6d61c81d1  ../a\\b/c1
\26ab0db90d72e28ad0ba1e22ee510510  ../a\\b/c2
\6d7fce9fee471194aa8b5b6e47267f03  ../a\\b/c3

#ppd# cd ..

#ppd# md5sum a\\b/c*
\b026324c6904b2a9cb4b88d6d61c81d1  a\\b/c1
\26ab0db90d72e28ad0ba1e22ee510510  a\\b/c2
\6d7fce9fee471194aa8b5b6e47267f03  a\\b/c3

#ppd# sha1sum a\\b/c*
\e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e  a\\b/c1
\7448d8798a4380162d4b56f9b452e2f6f9e24e7a  a\\b/c2
\a3db5c13ff90a36963278c6a39e4ee3c22e2a436  a\\b/c3

#ppd# sha256sum a\\b/c*
\4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865  a\\b/c1
\53c234e5e8472b6ac51c1ae1cab3fe06fad053beb8ebfd8977b010655bfdd3c3  a\\b/c2
\1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2  a\\b/c3

파일 이름의 백슬래시:

#ppd# echo "4" > a\\b/c\\4
#ppd# ls -1 a\\b/*
a\b/c1
a\b/c2
a\b/c3
a\b/c\4

#ppd# md5sum a\\b/*
\b026324c6904b2a9cb4b88d6d61c81d1  a\\b/c1
\26ab0db90d72e28ad0ba1e22ee510510  a\\b/c2
\6d7fce9fee471194aa8b5b6e47267f03  a\\b/c3
\48a24b70a0b376535542b996af517398  a\\b/c\\4

#ppd# cd a\\b/
#ppd# md5sum *
b026324c6904b2a9cb4b88d6d61c81d1  c1
26ab0db90d72e28ad0ba1e22ee510510  c2
6d7fce9fee471194aa8b5b6e47267f03  c3
\48a24b70a0b376535542b996af517398  c\\4

xattrs에 해시를 ss=md5sum <filename>; setfattr -n user.cksm -v ${ss:0:32}. 다음은 보고된 문자 중 일부입니다 getfattr -n user.cksm.md5(첫 번째 줄은 문자 수를 계산하는 데 도움을 주기 위한 것입니다. md5 해시의 경우 숫자는 32여야 합니다.

#              123456789 123456789 123456789 12
user.cksm.md5="be28d5286d9c719a904550f41593d"
user.cksm.md5="a4e9e6958c9d5762dcf090871e44bf"
user.cksm.md5="#f39b8c4dc110178505c089cba7986"
user.cksm.md5="\\ebf1b8f8054d21c78f2a699776f84a0"
user.cksm.md5="+c2769ebdd2ce3a8355395d2129051"
user.cksm.md5="/9ac5b68efea0e9f02c917503cbb3e"

답변1

(자체 답변을 질문에서 이동했습니다.)

에 따르면이 답변에게다른 질문, 현재 질문에 대한 대답은 rtfm입니다.

참고: GNU sha 다이제스트 문서는 md5sum 다이제스트 문서를 참조합니다.

각 파일에 대해 'md5sum'은 기본적으로 MD5 체크섬, 공백, 바이너리 또는 텍스트 입력 모드를 나타내는 플래그 및 파일 이름을 출력합니다. 바이너리 모드는 '*'로 표시되고, 텍스트 모드는 ' '(공백)으로 표시됩니다. 중요한 시스템에서는 바이너리 모드가 기본값이고, 그렇지 않으면 텍스트 모드가 기본값입니다. 파일인 경우백슬래시가 포함되어 있습니다.또는 줄 바꿈을 사용하면 해당 줄이 백슬래시로 시작되고 파일 이름에서 문제가 있는 각 문자가 백슬래시로 이스케이프되어 임의의 파일 이름이 있는 경우에도 출력이 명확해집니다. file을 생략하거나 '-'로 지정하면 표준 입력을 읽습니다.

관련 정보