问题解决

    科技2022-08-21  115

    问题描述:

    在win10系统下用迅雷下载文件后,用win10的linux子系统(Ubuntu 20.04 LTS)进行md5检验:md5sum -c md5.txt,结果输出:

    : FAILED open or read md5sum: 'filename'$'\r': No such file or directory

    问题解决:

    输出提示是文件名没法识别,且出现了“$,\r”这些特殊符号,怀疑是linux系统和win10系统的特殊符号编码不一致的问题。查看md5.txt文件的完整文件名: cat -A md5.txt ***md5 value***^Ifilename^M$ 查看文件路径的完整文件名: ls|cat -A filename$ 所以md5.txt里面的文件名确实和下载的文件名不一致接下来将md5.txt中的^M也就是\r去掉,作为md5sum的输入就好了: # 方法1 sed 's/\r//g' md5.txt | md5sum -c - # 方法2 sudo apt install dos2unix cat -A md5.txt # 查看转换之前 dos2unix md5.txt # 将文件中windows的符号转换为linux的符号 cat -A md5.txt # 查看转换之后 md5sum -c md5.txt

    背景知识:

    在Windows系统下编辑的文件,换行符回车的格式为’\r\n’,在linux系统下,回车的格式为’\n’,在Windows下编辑的文本文件在上传至linux服务器时,回车’\r\n’就显示成^M+’\n’,ref1

    Processed: 0.008, SQL: 10