Você cd no seu diretório ~/Desktop/Programming , e você faz
cd Desktop/Programming/HelloWorld.java
Existem dois problemas
Este é um caminho relativo. Você pode apenas cd para um caminho iniciando Desktop if Desktop é um subdiretório do diretório de trabalho atual - nesse caso, você está em um subdiretório de Desktop ... O caminho completo seria ~/Desktop/Programming/HelloWorld.java - isso se referirá ao arquivo que você deseja, não importando qual seja o diretório de trabalho atual.
Mas se você tentar cd , receberá o erro is not a directory porque cd significa alterar o diretório para o seguinte. Então, o que você está realmente tentando fazer com esse arquivo? Você não pode cd .
Se você usar ls após cd Desktop/Programming , verá seu arquivo e estará idealmente localizado para fazer o que quiser, por exemplo
javac HelloWorld.java
para compilar o código ...