今天偶然发现,一个目录下竟然存在两个名字一样的文件夹。
百思不得期间, 执行dir命令,发现了差别,原来其中一个文件夹多了\r
这么一个字符,这个是回车符的转义字符,原来在建立文件的时候把回车符也弄到文件夹名字中去了。
这个要怎么删除呢?
尝试了很多
mv public_html\r public_html mv 'public_html\r' public_html mv "public_html\r" public_html rename 'public_html\r' public_html rename "public_html\r" public_html
测试了半天都不行,网上找了半天也没有人说这个事情
后来我想试试通配符,才算搞定了
mv *public* public_html
如果文件夹名字只有一个换行符\r
怎么删除呢?
用inode是可以删除一些特殊文件,比如*.txt,这样通过ls -ilrt
或者ls -i
查找到inode数字,比如这里是21768421,那么执行命令
find ./ -inum 21768421 -exec rm -rf {} \;
这样就删除了inode为21768421的含有特殊文件名的文件。
但是这种办法是不能删除名字只有一个换行符的文件夹的,这样的文件夹我们可以执行下面的命令来删除
rm -rf './\r'
这样就搞定了,记录一下,不然下次又忘记了。
转载请注明:百蔬君 » 【原创文章】linux下重命名带回车符文件夹的方法