Deixe-me tentar explicar, para responder à situação cd . Agora temos . - current directory , então / - root directory, agora lembre-se que / é usado no Linux para indicar absolute path e não caminho relativo, quando inicia o endereço do caminho . Agora no seu caso,
-
Quando você usa
cd folder_name, está usando o endereçorelative pathpara o diretório (atual), portanto, não é necessário especificar o caminho, já está lá. -
Quando você usa
cd ./folder_name, ele me move para a pasta com o nomefolder_nameno diretório atual (.). -
Você executa um programa no diretório atual
., com./program.shdiz -don't bother searching in the standard pathsna pasta.atual. Esta é a configuração padrão do Linux. -
Além disso (graças a Sergiy), outra coisa que gostaria de acrescentar é que ao usar
globstarpara lidar com arquivos, deve-se usar./porque é mais seguro. Digamos que você execute algo comols *e tenha um nome de arquivo como-231.txt. O comando ls pensará que-2é uma opção de comando, mas há um switch assim em ls, então você receberá um erro. Comls ./*, funcionará sem problemas. Portanto,./é usado não apenas paracdem algum lugar ou executando o script