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 path
para 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_name
no diretório atual (.
). -
Você executa um programa no diretório atual
.
, com./program.sh
diz -don't bother searching in the standard paths
na 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
globstar
para 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 paracd
em algum lugar ou executando o script