Los ~y $son elementos de la línea de comandos . Esto indica que su computadora (o más exactamente, supongo, el shell que está ejecutando) está esperando la entrada del usuario. Le está pidiendo que ingrese un comando.
El $es simplemente un separador o divisor. Separa el símbolo del sistema del comando que lo sigue. Cuando las personas escriben cosas como $ sudo apt-get update(su ejemplo), simplemente le dicen que el comando, en este caso sudo apt-get update, debe ingresarse en el símbolo del sistema. Estrictamente hablando, tal vez, $es redundante en este contexto.
Se pueden utilizar otros separadores en otras situaciones. Por ejemplo, #se usa para un shell raíz.
El ~(llamado 'tilde') es la abreviatura de su directorio de inicio. Cuando aparece en un símbolo del sistema, por ejemplo, user@hostame:~$indica que el directorio de trabajo actual es su directorio de inicio. Por lo tanto, si ejecuta el comando de lista ls, sin especificar ningún directorio en particular, mostrará el contenido de su directorio de inicio.
(Por cierto, $HOMEno es un comando, como sugiere, sino una variable de entorno . Determina la ubicación de su directorio de inicio. Puede ver su valor ejecutando $ echo $HOME).
$con `̃∴` como símbolo de solicitud). Puede cambiar su solicitud configurando laPS1variable de entorno a su gusto.