用户主目录中的隐藏文件和目录

MLS*_*LSC 6 linux filesystems security logs files

我在用户的主目录中,我这样做:

ls -a
Run Code Online (Sandbox Code Playgroud)

然后它向我显示了我用户目录中的大量隐藏文件和目录。我可以删除其中哪些?

我的系统需要哪些?

我怎么能意识到呢?

Gra*_*eme 5

正如@mikeserv已经说了,你一般不允许删除任何你想要的文件,你的主目录。如果您有足够的权限,您可以删除另一个用户主目录中的文件,但正如我们将看到的,这对于其他用户主目录中的文件可能不是一件好事。这些文件都不是您的系统运行所必需的,您至少必须成为 root 才能破坏系统。

但是,这些文件中的大多数包含程序在以该用户身份运行时使用的设置或其他数据。删除这些可能会显着改变程序对该用户的外观/感觉,甚至可能导致数据丢失。以下是我在 home 下的隐藏文件/目录中的一些内容:

  • 我的桌面环境的设置。如果这些被删除,对其进行的任何自定义,如壁纸、屏幕保护程序、快捷键和任务栏/菜单更改都将在用户下次登录时恢复为默认设置。

  • Web 浏览器相关数据。其中一些将是可能很重要的书签、浏览历史记录等。大部分数据将是包含下载的网络数据(图像等)的缓存。这只会在下次访问页面时重新下载,所以通常没有问题。

  • .wine目录。这是整个 Wine 驱动器的默认位置。如果这被删除,那么用户在 wine 下安装的所有软件也将被删除!

  • .cabal目录,其中用户软件被存储在隐藏目录中的另一个例子。这些是由cabal.

  • 我使用的各种命令行程序的配置文件,例如.bashrc, inputrc, .vimrc, .tmux.conf. 多年来,许多用户将建立大量的各种设置/调整来帮助他们的工作流程。我你删除了我的那将是煽动暴力!(好吧,不是真的,我会从备份中恢复,或者只是根据需要重新添加内容)。

许多程序在运行时会查找这些文件中的一个或多个,并且会创建找不到的文件。如果它是一个设置文件,新创建的将只有默认设置。通过其自己的界面对程序设置所做的任何更改都可能存储在其中之一中。如果缓存数据被删除,这通常会减慢沿线某处的速度,因为重新创建需要时间(通常是首先存储它的原因)。

通常很难找出哪些文件属于哪个程序。卸载程序时也不会删除这些文件,因此很容易收集不需要的文件。如果您想删除一些,您可以尝试确定一个您不需要的(例如,如果您删除浏览器,定位和删除其缓存文件可能会释放大量空间)。或者只是确定想要保留的内容并删除其余内容 - 有时清除可能是一个好主意。

可能导致意外结果的原因是删除.bashrc和 等文件.profile,即使它们尚未更改。系统将从/etc/skel创建用户时复制这些文件的默认版本,而不是bash在首次运行时创建这些文件。如果您不小心删除了其中之一,您可以随时从中恢复它/etc/skel(您可以ls -a /etc/skel查看那里有什么)。