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

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

  • Как создать каталоги, содержащие index.html с помощью wget -recursive?
  • Доступ к каждой строке в .txt-файле, загрузка и переименование ссылок
  • Как получить список URL-адресов из URL рекурсивно с фильтрацией
  • Можно ли загрузить эти веб-страницы в виде книги?
  • Как загрузить файл с FTP-сервера, а затем автоматически удалить его с сервера после завершения загрузки?
  • wget зависает ПОСЛЕ завершения загрузки, на exit_group
  • Использование wget и grep для загрузки HTML-страниц и фильтрации по ключевым словам
  • Использование wget для целевых файлов в диапазоне дат
  • 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
    Linux и Unix - лучшая ОС в мире.