当前位置:首页 > 技术文章 > 正文内容

Linux 基本目录规范(linux常见目录含义)

douba31个月前 (07-24)技术文章15


XDG Base Directory Specification

该规范定义了一套指向应用程序的环境变量,这些变量指明的就是这些程序应该存储的基准目录。
而变量的具体值取决于用户,若用户未指定,将由程序本身指向一个默认目录,该默认目录也应该遵从标准,而不是用户主目录。

参考:

https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

https://wiki.archlinux.org/title/XDG_Base_Directory

基本

XDG基本目录规范基于以下概念:

  • 有一个用于写入特定用户数据文件的基本目录。$XDG_DATA_HOME。 $HOME/.local/share
  • 有一个用于写入特定用户的配置文件基本目录。$XDG_CONFIG_HOME。 $HOME/.confi
  • 有一组首选的基本数据目录。$XDG_DATA_DIRS。 /usr/local/share/:/usr/share/
  • 有一组首选的基本配置目录。$XDG_CONFIG_DIRS。 /etc/xdg
  • 有一个用于写入用户特定的非必要(缓存)数据的基本目录。$XDG_CACHE_HOME。 $HOME/.cache
  • 有一个用户放置特定于用户的运行时文件和其他文件对象。$XDG_RUNTIME_DIR。


环境变量清单:用户层面变量(User-Level Variables)

$XDG_DATA_HOME

定义了应存储用户特定的数据文件的基准目录。默认值是

$HOME/.local/share

使用场景:

  • 用户下载的插件;
  • 程序产生的数据库;
  • 用户输入历史、书签、邮件等。

$XDG_CONFIG_HOME

定义了应存储用户特定的配置文件的基准目录。默认值是

$HOME/.config

使用场景:

  • 用户配置。
  • 一般来说,这个地方可以在程序初始化的时候存储一个默认的配置文件供加载和修改。

$XDG_CACHE_HOME

定义了应存储用户特定的非重要性数据文件的基准目录。默认值是

$HOME/.cache

使用场景:

  • 缓存的缩略图、歌曲文件、视频文件等。
  • 程序应该做到哪怕这个目录被用户删了也能正常运行。

$XDG_RUNTIME_DIR

定义了应存储用户特定的非重要性运行时文件和一些其他文件对象。

使用场景:

  • 套接字 (socket)、命名管道 (named pipes) 等。
  • 该目录必须由用户拥有,并且该用户必须是唯一具有读写访问权限的。 目录的 Unix 访问模式必须是 0700

环境变量清单:系统层面变量(System-Level Variables)

$XDG_CONFIG_DIRS

定义了一套按照偏好顺序的基准目录集,用来搜索除了 $XDG_CONFIG_HOME 目录之外的配置文件。该目录中的文件夹应该用冒号(:)隔开。默认值是

/etc/xdg

使用场景:

  • 可以被用户特定的配置文件所覆盖的系统层面的配置文件。
  • 一般来说,应用程序安装的时候可以加载配置文件到这个目录。

$XDG_DATA_DIRS

$XDG_DATA_DIRS 定义了一套按照偏好顺序的基准目录集,用来搜索除了 $XDG_DATA_HOME 目录之外的数据文件。该目录中的文件夹应该用冒号(:)隔开。默认值是

/usr/local/share/:/usr/share/

使用场景:

  • 可以被所有用户使用的插件或者主题。
  • 一般来说,应用程序安装的时候可以加载插件、主题等文件到这个目录。

相关文章

如何在Ubuntu中安装RustDesk远程桌面软件

用Rust编写的RustDesk是远程桌面查看和管理的理想软件,因为它的开箱即用性能不需要任何配置。RustDesk特性使用RustDesk作为您的远程桌面软件保证您以下主要功能:安全性-您不必担心未...

Linux 系统中的 SSH 是什么?如何使用 SSH 进行远程登录和文件传输?

SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络上安全地进行远程登录和文件传输。它提供了一种安全的通信渠道,使用户能够通过一个加密的连接与远程主机进行交互。首先,让我们来了解一...

linux的查查大法(linux 查wwn)

1.查文件find命令,用来查找指定目录下的目录或文件。(1.1)一般用法find -name keyword:当前目录及子目录下查找与keyword完全一致的目录或文件;find -name *ke...

linux 查看磁盘信息的常用命令(linux中查看磁盘的命令)

在Linux系统中,排查磁盘问题是一个非常重要的任务,以下是一些常用的Linux排查磁盘问题的命令:df:查看磁盘分区的使用情况,可以查看磁盘分区的总容量、已用容量、可用容量等。du:查看文件或目录的...

Linux 下如何查看进程的资源限制信息?

简介Linux 上的 cat /proc/$pid/limits 命令提供有关特定进程的资源限制的信息,其中 $pid 是相关进程的进程 ID (pid)。该文件是 `/proc 文件系统的一部分,该...

Linux环境中FTP服务的安装与配置(linux服务器安装ftp命令)

简介:FTP ( 文件传输协议 ) 是 互联网常用的网络协议之一 , 它为系统提供了通过网络与远程服务器进行文件传输的简单方法,多个Web站点可以共享一个IP地址。Linux下ftp服务可以通过搭建v...