Question: I am wondering what the point of `sh` being symbolic linked to `dash` is? I understand that `dash` is supposed to be faster than `bash`, but I am uncertain why the original `sh` shell isn't present in `sh`. 

Or if anything why isn't `sh` linked to `bash`?

Answer: 
In GNU/Linux distributions, the "original `/bin/sh`" is actually Bash.

GNU wanted a Bourne-like shell that was under the GPL, so that's why they chose Bash for their `/bin/sh`, instead of Bourne, which was not GPL-licensed. Modern Linux distros inherited this decision to the point that it became a defacto standard for `/bin/sh` to be Bash. The original Bourne shell ("sh") has been used in other non-Linux Unixes, even as recently as Solaris 10, but it's never been a mainstay in Linux distributions.

Switching `/bin/sh` from bash to dash was a Debian decision (inherited by Ubuntu) motivated largely by speed - it came at a time when they put a huge effort into improving boot speed, and a large part of the boot CPU time at the time consistent of running init scripts.

Bash continues to be used as the default interactive/login shell for users, but Dash is the one at `/bin/sh` and the one which is executed for system scripts such as init scripts.

Dash is very fast, but also is very closely POSIX-compatible - a standard that is aligned closely with the Bourne shell. So in a way, by switching from Bash to Dash we are moving back to a shell more closely aligned with Bourne.
`/bin/sh` is linked to `/bin/dash` for what I believe is compatibility reasons. Many scripts simply start with 

```
#!/bin/sh

```

so by moving to `dash` and not making a symbolic link, a lot of scripts would fail to run properly(or at all) if `/bin/sh` didn't exist at all.

The change was made from `bash` to `dash` because according to <https://wiki.ubuntu.com/DashAsBinSh>:

> 
> The major reason to switch the default shell was efficiency. bash is an excellent full-featured shell appropriate for interactive use; indeed, it is still the default login shell. However, it is rather large and slow to start up and operate by comparison with dash. A large number of shell instances are started as part of the Ubuntu boot process. Rather than change each of them individually to run explicitly under /bin/dash, a change which would require significant ongoing maintenance and which would be liable to regress if not paid close attention, the Ubuntu core development team felt that it was best simply to change the default shell.
> 
> 
> 

`sh` is not linked to `bash`, because

> 
> The Debian policy manual has long mandated that "shell scripts specifying '/bin/sh' as interpreter must only use POSIX features"
> 
> 
> 

If you want to use `bash` as `/bin/sh`:

> 
> If the problems are more widespread and you want to change the default system shell back, then you can instruct the package management system to stop installing dash as /bin/sh:
> 
> 
> 

```
sudo dpkg-reconfigure dash

```

There are some features that `dash` provides that bash does not, as:

> 
> there is even an outside chance that there are a few scripts that now depend on some feature of dash that bash does not provide!
> 
> 
>