Sha*_*375 3 command-line filesystems desktop-environment
我对 linux 很陌生,正在学习所有基础知识。当我这样做时,我意识到操作系统以不同的方式对待某些文件是多么奇怪 - 如果它们碰巧是与当前登录用户关联的桌面文件,则通过在 GUI 桌面环境中显示它们来命名。操作系统如何知道当前用户桌面目录的路径变量?对于黑客娱乐,是否可以更改为在 GUI 桌面上显示任意目录?
桌面目录的默认路径因语言而异。因此,如果您的系统中存在,则比$HOME/Desktop
可以从中获取更好的猜测xdg-user-dirs
:
$ xdg-user-dirs DESKTOP
/home/arnie97/??
Run Code Online (Sandbox Code Playgroud)
从xdg-user-dirs
主页还有另一种方式:
以下是如何找到桌面和下载目录的 shellscript 示例:
Run Code Online (Sandbox Code Playgroud)test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs echo ${XDG_DESKTOP_DIR:-$HOME/Desktop} echo ${XDG_DOWNLOAD_DIR:-$HOME}
对于应用程序代码,希望各种桌面能够集成它并有一个很好的 API 来查找这些目录。
一般来说,在GNU/Linux(如Unix)中,用户的桌面目录可以用~/Desktop
. 简写~/
将扩展到主目录的任何内容,例如/path/to/home/username
.
我应该澄清的是,大多数shell(例如 bash、ksh、csh 等)都会扩展~
到主目录,但不是全部(例如 rc)。波形符是一个文字字符,因此您可以拥有一个文件~filename
;因此,外壳的设计必须能够在一定条件下扩展波浪线。