2012-10-31 107 views
3

正如我所称,如何通过c程序在linux中找到默认的下载目录?

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

我使用的是Ubuntu发行版。

+0

位置可以不同。它取决于应用程序。基本上是〜/下载 – rkosegi

+0

为什么要投票?问题中的任何问题? – Whoami

+0

是吗?那么,可以......这取决于用户,是不是我不知道这有什么规则。 @rkosegi – alk

回答

1

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

3

操作系统级别没有“默认下载目录”,尽管目前所有的发行版都会为此目的创建一个~/Downloads目录,大多数浏览器默认会选择它。你想达到什么目的?

+0

Andy,使用inotify来监视下载。 – Whoami

+1

对。所以'$ HOME/Downloads'是你最好的选择。但是用户不需要使用这个目录,所以不会(不能!)捕获所有这些目录。 –

+0

这是真的Andy。 – Whoami

0

对于如何在Linux上组织用户数据没有任何标准,除此之外,在大多数情况下,它指向$HOME指向的地方。

对此的一个注意事项是放置位置以及如何命名文件和目录以存储用户特定的应用程序配置。他们应该到用户家的根目录,这些文件/目录应以.开头。请see here for this

对于系统文件,确实存在引导线,即FHS

7

晚会很晚,但有:XDG规范完全涵盖了这个主题。要获得外壳(脚本)下载目录只需要运行:

$ xdg-user-dir DOWNLOAD 
/home/djasa/Downloads 

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

$ grep DOWNLOAD .config/user-dirs.dirs 
XDG_DOWNLOAD_DIR="$HOME/Downloads" 

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

+1

唯一正确的答案! XDG实际上涵盖了这个问题。因为下载目录可能看起来像:'〜/ Downloads','〜/ downloads','〜/Завантаження'等等。 '$ xdg-user-dir [folder_type]'输出实际的目录名称。附:同样,每个用户都可以通过编辑XDG配置文件来定制他的目录。 – ddmytrenko

+0

用作变量:'DOWNLOAD_PATH = $(xdg-user-dir DOWNLOAD)' – KrisWebDev

相关问题