如何通过c程序在linux中找到默认下载目录?

Who*_*ami 6 linux download ubuntu-12.04

正如我所说,

是否有可用的API,以确定Linux中的默认下载目录?

我正在使用ubuntu发行版.

小智 9

派对的时间很晚但是:XDG规范正是涵盖了这个主题.要在shell(脚本)中获取下载目录,只需运行:

$ xdg-user-dir DOWNLOAD
/home/djasa/Downloads
Run Code Online (Sandbox Code Playgroud)

对于程序,该位置可用于$HOME/.config/user-dirs.dirs:

$ grep DOWNLOAD .config/user-dirs.dirs 
XDG_DOWNLOAD_DIR="$HOME/Downloads"
Run Code Online (Sandbox Code Playgroud)

有关XDG的更多信息,请阅读man -k xdg返回给您的手册页.

  • 唯一正确的答案!XDG 实际上涵盖了这个问题。因为下载目录可以是:`~/Downloads`、`~/downloads`、`~/Завантаження` 等等。并且`$ xdg-user-dir [folder_type]` 打印实际的目录名称。PS 此外,每个用户都可以通过编辑 XDG 配置文件来自定义他的目录。 (2认同)

log*_*off 1

我认为最好的近似方法是使用用户的 HOME 环境变量。在许多发行版中,您可以在其中使用子文件夹,但这并不适用于所有发行版。