Os ~
e $
são elementos do prompt da linha de comando . Isso indica que seu computador (ou mais exatamente, eu acho, o shell que você está executando) está aguardando a entrada do usuário. É solicitando que você insira um comando.
O $
é meramente um separador ou divisor. Ele separa o prompt de comando do comando que o segue. Quando as pessoas escrevem coisas como $ sudo apt-get update
(seu exemplo), elas estão simplesmente informando que o comando, neste caso sudo apt-get update
, precisa ser inserido em um prompt de comando. Estritamente falando, talvez, o $
seja redundante neste contexto.
Outros separadores podem ser usados em outras situações. Por exemplo, #
é usado para um shell raiz.
O ~
(chamado 'til') é um atalho para o seu diretório pessoal. Quando aparece em um prompt de comando, por exemplo, user@hostame:~$
, indica que o diretório de trabalho atual é seu diretório pessoal. Portanto, se você executar o comando list, ls
, sem especificar nenhum diretório específico, ele listará o conteúdo do seu diretório pessoal.
(By the way, $HOME
, não é um comando, como você sugere, mas sim uma variável de ambiente . Ele determina a localização do seu diretório home. Você pode ver o seu valor executando $ echo $HOME
.)