Есть ли способ командной строки, с помощью которого я могу проверить, завершен ли или нет загруженный файл?

Я пишу сценарий, который включает в себя загрузку и управление файлом, и я хочу убедиться, что файл не является неполным (из-за, например, отброшенного соединения), прежде чем я начну работать над ним.

  • Как передать аргумент, хранящийся в переменной, в WGET
  • Сохранение нескольких URL-адресов в текстовые файлы
  • wget загрузить с помощью списка URL-адресов
  • Что такое флаг для загрузки скрытых файлов с помощью wget?
  • Загрузите контент из определенного <div> с помощью wget
  • wget не останавливается
  • wget --spider: как определить, где неработающие ссылки происходят из
  • wget: следовать настраиваемым атрибутам URL
  • 2 Solutions collect form web for “Есть ли способ командной строки, с помощью которого я могу проверить, завершен ли или нет загруженный файл?”

    Наиболее распространенным способом проверки целостности загруженных файлов является использование контрольных сумм MD5. Это предполагает, что сайт, который вы загружаете из фактически опубликованных контрольных сумм MD5 их файлов. Вы можете проверить контрольную сумму MD5, создав собственную контрольную сумму загруженного файла и сравнив ее с опубликованной контрольной суммой. Если они идентичны, файл, который вы загрузили, завершен и не подделан.

    Если вы не ожидаете, что файл, который вы загружаете для изменения, вы можете предварительно скопировать контрольную сумму и записать ее в скрипт, но если файл будет постоянно обновляться, проверка завершится неудачно.

    Чтобы создать контрольную сумму MD5 файла, запустите md5sum myFile . В случае с wget вы можете найти эту команду полезной, особенно если файл, который вы загружаете, большой:

    wget -O - http://example.com/myFile | tee myFile | md5sum > MD5SUM wget -O - http://example.com/myFile | tee myFile | md5sum > MD5SUM .

    Это создаст контрольную сумму «myFile» при загрузке и сохранит ее в файл MD5SUM, возможно, сэкономит вам некоторое время.

    В случае сброшенного соединения, я думаю, лучший способ – проверить коды выхода из wget. Если загрузка будет успешной без каких-либо ошибок, wget вернет 0 . Все остальное указывает, что что-то пошло не так. Взгляните на раздел «Статус выхода» man wget .

    Код возврата команды, используемой для загрузки файла, скажет вам, успешно ли выполнена команда. Как правило, код возврата 0 обозначает успех, а любое ненулевое число обозначает ошибку. Вы можете получить код возврата через $? переменная.

    Основной пример использования wget :

     #!/bin/bash wget foo.tgz &> /dev/null if [[ "$?" != 0 ]]; then echo "Error downloading file" else echo "Success" fi 

    &> /dev/null перенаправляет весь вывод wget на /dev/null поэтому он идеально подходит для сценариев, но это затрудняет отладку ошибок wget .

    Interesting Posts

    История поиска из нескольких сеансов bash только при использовании Ctrl + R, а не при использовании клавиш со стрелками

    Перебирать ассоциативные массивы подстрокой

    CentOS 6.5 необходимо вручную добавить маршрут по умолчанию

    Использует ли опция -depth find для пересечения дерева по глубине?

    Использование переноса слов с помощью mc

    Что означает стек в связи с процессом?

    При зеркалировании всей корневой зоны rpool вам нужно установить загрузочный блок?

    Грепируйте линии между появлением одного и того же шаблона

    Как установить ctrl + c для копирования, ctrl + v для вставки и ctrl + shift + c, чтобы убить процесс в xfce4-терминале?

    Bash: срез позиционных параметров

    Отправить письмо в любое время, когда используется SSH-ключ

    Как знак двоеточия и знак вопроса доллара объединяются в sh?

    Исполняемые файлы показывают с символом * рядом с их именем в выводе ls

    Сохранять соотношение экрана при максимальном использовании mplayer

    Использовать переменные в команде find

    Linux и Unix - лучшая ОС в мире.