Gli elementi ~e $sono del prompt della riga di comando . Ciò indica che il tuo computer (o più esattamente, immagino, la shell che stai eseguendo) è in attesa di input da parte dell'utente. Ti sta chiedendo di inserire un comando.
L' $è solo un separatore o divisore. Separa il prompt dei comandi dal comando che lo segue. Quando le persone scrivono cose come $ sudo apt-get update(il tuo esempio), ti stanno semplicemente dicendo che il comando, in questo caso sudo apt-get update, deve essere inserito al prompt dei comandi. A rigor di termini, forse, $è ridondante in questo contesto.
Altri separatori possono essere utilizzati in altre situazioni. Ad esempio, #viene utilizzato per una shell di root.
La ~(chiamata 'tilde') è una scorciatoia per la tua directory home. Quando appare in un prompt dei comandi, ad esempio, user@hostame:~$indica che la directory di lavoro corrente è la directory principale. Pertanto, se si esegue il comando list ls, senza specificare alcuna directory particolare, verranno elencati i contenuti della directory home.
(A proposito, $HOMEnon è un comando, come suggerisci, ma piuttosto una variabile d'ambiente . Determina la posizione della tua home directory. Puoi vederne il valore eseguendo $ echo $HOME.)
$con `̃∴` come simbolo di prompt). È possibile modificare la richiesta impostando laPS1variabile di ambiente a proprio piacimento.