美文网首页
2018-01-25 Linux 删除文件名乱码的文件

2018-01-25 Linux 删除文件名乱码的文件

作者: heyzqq | 来源:发表于2018-01-25 15:23 被阅读0次

    原因

    今天,Ubuntu 的串口与虚拟机 Windows 的串口冲突了,我在 minicom 中随意输入(变成一堆乱码),结果在开发板的 Linux 系统中生成了一个文件,文件名类似 [?�?@@?D@8] 这样的。本来就是乱码,想要直接 rm 掉又不行,开发板上又没有桌面,看来没那么简单了。

    解决办法

    1. ls -l 列出所有文件的详细信息:
    root@ ~# ls -l
    -rw-r--r--    1 root     root             0 Jan 23 11:56 ?�?@@?D@8
    drwxr-xr-x    1 root     root             0 Jan 23 16:02 ./
    drwxr-xr-x    1 root     root             0 Jan 23 16:21 ../
    -rwxr-xr-x    1 root     root        109880 Jan 23 09:49 test
    
    1. head -n 1筛选出第一行乱码(如果乱码不在第一行,可以利用 grep -v 去掉不想删除的,如:ls -l | grep -v test 可以过滤掉 test 文件;当然还可以利用 head + tail 这两个命令去掉前面和后面的):
    root@ ~# ls -l | head -n 1
    -rw-r--r--    1 root     root             0 Jan 23 11:56 ?�?@@?D@8
    
    1. 利用 awk 筛选出最后的文件名:
    root@ ~# ls -l | head -n 1 | awk ‘{printf $NF}’
    ?�?@@?D@8
    
    1. 最后利用 rm 直接删除指定文件名文件:
    root@ ~# rm `ls -l | head -n 1 | awk ‘{printf $NF}’`
    

    × 这就OK啦!

    相关文章

      网友评论

          本文标题:2018-01-25 Linux 删除文件名乱码的文件

          本文链接:https://www.haomeiwen.com/subject/ecpvaxtx.html