2018-01-25 Linux 刪除文件名亂碼的文件

原因

今天,Ubuntu 的串口與虛擬機(jī) Windows 的串口沖突了,我在 minicom 中隨意輸入(變成一堆亂碼),結(jié)果在開發(fā)板的 Linux 系統(tǒng)中生成了一個(gè)文件,文件名類似 [???@@?D@8] 這樣的。本來就是亂碼,想要直接 rm 掉又不行,開發(fā)板上又沒有桌面,看來沒那么簡單了。

解決辦法

  1. ls -l 列出所有文件的詳細(xì)信息:
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 文件;當(dāng)然還可以利用 head + tail 這兩個(gè)命令去掉前面和后面的):
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啦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容