Você não é (bom) motivo para as imagens serem executáveis.
Basta executar este comando para corrigi-los:
find /space/music -name "*.jpg" -exec chmod -x {} +
Bônus:
find /space/music -type d -exec chmod o-w {} +
Explicação:
A maior parte da linha de comando é auto-explicativa. A única parte que precisa de algum insight é o final. {}
é substituído pelo nome dos arquivos (resp direct directory) encontrados que correspondem ao filtro. Normalmente, o comando find é finalizado com um ponto-e-vírgula protegido \;
.
No entanto, isso não é eficiente, pois o comando é executado uma vez para cada arquivo / diretório.
Existe uma solução bem conhecida que direciona find
output para xargs
, que concatena os nomes dos arquivos até a linha de comando máxima permitida, mas há um problema quando o caminho contém espaços, o que é cada vez mais comum no mundo Unix / Linux.
Mais uma vez, uma solução baseada em extensões específicas do GNU permite lidar adequadamente com esses casos. Eu escolho uma abordagem mais simples usando uma maneira POSIX (leitura portátil) para encontrar a criação de longas linhas de comando, ou seja, {}
é substituído por um conjunto de nomes de arquivos até o número máximo permitido.