Isso é um padrão de substituição usando a expansão do parâmetro bash .
Em ${f// /_} :
-
As barras duplas
//são para substituir todas as ocorrências de espaço por_, se você colocar uma barra/, somente o primeiro espaço será substituído -
O espaço está lá porque você está substituindo o espaço (com sublinhado)
O padrão é basicamente:
${parameter//find/replace}
Verifique man bash para ter mais ideia.
Para chegar à seção Parameter Expansion de man bash de uma só vez:
LESS=+/'Parameter Expansion' man bash