处理文件名包含特殊字符的文件
文件名包含特殊字符,在shell里边特殊字符会显示为?
,无从输入文件名,只会得到“No such file or directory”的错误。如何把文件名改回来呢?
两个办法:
例如:有错误文件名afile?:
1 2 | $ ls -rw-r--r-- 1 ethan ethan 0 Jan 5 00:55 afile? |
方法一:使用*
来通配
1 | $ mv afile* afile_new |
方法二:使用inode指定文件,而不是依靠文件名
“ls -li”找到文件的inode:
1 2 3 4 | $ ls -li 8916313 -rw-r--r-- 1 ethan ethan 0 Jan 5 00:55 afile? $ find . -inum 8916313 -exec mv {} afile_new \; |