运行 rm -r "$HOME/.wine" 安全吗?

运行 rm -r "$HOME/.wine" 安全吗?

我在 Google 上搜索如何卸载 Wine。我找到了一些东西,它告诉我输入以下内容:

rm -r "$HOME/.wine"
rm  $HOME/.config/menus/applications-merged/wine*
rm -r "$HOME/.local/share/applications/wine"
rm $HOME/.local/share/desktop-directories/wine*
rm $HOME/.local/share/icons/????_*.xpm

输入后,我查看了评论,说它可能会破坏你的主文件夹。这是真的吗?我现在看不出有什么问题。

答案1

首先让我们了解rm -rf命令的工作原理。它会删除给定目录中的所有内容以及目录本身,因此如果您为其指定路径,$HOME/directory_1/directory_2/它将directory_2 连同其文件一起消失。路径的其余部分将是安全的。以下是一个例子:

$ tree somethings/                                     
somethings/
└── subdirectory_1
    ├── a
    └── b

1 directory, 2 files
$ rm -rf somethings/subdirectory_1/                    

$ tree somethings
somethings

就您的命令而言:

  • rm -r "$HOME/.wine"仅删除.wine目录
  • rm $HOME/.config/menus/applications-merged/wine*仅处理文件夹wine中以字符串开头的所有文件$HOME/.config/menus/applications-merged
  • rm -r "$HOME/.local/share/applications/wine"wine仅删除了文件夹
  • rm $HOME/.local/share/desktop-directories/wine*删除了文件夹wine中 以 开头的文件$HOME/.local/share/desktop-directories
  • rm $HOME/.local/share/icons/????_*.xpm删除了所有.xpm文件。

换句话说,它们足够安全。


我和 Rinzwind 在评论和 Ask Ubuntu 聊天室中讨论的是,可以更改$HOME变量。是的,这是可能的,但如果你故意更改$HOME,你需要记住这一点;否则,这不是rm的错,说实话 - 从用户的角度来看,这简直是愚蠢的。命令仅在您指定的路径上起作用,因此请为命令提供正确的路径。

其他潜在问题是空格。如果您的主文件夹名称中有空格,例如/home/My User,那么如果不使用引号,$HOMEshell 会认为您为其提供了两个参数,/home/MyUser。这种效果称为分词。因此,请始终使用引号引用变量,例如"$HOME"

答案2

部分正确。如果你运行 ,它将摧毁你的主文件夹rm -rf "$HOME"。所以我建议你在尝试运行rm命令中包含的某些内容之前先阅读整篇文章。

事实并非如此。据我们所知,它没有损害系统正常运行所必需的任何事物。

到目前为止,您已经删除了 WINE 的配置文件,WINE 将在必要时重建和/或重新安装这些文件。

所以冷静下来并祝你好运!

相关内容