我的 Linux 主目录中的隐藏文件是干什么用的？
主目录 隐藏文件
![](/data/attachment/album/201803/05/182148r4sp2ghf4krg9tva.png)


在 Linux 系统中，你可能会在主目录中存储了大量文件和文件夹。但在这些文件之外，你知道你的主目录还附带了很多隐藏的文件和文件夹吗？如果你在主目录中运行 `ls -a`，你会发现一堆带有点前缀的隐藏文件和目录。这些隐藏的文件到底做了什么？


### 在主目录中隐藏的文件是干什么用的?


![hidden-files-liunux-2](/data/attachment/album/201803/05/182151ilrr5vc8m3ttyrzb.png "hidden-files-liunux-2")


通常，主目录中的隐藏文件和目录包含该用户程序访问的设置或数据。它们不打算让用户编辑，只需要应用程序进行编辑。这就是为什么它们被隐藏在用户的正常视图之外。


通常，删除和修改自己主目录中的文件不会损坏操作系统。然而，依赖这些隐藏文件的应用程序可能不那么灵活。从主目录中删除隐藏文件时，通常会丢失与其关联的应用程序的设置。


依赖该隐藏文件的程序通常会重新创建它。 但是，你将从“开箱即用”设置开始，如全新用户一般。如果你在使用应用程序时遇到问题，那实际上可能是一个巨大的帮助。它可以让你删除可能造成麻烦的自定义设置。但如果你不这样做，这意味着你需要把所有的东西都设置成原来的样子。


### 主目录中某些隐藏文件的特定用途是什么？


![hidden-files-linux-3](/data/attachment/album/201803/05/182154xt8gu54cilyca556.png "hidden-files-linux-3")


每个人在他们的主目录中都会有不同的隐藏文件。每个人都有一些。但是，无论应用程序如何，这些文件都有类似的用途。


#### 系统设置


系统设置包括桌面环境和 shell 的配置。


* shell 和命令行程序的**配置文件**：根据你使用的特定 shell 和类似命令的应用程序，特定的文件名称会变化。你会看到 `.bashrc`、`.vimrc` 和 `.zshrc`。这些文件包含你已经更改的有关 shell 的操作环境的任何设置，或者对 `vim` 等命令行实用工具的设置进行的调整。删除这些文件将使关联的应用程序返回到其默认状态。考虑到许多 Linux 用户多年来建立了一系列微妙的调整和设置，删除这个文件可能是一个非常头疼的问题。
* **用户配置文件**：像上面的配置文件一样，这些文件（通常是 `.profile` 或 `.bash_profile`）保存 shell 的用户设置。该文件通常包含你的 `PATH` 环境变量。它还包含你设置的[别名](https://www.maketecheasier.com/making-the-linux-command-line-a-little-friendlier/#aliases)。用户也可以在 `.bashrc` 或其他位置放置别名。`PATH` 环境变量控制着 shell 寻找可执行命令的位置。通过添加或修改 `PATH`，可以更改 shell 的命令查找位置。别名更改了原有命令的名称。例如：一个别名可能将 `ls -l` 设置为 `ll`。这为经常使用的命令提供基于文本的快捷方式。如果删除 `.profile` 文件，通常可以在 `/etc/skel` 目录中找到默认版本。
* **桌面环境设置**：这里保存你的桌面环境的任何定制。其中包括桌面背景、屏幕保护程序、快捷键、菜单栏和任务栏图标以及用户针对其桌面环境设置的其他任何内容。当你删除这个文件时，用户的环境会在下一次登录时恢复到新的用户环境。


#### 应用配置文件


你会在 Ubuntu 的 `.config` 文件夹中找到它们。 这些是针对特定应用程序的设置。 它们将包含喜好列表和设置等内容。


* **应用程序的配置文件**：这包括应用程序首选项菜单中的设置、工作区配置等。 你在这里找到的具体取决于应用程序。
* **Web 浏览器数据**：这可能包括书签和浏览历史记录等内容。这些文件大部分是缓存。这是 Web 浏览器临时存储下载文件（如图片）的地方。删除这些内容可能会降低你首次访问某些媒体网站的速度。
* **缓存**：如果用户应用程序缓存仅与该用户相关的数据（如 [Spotify 应用程序存储播放列表的缓存](https://www.maketecheasier.com/clear-spotify-cache/)），则主目录是存储该目录的默认地点。 这些缓存可能包含大量数据或仅包含几行代码：这取决于应用程序需要什么。 如果你删除这些文件，则应用程序会根据需要重新创建它们。
* **日志**：一些用户应用程序也可能在这里存储日志。根据开发人员设置应用程序的方式，你可能会发现存储在你的主目录中的日志文件。然而，这不是一个常见的选择。


### 结论


在大多数情况下，你的 Linux 主目录中的隐藏文件用于存储用户设置。 这包括命令行程序以及基于 GUI 的应用程序的设置。删除它们将删除用户设置。 通常情况下，它不会导致程序被破坏。




---


via: <https://www.maketecheasier.com/hidden-files-linux-home-directory/>


作者：[Alexander Fox](https://www.maketecheasier.com/author/alexfox/) 译者：[MjSeven](https://github.com/MjSeven) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
![](https://www.maketecheasier.com/assets/uploads/2017/06/hidden-files-linux-hero.png)

In your Linux system you probably store a lot of files and folders in your Home directory. But beneath those files, do you know that your Home directory also comes with a lot of hidden files and folders? If you run `ls -a`

on your home directory, you’ll discover a pile of hidden files and directories with dot prefixes. What do these hidden files do anyway?

## What are hidden files in the home directory for?

Most commonly, hidden files and directories in the home directory contain settings or data that’s accessed by that user’s programs. They’re not intended to be edited by the user, only the application. That’s why they’re hidden from the user’s normal view.

In general files from your own home directory can be removed and changed without damaging the operating system. The applications that rely on those hidden files, however, might not be as flexible. When you remove a hidden file from the home directory, you’ll typically lose the settings for the application associated with it.

The program that relied on that hidden file will typically recreate it. However, you’ll be starting from the “out-of-the-box” settings, like a brand new user. If you’re having trouble with an application, that can actually be a huge help. It lets you remove customizations that might be causing trouble. But if you’re not, it just means you’ll need to set everything back the way you like it.

## What are some specific uses of hidden files in the home directory?

Everyone will have different hidden files in their home directory. There are some that everyone has. However, the files serve a similar purpose, regardless of the parent application.

### System Settings

System settings include the configuration for your desktop environment and your shell.

**Configuration files**for your shell and command line utilities: Depending on the specific shell and command-like utilities you use, the specific file name will change. You’ll see files like “.bashrc,” “.vimrc” and “.zshrc.” These files contain any settings you’ve changed about your shell’s operating environment or tweaks you’ve made to the settings of command-line utilities like`vim`

. Removing these files will return the associated application to its default state. Considering many Linux users build up an array of subtle tweaks and settings over the years, removing this file could be a huge headache.**User profiles:**Like the configuration files above, these files (typically “.profile” or “.bash_profile”) save user settings for the shell. This file often contains your PATH. It also contains[aliases](https://www.maketecheasier.com/making-the-linux-command-line-a-little-friendlier/#aliases/)you’ve set. Users can also put aliases in`.bashrc`

or other locations. The PATH governs where the shell looks for executable commands. By appending or modifying your PATH, you can change where your shell looks for commands. Aliases change the names of commands. One alias might set`ll`

to call`ls -l`

, for example. This provides text-based shortcuts to often-used commands. If you delete`.profile`

, you can often find the default version in the “/etc/skel” directory.**Desktop environment settings:**This saves any customization of your desktop environment. That includes the desktop background, screensavers, shortcut keys, menu bar and taskbar icons, and anything else that the user has set about their desktop environment. When you remove this file, the user’s environment reverts to the new user environment at the next login.

### Application configuration files

You’ll find these in the “.config” folder in Ubuntu. These are settings for your specific applications. They’ll include things like the preference lists and settings.

**Configuration files for applications**: This includes settings from the application preferences menu, workspace configurations and more. Exactly what you’ll find here depends on the parent application.**Web browser data:**This may include things like bookmarks and browsing history. The majority of files make up the cache. This is where the web browser stores temporarily download files, like images. Removing this might slow down some media-heavy websites the first time you visit them.**Caches**: If a user application caches data that’s only relevant to that user (like the[Spotify app storing cache of your playlist](https://www.maketecheasier.com/clear-spotify-cache/)), the home directory is a natural place to store it. These caches might contain masses of data or just a few lines of code: it depends on what the parent application needs. If you remove these files, the application recreates them as necessary.**Logs:**Some user applications might store logs here as well. Depending on how developers set up the application, you might find log files stored in your home directory. This isn’t a common choice, however.

## Conclusion

In most cases the hidden files in your Linux home directory as used to store user settings. This includes settings for command-line utilities as well as GUI-based applications. Removing them will remove user settings. Typically, it won’t cause a program to break.

Our latest tutorials delivered straight to your inbox