Além do (s) hardlink (s), o inode de um arquivo é garantido como único, dentro do mesmo sistema de arquivos. Iterando os arquivos .JPG no diretório atual e renomeando ( mv -ing) com ajuda de stat para obter o inode:
for i in *.JPG; do echo mv -- "$i" "$(stat -c '%i' "$i")"; done
echo irá cuspir o comando mv que seria executado. Remova echo da ação real:
for i in *.JPG; do mv -- "$i" "$(stat -c '%i' "$i")"; done
Além disso, se você quiser que os nomes de arquivos finais também tenham a extensão .JPG :
for i in *.JPG; do mv -- "$i" "$(stat -c '%i' "$i").JPG"; done