大多数文件都消失了,但我仍然留下这两个文件:
“.RData”和“.Rhistory”
为什么会这样呢?我正在使用 R,但我不知道这些文件是什么。
之后,我可以单独删除它们,而无需使用 sudo。
答案1
*
仅包含可见文件。如果您想删除这些和隐藏的,请使用:
rm -rf * .*
点团选项
使用 bash,我们可以改变这种行为并取消隐藏文件。为了说明这一点,让我们创建两个文件,一个是隐藏的,一个不是:
$ touch unhidden .hide1
$ ls *
unhidden
如您所见,只有未隐藏的显示为ls *
。现在让我们设置dotglob
选项:
$ shopt -s dotglob
$ ls *
.hide1 unhidden
这两个文件现在都出现了。当然,如果我们愿意,我们可以关闭 dotglob:
$ shopt -u dotglob
$ ls *
unhidden
文档
从man bash
:
当模式用于路径名扩展时,字符“.”名称开头或紧跟在斜杠后面的字符必须显式匹配,除非设置了 shell 选项 dotglob。匹配路径名时,斜杠字符必须始终显式匹配。在其他情况下,“.”字符不会被特殊处理。有关 nocaseglob、nullglob、failglob 和 dotglob shell 选项的说明,请参阅下面的 SHELL BUILTIN COMMANDS 下的 shopt 说明。
换句话说,路径名扩展忽略名称以 开头的文件,.
除非.
显式指定。
安全问题
为了避免令人不快的意外,即使您在命令行中指定,rm
也会拒绝删除当前目录.
和父目录:..
$ rm -rf .*
rm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘.’
rm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘..’
答案2
然后确保目录正确
sudo rm -rf * .*