Hacker News new | ask | show | jobs
by TomasSedovic 4421 days ago
I'm afraid that ship has sailed a long time ago:

    $ for bin in /bin/* /usr/bin/* /usr/local/bin/*; do
    >     if [[ -f $bin && "$(cat $bin | head -c 2)" == "#!" ]];then
    >         echo $bin
    >     fi
    > done | wc -l

    544
I imagine most of these are written in Perl (though there's surely a fair amount of Python and shell scripting in there, too), but that's still a high-level language with a complex runtime and dependencies compared to C.

To be fair, there's still about twice as many compiled binaries on that box, but having system commands written in a non-C language is by no means an exception.

1 comments

I was curious about what the spread would be, so for one data point:

    $ file -b /bin/* /usr/bin/* /usr/local/bin/* | cut -f1 -d, | sort | uniq -c | sort -rn | head -n 10
       1028 ELF 64-bit LSB executable
        388 POSIX shell script
        265 Perl script
        130 ELF 64-bit LSB shared object
        126 Python script
         46 Ruby script
         38 Bourne-Again shell script
         24 symbolic link to `mtools'
         18 setuid ELF 64-bit LSB executable
         16 setgid ELF 64-bit LSB executable
After the top 10, most were symbolic links. So, seems shell scripts are by far the most common, with perl and python scripts not too far behind, and ruby making a decent appearance.