我不小心在我的主目录的子目录下创建了一个目录“~/”。如何在不影响我的主目录的情况下安全地删除此目录。rm -r ~
显然行不通……谢谢!
放在引号中时,~
永远不会展开。所以:
rm -r '~'
Run Code Online (Sandbox Code Playgroud)
同样,除非波浪号是第一个字符,否则不会执行波浪号扩展。因此,这也将起作用:
rm -r ./~
Run Code Online (Sandbox Code Playgroud)
rm -r
将删除一个目录及其所有内容。如果您只想删除空目录,请rmdir
改用(帽子提示:Patrick)。在这种情况下:
rmdir '~'
Run Code Online (Sandbox Code Playgroud)
或者,
rmdir ./~
Run Code Online (Sandbox Code Playgroud)
波浪号扩展
如果单词以 未加引号的 波浪号字符(~
)开头,则第一个未加引号的斜杠之前的所有字符(或所有字符,如果没有未加引号的斜杠)都被视为波浪号前缀。如果没有引用波浪号前缀中的任何字符,则波浪号后面的波浪号前缀中的字符将被视为可能的登录名。如果此登录名是空字符串,则代字号将替换
为 shell 参数 HOME的值。如果未设置 HOME,则会替换执行 shell 的用户的主目录。否则,波浪号前缀将替换为与指定登录名关联的主目录。[强调。]