bash中,怎么删除一个名字为"-p"的文件夹?
- 0次
- 2021-07-22 15:44:50
- idczone
试过各种工具,结果文件名全部被识别为参数了,难道这就是linux的死穴之一?
同级目录其他文件夹和文件复制出来,然后 rm -fr *
rmdir -- -p
...
rm -r './-p/'
使用绝对路径 删除
mkdir '/home/xiaozhl/-p/'
rm -rf '/home/xiaozhl/-p/'
还是直接点吧 rm -fr ./-p
http://linux.byexamples.com/archives/171/remove-file-start-with-special-character/
这个很好用,多谢!
你应该记住用 ‘--’ 分隔标志参数和直接参数这个常识。到处通用。* 只不过是被你的shell自动识别成当前目录的所有文件并传作直接参数。
明白了,多谢
的是正解.
用单引号禁止转义即可
强迫症来了。
rm -rf 。。。
错解,单引号只是跳过了shell的通配符扩展等过程,将参数字面传递,跟lz的问题没关系.
ls -i
find . -inum xxxxx -delete
这个不是死穴,以前还删过文件名乱码的
有 inode Number 怎么会是死穴?
find /path/to -inum xxx -exec rm -i {} \;
或请随意组合。
rm -rf -- -p 请查阅man rm 最后几行
再附加一句,所以理论上建议shebang写-- 比较好,除了这个问题外,还可以防一下安全问题
rm \-p 试试?