12 ms·
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)" =
by TomasSedovic 12y 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.
- pgl 12y agoI 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.