Do the common programs (for example: “ls”, “cat”) in Linux and BSD come from the same source code?2019 Community Moderator ElectionWere all Unix commands re-written in Linux?Are there still systems around with a /bin/sh binary?ip vs ifconfig commands pros and consSlightly confused about whether printf in the yash shell is a built-in command or notsu vs su - (on Debian): why is PATH the same?debian su - and su $PATH differences?Double square brackets for FreeBSDIs the GNU Coreutils copied from Unix?-c and -b options not working in mailx in ubuntuHow to compile and install programs from sourceWhere can I find the source code for `uptime`?How to create my own Linux distro (say from ubuntu source code)?Where to place source code for applications compiled from source?What is the difference between Unix, Linux, BSD and GNU?How to modify source code of collection of programs of a GNU/Linux OS?Why are there different types of linux distributions? What makes them unique, fundamentally?Source code of the patches for ShellshockMultibooting with LVMWhere can I find the source code specifically for the minimal debian installer cd?

Are there other languages, besides English, where the indefinite (or definite) article varies based on sound?

how to write formula in word in latex

Do I need to be arrogant to get ahead?

Why do Australian milk farmers need to protest supermarkets' milk price?

Gravity magic - How does it work?

Stiffness of a cantilever beam

How to explain that I do not want to visit a country due to personal safety concern?

Is it true that good novels will automatically sell themselves on Amazon (and so on) and there is no need for one to waste time promoting?

How to create the Curved texte?

Is it possible to upcast ritual spells?

Why is the BSI not using powers of two?

Should we release the security issues we found in our product as CVE or we can just update those on weekly release notes?

Did Ender ever learn that he killed Stilson and/or Bonzo?

Min function accepting varying number of arguments in C++17

How to simplify this time periods definition interface?

Science-fiction short story where space navy wanted hospital ships and settlers had guns mounted everywhere

Do I need life insurance if I can cover my own funeral costs?

May I change the held type in a std::variant from within a call to std::visit

How to write cleanly even if my character uses expletive language?

How Could an Airship Be Repaired Mid-Flight

How to deal with taxi scam when on vacation?

What is the rarity of this homebrew magic staff?

Why would a flight no longer considered airworthy be redirected like this?

Are there verbs that are neither telic, or atelic?



Do the common programs (for example: “ls”, “cat”) in Linux and BSD come from the same source code?



2019 Community Moderator ElectionWere all Unix commands re-written in Linux?Are there still systems around with a /bin/sh binary?ip vs ifconfig commands pros and consSlightly confused about whether printf in the yash shell is a built-in command or notsu vs su - (on Debian): why is PATH the same?debian su - and su $PATH differences?Double square brackets for FreeBSDIs the GNU Coreutils copied from Unix?-c and -b options not working in mailx in ubuntuHow to compile and install programs from sourceWhere can I find the source code for `uptime`?How to create my own Linux distro (say from ubuntu source code)?Where to place source code for applications compiled from source?What is the difference between Unix, Linux, BSD and GNU?How to modify source code of collection of programs of a GNU/Linux OS?Why are there different types of linux distributions? What makes them unique, fundamentally?Source code of the patches for ShellshockMultibooting with LVMWhere can I find the source code specifically for the minimal debian installer cd?










12















Both Linux and BSD have common programs like ls and cat and echo and kill.



Do they come from the same source code, or do both and Linux and BSD own their own unique source code for these programs?










share|improve this question









New contributor




user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 5





    Linux kernel itself doesn't have such code, it's just kernel. Depending on what kind of tool you use, these tools may or may not come from the same source code, fun fact is, they're usually not.

    – 炸鱼薯条德里克
    17 hours ago











  • Most tools have at least a BSD or Gnu heritage, then there are some originating from the Linux community or embedded projects (busybox). There are nearly no low level commands with a single implementation (but this is often the case for applications, related to naming rights)

    – eckes
    10 hours ago






  • 2





    Possible duplicate of Were all Unix commands re-written in Linux?

    – a CVn
    8 hours ago















12















Both Linux and BSD have common programs like ls and cat and echo and kill.



Do they come from the same source code, or do both and Linux and BSD own their own unique source code for these programs?










share|improve this question









New contributor




user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 5





    Linux kernel itself doesn't have such code, it's just kernel. Depending on what kind of tool you use, these tools may or may not come from the same source code, fun fact is, they're usually not.

    – 炸鱼薯条德里克
    17 hours ago











  • Most tools have at least a BSD or Gnu heritage, then there are some originating from the Linux community or embedded projects (busybox). There are nearly no low level commands with a single implementation (but this is often the case for applications, related to naming rights)

    – eckes
    10 hours ago






  • 2





    Possible duplicate of Were all Unix commands re-written in Linux?

    – a CVn
    8 hours ago













12












12








12


2






Both Linux and BSD have common programs like ls and cat and echo and kill.



Do they come from the same source code, or do both and Linux and BSD own their own unique source code for these programs?










share|improve this question









New contributor




user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












Both Linux and BSD have common programs like ls and cat and echo and kill.



Do they come from the same source code, or do both and Linux and BSD own their own unique source code for these programs?







linux source bsd






share|improve this question









New contributor




user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 14 mins ago









Sergiy Kolodyazhnyy

10.6k42763




10.6k42763






New contributor




user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 17 hours ago









user341875user341875

643




643




New contributor




user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






user341875 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 5





    Linux kernel itself doesn't have such code, it's just kernel. Depending on what kind of tool you use, these tools may or may not come from the same source code, fun fact is, they're usually not.

    – 炸鱼薯条德里克
    17 hours ago











  • Most tools have at least a BSD or Gnu heritage, then there are some originating from the Linux community or embedded projects (busybox). There are nearly no low level commands with a single implementation (but this is often the case for applications, related to naming rights)

    – eckes
    10 hours ago






  • 2





    Possible duplicate of Were all Unix commands re-written in Linux?

    – a CVn
    8 hours ago












  • 5





    Linux kernel itself doesn't have such code, it's just kernel. Depending on what kind of tool you use, these tools may or may not come from the same source code, fun fact is, they're usually not.

    – 炸鱼薯条德里克
    17 hours ago











  • Most tools have at least a BSD or Gnu heritage, then there are some originating from the Linux community or embedded projects (busybox). There are nearly no low level commands with a single implementation (but this is often the case for applications, related to naming rights)

    – eckes
    10 hours ago






  • 2





    Possible duplicate of Were all Unix commands re-written in Linux?

    – a CVn
    8 hours ago







5




5





Linux kernel itself doesn't have such code, it's just kernel. Depending on what kind of tool you use, these tools may or may not come from the same source code, fun fact is, they're usually not.

– 炸鱼薯条德里克
17 hours ago





Linux kernel itself doesn't have such code, it's just kernel. Depending on what kind of tool you use, these tools may or may not come from the same source code, fun fact is, they're usually not.

– 炸鱼薯条德里克
17 hours ago













Most tools have at least a BSD or Gnu heritage, then there are some originating from the Linux community or embedded projects (busybox). There are nearly no low level commands with a single implementation (but this is often the case for applications, related to naming rights)

– eckes
10 hours ago





Most tools have at least a BSD or Gnu heritage, then there are some originating from the Linux community or embedded projects (busybox). There are nearly no low level commands with a single implementation (but this is often the case for applications, related to naming rights)

– eckes
10 hours ago




2




2





Possible duplicate of Were all Unix commands re-written in Linux?

– a CVn
8 hours ago





Possible duplicate of Were all Unix commands re-written in Linux?

– a CVn
8 hours ago










5 Answers
5






active

oldest

votes


















21














Linux is a kernel. It does not have the code for applications programs in the first place.



Linux-based operating systems do not even necessarily use the same source code as one another, let alone the same code as on the BSDs. There are famously multiple implementations of several fairly basic programs.



These include, but are not limited to:




  • ifconfig had 2 implementations, one in GNU inetutils and the other in NET-3 net-tools. It now has 3, the third being mine. (See https://unix.stackexchange.com/a/504084/5132.)


  • su has 2 implementations, one in util-linux and the other in shadow. Debian switched from one to the other in 2018, making several old questions and answers here on this WWW site wrong. (See https://unix.stackexchange.com/a/460769/5132 and, for one example, "su vs su - (on Debian): why is PATH the same?".)

  • There are seemingly umpteen (actually 4 on Debian/Ubuntu) possible places whence one can obtain the mailx command: GNU Mailutils, BSD mailx, NMH, and s-nail. (See https://unix.stackexchange.com/a/489510/5132.)

The BSDs are operating systems. They do contain the code for these programs. However, there is no single BSD operating system, and the code for such programs does sometimes vary amongst NetBSD, FreeBSD, OpenBSD, and DragonFly BSD. Moreover, it is definitely different to the code used for the several Linux-based operating systems.



Famously, Apple/NeXT used BSD applications softwares in MacOS/NeXTSTEP but enhanced several programs to support ACLs in ways different to the ways that the (other) BSDs did. One sets access controls using the chmod command, for example. So the Darwin versions of these commands are different yet again.



There are three added twists.



Programs like kill and echo are usually shell builtins. So the code for these commands varies according to what shell you are using, rather than what operating system.



Then there are BusyBox and ToyBox, available both for Linux-based operating systems and the BSDs and even used as the primary implementations of such commands on a few of the former, which have their own implementations of many commands.



Then there is OpenSolaris, from which come the likes of Illumos and Schillix, with the Solaris implementations of all of these tools, which is different yet again.



There are whole histories here, encompassing the original split between BSD and AT&T Unix, through the efforts to "PD" clone many Unix programs in the late 1980s and 1990s, around three decades of shuffling around after that, the whole open-source release of the code for Solaris, and OpenBSD's reimplementations of several things. Even the histories of tools that one might be misled into thinking have one implementation such as cron (which a lot of people erroneously think is the original Unix tool, or erroneously think is at least one single flavour written as "PD cron" by Paul Vixie in 1987, or do not realize has workalike replacements written by other people in the years since) are non-trivial.






share|improve this answer




















  • 2





    There's even PacBSD which is BSD user on Linux kernel...

    – Mehrdad
    11 hours ago











  • BSD was to my knowledged used in Mac OS X/NextStep because the license allowed them to use it with closed source software. NeXTStep included instructions for getting the source for the open source components. The same reasoning may have been used in Linux for providing a GPL userland with a GPL kernel.

    – Thorbjørn Ravn Andersen
    6 hours ago











  • Good answer, but it would benefit from a little explanation of the origins of the common Linux userlands.

    – Russell Borogove
    6 hours ago











  • That's really beyond the scope here, and should be a Q&A in its own right. We even have some such Q&As already. Consider unix.stackexchange.com/q/81302/5132 , for example. Q&As about the histories of the other toolsets would no doubt be welcome.

    – JdeBP
    6 hours ago












  • Programs like kill and echo are usually shell builtins, true, but there's of course /bin/ implementations for POSIX compliance, and those will vary by operating system. GNU stuff on Linux, BSD versions in BSDs and Mac OS X. I don't know what AIX or HPUX would use, but probably their own implementations. Good answer, +1

    – Sergiy Kolodyazhnyy
    11 mins ago


















4














They have diffent sources, for example: https://github.com/freebsd/freebsd/blob/master/bin/kill/kill.c and https://github.com/karelzak/util-linux/blob/master/misc-utils/kill.c






share|improve this answer






























    4















    Are these programs in Linux and BSD the same?




    The short answer is: Not necessarily.



    The source code of common programs such as ls, cat, echo, kill, etc. depend on what userland they come from. In other words, the userland your system uses. The most common userland used with the Linux kernel is GNU - hence the name GNU/Linux. Other userlands have been integrated with the Linux kernel, however.



    The BSD's typically have their own userland that is developed separately from others like GNU. Even the BSD's themselves have different code bases. For example, both FreeBSD and OpenBSD have a "BSD userland", but their code base is different. If you look at their man pages (ps for example), they have different arguments that can be used.



    One reason POSIX was developed was to address the issue of multiple code bases. If the common utilities delivered with a userland are POSIX compliant, you can assure that they will work (almost) the same whether they come from GNU, FreeBSD, OpenBSD, AIX, or other UNIX based systems.



    As you probably know, the userlands listed above (except AIX) are open source. Feel free to poke around their code repositories and you will quickly see that they are not exactly the same.



    Note: Even though GNU/Linux is the most popular, there have been attempts to use a GNU userland with FreeBSD/NetBSD kernels in the past. You can read more about them on wikipedia here.






    share|improve this answer






























      0














      First, I understand Linux as meaning GNU/Linux, which is the operating system, Linux is merely the kernel.



      Now, the source code is NOT the same. The GNU team created the utils, inspired by the UNIX tools that existed, and extended some of these.



      GNU kill and echo are shell built-ins in Bash, the default shell on most GNU systems, so they come with your shell, as in bash.



      ls, and cat are different, separate programs, inspired by UNIX ls and cat, respectively.



      There is a history of UNIX graph that explains where things come from, as you can see, GNU/Linux popped up without any direct ancestry.



      enter image description here



      Of the UNIX flavors, which relate to UNIX time sharing system, these commands all come from that, however, they could have been re-written multiple times.



      You can compare FreeBSD cat source code with GNU cat source code.



      Why do I not refer to GNU/Linux right through ? The waters are murky, you can install the GNU tools on the BSD's as well as on other UNIX systems, well, you can even install them on windows.



      Debian, of Debian GNU/Linux glory, on which Ubuntu and Mint are based (just two examples), offers a GNU distribution with a FreeBSD kernel: GNU/kFreeBSD



      Yes, the graph is outdated ...






      share|improve this answer
































        0














        In addition to the above correct answers, you will find that the default shell on (almost?) every Linux distro is bash, while the default shell on at least OpenBSD and FreeBSD is not bash. It probably is csh, or ksh, but it is a couple of years since I used any BSD variant, so I am not absolutely sure. Anyway it never had the functionality of bash, even the way in which the previous command can be repeated was confusingly different. The difference in shells may change which of the simpler commands are shell built-ins and which are freestanding programs.



        With several distros now providing the GNU userland with an xBSD kernel, and potentially vice-versa, there is no one absolutely definitive answer to the question. The only absolutely foolproof way of knowing what you have on your system is to use your package manager to download the source and examine it, or examine it on-line if your distro has browseable source, although checking the license which applies would give a fairly good indication.






        share|improve this answer








        New contributor




        tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.




















        • Enjoy unix.stackexchange.com/q/322035/5132 , unix.stackexchange.com/q/193204/5132 , unix.stackexchange.com/q/496259/5132 , and many others here. And you'll stir up M. Chazelas if you claim that the C shell doesn't have the history expansion that the Bourne Again shell got from the C shell. (-:

          – JdeBP
          5 hours ago










        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
        );



        );






        user341875 is a new contributor. Be nice, and check out our Code of Conduct.









        draft saved

        draft discarded


















        StackExchange.ready(
        function ()
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506400%2fdo-the-common-programs-for-example-ls-cat-in-linux-and-bsd-come-from-the%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        5 Answers
        5






        active

        oldest

        votes








        5 Answers
        5






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        21














        Linux is a kernel. It does not have the code for applications programs in the first place.



        Linux-based operating systems do not even necessarily use the same source code as one another, let alone the same code as on the BSDs. There are famously multiple implementations of several fairly basic programs.



        These include, but are not limited to:




        • ifconfig had 2 implementations, one in GNU inetutils and the other in NET-3 net-tools. It now has 3, the third being mine. (See https://unix.stackexchange.com/a/504084/5132.)


        • su has 2 implementations, one in util-linux and the other in shadow. Debian switched from one to the other in 2018, making several old questions and answers here on this WWW site wrong. (See https://unix.stackexchange.com/a/460769/5132 and, for one example, "su vs su - (on Debian): why is PATH the same?".)

        • There are seemingly umpteen (actually 4 on Debian/Ubuntu) possible places whence one can obtain the mailx command: GNU Mailutils, BSD mailx, NMH, and s-nail. (See https://unix.stackexchange.com/a/489510/5132.)

        The BSDs are operating systems. They do contain the code for these programs. However, there is no single BSD operating system, and the code for such programs does sometimes vary amongst NetBSD, FreeBSD, OpenBSD, and DragonFly BSD. Moreover, it is definitely different to the code used for the several Linux-based operating systems.



        Famously, Apple/NeXT used BSD applications softwares in MacOS/NeXTSTEP but enhanced several programs to support ACLs in ways different to the ways that the (other) BSDs did. One sets access controls using the chmod command, for example. So the Darwin versions of these commands are different yet again.



        There are three added twists.



        Programs like kill and echo are usually shell builtins. So the code for these commands varies according to what shell you are using, rather than what operating system.



        Then there are BusyBox and ToyBox, available both for Linux-based operating systems and the BSDs and even used as the primary implementations of such commands on a few of the former, which have their own implementations of many commands.



        Then there is OpenSolaris, from which come the likes of Illumos and Schillix, with the Solaris implementations of all of these tools, which is different yet again.



        There are whole histories here, encompassing the original split between BSD and AT&T Unix, through the efforts to "PD" clone many Unix programs in the late 1980s and 1990s, around three decades of shuffling around after that, the whole open-source release of the code for Solaris, and OpenBSD's reimplementations of several things. Even the histories of tools that one might be misled into thinking have one implementation such as cron (which a lot of people erroneously think is the original Unix tool, or erroneously think is at least one single flavour written as "PD cron" by Paul Vixie in 1987, or do not realize has workalike replacements written by other people in the years since) are non-trivial.






        share|improve this answer




















        • 2





          There's even PacBSD which is BSD user on Linux kernel...

          – Mehrdad
          11 hours ago











        • BSD was to my knowledged used in Mac OS X/NextStep because the license allowed them to use it with closed source software. NeXTStep included instructions for getting the source for the open source components. The same reasoning may have been used in Linux for providing a GPL userland with a GPL kernel.

          – Thorbjørn Ravn Andersen
          6 hours ago











        • Good answer, but it would benefit from a little explanation of the origins of the common Linux userlands.

          – Russell Borogove
          6 hours ago











        • That's really beyond the scope here, and should be a Q&A in its own right. We even have some such Q&As already. Consider unix.stackexchange.com/q/81302/5132 , for example. Q&As about the histories of the other toolsets would no doubt be welcome.

          – JdeBP
          6 hours ago












        • Programs like kill and echo are usually shell builtins, true, but there's of course /bin/ implementations for POSIX compliance, and those will vary by operating system. GNU stuff on Linux, BSD versions in BSDs and Mac OS X. I don't know what AIX or HPUX would use, but probably their own implementations. Good answer, +1

          – Sergiy Kolodyazhnyy
          11 mins ago















        21














        Linux is a kernel. It does not have the code for applications programs in the first place.



        Linux-based operating systems do not even necessarily use the same source code as one another, let alone the same code as on the BSDs. There are famously multiple implementations of several fairly basic programs.



        These include, but are not limited to:




        • ifconfig had 2 implementations, one in GNU inetutils and the other in NET-3 net-tools. It now has 3, the third being mine. (See https://unix.stackexchange.com/a/504084/5132.)


        • su has 2 implementations, one in util-linux and the other in shadow. Debian switched from one to the other in 2018, making several old questions and answers here on this WWW site wrong. (See https://unix.stackexchange.com/a/460769/5132 and, for one example, "su vs su - (on Debian): why is PATH the same?".)

        • There are seemingly umpteen (actually 4 on Debian/Ubuntu) possible places whence one can obtain the mailx command: GNU Mailutils, BSD mailx, NMH, and s-nail. (See https://unix.stackexchange.com/a/489510/5132.)

        The BSDs are operating systems. They do contain the code for these programs. However, there is no single BSD operating system, and the code for such programs does sometimes vary amongst NetBSD, FreeBSD, OpenBSD, and DragonFly BSD. Moreover, it is definitely different to the code used for the several Linux-based operating systems.



        Famously, Apple/NeXT used BSD applications softwares in MacOS/NeXTSTEP but enhanced several programs to support ACLs in ways different to the ways that the (other) BSDs did. One sets access controls using the chmod command, for example. So the Darwin versions of these commands are different yet again.



        There are three added twists.



        Programs like kill and echo are usually shell builtins. So the code for these commands varies according to what shell you are using, rather than what operating system.



        Then there are BusyBox and ToyBox, available both for Linux-based operating systems and the BSDs and even used as the primary implementations of such commands on a few of the former, which have their own implementations of many commands.



        Then there is OpenSolaris, from which come the likes of Illumos and Schillix, with the Solaris implementations of all of these tools, which is different yet again.



        There are whole histories here, encompassing the original split between BSD and AT&T Unix, through the efforts to "PD" clone many Unix programs in the late 1980s and 1990s, around three decades of shuffling around after that, the whole open-source release of the code for Solaris, and OpenBSD's reimplementations of several things. Even the histories of tools that one might be misled into thinking have one implementation such as cron (which a lot of people erroneously think is the original Unix tool, or erroneously think is at least one single flavour written as "PD cron" by Paul Vixie in 1987, or do not realize has workalike replacements written by other people in the years since) are non-trivial.






        share|improve this answer




















        • 2





          There's even PacBSD which is BSD user on Linux kernel...

          – Mehrdad
          11 hours ago











        • BSD was to my knowledged used in Mac OS X/NextStep because the license allowed them to use it with closed source software. NeXTStep included instructions for getting the source for the open source components. The same reasoning may have been used in Linux for providing a GPL userland with a GPL kernel.

          – Thorbjørn Ravn Andersen
          6 hours ago











        • Good answer, but it would benefit from a little explanation of the origins of the common Linux userlands.

          – Russell Borogove
          6 hours ago











        • That's really beyond the scope here, and should be a Q&A in its own right. We even have some such Q&As already. Consider unix.stackexchange.com/q/81302/5132 , for example. Q&As about the histories of the other toolsets would no doubt be welcome.

          – JdeBP
          6 hours ago












        • Programs like kill and echo are usually shell builtins, true, but there's of course /bin/ implementations for POSIX compliance, and those will vary by operating system. GNU stuff on Linux, BSD versions in BSDs and Mac OS X. I don't know what AIX or HPUX would use, but probably their own implementations. Good answer, +1

          – Sergiy Kolodyazhnyy
          11 mins ago













        21












        21








        21







        Linux is a kernel. It does not have the code for applications programs in the first place.



        Linux-based operating systems do not even necessarily use the same source code as one another, let alone the same code as on the BSDs. There are famously multiple implementations of several fairly basic programs.



        These include, but are not limited to:




        • ifconfig had 2 implementations, one in GNU inetutils and the other in NET-3 net-tools. It now has 3, the third being mine. (See https://unix.stackexchange.com/a/504084/5132.)


        • su has 2 implementations, one in util-linux and the other in shadow. Debian switched from one to the other in 2018, making several old questions and answers here on this WWW site wrong. (See https://unix.stackexchange.com/a/460769/5132 and, for one example, "su vs su - (on Debian): why is PATH the same?".)

        • There are seemingly umpteen (actually 4 on Debian/Ubuntu) possible places whence one can obtain the mailx command: GNU Mailutils, BSD mailx, NMH, and s-nail. (See https://unix.stackexchange.com/a/489510/5132.)

        The BSDs are operating systems. They do contain the code for these programs. However, there is no single BSD operating system, and the code for such programs does sometimes vary amongst NetBSD, FreeBSD, OpenBSD, and DragonFly BSD. Moreover, it is definitely different to the code used for the several Linux-based operating systems.



        Famously, Apple/NeXT used BSD applications softwares in MacOS/NeXTSTEP but enhanced several programs to support ACLs in ways different to the ways that the (other) BSDs did. One sets access controls using the chmod command, for example. So the Darwin versions of these commands are different yet again.



        There are three added twists.



        Programs like kill and echo are usually shell builtins. So the code for these commands varies according to what shell you are using, rather than what operating system.



        Then there are BusyBox and ToyBox, available both for Linux-based operating systems and the BSDs and even used as the primary implementations of such commands on a few of the former, which have their own implementations of many commands.



        Then there is OpenSolaris, from which come the likes of Illumos and Schillix, with the Solaris implementations of all of these tools, which is different yet again.



        There are whole histories here, encompassing the original split between BSD and AT&T Unix, through the efforts to "PD" clone many Unix programs in the late 1980s and 1990s, around three decades of shuffling around after that, the whole open-source release of the code for Solaris, and OpenBSD's reimplementations of several things. Even the histories of tools that one might be misled into thinking have one implementation such as cron (which a lot of people erroneously think is the original Unix tool, or erroneously think is at least one single flavour written as "PD cron" by Paul Vixie in 1987, or do not realize has workalike replacements written by other people in the years since) are non-trivial.






        share|improve this answer















        Linux is a kernel. It does not have the code for applications programs in the first place.



        Linux-based operating systems do not even necessarily use the same source code as one another, let alone the same code as on the BSDs. There are famously multiple implementations of several fairly basic programs.



        These include, but are not limited to:




        • ifconfig had 2 implementations, one in GNU inetutils and the other in NET-3 net-tools. It now has 3, the third being mine. (See https://unix.stackexchange.com/a/504084/5132.)


        • su has 2 implementations, one in util-linux and the other in shadow. Debian switched from one to the other in 2018, making several old questions and answers here on this WWW site wrong. (See https://unix.stackexchange.com/a/460769/5132 and, for one example, "su vs su - (on Debian): why is PATH the same?".)

        • There are seemingly umpteen (actually 4 on Debian/Ubuntu) possible places whence one can obtain the mailx command: GNU Mailutils, BSD mailx, NMH, and s-nail. (See https://unix.stackexchange.com/a/489510/5132.)

        The BSDs are operating systems. They do contain the code for these programs. However, there is no single BSD operating system, and the code for such programs does sometimes vary amongst NetBSD, FreeBSD, OpenBSD, and DragonFly BSD. Moreover, it is definitely different to the code used for the several Linux-based operating systems.



        Famously, Apple/NeXT used BSD applications softwares in MacOS/NeXTSTEP but enhanced several programs to support ACLs in ways different to the ways that the (other) BSDs did. One sets access controls using the chmod command, for example. So the Darwin versions of these commands are different yet again.



        There are three added twists.



        Programs like kill and echo are usually shell builtins. So the code for these commands varies according to what shell you are using, rather than what operating system.



        Then there are BusyBox and ToyBox, available both for Linux-based operating systems and the BSDs and even used as the primary implementations of such commands on a few of the former, which have their own implementations of many commands.



        Then there is OpenSolaris, from which come the likes of Illumos and Schillix, with the Solaris implementations of all of these tools, which is different yet again.



        There are whole histories here, encompassing the original split between BSD and AT&T Unix, through the efforts to "PD" clone many Unix programs in the late 1980s and 1990s, around three decades of shuffling around after that, the whole open-source release of the code for Solaris, and OpenBSD's reimplementations of several things. Even the histories of tools that one might be misled into thinking have one implementation such as cron (which a lot of people erroneously think is the original Unix tool, or erroneously think is at least one single flavour written as "PD cron" by Paul Vixie in 1987, or do not realize has workalike replacements written by other people in the years since) are non-trivial.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 9 hours ago

























        answered 13 hours ago









        JdeBPJdeBP

        36.7k473176




        36.7k473176







        • 2





          There's even PacBSD which is BSD user on Linux kernel...

          – Mehrdad
          11 hours ago











        • BSD was to my knowledged used in Mac OS X/NextStep because the license allowed them to use it with closed source software. NeXTStep included instructions for getting the source for the open source components. The same reasoning may have been used in Linux for providing a GPL userland with a GPL kernel.

          – Thorbjørn Ravn Andersen
          6 hours ago











        • Good answer, but it would benefit from a little explanation of the origins of the common Linux userlands.

          – Russell Borogove
          6 hours ago











        • That's really beyond the scope here, and should be a Q&A in its own right. We even have some such Q&As already. Consider unix.stackexchange.com/q/81302/5132 , for example. Q&As about the histories of the other toolsets would no doubt be welcome.

          – JdeBP
          6 hours ago












        • Programs like kill and echo are usually shell builtins, true, but there's of course /bin/ implementations for POSIX compliance, and those will vary by operating system. GNU stuff on Linux, BSD versions in BSDs and Mac OS X. I don't know what AIX or HPUX would use, but probably their own implementations. Good answer, +1

          – Sergiy Kolodyazhnyy
          11 mins ago












        • 2





          There's even PacBSD which is BSD user on Linux kernel...

          – Mehrdad
          11 hours ago











        • BSD was to my knowledged used in Mac OS X/NextStep because the license allowed them to use it with closed source software. NeXTStep included instructions for getting the source for the open source components. The same reasoning may have been used in Linux for providing a GPL userland with a GPL kernel.

          – Thorbjørn Ravn Andersen
          6 hours ago











        • Good answer, but it would benefit from a little explanation of the origins of the common Linux userlands.

          – Russell Borogove
          6 hours ago











        • That's really beyond the scope here, and should be a Q&A in its own right. We even have some such Q&As already. Consider unix.stackexchange.com/q/81302/5132 , for example. Q&As about the histories of the other toolsets would no doubt be welcome.

          – JdeBP
          6 hours ago












        • Programs like kill and echo are usually shell builtins, true, but there's of course /bin/ implementations for POSIX compliance, and those will vary by operating system. GNU stuff on Linux, BSD versions in BSDs and Mac OS X. I don't know what AIX or HPUX would use, but probably their own implementations. Good answer, +1

          – Sergiy Kolodyazhnyy
          11 mins ago







        2




        2





        There's even PacBSD which is BSD user on Linux kernel...

        – Mehrdad
        11 hours ago





        There's even PacBSD which is BSD user on Linux kernel...

        – Mehrdad
        11 hours ago













        BSD was to my knowledged used in Mac OS X/NextStep because the license allowed them to use it with closed source software. NeXTStep included instructions for getting the source for the open source components. The same reasoning may have been used in Linux for providing a GPL userland with a GPL kernel.

        – Thorbjørn Ravn Andersen
        6 hours ago





        BSD was to my knowledged used in Mac OS X/NextStep because the license allowed them to use it with closed source software. NeXTStep included instructions for getting the source for the open source components. The same reasoning may have been used in Linux for providing a GPL userland with a GPL kernel.

        – Thorbjørn Ravn Andersen
        6 hours ago













        Good answer, but it would benefit from a little explanation of the origins of the common Linux userlands.

        – Russell Borogove
        6 hours ago





        Good answer, but it would benefit from a little explanation of the origins of the common Linux userlands.

        – Russell Borogove
        6 hours ago













        That's really beyond the scope here, and should be a Q&A in its own right. We even have some such Q&As already. Consider unix.stackexchange.com/q/81302/5132 , for example. Q&As about the histories of the other toolsets would no doubt be welcome.

        – JdeBP
        6 hours ago






        That's really beyond the scope here, and should be a Q&A in its own right. We even have some such Q&As already. Consider unix.stackexchange.com/q/81302/5132 , for example. Q&As about the histories of the other toolsets would no doubt be welcome.

        – JdeBP
        6 hours ago














        Programs like kill and echo are usually shell builtins, true, but there's of course /bin/ implementations for POSIX compliance, and those will vary by operating system. GNU stuff on Linux, BSD versions in BSDs and Mac OS X. I don't know what AIX or HPUX would use, but probably their own implementations. Good answer, +1

        – Sergiy Kolodyazhnyy
        11 mins ago





        Programs like kill and echo are usually shell builtins, true, but there's of course /bin/ implementations for POSIX compliance, and those will vary by operating system. GNU stuff on Linux, BSD versions in BSDs and Mac OS X. I don't know what AIX or HPUX would use, but probably their own implementations. Good answer, +1

        – Sergiy Kolodyazhnyy
        11 mins ago













        4














        They have diffent sources, for example: https://github.com/freebsd/freebsd/blob/master/bin/kill/kill.c and https://github.com/karelzak/util-linux/blob/master/misc-utils/kill.c






        share|improve this answer



























          4














          They have diffent sources, for example: https://github.com/freebsd/freebsd/blob/master/bin/kill/kill.c and https://github.com/karelzak/util-linux/blob/master/misc-utils/kill.c






          share|improve this answer

























            4












            4








            4







            They have diffent sources, for example: https://github.com/freebsd/freebsd/blob/master/bin/kill/kill.c and https://github.com/karelzak/util-linux/blob/master/misc-utils/kill.c






            share|improve this answer













            They have diffent sources, for example: https://github.com/freebsd/freebsd/blob/master/bin/kill/kill.c and https://github.com/karelzak/util-linux/blob/master/misc-utils/kill.c







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 17 hours ago









            Fedor DikarevFedor Dikarev

            1,063310




            1,063310





















                4















                Are these programs in Linux and BSD the same?




                The short answer is: Not necessarily.



                The source code of common programs such as ls, cat, echo, kill, etc. depend on what userland they come from. In other words, the userland your system uses. The most common userland used with the Linux kernel is GNU - hence the name GNU/Linux. Other userlands have been integrated with the Linux kernel, however.



                The BSD's typically have their own userland that is developed separately from others like GNU. Even the BSD's themselves have different code bases. For example, both FreeBSD and OpenBSD have a "BSD userland", but their code base is different. If you look at their man pages (ps for example), they have different arguments that can be used.



                One reason POSIX was developed was to address the issue of multiple code bases. If the common utilities delivered with a userland are POSIX compliant, you can assure that they will work (almost) the same whether they come from GNU, FreeBSD, OpenBSD, AIX, or other UNIX based systems.



                As you probably know, the userlands listed above (except AIX) are open source. Feel free to poke around their code repositories and you will quickly see that they are not exactly the same.



                Note: Even though GNU/Linux is the most popular, there have been attempts to use a GNU userland with FreeBSD/NetBSD kernels in the past. You can read more about them on wikipedia here.






                share|improve this answer



























                  4















                  Are these programs in Linux and BSD the same?




                  The short answer is: Not necessarily.



                  The source code of common programs such as ls, cat, echo, kill, etc. depend on what userland they come from. In other words, the userland your system uses. The most common userland used with the Linux kernel is GNU - hence the name GNU/Linux. Other userlands have been integrated with the Linux kernel, however.



                  The BSD's typically have their own userland that is developed separately from others like GNU. Even the BSD's themselves have different code bases. For example, both FreeBSD and OpenBSD have a "BSD userland", but their code base is different. If you look at their man pages (ps for example), they have different arguments that can be used.



                  One reason POSIX was developed was to address the issue of multiple code bases. If the common utilities delivered with a userland are POSIX compliant, you can assure that they will work (almost) the same whether they come from GNU, FreeBSD, OpenBSD, AIX, or other UNIX based systems.



                  As you probably know, the userlands listed above (except AIX) are open source. Feel free to poke around their code repositories and you will quickly see that they are not exactly the same.



                  Note: Even though GNU/Linux is the most popular, there have been attempts to use a GNU userland with FreeBSD/NetBSD kernels in the past. You can read more about them on wikipedia here.






                  share|improve this answer

























                    4












                    4








                    4








                    Are these programs in Linux and BSD the same?




                    The short answer is: Not necessarily.



                    The source code of common programs such as ls, cat, echo, kill, etc. depend on what userland they come from. In other words, the userland your system uses. The most common userland used with the Linux kernel is GNU - hence the name GNU/Linux. Other userlands have been integrated with the Linux kernel, however.



                    The BSD's typically have their own userland that is developed separately from others like GNU. Even the BSD's themselves have different code bases. For example, both FreeBSD and OpenBSD have a "BSD userland", but their code base is different. If you look at their man pages (ps for example), they have different arguments that can be used.



                    One reason POSIX was developed was to address the issue of multiple code bases. If the common utilities delivered with a userland are POSIX compliant, you can assure that they will work (almost) the same whether they come from GNU, FreeBSD, OpenBSD, AIX, or other UNIX based systems.



                    As you probably know, the userlands listed above (except AIX) are open source. Feel free to poke around their code repositories and you will quickly see that they are not exactly the same.



                    Note: Even though GNU/Linux is the most popular, there have been attempts to use a GNU userland with FreeBSD/NetBSD kernels in the past. You can read more about them on wikipedia here.






                    share|improve this answer














                    Are these programs in Linux and BSD the same?




                    The short answer is: Not necessarily.



                    The source code of common programs such as ls, cat, echo, kill, etc. depend on what userland they come from. In other words, the userland your system uses. The most common userland used with the Linux kernel is GNU - hence the name GNU/Linux. Other userlands have been integrated with the Linux kernel, however.



                    The BSD's typically have their own userland that is developed separately from others like GNU. Even the BSD's themselves have different code bases. For example, both FreeBSD and OpenBSD have a "BSD userland", but their code base is different. If you look at their man pages (ps for example), they have different arguments that can be used.



                    One reason POSIX was developed was to address the issue of multiple code bases. If the common utilities delivered with a userland are POSIX compliant, you can assure that they will work (almost) the same whether they come from GNU, FreeBSD, OpenBSD, AIX, or other UNIX based systems.



                    As you probably know, the userlands listed above (except AIX) are open source. Feel free to poke around their code repositories and you will quickly see that they are not exactly the same.



                    Note: Even though GNU/Linux is the most popular, there have been attempts to use a GNU userland with FreeBSD/NetBSD kernels in the past. You can read more about them on wikipedia here.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 13 hours ago









                    PeschkePeschke

                    2,666925




                    2,666925





















                        0














                        First, I understand Linux as meaning GNU/Linux, which is the operating system, Linux is merely the kernel.



                        Now, the source code is NOT the same. The GNU team created the utils, inspired by the UNIX tools that existed, and extended some of these.



                        GNU kill and echo are shell built-ins in Bash, the default shell on most GNU systems, so they come with your shell, as in bash.



                        ls, and cat are different, separate programs, inspired by UNIX ls and cat, respectively.



                        There is a history of UNIX graph that explains where things come from, as you can see, GNU/Linux popped up without any direct ancestry.



                        enter image description here



                        Of the UNIX flavors, which relate to UNIX time sharing system, these commands all come from that, however, they could have been re-written multiple times.



                        You can compare FreeBSD cat source code with GNU cat source code.



                        Why do I not refer to GNU/Linux right through ? The waters are murky, you can install the GNU tools on the BSD's as well as on other UNIX systems, well, you can even install them on windows.



                        Debian, of Debian GNU/Linux glory, on which Ubuntu and Mint are based (just two examples), offers a GNU distribution with a FreeBSD kernel: GNU/kFreeBSD



                        Yes, the graph is outdated ...






                        share|improve this answer





























                          0














                          First, I understand Linux as meaning GNU/Linux, which is the operating system, Linux is merely the kernel.



                          Now, the source code is NOT the same. The GNU team created the utils, inspired by the UNIX tools that existed, and extended some of these.



                          GNU kill and echo are shell built-ins in Bash, the default shell on most GNU systems, so they come with your shell, as in bash.



                          ls, and cat are different, separate programs, inspired by UNIX ls and cat, respectively.



                          There is a history of UNIX graph that explains where things come from, as you can see, GNU/Linux popped up without any direct ancestry.



                          enter image description here



                          Of the UNIX flavors, which relate to UNIX time sharing system, these commands all come from that, however, they could have been re-written multiple times.



                          You can compare FreeBSD cat source code with GNU cat source code.



                          Why do I not refer to GNU/Linux right through ? The waters are murky, you can install the GNU tools on the BSD's as well as on other UNIX systems, well, you can even install them on windows.



                          Debian, of Debian GNU/Linux glory, on which Ubuntu and Mint are based (just two examples), offers a GNU distribution with a FreeBSD kernel: GNU/kFreeBSD



                          Yes, the graph is outdated ...






                          share|improve this answer



























                            0












                            0








                            0







                            First, I understand Linux as meaning GNU/Linux, which is the operating system, Linux is merely the kernel.



                            Now, the source code is NOT the same. The GNU team created the utils, inspired by the UNIX tools that existed, and extended some of these.



                            GNU kill and echo are shell built-ins in Bash, the default shell on most GNU systems, so they come with your shell, as in bash.



                            ls, and cat are different, separate programs, inspired by UNIX ls and cat, respectively.



                            There is a history of UNIX graph that explains where things come from, as you can see, GNU/Linux popped up without any direct ancestry.



                            enter image description here



                            Of the UNIX flavors, which relate to UNIX time sharing system, these commands all come from that, however, they could have been re-written multiple times.



                            You can compare FreeBSD cat source code with GNU cat source code.



                            Why do I not refer to GNU/Linux right through ? The waters are murky, you can install the GNU tools on the BSD's as well as on other UNIX systems, well, you can even install them on windows.



                            Debian, of Debian GNU/Linux glory, on which Ubuntu and Mint are based (just two examples), offers a GNU distribution with a FreeBSD kernel: GNU/kFreeBSD



                            Yes, the graph is outdated ...






                            share|improve this answer















                            First, I understand Linux as meaning GNU/Linux, which is the operating system, Linux is merely the kernel.



                            Now, the source code is NOT the same. The GNU team created the utils, inspired by the UNIX tools that existed, and extended some of these.



                            GNU kill and echo are shell built-ins in Bash, the default shell on most GNU systems, so they come with your shell, as in bash.



                            ls, and cat are different, separate programs, inspired by UNIX ls and cat, respectively.



                            There is a history of UNIX graph that explains where things come from, as you can see, GNU/Linux popped up without any direct ancestry.



                            enter image description here



                            Of the UNIX flavors, which relate to UNIX time sharing system, these commands all come from that, however, they could have been re-written multiple times.



                            You can compare FreeBSD cat source code with GNU cat source code.



                            Why do I not refer to GNU/Linux right through ? The waters are murky, you can install the GNU tools on the BSD's as well as on other UNIX systems, well, you can even install them on windows.



                            Debian, of Debian GNU/Linux glory, on which Ubuntu and Mint are based (just two examples), offers a GNU distribution with a FreeBSD kernel: GNU/kFreeBSD



                            Yes, the graph is outdated ...







                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited 10 hours ago

























                            answered 11 hours ago









                            thecarpythecarpy

                            2,370825




                            2,370825





















                                0














                                In addition to the above correct answers, you will find that the default shell on (almost?) every Linux distro is bash, while the default shell on at least OpenBSD and FreeBSD is not bash. It probably is csh, or ksh, but it is a couple of years since I used any BSD variant, so I am not absolutely sure. Anyway it never had the functionality of bash, even the way in which the previous command can be repeated was confusingly different. The difference in shells may change which of the simpler commands are shell built-ins and which are freestanding programs.



                                With several distros now providing the GNU userland with an xBSD kernel, and potentially vice-versa, there is no one absolutely definitive answer to the question. The only absolutely foolproof way of knowing what you have on your system is to use your package manager to download the source and examine it, or examine it on-line if your distro has browseable source, although checking the license which applies would give a fairly good indication.






                                share|improve this answer








                                New contributor




                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.




















                                • Enjoy unix.stackexchange.com/q/322035/5132 , unix.stackexchange.com/q/193204/5132 , unix.stackexchange.com/q/496259/5132 , and many others here. And you'll stir up M. Chazelas if you claim that the C shell doesn't have the history expansion that the Bourne Again shell got from the C shell. (-:

                                  – JdeBP
                                  5 hours ago















                                0














                                In addition to the above correct answers, you will find that the default shell on (almost?) every Linux distro is bash, while the default shell on at least OpenBSD and FreeBSD is not bash. It probably is csh, or ksh, but it is a couple of years since I used any BSD variant, so I am not absolutely sure. Anyway it never had the functionality of bash, even the way in which the previous command can be repeated was confusingly different. The difference in shells may change which of the simpler commands are shell built-ins and which are freestanding programs.



                                With several distros now providing the GNU userland with an xBSD kernel, and potentially vice-versa, there is no one absolutely definitive answer to the question. The only absolutely foolproof way of knowing what you have on your system is to use your package manager to download the source and examine it, or examine it on-line if your distro has browseable source, although checking the license which applies would give a fairly good indication.






                                share|improve this answer








                                New contributor




                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.




















                                • Enjoy unix.stackexchange.com/q/322035/5132 , unix.stackexchange.com/q/193204/5132 , unix.stackexchange.com/q/496259/5132 , and many others here. And you'll stir up M. Chazelas if you claim that the C shell doesn't have the history expansion that the Bourne Again shell got from the C shell. (-:

                                  – JdeBP
                                  5 hours ago













                                0












                                0








                                0







                                In addition to the above correct answers, you will find that the default shell on (almost?) every Linux distro is bash, while the default shell on at least OpenBSD and FreeBSD is not bash. It probably is csh, or ksh, but it is a couple of years since I used any BSD variant, so I am not absolutely sure. Anyway it never had the functionality of bash, even the way in which the previous command can be repeated was confusingly different. The difference in shells may change which of the simpler commands are shell built-ins and which are freestanding programs.



                                With several distros now providing the GNU userland with an xBSD kernel, and potentially vice-versa, there is no one absolutely definitive answer to the question. The only absolutely foolproof way of knowing what you have on your system is to use your package manager to download the source and examine it, or examine it on-line if your distro has browseable source, although checking the license which applies would give a fairly good indication.






                                share|improve this answer








                                New contributor




                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.










                                In addition to the above correct answers, you will find that the default shell on (almost?) every Linux distro is bash, while the default shell on at least OpenBSD and FreeBSD is not bash. It probably is csh, or ksh, but it is a couple of years since I used any BSD variant, so I am not absolutely sure. Anyway it never had the functionality of bash, even the way in which the previous command can be repeated was confusingly different. The difference in shells may change which of the simpler commands are shell built-ins and which are freestanding programs.



                                With several distros now providing the GNU userland with an xBSD kernel, and potentially vice-versa, there is no one absolutely definitive answer to the question. The only absolutely foolproof way of knowing what you have on your system is to use your package manager to download the source and examine it, or examine it on-line if your distro has browseable source, although checking the license which applies would give a fairly good indication.







                                share|improve this answer








                                New contributor




                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.









                                share|improve this answer



                                share|improve this answer






                                New contributor




                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.









                                answered 6 hours ago









                                tiger99tiger99

                                1




                                1




                                New contributor




                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.





                                New contributor





                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.






                                tiger99 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                Check out our Code of Conduct.












                                • Enjoy unix.stackexchange.com/q/322035/5132 , unix.stackexchange.com/q/193204/5132 , unix.stackexchange.com/q/496259/5132 , and many others here. And you'll stir up M. Chazelas if you claim that the C shell doesn't have the history expansion that the Bourne Again shell got from the C shell. (-:

                                  – JdeBP
                                  5 hours ago

















                                • Enjoy unix.stackexchange.com/q/322035/5132 , unix.stackexchange.com/q/193204/5132 , unix.stackexchange.com/q/496259/5132 , and many others here. And you'll stir up M. Chazelas if you claim that the C shell doesn't have the history expansion that the Bourne Again shell got from the C shell. (-:

                                  – JdeBP
                                  5 hours ago
















                                Enjoy unix.stackexchange.com/q/322035/5132 , unix.stackexchange.com/q/193204/5132 , unix.stackexchange.com/q/496259/5132 , and many others here. And you'll stir up M. Chazelas if you claim that the C shell doesn't have the history expansion that the Bourne Again shell got from the C shell. (-:

                                – JdeBP
                                5 hours ago





                                Enjoy unix.stackexchange.com/q/322035/5132 , unix.stackexchange.com/q/193204/5132 , unix.stackexchange.com/q/496259/5132 , and many others here. And you'll stir up M. Chazelas if you claim that the C shell doesn't have the history expansion that the Bourne Again shell got from the C shell. (-:

                                – JdeBP
                                5 hours ago










                                user341875 is a new contributor. Be nice, and check out our Code of Conduct.









                                draft saved

                                draft discarded


















                                user341875 is a new contributor. Be nice, and check out our Code of Conduct.












                                user341875 is a new contributor. Be nice, and check out our Code of Conduct.











                                user341875 is a new contributor. Be nice, and check out our Code of Conduct.














                                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%2f506400%2fdo-the-common-programs-for-example-ls-cat-in-linux-and-bsd-come-from-the%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







                                Popular posts from this blog

                                Are there any AGPL-style licences that require source code modifications to be public? Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Force derivative works to be publicAre there any GPL like licenses for Apple App Store?Do you violate the GPL if you provide source code that cannot be compiled?GPL - is it distribution to use libraries in an appliance loaned to customers?Distributing App for free which uses GPL'ed codeModifications of server software under GPL, with web/CLI interfaceDoes using an AGPLv3-licensed library prevent me from dual-licensing my own source code?Can I publish only select code under GPLv3 from a private project?Is there published precedent regarding the scope of covered work that uses AGPL software?If MIT licensed code links to GPL licensed code what should be the license of the resulting binary program?If I use a public API endpoint that has its source code licensed under AGPL in my app, do I need to disclose my source?

                                2013 GY136 Descoberta | Órbita | Referências Menu de navegação«List Of Centaurs and Scattered-Disk Objects»«List of Known Trans-Neptunian Objects»

                                Button changing it's text & action. Good or terrible? The 2019 Stack Overflow Developer Survey Results Are Inchanging text on user mouseoverShould certain functions be “hard to find” for powerusers to discover?Custom liking function - do I need user login?Using different checkbox style for different checkbox behaviorBest Practices: Save and Exit in Software UIInteraction with remote validated formMore efficient UI to progress the user through a complicated process?Designing a popup notice for a gameShould bulk-editing functions be hidden until a table row is selected, or is there a better solution?Is it bad practice to disable (replace) the context menu?