2012-10-31 59 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

相關問題