Unix Directory Standards

Discussions debate optimal locations for binaries, configurations, and user data in Unix/Linux systems, contrasting traditional FHS paths like /usr/bin and /etc with XDG standards like ~/.config and ~/.local.

📉 Falling 0.4x DevOps & Infrastructure
4,106
Comments
19
Years Active
5
Top Authors
#589
Topic ID

Activity Over Time

2008
10
2009
41
2010
90
2011
91
2012
203
2013
119
2014
77
2015
151
2016
222
2017
127
2018
128
2019
282
2020
313
2021
266
2022
519
2023
581
2024
398
2025
414
2026
74

Keywords

XDG AppData PATH BSD xdgbasedirectoryspecification.com freedesktop.org FTW wikipedia.org POSIX archlinux.org bin usr directory local config directories unix files home standard

Sample Comments

dahfizz Aug 6, 2020 View on HN

What's the advantage over plain old /etc ? I am always annoyed by /bin, /usr/bin, /usr/share/bin, and others. Why can't we consolidate?

berdario Oct 1, 2015 View on HN

It's very common for linux applications to store stuff in $XDG_DATA_HOME (~/.local/share by default) (config files and caches go somewhere else)In my ~/.local I also have a bin/ directory (created by some Haskell tool), so rather than putting stuff in /Users/username/usr/local, I think it might make more sense to recreate the (needed parts of) a unix fs hierarchy in /Users/username/.localThere's also ~/LibrarySupport on

rascul May 11, 2022 View on HN

I can recall any Linux distro or Unix variant setup in the way you describe. In addition, the Filesystem Hierarchy Standard disagrees with you.https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.htmlYou may be thinking of the /bin and /usr/bin difference, though.

zozbot234 Apr 5, 2020 View on HN

Stuff in /usr/(bin|share|...) might get overwritten by system update or reinstall. A better choice is /usr/local/

JTbane Sep 16, 2025 View on HN

this makes Unix-style directories seem downright logical:- programs go in /bin- configurations go in /etc- libraries go in /lib- your personal user files go in /home/username

johnisgood Nov 20, 2025 View on HN

I agree, because of XDG_CONFIG_HOME vs. XDG_CACHE_HOME vs. XDG_DATA_HOME.See https://wiki.archlinux.org/title/XDG_Base_Directory.

horlux Apr 17, 2021 View on HN

Linux programs don't normally do that, they put files in known places /bin, /etc /lib and so on

hyperupcall Oct 24, 2022 View on HN

strongly disagree - as of 2022, more apps follow the XDG Base Directory Specification than not - in fact, by a wide margin. So by "doing dirty" in your users home directory, you're going against the grain of the ecosystem.It doesn't seem like you understand much about the specification? I'd recommend reading it, or at least a short summary I've made available here: https:/

account42 Aug 6, 2020 View on HN

Both of these should ideally not be in the home directory at all but under XDG_CONFIG_HOME.

pkulak Feb 2, 2019 View on HN

Doesn't the standard just put everything in /home/user/.local anyway?