방금 컴퓨터 하드웨어 (cpu + 메인 보드 + 그래픽 카드 + 메모리 + 하드 디스크)를 업그레이드 했으므로 새 OS를 설치해야합니다. 나는 명령 으로 다운로드 debian-6.0.6-amd64-netinst.iso
를 시도 wget
했지만 속도가 너무 느려서 견딜 수 없었습니다. 4Kb/s ~ 17 Kb/s
, 달리는 거북이처럼 느리게, Chrome을 사용하면 더 느려집니다.
wget 의 도움말 정보를 읽었습니다 . 더 빨리 만들 수있는 옵션이없는 것 같습니다.
어쨌든 wget을 더 빨리 만들 수 있습니까? 아니면 멀티 스레딩 다운로드가 가능합니까?
추신 : 내 대역폭은 4M입니다. 이 명령을 사용합니다.
wget -c url http://hammurabi.acc.umu.se/debian-cd/6.0.6/amd64/iso-cd/debian-6.0.6-amd64-netinst.iso
답변
시도해 보지 않겠 axel
습니까? 본격적인 커맨드 라인 기반 다운로더입니다.
설치 axel
및 생성
axel -a -n [Num_of_Thread] link1 link2 link3 ...
여기서 '[Num_of_Thread]'
다운로드하려는 각 링크에 대해 생성 할 병렬 연결 수입니다.
-a
개선 된 진행률 표시 줄 만 표시하십시오.
다른 많은 다운로드 관리자와 달리 Axel은 하나의 단일 스레드를 사용하여 모든 데이터를 대상 파일로 직접 다운로드합니다. 프로그램이 다운로드 한 모든 부품을 연결할 필요가 없기 때문에 결국 시간이 절약됩니다.
답변
나는 시도 axel
에 Gufran 의 추천하지만 상당히 저를 실망. 저의 목표는 DownThemAll
CPU와 하드 디스크를 혼잡하게하고 8 코어 Mac Pro에서도 전체 시스템 속도를 늦추기 때문에 CLI 대체품을 찾는 것이 었습니다 . 또한 여러 인스턴스를 실행하는 스크립트가 아닌 wget
and curl
에 대한 멀티 스레드 대체를 원했습니다 . 그래서 나는 더 많은 것을 검색하고 지금 생각하는 것이 가장 현대적인 멀티 스레드 CLI 다운로더 인 aria2라는 것을 발견했습니다 . 내가 가진 큰 문제는 axel
SSL을 통해 파일을 다운로드하는 ‘가짜’였다는 것입니다. 나는 그걸로 그것을 붙 잡았다 tcdump
. https
평소와 같이 링크를 다운로드하고있었습니다http
. 그것은 정말로 나를 화나게했다. 그리고 내가 점검하지 않았다면, 나는 안전에 대한 잘못된 감각을 가지고 있었을 것이다. 많은 사람들이 이러한 심각한 보안 위반에 대해 알고 있다고 의심합니다. 로 돌아 가면 aria2
다른 다운로더보다 고급 기능입니다. HTTP (S), FTP, BitTorrent 및 Metalink 프로토콜을 지원하며 멀티 플랫폼이며 다운로드 게릴라입니다. DTA와 달리 CPU 나 하드 디스크에 부하가없는 ISP의 대역폭을 최대화합니다. 맨 페이지는 거대합니다. 나는 많은 옵션 중 몇 가지 이상을 사용하지 않을 것입니다. 그리고 BTW, SSL 성능을 확인했으며 tcdump
가짜가 아니라 견고합니다. 편리하지는 않지만 DTA의 동작을 모방 한 스크립트를 작성했습니다.
최대 대역폭을 얻는 데 사용하는 기본 명령은
aria2c --file-allocation=none -c -x 10 -s 10 -d "mydir" URL
-c
그것은이 중단 얻는다 경우 다운로드의 지속을 허용 -x 10
하고 -s 10
서버 당 10 개의 연결을 허용하고, -d "mydir"
디렉토리에 출력 파일 mydir
.
aria2files.sh
:
#!/bin/bash
filename="$1" # get filename from command line argument
while read -r line
do
if [ "$line" ] # skip blank lines
then
if [[ "$line" =~ (https?|ftp)\:\/\/ ]] # line contains a URL, download file
then
echo "URL: '$line'"
aria2c --file-allocation=none -c -x 10 -s 10 -d "$currdir" "$line"
else # line contains a directory name, create directory if not already present
echo "Directory: '$line'"
currdir="$line"
if [ ! -d "$currdir" ]
then
mkdir -p "$currdir" # '-p' enables creation of nested directories in one command
fi
fi
fi
done < "$filename"
다음 형식의 텍스트 파일을 읽습니다.
files.txt
:
dierctory 1
url1
url2
…
directory 2/subdirectory/sub-subdirectory/…
url3
url4
…
…
…
스크립트는 명령 행에서 파일 이름을 읽습니다.
aria2files.sh files.txt
디렉토리를 작성하고 다운로드합니다. 두 번째 예와 같이 중첩 된 디렉토리를 작성할 수 있습니다.
자세한 내용은 URL에서 텍스트 파일에 나열된 지정된 디렉토리로 파일을 다운로드하는 내 post Bash 스크립트를 참조하십시오 .