Есть два способа сделать это с помощью Curl.
В этом первом методе вы бы -O для записи файла на основе удаленного имени из URL; в этом случае он, скорее всего, запишет файл в систему как IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899 ; обратите внимание, как значение URL содержится в двойных кавычках, так как & и ? может быть неверно истолковано как команды Bash:
curl -O -L "http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899";
Хотя этот метод технически «работает», но имя файла в лучшем случае сбивает с толку. Таким образом, в этом другом методе вы использовали бы перенаправление вывода - с > после которого следует имя файла после URL - для вывода содержимого файла в файл с именем IMAGENAME.ISO:
curl -L "http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899" > "IMAGENAME.ISO";
Так что, если вы спросите меня, второй метод лучше всего подходит для большинства средних пользователей. Также обратите внимание, что флаг -L используется в обеих командах; эта команда указывает Curl следовать любым ссылкам перенаправления, которые может иметь URL-адрес загрузки файла, поскольку файлы служб загрузки перенаправляют несколько раз, прежде чем попасть в целевой файл полезной нагрузки.