What does the .d stand for in directory names? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Community Moderator Election Results Why I closed the “Why is Kali so hard” questionWhy is there a '.d' in 'init.d'?What stands for `xxx.d` in home directory? daemon?What does the “rc” stand for in /etc/rc.d?How does AptConf work in Debian Wheezy?rsyslog versus rsyslog.dWhat does altering a file/directory mean?What is the “~/” directory?What is the /boot partition really for?File System that supports duplicate directory namesWhat is the purpose of /usr/libexec?Bash: creating file names according to directory namesWhat is the user equivalent of the global /opt directory?What does <qual> stand for in the FHS?Why am I finding duplicates of directories (folders)?What is the /usr directory in Linux?

Is there a Spanish version of "dot your i's and cross your t's" that includes the letter 'ñ'?

How discoverable are IPv6 addresses and AAAA names by potential attackers?

How much radiation do nuclear physics experiments expose researchers to nowadays?

If Jon Snow became King of the Seven Kingdoms what would his regnal number be?

Is there a concise way to say "all of the X, one of each"?

Do I really need recursive chmod to restrict access to a folder?

"Seemed to had" is it correct?

Is the Standard Deduction better than Itemized when both are the same amount?

I am not a queen, who am I?

Do you forfeit tax refunds/credits if you aren't required to and don't file by April 15?

What causes the vertical darker bands in my photo?

When to stop saving and start investing?

Are my PIs rude or am I just being too sensitive?

What is a Meta algorithm?

Why one of virtual NICs called bond0?

Why aren't air breathing engines used as small first stages

How to deal with a team lead who never gives me credit?

The logistics of corpse disposal

Is it true that "carbohydrates are of no use for the basal metabolic need"?

What are the motives behind Cersei's orders given to Bronn?

What LEGO pieces have "real-world" functionality?

What do you call a phrase that's not an idiom yet?

Right-skewed distribution with mean equals to mode?

How do I keep my slimes from escaping their pens?



What does the .d stand for in directory names?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionWhy is there a '.d' in 'init.d'?What stands for `xxx.d` in home directory? daemon?What does the “rc” stand for in /etc/rc.d?How does AptConf work in Debian Wheezy?rsyslog versus rsyslog.dWhat does altering a file/directory mean?What is the “~/” directory?What is the /boot partition really for?File System that supports duplicate directory namesWhat is the purpose of /usr/libexec?Bash: creating file names according to directory namesWhat is the user equivalent of the global /opt directory?What does <qual> stand for in the FHS?Why am I finding duplicates of directories (folders)?What is the /usr directory in Linux?



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








111















I know many directories with .d in their name:



init.d
yum.repos.d
conf.d


Does it mean directory? If yes, from what does this disambiguate?



UPDATE: I've had many interesting answers about what the .d means, but the title of my question was not well chosen. I changed "mean" to "stand for", I hope this is clearer now.










share|improve this question



















  • 9





    For the origin of .d, see msw's comment on this related question at Ask Ubuntu.

    – Gilles
    Nov 13 '10 at 18:09











  • @Gilles, ha, I was thinking it was later than System-V, but yeah, even still there is no meaning to '.d' it was just chosen from what I can tell.

    – N J
    Nov 13 '10 at 18:24











  • @Gilles : interesting, the answer seems to be : the explanation was lost... as per the first comment of the first answer in your link

    – greg0ire
    Nov 13 '10 at 18:39












  • Not sure why .d in init.d, but it seems almost all custom config files go to .d directories in RHEL/CentOS/Fedora.

    – LiuYan 刘研
    Jul 21 '11 at 6:51











  • @Liu Yan - Indeed, I could not explain it in any manner that could be construed as consistent.

    – Tim Post
    Jul 21 '11 at 7:06

















111















I know many directories with .d in their name:



init.d
yum.repos.d
conf.d


Does it mean directory? If yes, from what does this disambiguate?



UPDATE: I've had many interesting answers about what the .d means, but the title of my question was not well chosen. I changed "mean" to "stand for", I hope this is clearer now.










share|improve this question



















  • 9





    For the origin of .d, see msw's comment on this related question at Ask Ubuntu.

    – Gilles
    Nov 13 '10 at 18:09











  • @Gilles, ha, I was thinking it was later than System-V, but yeah, even still there is no meaning to '.d' it was just chosen from what I can tell.

    – N J
    Nov 13 '10 at 18:24











  • @Gilles : interesting, the answer seems to be : the explanation was lost... as per the first comment of the first answer in your link

    – greg0ire
    Nov 13 '10 at 18:39












  • Not sure why .d in init.d, but it seems almost all custom config files go to .d directories in RHEL/CentOS/Fedora.

    – LiuYan 刘研
    Jul 21 '11 at 6:51











  • @Liu Yan - Indeed, I could not explain it in any manner that could be construed as consistent.

    – Tim Post
    Jul 21 '11 at 7:06













111












111








111


42






I know many directories with .d in their name:



init.d
yum.repos.d
conf.d


Does it mean directory? If yes, from what does this disambiguate?



UPDATE: I've had many interesting answers about what the .d means, but the title of my question was not well chosen. I changed "mean" to "stand for", I hope this is clearer now.










share|improve this question
















I know many directories with .d in their name:



init.d
yum.repos.d
conf.d


Does it mean directory? If yes, from what does this disambiguate?



UPDATE: I've had many interesting answers about what the .d means, but the title of my question was not well chosen. I changed "mean" to "stand for", I hope this is clearer now.







directory fhs






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 5 '17 at 10:59









fat

1176




1176










asked Nov 13 '10 at 17:11









greg0iregreg0ire

1,31621432




1,31621432







  • 9





    For the origin of .d, see msw's comment on this related question at Ask Ubuntu.

    – Gilles
    Nov 13 '10 at 18:09











  • @Gilles, ha, I was thinking it was later than System-V, but yeah, even still there is no meaning to '.d' it was just chosen from what I can tell.

    – N J
    Nov 13 '10 at 18:24











  • @Gilles : interesting, the answer seems to be : the explanation was lost... as per the first comment of the first answer in your link

    – greg0ire
    Nov 13 '10 at 18:39












  • Not sure why .d in init.d, but it seems almost all custom config files go to .d directories in RHEL/CentOS/Fedora.

    – LiuYan 刘研
    Jul 21 '11 at 6:51











  • @Liu Yan - Indeed, I could not explain it in any manner that could be construed as consistent.

    – Tim Post
    Jul 21 '11 at 7:06












  • 9





    For the origin of .d, see msw's comment on this related question at Ask Ubuntu.

    – Gilles
    Nov 13 '10 at 18:09











  • @Gilles, ha, I was thinking it was later than System-V, but yeah, even still there is no meaning to '.d' it was just chosen from what I can tell.

    – N J
    Nov 13 '10 at 18:24











  • @Gilles : interesting, the answer seems to be : the explanation was lost... as per the first comment of the first answer in your link

    – greg0ire
    Nov 13 '10 at 18:39












  • Not sure why .d in init.d, but it seems almost all custom config files go to .d directories in RHEL/CentOS/Fedora.

    – LiuYan 刘研
    Jul 21 '11 at 6:51











  • @Liu Yan - Indeed, I could not explain it in any manner that could be construed as consistent.

    – Tim Post
    Jul 21 '11 at 7:06







9




9





For the origin of .d, see msw's comment on this related question at Ask Ubuntu.

– Gilles
Nov 13 '10 at 18:09





For the origin of .d, see msw's comment on this related question at Ask Ubuntu.

– Gilles
Nov 13 '10 at 18:09













@Gilles, ha, I was thinking it was later than System-V, but yeah, even still there is no meaning to '.d' it was just chosen from what I can tell.

– N J
Nov 13 '10 at 18:24





@Gilles, ha, I was thinking it was later than System-V, but yeah, even still there is no meaning to '.d' it was just chosen from what I can tell.

– N J
Nov 13 '10 at 18:24













@Gilles : interesting, the answer seems to be : the explanation was lost... as per the first comment of the first answer in your link

– greg0ire
Nov 13 '10 at 18:39






@Gilles : interesting, the answer seems to be : the explanation was lost... as per the first comment of the first answer in your link

– greg0ire
Nov 13 '10 at 18:39














Not sure why .d in init.d, but it seems almost all custom config files go to .d directories in RHEL/CentOS/Fedora.

– LiuYan 刘研
Jul 21 '11 at 6:51





Not sure why .d in init.d, but it seems almost all custom config files go to .d directories in RHEL/CentOS/Fedora.

– LiuYan 刘研
Jul 21 '11 at 6:51













@Liu Yan - Indeed, I could not explain it in any manner that could be construed as consistent.

– Tim Post
Jul 21 '11 at 7:06





@Liu Yan - Indeed, I could not explain it in any manner that could be construed as consistent.

– Tim Post
Jul 21 '11 at 7:06










7 Answers
7






active

oldest

votes


















96














The .d suffix here means directory. Of course, this would be unnecessary as Unix doesn't require a suffix to denote a file type but in that specific case, something was necessary to disambiguate the commands (/etc/init, /etc/rc0, /etc/rc1 and so on) and the directories they use (/etc/init.d, /etc/rc0.d, /etc/rc1.d, ...)



This convention was introduced at least with Unix System V but possibly earlier. The init command used to be located in /etc but is generally now in /sbin on modern System V OSes.



Note that this convention has been adopted by many applications moving from a single file configuration file to multiple configuration files located in a single directory, eg: /etc/sudoers.d



Here again, the goal is to avoid name clashing, not between the executable and the configuration file but between the former monolithic configuration file and the directory containing them.






share|improve this answer




















  • 4





    +1, I think you're right, but no one so far has given any quote for his theory

    – greg0ire
    Nov 14 '10 at 12:04











  • It's more of a convention that kind of grew on people than an actual explicit standard, I think

    – Shadur
    Aug 10 '11 at 4:35






  • 1





    When you do an ls command (not ls -al) without using the --color option (either explicitly specified or part of LS_OPTIONS environment variable), having the ".d" makes directories stand out from the list. That's why I always thought it was done.

    – LawrenceC
    Dec 25 '12 at 16:22











  • ^ color is not the only, or best, way to visually flag directories. ls -F will do that and many more useful things.

    – underscore_d
    Oct 29 '15 at 22:20


















53














Excerpt from a Debian mailing list (emphasis added):




When distribution packaging became more and more common, it became clear
that we needed better ways of forming such configuration files out of
multiple fragments, often provided by multiple independent packages. Each
package that needs to configure some shared service should be able to
manage only its configuration without having to edit a shared
configuration file used by other packages.



The most common convention adopted was to permit including a directory
full of configuration files, where anything dropped into that directory
would become active and part of that configuration. As that convention
became more widespread, that directory was usually named after the
configuration file that it was replacing or augmenting. But since one
cannot have a directory and a file with the same name, some method was
required to distinguish, so .d was appended to the end of the
configuration file name. Hence, a configuration file /etc/Muttrc was
augmented by fragments in /etc/Muttrc.d, /etc/bash_completion was
augmented with /etc/bash_completion.d/*, and so forth. Sometimes slight
variations on that convention are used, such as /etc/xinetd.d to
supplement /etc/xinetd.conf, or /etc/apache2/conf.d to supplement
/etc/apache2/apache2.conf. But it's the same basic idea.



Generally when you see that *.d convention, it means "this is a directory
holding a bunch of configuration fragments which will be merged together
into configuration for some service."





For part 2, the reason for the ".d", my best guess would be "distributed", as in not part of the main configuration file, but still part of the configuration.






share|improve this answer




















  • 8





    Surprising... I would have thought this spoke in favour of the "directory", meaning "this is the directory part of the configuration".

    – greg0ire
    Nov 13 '10 at 22:50






  • 2





    It clearly does. Why someone would read this and conclude that the .d meant anything else is beyond me! But this source only shows Debian's rationale for, in one context, using a convention that existed since the early days of Unix. I have to wonder whether this Debian maintainer was deliberately simplifying - or really thought Debian invented this practice.

    – underscore_d
    Oct 29 '15 at 22:22



















11














If you speak about ".d" at the end of directory names, this answer is right, it's just a marker for "directory".



Just don't confuse it with "d" at the and of a file name, like "syslogd", which stands for daemon. A computer process running in the background.




the parent process of a daemon is often (but not always) the init process (PID=1). Processes usually become daemons by forking a child process and then having their parent process immediately exit, thus causing init to adopt the child process. This is a somewhat simplified view of the process as other operations are generally performed, such as dissociating the daemon process from any controlling tty. Convenience routines such as daemon(3) exist in some UNIX systems for that purpose.







share|improve this answer

























  • Not really, these are directory names.

    – Keith
    Jul 21 '11 at 6:04











  • @Keith: oops, I mistakenly thought he speaks about files ending with "d", like syslogd, not directories ending with ".d". I'l edit soon.

    – Philomath
    Jul 21 '11 at 6:14












  • That's what I thought, but I see it used often in configuration directories for programs that don't daemonize, e.g. sysctl.d, modprobe.d .. would that be an inappropriate use?

    – Tim Post
    Jul 21 '11 at 6:25











  • @Tim Post: see the above 2 comments (and Keith's answer), I'l soon edit my answer.

    – Philomath
    Jul 21 '11 at 6:28











  • Edited (15 chr)

    – Philomath
    Jul 21 '11 at 7:53


















4














It doesn't mean directory per se, basically what is happening is that directories that end in .d (note these are usually only ever in /etc), take configuration parts.



This is designed so distros can include universal defaults in for instance /etc/yum.conf, but then there is a easy to use method for users or other packages to append their own yum configurations in a safe way that won't be overwritten.



As an example for yum...



If I wanted to start using EPEL on my RHEL5 or CentOS Box, I can configure a new repository in the /etc/yum.repos.d folder, (say /etc/yum.repos.d/epel.repo) or install the epel-release package that creates the file automatically, without modifying my default configuration or causing file conflicts that don't need to happen.



What will happen, is most programs will read their default configuration (/etc/yum.conf for instance) and then iterate over their .d folders including configuration snippets into the running program.



Hope it explains it for you.






share|improve this answer

























  • +1, this explains a lot, but... not the choice of the 'd' letter.

    – greg0ire
    Nov 13 '10 at 17:52






  • 1





    Does there have to be an explanation for the choice? It is just a convention that has developed over time, it's not (from a quick look) defined in the FHS, but it may be included in the LSB standard. Cron was one of the first as I recall. (Edit: in fact it would have been init)

    – N J
    Nov 13 '10 at 18:18



















3














Just like files can have .ext to specify which type of file it is (commonly called the "extension"), directories sometimes have .d to show it's a directory and not a file. That's its type. The default ls output doesn't visually differentiate directories and files, so the .d is just an old convention to show its type (directory) in such listings.






share|improve this answer




















  • 6





    In addition the .d suffix prevents collisions with a similarly-named file. For example, you can have a configuration file /etc/apt/sources.list, and a directory of configuration files /etc/apt/sources.list.d.

    – jmtd
    Jul 21 '11 at 8:45






  • 2





    ^ I'd go so far as to say that's not an "addition" but the very reason for the convention in the first place. Unix/Linux has never been precious about having to include extensions on things, especially in the early days, so I doubt this one was bandied around without a good reason.

    – underscore_d
    Oct 29 '15 at 22:28


















2














More generally, the .d directories (/etc/httpd/conf.d, /etc/rc.d, /etc/being another example), indicates that the files contained will be read and used, often for configuration, if they match a given pattern and do not require being explicitly added to some master list.



So if you add files of the form *.repo to /etc/yum.repos.d, yum will use it when running without needing to add it to a list of configurations /etc/yum.conf. If you add files of the form *.conf to /etc/http/conf.d, they will be read by Apache without needing to be explicitly added to /etc/httpd/conf/httpd.conf. Similarly, chkconfig to files in /etc/init.d, cron jobs in /etc/cron.d.






share|improve this answer























  • +1, but... same remark as above.

    – greg0ire
    Nov 13 '10 at 17:53






  • 1





    @greg: Due to the variety of ways to sort answers, “above” and “below” are poor ways to refer to (comments on) other answers. The ‘oldest’ and ‘newest’ sorts produce opposite meanings for such position-based descriptions, and when sorting by ‘votes’ the relative position of two answers may change over time.

    – Chris Johnsen
    Nov 14 '10 at 5:44











  • @Chris Johnsen: this is what I realized, but too late. I was referring to my comment on N J's answer.

    – greg0ire
    Nov 14 '10 at 11:17


















1














I think, but cannot document, that the .d indicates that the directory is associated with a daemon.



Evidence would indicate that this is at least plausible:



sudo find / -maxdepth 3 -name "*.d"


Somewhere in the deep recesses of the little bits of ancient Unix history still rattling around in the back of my mind behind the cobwebs, this calls out to me as the correct answer. I believe it may have come from a time when the first mammals roamed the earth before the dinosaurs began to die out and man pages were not only kept on the system but also physically in racks measured by the foot.






share|improve this answer























  • +1 for the delirium at the end, but I think this does not fit well with yum.repos.d ...

    – greg0ire
    Nov 13 '10 at 22:47











  • </cobwebs> I believe the answers that indicate that the purpose of the .d is to disambiguate the directory from the related and similarly named files are the correct ones. I have upvoted E-man's and jlliagre's.

    – Dennis Williamson
    Nov 14 '10 at 23:22











  • The question is "what does the '.d' stand for", and I have received plenty of explanations concerning the reason why there is this '.d', but the few that gave an answer regarding the meaning did not quote any source. Personnaly, I think it means directory.

    – greg0ire
    Nov 15 '10 at 19:41






  • 1





    yum is a more recent invention.

    – Dennis Williamson
    Sep 22 '16 at 21:04











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f4029%2fwhat-does-the-d-stand-for-in-directory-names%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























7 Answers
7






active

oldest

votes








7 Answers
7






active

oldest

votes









active

oldest

votes






active

oldest

votes









96














The .d suffix here means directory. Of course, this would be unnecessary as Unix doesn't require a suffix to denote a file type but in that specific case, something was necessary to disambiguate the commands (/etc/init, /etc/rc0, /etc/rc1 and so on) and the directories they use (/etc/init.d, /etc/rc0.d, /etc/rc1.d, ...)



This convention was introduced at least with Unix System V but possibly earlier. The init command used to be located in /etc but is generally now in /sbin on modern System V OSes.



Note that this convention has been adopted by many applications moving from a single file configuration file to multiple configuration files located in a single directory, eg: /etc/sudoers.d



Here again, the goal is to avoid name clashing, not between the executable and the configuration file but between the former monolithic configuration file and the directory containing them.






share|improve this answer




















  • 4





    +1, I think you're right, but no one so far has given any quote for his theory

    – greg0ire
    Nov 14 '10 at 12:04











  • It's more of a convention that kind of grew on people than an actual explicit standard, I think

    – Shadur
    Aug 10 '11 at 4:35






  • 1





    When you do an ls command (not ls -al) without using the --color option (either explicitly specified or part of LS_OPTIONS environment variable), having the ".d" makes directories stand out from the list. That's why I always thought it was done.

    – LawrenceC
    Dec 25 '12 at 16:22











  • ^ color is not the only, or best, way to visually flag directories. ls -F will do that and many more useful things.

    – underscore_d
    Oct 29 '15 at 22:20















96














The .d suffix here means directory. Of course, this would be unnecessary as Unix doesn't require a suffix to denote a file type but in that specific case, something was necessary to disambiguate the commands (/etc/init, /etc/rc0, /etc/rc1 and so on) and the directories they use (/etc/init.d, /etc/rc0.d, /etc/rc1.d, ...)



This convention was introduced at least with Unix System V but possibly earlier. The init command used to be located in /etc but is generally now in /sbin on modern System V OSes.



Note that this convention has been adopted by many applications moving from a single file configuration file to multiple configuration files located in a single directory, eg: /etc/sudoers.d



Here again, the goal is to avoid name clashing, not between the executable and the configuration file but between the former monolithic configuration file and the directory containing them.






share|improve this answer




















  • 4





    +1, I think you're right, but no one so far has given any quote for his theory

    – greg0ire
    Nov 14 '10 at 12:04











  • It's more of a convention that kind of grew on people than an actual explicit standard, I think

    – Shadur
    Aug 10 '11 at 4:35






  • 1





    When you do an ls command (not ls -al) without using the --color option (either explicitly specified or part of LS_OPTIONS environment variable), having the ".d" makes directories stand out from the list. That's why I always thought it was done.

    – LawrenceC
    Dec 25 '12 at 16:22











  • ^ color is not the only, or best, way to visually flag directories. ls -F will do that and many more useful things.

    – underscore_d
    Oct 29 '15 at 22:20













96












96








96







The .d suffix here means directory. Of course, this would be unnecessary as Unix doesn't require a suffix to denote a file type but in that specific case, something was necessary to disambiguate the commands (/etc/init, /etc/rc0, /etc/rc1 and so on) and the directories they use (/etc/init.d, /etc/rc0.d, /etc/rc1.d, ...)



This convention was introduced at least with Unix System V but possibly earlier. The init command used to be located in /etc but is generally now in /sbin on modern System V OSes.



Note that this convention has been adopted by many applications moving from a single file configuration file to multiple configuration files located in a single directory, eg: /etc/sudoers.d



Here again, the goal is to avoid name clashing, not between the executable and the configuration file but between the former monolithic configuration file and the directory containing them.






share|improve this answer















The .d suffix here means directory. Of course, this would be unnecessary as Unix doesn't require a suffix to denote a file type but in that specific case, something was necessary to disambiguate the commands (/etc/init, /etc/rc0, /etc/rc1 and so on) and the directories they use (/etc/init.d, /etc/rc0.d, /etc/rc1.d, ...)



This convention was introduced at least with Unix System V but possibly earlier. The init command used to be located in /etc but is generally now in /sbin on modern System V OSes.



Note that this convention has been adopted by many applications moving from a single file configuration file to multiple configuration files located in a single directory, eg: /etc/sudoers.d



Here again, the goal is to avoid name clashing, not between the executable and the configuration file but between the former monolithic configuration file and the directory containing them.







share|improve this answer














share|improve this answer



share|improve this answer








edited Feb 28 '18 at 2:48









罗文俊

32




32










answered Nov 14 '10 at 11:16









jlliagrejlliagre

48k786138




48k786138







  • 4





    +1, I think you're right, but no one so far has given any quote for his theory

    – greg0ire
    Nov 14 '10 at 12:04











  • It's more of a convention that kind of grew on people than an actual explicit standard, I think

    – Shadur
    Aug 10 '11 at 4:35






  • 1





    When you do an ls command (not ls -al) without using the --color option (either explicitly specified or part of LS_OPTIONS environment variable), having the ".d" makes directories stand out from the list. That's why I always thought it was done.

    – LawrenceC
    Dec 25 '12 at 16:22











  • ^ color is not the only, or best, way to visually flag directories. ls -F will do that and many more useful things.

    – underscore_d
    Oct 29 '15 at 22:20












  • 4





    +1, I think you're right, but no one so far has given any quote for his theory

    – greg0ire
    Nov 14 '10 at 12:04











  • It's more of a convention that kind of grew on people than an actual explicit standard, I think

    – Shadur
    Aug 10 '11 at 4:35






  • 1





    When you do an ls command (not ls -al) without using the --color option (either explicitly specified or part of LS_OPTIONS environment variable), having the ".d" makes directories stand out from the list. That's why I always thought it was done.

    – LawrenceC
    Dec 25 '12 at 16:22











  • ^ color is not the only, or best, way to visually flag directories. ls -F will do that and many more useful things.

    – underscore_d
    Oct 29 '15 at 22:20







4




4





+1, I think you're right, but no one so far has given any quote for his theory

– greg0ire
Nov 14 '10 at 12:04





+1, I think you're right, but no one so far has given any quote for his theory

– greg0ire
Nov 14 '10 at 12:04













It's more of a convention that kind of grew on people than an actual explicit standard, I think

– Shadur
Aug 10 '11 at 4:35





It's more of a convention that kind of grew on people than an actual explicit standard, I think

– Shadur
Aug 10 '11 at 4:35




1




1





When you do an ls command (not ls -al) without using the --color option (either explicitly specified or part of LS_OPTIONS environment variable), having the ".d" makes directories stand out from the list. That's why I always thought it was done.

– LawrenceC
Dec 25 '12 at 16:22





When you do an ls command (not ls -al) without using the --color option (either explicitly specified or part of LS_OPTIONS environment variable), having the ".d" makes directories stand out from the list. That's why I always thought it was done.

– LawrenceC
Dec 25 '12 at 16:22













^ color is not the only, or best, way to visually flag directories. ls -F will do that and many more useful things.

– underscore_d
Oct 29 '15 at 22:20





^ color is not the only, or best, way to visually flag directories. ls -F will do that and many more useful things.

– underscore_d
Oct 29 '15 at 22:20













53














Excerpt from a Debian mailing list (emphasis added):




When distribution packaging became more and more common, it became clear
that we needed better ways of forming such configuration files out of
multiple fragments, often provided by multiple independent packages. Each
package that needs to configure some shared service should be able to
manage only its configuration without having to edit a shared
configuration file used by other packages.



The most common convention adopted was to permit including a directory
full of configuration files, where anything dropped into that directory
would become active and part of that configuration. As that convention
became more widespread, that directory was usually named after the
configuration file that it was replacing or augmenting. But since one
cannot have a directory and a file with the same name, some method was
required to distinguish, so .d was appended to the end of the
configuration file name. Hence, a configuration file /etc/Muttrc was
augmented by fragments in /etc/Muttrc.d, /etc/bash_completion was
augmented with /etc/bash_completion.d/*, and so forth. Sometimes slight
variations on that convention are used, such as /etc/xinetd.d to
supplement /etc/xinetd.conf, or /etc/apache2/conf.d to supplement
/etc/apache2/apache2.conf. But it's the same basic idea.



Generally when you see that *.d convention, it means "this is a directory
holding a bunch of configuration fragments which will be merged together
into configuration for some service."





For part 2, the reason for the ".d", my best guess would be "distributed", as in not part of the main configuration file, but still part of the configuration.






share|improve this answer




















  • 8





    Surprising... I would have thought this spoke in favour of the "directory", meaning "this is the directory part of the configuration".

    – greg0ire
    Nov 13 '10 at 22:50






  • 2





    It clearly does. Why someone would read this and conclude that the .d meant anything else is beyond me! But this source only shows Debian's rationale for, in one context, using a convention that existed since the early days of Unix. I have to wonder whether this Debian maintainer was deliberately simplifying - or really thought Debian invented this practice.

    – underscore_d
    Oct 29 '15 at 22:22
















53














Excerpt from a Debian mailing list (emphasis added):




When distribution packaging became more and more common, it became clear
that we needed better ways of forming such configuration files out of
multiple fragments, often provided by multiple independent packages. Each
package that needs to configure some shared service should be able to
manage only its configuration without having to edit a shared
configuration file used by other packages.



The most common convention adopted was to permit including a directory
full of configuration files, where anything dropped into that directory
would become active and part of that configuration. As that convention
became more widespread, that directory was usually named after the
configuration file that it was replacing or augmenting. But since one
cannot have a directory and a file with the same name, some method was
required to distinguish, so .d was appended to the end of the
configuration file name. Hence, a configuration file /etc/Muttrc was
augmented by fragments in /etc/Muttrc.d, /etc/bash_completion was
augmented with /etc/bash_completion.d/*, and so forth. Sometimes slight
variations on that convention are used, such as /etc/xinetd.d to
supplement /etc/xinetd.conf, or /etc/apache2/conf.d to supplement
/etc/apache2/apache2.conf. But it's the same basic idea.



Generally when you see that *.d convention, it means "this is a directory
holding a bunch of configuration fragments which will be merged together
into configuration for some service."





For part 2, the reason for the ".d", my best guess would be "distributed", as in not part of the main configuration file, but still part of the configuration.






share|improve this answer




















  • 8





    Surprising... I would have thought this spoke in favour of the "directory", meaning "this is the directory part of the configuration".

    – greg0ire
    Nov 13 '10 at 22:50






  • 2





    It clearly does. Why someone would read this and conclude that the .d meant anything else is beyond me! But this source only shows Debian's rationale for, in one context, using a convention that existed since the early days of Unix. I have to wonder whether this Debian maintainer was deliberately simplifying - or really thought Debian invented this practice.

    – underscore_d
    Oct 29 '15 at 22:22














53












53








53







Excerpt from a Debian mailing list (emphasis added):




When distribution packaging became more and more common, it became clear
that we needed better ways of forming such configuration files out of
multiple fragments, often provided by multiple independent packages. Each
package that needs to configure some shared service should be able to
manage only its configuration without having to edit a shared
configuration file used by other packages.



The most common convention adopted was to permit including a directory
full of configuration files, where anything dropped into that directory
would become active and part of that configuration. As that convention
became more widespread, that directory was usually named after the
configuration file that it was replacing or augmenting. But since one
cannot have a directory and a file with the same name, some method was
required to distinguish, so .d was appended to the end of the
configuration file name. Hence, a configuration file /etc/Muttrc was
augmented by fragments in /etc/Muttrc.d, /etc/bash_completion was
augmented with /etc/bash_completion.d/*, and so forth. Sometimes slight
variations on that convention are used, such as /etc/xinetd.d to
supplement /etc/xinetd.conf, or /etc/apache2/conf.d to supplement
/etc/apache2/apache2.conf. But it's the same basic idea.



Generally when you see that *.d convention, it means "this is a directory
holding a bunch of configuration fragments which will be merged together
into configuration for some service."





For part 2, the reason for the ".d", my best guess would be "distributed", as in not part of the main configuration file, but still part of the configuration.






share|improve this answer















Excerpt from a Debian mailing list (emphasis added):




When distribution packaging became more and more common, it became clear
that we needed better ways of forming such configuration files out of
multiple fragments, often provided by multiple independent packages. Each
package that needs to configure some shared service should be able to
manage only its configuration without having to edit a shared
configuration file used by other packages.



The most common convention adopted was to permit including a directory
full of configuration files, where anything dropped into that directory
would become active and part of that configuration. As that convention
became more widespread, that directory was usually named after the
configuration file that it was replacing or augmenting. But since one
cannot have a directory and a file with the same name, some method was
required to distinguish, so .d was appended to the end of the
configuration file name. Hence, a configuration file /etc/Muttrc was
augmented by fragments in /etc/Muttrc.d, /etc/bash_completion was
augmented with /etc/bash_completion.d/*, and so forth. Sometimes slight
variations on that convention are used, such as /etc/xinetd.d to
supplement /etc/xinetd.conf, or /etc/apache2/conf.d to supplement
/etc/apache2/apache2.conf. But it's the same basic idea.



Generally when you see that *.d convention, it means "this is a directory
holding a bunch of configuration fragments which will be merged together
into configuration for some service."





For part 2, the reason for the ".d", my best guess would be "distributed", as in not part of the main configuration file, but still part of the configuration.







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 13 '10 at 22:27









Steven D

32.9k898108




32.9k898108










answered Nov 13 '10 at 20:44









E-manE-man

64744




64744







  • 8





    Surprising... I would have thought this spoke in favour of the "directory", meaning "this is the directory part of the configuration".

    – greg0ire
    Nov 13 '10 at 22:50






  • 2





    It clearly does. Why someone would read this and conclude that the .d meant anything else is beyond me! But this source only shows Debian's rationale for, in one context, using a convention that existed since the early days of Unix. I have to wonder whether this Debian maintainer was deliberately simplifying - or really thought Debian invented this practice.

    – underscore_d
    Oct 29 '15 at 22:22













  • 8





    Surprising... I would have thought this spoke in favour of the "directory", meaning "this is the directory part of the configuration".

    – greg0ire
    Nov 13 '10 at 22:50






  • 2





    It clearly does. Why someone would read this and conclude that the .d meant anything else is beyond me! But this source only shows Debian's rationale for, in one context, using a convention that existed since the early days of Unix. I have to wonder whether this Debian maintainer was deliberately simplifying - or really thought Debian invented this practice.

    – underscore_d
    Oct 29 '15 at 22:22








8




8





Surprising... I would have thought this spoke in favour of the "directory", meaning "this is the directory part of the configuration".

– greg0ire
Nov 13 '10 at 22:50





Surprising... I would have thought this spoke in favour of the "directory", meaning "this is the directory part of the configuration".

– greg0ire
Nov 13 '10 at 22:50




2




2





It clearly does. Why someone would read this and conclude that the .d meant anything else is beyond me! But this source only shows Debian's rationale for, in one context, using a convention that existed since the early days of Unix. I have to wonder whether this Debian maintainer was deliberately simplifying - or really thought Debian invented this practice.

– underscore_d
Oct 29 '15 at 22:22






It clearly does. Why someone would read this and conclude that the .d meant anything else is beyond me! But this source only shows Debian's rationale for, in one context, using a convention that existed since the early days of Unix. I have to wonder whether this Debian maintainer was deliberately simplifying - or really thought Debian invented this practice.

– underscore_d
Oct 29 '15 at 22:22












11














If you speak about ".d" at the end of directory names, this answer is right, it's just a marker for "directory".



Just don't confuse it with "d" at the and of a file name, like "syslogd", which stands for daemon. A computer process running in the background.




the parent process of a daemon is often (but not always) the init process (PID=1). Processes usually become daemons by forking a child process and then having their parent process immediately exit, thus causing init to adopt the child process. This is a somewhat simplified view of the process as other operations are generally performed, such as dissociating the daemon process from any controlling tty. Convenience routines such as daemon(3) exist in some UNIX systems for that purpose.







share|improve this answer

























  • Not really, these are directory names.

    – Keith
    Jul 21 '11 at 6:04











  • @Keith: oops, I mistakenly thought he speaks about files ending with "d", like syslogd, not directories ending with ".d". I'l edit soon.

    – Philomath
    Jul 21 '11 at 6:14












  • That's what I thought, but I see it used often in configuration directories for programs that don't daemonize, e.g. sysctl.d, modprobe.d .. would that be an inappropriate use?

    – Tim Post
    Jul 21 '11 at 6:25











  • @Tim Post: see the above 2 comments (and Keith's answer), I'l soon edit my answer.

    – Philomath
    Jul 21 '11 at 6:28











  • Edited (15 chr)

    – Philomath
    Jul 21 '11 at 7:53















11














If you speak about ".d" at the end of directory names, this answer is right, it's just a marker for "directory".



Just don't confuse it with "d" at the and of a file name, like "syslogd", which stands for daemon. A computer process running in the background.




the parent process of a daemon is often (but not always) the init process (PID=1). Processes usually become daemons by forking a child process and then having their parent process immediately exit, thus causing init to adopt the child process. This is a somewhat simplified view of the process as other operations are generally performed, such as dissociating the daemon process from any controlling tty. Convenience routines such as daemon(3) exist in some UNIX systems for that purpose.







share|improve this answer

























  • Not really, these are directory names.

    – Keith
    Jul 21 '11 at 6:04











  • @Keith: oops, I mistakenly thought he speaks about files ending with "d", like syslogd, not directories ending with ".d". I'l edit soon.

    – Philomath
    Jul 21 '11 at 6:14












  • That's what I thought, but I see it used often in configuration directories for programs that don't daemonize, e.g. sysctl.d, modprobe.d .. would that be an inappropriate use?

    – Tim Post
    Jul 21 '11 at 6:25











  • @Tim Post: see the above 2 comments (and Keith's answer), I'l soon edit my answer.

    – Philomath
    Jul 21 '11 at 6:28











  • Edited (15 chr)

    – Philomath
    Jul 21 '11 at 7:53













11












11








11







If you speak about ".d" at the end of directory names, this answer is right, it's just a marker for "directory".



Just don't confuse it with "d" at the and of a file name, like "syslogd", which stands for daemon. A computer process running in the background.




the parent process of a daemon is often (but not always) the init process (PID=1). Processes usually become daemons by forking a child process and then having their parent process immediately exit, thus causing init to adopt the child process. This is a somewhat simplified view of the process as other operations are generally performed, such as dissociating the daemon process from any controlling tty. Convenience routines such as daemon(3) exist in some UNIX systems for that purpose.







share|improve this answer















If you speak about ".d" at the end of directory names, this answer is right, it's just a marker for "directory".



Just don't confuse it with "d" at the and of a file name, like "syslogd", which stands for daemon. A computer process running in the background.




the parent process of a daemon is often (but not always) the init process (PID=1). Processes usually become daemons by forking a child process and then having their parent process immediately exit, thus causing init to adopt the child process. This is a somewhat simplified view of the process as other operations are generally performed, such as dissociating the daemon process from any controlling tty. Convenience routines such as daemon(3) exist in some UNIX systems for that purpose.








share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 13 '17 at 12:37









Community

1




1










answered Jul 21 '11 at 5:48









PhilomathPhilomath

2,17211520




2,17211520












  • Not really, these are directory names.

    – Keith
    Jul 21 '11 at 6:04











  • @Keith: oops, I mistakenly thought he speaks about files ending with "d", like syslogd, not directories ending with ".d". I'l edit soon.

    – Philomath
    Jul 21 '11 at 6:14












  • That's what I thought, but I see it used often in configuration directories for programs that don't daemonize, e.g. sysctl.d, modprobe.d .. would that be an inappropriate use?

    – Tim Post
    Jul 21 '11 at 6:25











  • @Tim Post: see the above 2 comments (and Keith's answer), I'l soon edit my answer.

    – Philomath
    Jul 21 '11 at 6:28











  • Edited (15 chr)

    – Philomath
    Jul 21 '11 at 7:53

















  • Not really, these are directory names.

    – Keith
    Jul 21 '11 at 6:04











  • @Keith: oops, I mistakenly thought he speaks about files ending with "d", like syslogd, not directories ending with ".d". I'l edit soon.

    – Philomath
    Jul 21 '11 at 6:14












  • That's what I thought, but I see it used often in configuration directories for programs that don't daemonize, e.g. sysctl.d, modprobe.d .. would that be an inappropriate use?

    – Tim Post
    Jul 21 '11 at 6:25











  • @Tim Post: see the above 2 comments (and Keith's answer), I'l soon edit my answer.

    – Philomath
    Jul 21 '11 at 6:28











  • Edited (15 chr)

    – Philomath
    Jul 21 '11 at 7:53
















Not really, these are directory names.

– Keith
Jul 21 '11 at 6:04





Not really, these are directory names.

– Keith
Jul 21 '11 at 6:04













@Keith: oops, I mistakenly thought he speaks about files ending with "d", like syslogd, not directories ending with ".d". I'l edit soon.

– Philomath
Jul 21 '11 at 6:14






@Keith: oops, I mistakenly thought he speaks about files ending with "d", like syslogd, not directories ending with ".d". I'l edit soon.

– Philomath
Jul 21 '11 at 6:14














That's what I thought, but I see it used often in configuration directories for programs that don't daemonize, e.g. sysctl.d, modprobe.d .. would that be an inappropriate use?

– Tim Post
Jul 21 '11 at 6:25





That's what I thought, but I see it used often in configuration directories for programs that don't daemonize, e.g. sysctl.d, modprobe.d .. would that be an inappropriate use?

– Tim Post
Jul 21 '11 at 6:25













@Tim Post: see the above 2 comments (and Keith's answer), I'l soon edit my answer.

– Philomath
Jul 21 '11 at 6:28





@Tim Post: see the above 2 comments (and Keith's answer), I'l soon edit my answer.

– Philomath
Jul 21 '11 at 6:28













Edited (15 chr)

– Philomath
Jul 21 '11 at 7:53





Edited (15 chr)

– Philomath
Jul 21 '11 at 7:53











4














It doesn't mean directory per se, basically what is happening is that directories that end in .d (note these are usually only ever in /etc), take configuration parts.



This is designed so distros can include universal defaults in for instance /etc/yum.conf, but then there is a easy to use method for users or other packages to append their own yum configurations in a safe way that won't be overwritten.



As an example for yum...



If I wanted to start using EPEL on my RHEL5 or CentOS Box, I can configure a new repository in the /etc/yum.repos.d folder, (say /etc/yum.repos.d/epel.repo) or install the epel-release package that creates the file automatically, without modifying my default configuration or causing file conflicts that don't need to happen.



What will happen, is most programs will read their default configuration (/etc/yum.conf for instance) and then iterate over their .d folders including configuration snippets into the running program.



Hope it explains it for you.






share|improve this answer

























  • +1, this explains a lot, but... not the choice of the 'd' letter.

    – greg0ire
    Nov 13 '10 at 17:52






  • 1





    Does there have to be an explanation for the choice? It is just a convention that has developed over time, it's not (from a quick look) defined in the FHS, but it may be included in the LSB standard. Cron was one of the first as I recall. (Edit: in fact it would have been init)

    – N J
    Nov 13 '10 at 18:18
















4














It doesn't mean directory per se, basically what is happening is that directories that end in .d (note these are usually only ever in /etc), take configuration parts.



This is designed so distros can include universal defaults in for instance /etc/yum.conf, but then there is a easy to use method for users or other packages to append their own yum configurations in a safe way that won't be overwritten.



As an example for yum...



If I wanted to start using EPEL on my RHEL5 or CentOS Box, I can configure a new repository in the /etc/yum.repos.d folder, (say /etc/yum.repos.d/epel.repo) or install the epel-release package that creates the file automatically, without modifying my default configuration or causing file conflicts that don't need to happen.



What will happen, is most programs will read their default configuration (/etc/yum.conf for instance) and then iterate over their .d folders including configuration snippets into the running program.



Hope it explains it for you.






share|improve this answer

























  • +1, this explains a lot, but... not the choice of the 'd' letter.

    – greg0ire
    Nov 13 '10 at 17:52






  • 1





    Does there have to be an explanation for the choice? It is just a convention that has developed over time, it's not (from a quick look) defined in the FHS, but it may be included in the LSB standard. Cron was one of the first as I recall. (Edit: in fact it would have been init)

    – N J
    Nov 13 '10 at 18:18














4












4








4







It doesn't mean directory per se, basically what is happening is that directories that end in .d (note these are usually only ever in /etc), take configuration parts.



This is designed so distros can include universal defaults in for instance /etc/yum.conf, but then there is a easy to use method for users or other packages to append their own yum configurations in a safe way that won't be overwritten.



As an example for yum...



If I wanted to start using EPEL on my RHEL5 or CentOS Box, I can configure a new repository in the /etc/yum.repos.d folder, (say /etc/yum.repos.d/epel.repo) or install the epel-release package that creates the file automatically, without modifying my default configuration or causing file conflicts that don't need to happen.



What will happen, is most programs will read their default configuration (/etc/yum.conf for instance) and then iterate over their .d folders including configuration snippets into the running program.



Hope it explains it for you.






share|improve this answer















It doesn't mean directory per se, basically what is happening is that directories that end in .d (note these are usually only ever in /etc), take configuration parts.



This is designed so distros can include universal defaults in for instance /etc/yum.conf, but then there is a easy to use method for users or other packages to append their own yum configurations in a safe way that won't be overwritten.



As an example for yum...



If I wanted to start using EPEL on my RHEL5 or CentOS Box, I can configure a new repository in the /etc/yum.repos.d folder, (say /etc/yum.repos.d/epel.repo) or install the epel-release package that creates the file automatically, without modifying my default configuration or causing file conflicts that don't need to happen.



What will happen, is most programs will read their default configuration (/etc/yum.conf for instance) and then iterate over their .d folders including configuration snippets into the running program.



Hope it explains it for you.







share|improve this answer














share|improve this answer



share|improve this answer








edited 11 hours ago









Rotemya

11314




11314










answered Nov 13 '10 at 17:33









N JN J

2,2251416




2,2251416












  • +1, this explains a lot, but... not the choice of the 'd' letter.

    – greg0ire
    Nov 13 '10 at 17:52






  • 1





    Does there have to be an explanation for the choice? It is just a convention that has developed over time, it's not (from a quick look) defined in the FHS, but it may be included in the LSB standard. Cron was one of the first as I recall. (Edit: in fact it would have been init)

    – N J
    Nov 13 '10 at 18:18


















  • +1, this explains a lot, but... not the choice of the 'd' letter.

    – greg0ire
    Nov 13 '10 at 17:52






  • 1





    Does there have to be an explanation for the choice? It is just a convention that has developed over time, it's not (from a quick look) defined in the FHS, but it may be included in the LSB standard. Cron was one of the first as I recall. (Edit: in fact it would have been init)

    – N J
    Nov 13 '10 at 18:18

















+1, this explains a lot, but... not the choice of the 'd' letter.

– greg0ire
Nov 13 '10 at 17:52





+1, this explains a lot, but... not the choice of the 'd' letter.

– greg0ire
Nov 13 '10 at 17:52




1




1





Does there have to be an explanation for the choice? It is just a convention that has developed over time, it's not (from a quick look) defined in the FHS, but it may be included in the LSB standard. Cron was one of the first as I recall. (Edit: in fact it would have been init)

– N J
Nov 13 '10 at 18:18






Does there have to be an explanation for the choice? It is just a convention that has developed over time, it's not (from a quick look) defined in the FHS, but it may be included in the LSB standard. Cron was one of the first as I recall. (Edit: in fact it would have been init)

– N J
Nov 13 '10 at 18:18












3














Just like files can have .ext to specify which type of file it is (commonly called the "extension"), directories sometimes have .d to show it's a directory and not a file. That's its type. The default ls output doesn't visually differentiate directories and files, so the .d is just an old convention to show its type (directory) in such listings.






share|improve this answer




















  • 6





    In addition the .d suffix prevents collisions with a similarly-named file. For example, you can have a configuration file /etc/apt/sources.list, and a directory of configuration files /etc/apt/sources.list.d.

    – jmtd
    Jul 21 '11 at 8:45






  • 2





    ^ I'd go so far as to say that's not an "addition" but the very reason for the convention in the first place. Unix/Linux has never been precious about having to include extensions on things, especially in the early days, so I doubt this one was bandied around without a good reason.

    – underscore_d
    Oct 29 '15 at 22:28















3














Just like files can have .ext to specify which type of file it is (commonly called the "extension"), directories sometimes have .d to show it's a directory and not a file. That's its type. The default ls output doesn't visually differentiate directories and files, so the .d is just an old convention to show its type (directory) in such listings.






share|improve this answer




















  • 6





    In addition the .d suffix prevents collisions with a similarly-named file. For example, you can have a configuration file /etc/apt/sources.list, and a directory of configuration files /etc/apt/sources.list.d.

    – jmtd
    Jul 21 '11 at 8:45






  • 2





    ^ I'd go so far as to say that's not an "addition" but the very reason for the convention in the first place. Unix/Linux has never been precious about having to include extensions on things, especially in the early days, so I doubt this one was bandied around without a good reason.

    – underscore_d
    Oct 29 '15 at 22:28













3












3








3







Just like files can have .ext to specify which type of file it is (commonly called the "extension"), directories sometimes have .d to show it's a directory and not a file. That's its type. The default ls output doesn't visually differentiate directories and files, so the .d is just an old convention to show its type (directory) in such listings.






share|improve this answer















Just like files can have .ext to specify which type of file it is (commonly called the "extension"), directories sometimes have .d to show it's a directory and not a file. That's its type. The default ls output doesn't visually differentiate directories and files, so the .d is just an old convention to show its type (directory) in such listings.







share|improve this answer














share|improve this answer



share|improve this answer








edited Jul 21 '11 at 10:56









Kim

684312




684312










answered Jul 21 '11 at 6:06









KeithKeith

6,4081925




6,4081925







  • 6





    In addition the .d suffix prevents collisions with a similarly-named file. For example, you can have a configuration file /etc/apt/sources.list, and a directory of configuration files /etc/apt/sources.list.d.

    – jmtd
    Jul 21 '11 at 8:45






  • 2





    ^ I'd go so far as to say that's not an "addition" but the very reason for the convention in the first place. Unix/Linux has never been precious about having to include extensions on things, especially in the early days, so I doubt this one was bandied around without a good reason.

    – underscore_d
    Oct 29 '15 at 22:28












  • 6





    In addition the .d suffix prevents collisions with a similarly-named file. For example, you can have a configuration file /etc/apt/sources.list, and a directory of configuration files /etc/apt/sources.list.d.

    – jmtd
    Jul 21 '11 at 8:45






  • 2





    ^ I'd go so far as to say that's not an "addition" but the very reason for the convention in the first place. Unix/Linux has never been precious about having to include extensions on things, especially in the early days, so I doubt this one was bandied around without a good reason.

    – underscore_d
    Oct 29 '15 at 22:28







6




6





In addition the .d suffix prevents collisions with a similarly-named file. For example, you can have a configuration file /etc/apt/sources.list, and a directory of configuration files /etc/apt/sources.list.d.

– jmtd
Jul 21 '11 at 8:45





In addition the .d suffix prevents collisions with a similarly-named file. For example, you can have a configuration file /etc/apt/sources.list, and a directory of configuration files /etc/apt/sources.list.d.

– jmtd
Jul 21 '11 at 8:45




2




2





^ I'd go so far as to say that's not an "addition" but the very reason for the convention in the first place. Unix/Linux has never been precious about having to include extensions on things, especially in the early days, so I doubt this one was bandied around without a good reason.

– underscore_d
Oct 29 '15 at 22:28





^ I'd go so far as to say that's not an "addition" but the very reason for the convention in the first place. Unix/Linux has never been precious about having to include extensions on things, especially in the early days, so I doubt this one was bandied around without a good reason.

– underscore_d
Oct 29 '15 at 22:28











2














More generally, the .d directories (/etc/httpd/conf.d, /etc/rc.d, /etc/being another example), indicates that the files contained will be read and used, often for configuration, if they match a given pattern and do not require being explicitly added to some master list.



So if you add files of the form *.repo to /etc/yum.repos.d, yum will use it when running without needing to add it to a list of configurations /etc/yum.conf. If you add files of the form *.conf to /etc/http/conf.d, they will be read by Apache without needing to be explicitly added to /etc/httpd/conf/httpd.conf. Similarly, chkconfig to files in /etc/init.d, cron jobs in /etc/cron.d.






share|improve this answer























  • +1, but... same remark as above.

    – greg0ire
    Nov 13 '10 at 17:53






  • 1





    @greg: Due to the variety of ways to sort answers, “above” and “below” are poor ways to refer to (comments on) other answers. The ‘oldest’ and ‘newest’ sorts produce opposite meanings for such position-based descriptions, and when sorting by ‘votes’ the relative position of two answers may change over time.

    – Chris Johnsen
    Nov 14 '10 at 5:44











  • @Chris Johnsen: this is what I realized, but too late. I was referring to my comment on N J's answer.

    – greg0ire
    Nov 14 '10 at 11:17















2














More generally, the .d directories (/etc/httpd/conf.d, /etc/rc.d, /etc/being another example), indicates that the files contained will be read and used, often for configuration, if they match a given pattern and do not require being explicitly added to some master list.



So if you add files of the form *.repo to /etc/yum.repos.d, yum will use it when running without needing to add it to a list of configurations /etc/yum.conf. If you add files of the form *.conf to /etc/http/conf.d, they will be read by Apache without needing to be explicitly added to /etc/httpd/conf/httpd.conf. Similarly, chkconfig to files in /etc/init.d, cron jobs in /etc/cron.d.






share|improve this answer























  • +1, but... same remark as above.

    – greg0ire
    Nov 13 '10 at 17:53






  • 1





    @greg: Due to the variety of ways to sort answers, “above” and “below” are poor ways to refer to (comments on) other answers. The ‘oldest’ and ‘newest’ sorts produce opposite meanings for such position-based descriptions, and when sorting by ‘votes’ the relative position of two answers may change over time.

    – Chris Johnsen
    Nov 14 '10 at 5:44











  • @Chris Johnsen: this is what I realized, but too late. I was referring to my comment on N J's answer.

    – greg0ire
    Nov 14 '10 at 11:17













2












2








2







More generally, the .d directories (/etc/httpd/conf.d, /etc/rc.d, /etc/being another example), indicates that the files contained will be read and used, often for configuration, if they match a given pattern and do not require being explicitly added to some master list.



So if you add files of the form *.repo to /etc/yum.repos.d, yum will use it when running without needing to add it to a list of configurations /etc/yum.conf. If you add files of the form *.conf to /etc/http/conf.d, they will be read by Apache without needing to be explicitly added to /etc/httpd/conf/httpd.conf. Similarly, chkconfig to files in /etc/init.d, cron jobs in /etc/cron.d.






share|improve this answer













More generally, the .d directories (/etc/httpd/conf.d, /etc/rc.d, /etc/being another example), indicates that the files contained will be read and used, often for configuration, if they match a given pattern and do not require being explicitly added to some master list.



So if you add files of the form *.repo to /etc/yum.repos.d, yum will use it when running without needing to add it to a list of configurations /etc/yum.conf. If you add files of the form *.conf to /etc/http/conf.d, they will be read by Apache without needing to be explicitly added to /etc/httpd/conf/httpd.conf. Similarly, chkconfig to files in /etc/init.d, cron jobs in /etc/cron.d.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 13 '10 at 17:39









TimTim

1211




1211












  • +1, but... same remark as above.

    – greg0ire
    Nov 13 '10 at 17:53






  • 1





    @greg: Due to the variety of ways to sort answers, “above” and “below” are poor ways to refer to (comments on) other answers. The ‘oldest’ and ‘newest’ sorts produce opposite meanings for such position-based descriptions, and when sorting by ‘votes’ the relative position of two answers may change over time.

    – Chris Johnsen
    Nov 14 '10 at 5:44











  • @Chris Johnsen: this is what I realized, but too late. I was referring to my comment on N J's answer.

    – greg0ire
    Nov 14 '10 at 11:17

















  • +1, but... same remark as above.

    – greg0ire
    Nov 13 '10 at 17:53






  • 1





    @greg: Due to the variety of ways to sort answers, “above” and “below” are poor ways to refer to (comments on) other answers. The ‘oldest’ and ‘newest’ sorts produce opposite meanings for such position-based descriptions, and when sorting by ‘votes’ the relative position of two answers may change over time.

    – Chris Johnsen
    Nov 14 '10 at 5:44











  • @Chris Johnsen: this is what I realized, but too late. I was referring to my comment on N J's answer.

    – greg0ire
    Nov 14 '10 at 11:17
















+1, but... same remark as above.

– greg0ire
Nov 13 '10 at 17:53





+1, but... same remark as above.

– greg0ire
Nov 13 '10 at 17:53




1




1





@greg: Due to the variety of ways to sort answers, “above” and “below” are poor ways to refer to (comments on) other answers. The ‘oldest’ and ‘newest’ sorts produce opposite meanings for such position-based descriptions, and when sorting by ‘votes’ the relative position of two answers may change over time.

– Chris Johnsen
Nov 14 '10 at 5:44





@greg: Due to the variety of ways to sort answers, “above” and “below” are poor ways to refer to (comments on) other answers. The ‘oldest’ and ‘newest’ sorts produce opposite meanings for such position-based descriptions, and when sorting by ‘votes’ the relative position of two answers may change over time.

– Chris Johnsen
Nov 14 '10 at 5:44













@Chris Johnsen: this is what I realized, but too late. I was referring to my comment on N J's answer.

– greg0ire
Nov 14 '10 at 11:17





@Chris Johnsen: this is what I realized, but too late. I was referring to my comment on N J's answer.

– greg0ire
Nov 14 '10 at 11:17











1














I think, but cannot document, that the .d indicates that the directory is associated with a daemon.



Evidence would indicate that this is at least plausible:



sudo find / -maxdepth 3 -name "*.d"


Somewhere in the deep recesses of the little bits of ancient Unix history still rattling around in the back of my mind behind the cobwebs, this calls out to me as the correct answer. I believe it may have come from a time when the first mammals roamed the earth before the dinosaurs began to die out and man pages were not only kept on the system but also physically in racks measured by the foot.






share|improve this answer























  • +1 for the delirium at the end, but I think this does not fit well with yum.repos.d ...

    – greg0ire
    Nov 13 '10 at 22:47











  • </cobwebs> I believe the answers that indicate that the purpose of the .d is to disambiguate the directory from the related and similarly named files are the correct ones. I have upvoted E-man's and jlliagre's.

    – Dennis Williamson
    Nov 14 '10 at 23:22











  • The question is "what does the '.d' stand for", and I have received plenty of explanations concerning the reason why there is this '.d', but the few that gave an answer regarding the meaning did not quote any source. Personnaly, I think it means directory.

    – greg0ire
    Nov 15 '10 at 19:41






  • 1





    yum is a more recent invention.

    – Dennis Williamson
    Sep 22 '16 at 21:04















1














I think, but cannot document, that the .d indicates that the directory is associated with a daemon.



Evidence would indicate that this is at least plausible:



sudo find / -maxdepth 3 -name "*.d"


Somewhere in the deep recesses of the little bits of ancient Unix history still rattling around in the back of my mind behind the cobwebs, this calls out to me as the correct answer. I believe it may have come from a time when the first mammals roamed the earth before the dinosaurs began to die out and man pages were not only kept on the system but also physically in racks measured by the foot.






share|improve this answer























  • +1 for the delirium at the end, but I think this does not fit well with yum.repos.d ...

    – greg0ire
    Nov 13 '10 at 22:47











  • </cobwebs> I believe the answers that indicate that the purpose of the .d is to disambiguate the directory from the related and similarly named files are the correct ones. I have upvoted E-man's and jlliagre's.

    – Dennis Williamson
    Nov 14 '10 at 23:22











  • The question is "what does the '.d' stand for", and I have received plenty of explanations concerning the reason why there is this '.d', but the few that gave an answer regarding the meaning did not quote any source. Personnaly, I think it means directory.

    – greg0ire
    Nov 15 '10 at 19:41






  • 1





    yum is a more recent invention.

    – Dennis Williamson
    Sep 22 '16 at 21:04













1












1








1







I think, but cannot document, that the .d indicates that the directory is associated with a daemon.



Evidence would indicate that this is at least plausible:



sudo find / -maxdepth 3 -name "*.d"


Somewhere in the deep recesses of the little bits of ancient Unix history still rattling around in the back of my mind behind the cobwebs, this calls out to me as the correct answer. I believe it may have come from a time when the first mammals roamed the earth before the dinosaurs began to die out and man pages were not only kept on the system but also physically in racks measured by the foot.






share|improve this answer













I think, but cannot document, that the .d indicates that the directory is associated with a daemon.



Evidence would indicate that this is at least plausible:



sudo find / -maxdepth 3 -name "*.d"


Somewhere in the deep recesses of the little bits of ancient Unix history still rattling around in the back of my mind behind the cobwebs, this calls out to me as the correct answer. I believe it may have come from a time when the first mammals roamed the earth before the dinosaurs began to die out and man pages were not only kept on the system but also physically in racks measured by the foot.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 13 '10 at 20:33









Dennis WilliamsonDennis Williamson

5,06012335




5,06012335












  • +1 for the delirium at the end, but I think this does not fit well with yum.repos.d ...

    – greg0ire
    Nov 13 '10 at 22:47











  • </cobwebs> I believe the answers that indicate that the purpose of the .d is to disambiguate the directory from the related and similarly named files are the correct ones. I have upvoted E-man's and jlliagre's.

    – Dennis Williamson
    Nov 14 '10 at 23:22











  • The question is "what does the '.d' stand for", and I have received plenty of explanations concerning the reason why there is this '.d', but the few that gave an answer regarding the meaning did not quote any source. Personnaly, I think it means directory.

    – greg0ire
    Nov 15 '10 at 19:41






  • 1





    yum is a more recent invention.

    – Dennis Williamson
    Sep 22 '16 at 21:04

















  • +1 for the delirium at the end, but I think this does not fit well with yum.repos.d ...

    – greg0ire
    Nov 13 '10 at 22:47











  • </cobwebs> I believe the answers that indicate that the purpose of the .d is to disambiguate the directory from the related and similarly named files are the correct ones. I have upvoted E-man's and jlliagre's.

    – Dennis Williamson
    Nov 14 '10 at 23:22











  • The question is "what does the '.d' stand for", and I have received plenty of explanations concerning the reason why there is this '.d', but the few that gave an answer regarding the meaning did not quote any source. Personnaly, I think it means directory.

    – greg0ire
    Nov 15 '10 at 19:41






  • 1





    yum is a more recent invention.

    – Dennis Williamson
    Sep 22 '16 at 21:04
















+1 for the delirium at the end, but I think this does not fit well with yum.repos.d ...

– greg0ire
Nov 13 '10 at 22:47





+1 for the delirium at the end, but I think this does not fit well with yum.repos.d ...

– greg0ire
Nov 13 '10 at 22:47













</cobwebs> I believe the answers that indicate that the purpose of the .d is to disambiguate the directory from the related and similarly named files are the correct ones. I have upvoted E-man's and jlliagre's.

– Dennis Williamson
Nov 14 '10 at 23:22





</cobwebs> I believe the answers that indicate that the purpose of the .d is to disambiguate the directory from the related and similarly named files are the correct ones. I have upvoted E-man's and jlliagre's.

– Dennis Williamson
Nov 14 '10 at 23:22













The question is "what does the '.d' stand for", and I have received plenty of explanations concerning the reason why there is this '.d', but the few that gave an answer regarding the meaning did not quote any source. Personnaly, I think it means directory.

– greg0ire
Nov 15 '10 at 19:41





The question is "what does the '.d' stand for", and I have received plenty of explanations concerning the reason why there is this '.d', but the few that gave an answer regarding the meaning did not quote any source. Personnaly, I think it means directory.

– greg0ire
Nov 15 '10 at 19:41




1




1





yum is a more recent invention.

– Dennis Williamson
Sep 22 '16 at 21:04





yum is a more recent invention.

– Dennis Williamson
Sep 22 '16 at 21:04

















draft saved

draft discarded
















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f4029%2fwhat-does-the-d-stand-for-in-directory-names%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







-directory, fhs

Popular posts from this blog

Frič See also Navigation menuinternal link

Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox