我不小心在我的主目录的子目录下创建了一个目录“~/”。如何安全地删除此目录而不影响我的主目录。rm -r ~
显然行不通...谢谢!
答案1
当放在引号中时,~
永远不会扩展。所以:
rm -r '~'
同样,除非波浪号是第一个字符,否则不会执行波浪号扩展。所以,这也将起作用:
rm -r ./~
删除空目录的更安全方法
rm -r
将删除目录及其所有内容。如果您只想删除空目录,请使用rmdir
(帽子提示:Patrick)。在这种情况下:
rmdir '~'
或者,
rmdir ./~
文档
波形符扩展
如果一个这个词以一个开头 未引用的 波形符(~
),第一个不带引号的斜杠之前的所有字符(或所有字符,如果没有不带引号的斜杠)都被视为波形符前缀。如果波形符前缀中的任何字符均未加引号,则波形符前缀中跟随波形符的字符将被视为可能的登录名。如果此登录名是空字符串,则波浪号将替换为
shell 参数 HOME 的值。如果未设置 HOME,则会替换执行 shell 的用户的主目录。否则,波形符前缀将替换为与指定登录名关联的主目录。 [强调。]
答案2
该命令rm -ir -- relativepath/~
将删除它。该-r
标志观察目录是否为空,然后才会继续。-i
在采取行动之前提示确认。