Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

wget -b 플래그 활용법: 백그라운드 모드에서 다운로드 상태 확인하기

명령어 뒤에 앰퍼샌드(&)를 붙여 wget을 백그라운드에서 실행할 수도 있지만, 일반적으로는 -b 플래그와 함께 명령어를 실행하는 것이 더 유용합니다. 예를 들어 데비안(Debian) CD 설치 이미지를 다운로드하고 싶다면 wget -b https://cdimage.debian.org/mirror/cdimage/archive/8.7.1/i386/list-cd/debian-8.7.1-i386-CD-1.list.gz 형식으로 명령어를 입력할 수 있습니다. 그러면 프로세스가 백그라운드에서 계속 진행된다는 메시지가 즉시 표시되며, wget이 실행 중인 백그라운드 프로세스를 식별할 수 있는 프로세스 ID(PID)도 함께 제공됩니다.

백그라운드에서 실행 중인 wget 프로세스는 이 외에는 별도의 정보를 출력하지 않지만, 그렇다고 상태를 확인할 방법이 없는 것은 아닙니다. 텍스트 편집기로 wget 로그 파일을 열면 됩니다. 이 기능은 대형 서버 환경을 염두에 두고 설계되었기 때문에 화면을 보기 좋게 꾸미는 옵션은 없습니다. 하지만 원하는 정보를 얻기 위해 필요한 것은 단 하나의 아주 기본적인 작업, 즉 파일 하나를 여는 것뿐이라는 점이 장점입니다.

wget 백그라운드 다운로드 상태 표시하기

wget -b 명령어 뒤에 다운로드하려는 리소스의 주소를 입력했다고 가정해 보겠습니다. 여기서는 데비안 LXDE 설치 ISO를 예로 들었지만, 이론상 거의 모든 온라인 리소스에 적용할 수 있습니다. 앰퍼샌드로 백그라운드로 보낸 일반 프로세스와 달리, wget 프로세스는 포그라운드로 다시 가져올 수 없습니다. 실제로 이 방식으로 wget을 시작한 직후 jobs 명령어를 실행하면 bash 셸에 등록된 백그라운드 작업이 없음을 확인할 수 있습니다. 다만 kill 명령어에 프로세스 ID를 지정하면 wget 프로세스를 강제로 종료할 수는 있지만, 이 경우 파일은 올바르게 다운로드되지 않습니다.

그래픽 파일 관리자에서 다운로드 중인 파일을 클릭해 파일 크기가 늘어나는 것을 지켜보는 방법도 있습니다. 하지만 wget은 기본적으로 로그 파일을 생성하며 지속적으로 내용을 기록합니다. 로그 파일은 wget-log라는 이름으로 생성되고, 같은 디렉터리에서 여러 파일을 이런 방식으로 다운로드하거나 이전 로그 파일이 남아 있는 경우에는 이름 뒤에 숫자가 붙습니다. 이는 wget이 자신의 로그 파일을 덮어쓰지 않도록 하기 위한 장치입니다. 그래픽 파일 관리자에서 해당 파일을 더블클릭해 열거나, CLI 프롬프트에서 less 또는 more 명령어로 불러올 수 있습니다. 현재 다운로드 상태는 항상 파일의 마지막 줄에 표시됩니다.

wget은 이러한 파일에 끊임없이 내용을 기록하므로, 최신 변경 사항을 확인하려면 그래픽 파일 관리자에서 파일을 반복해서 열거나 CLI에서 cat, less, more 명령어를 여러 번 실행해야 합니다. wget을 시작할 때 -o 플래그 뒤에 파일 이름을 지정하면 사용자 지정 로그 파일을 만들 수 있지만, 이 기능을 활용하는 사용자는 많지 않습니다. 또한 -a 플래그 뒤에 로그 파일 이름을 입력하면 기존 파일에 메시지를 추가(append)하는 방식으로 기록할 수 있습니다. 단, 두 개의 백그라운드 wget 프로세스가 동일한 로그 파일에 추가되도록 실행하지는 마세요. 두 프로세스가 동시에 줄 단위로 기록을 시도하면서 정보가 뒤섞여 읽기 어려운 파일이 될 수 있습니다.

이 플래그들은 wget 사용 시 조합하는 다른 플래그들과 함께 사용할 수 있습니다. 다만 wget은 항상 기본적으로 -v(verbose) 플래그로 동작한다는 점에 유의하세요. 이 플래그는 대부분의 사용자에게 익숙한 상세 출력을 활성화합니다. -b 플래그와 -q(quiet, 조용한 출력) 플래그를 함께 사용하면 wget이 어떤 작업을 하고 있는지 전혀 파악할 수 없게 될 수 있습니다. 기술적으로 -b-d(debug) 플래그를 조합하는 것도 가능하지만, 이는 소프트웨어가 내부적으로 무엇을 하는지 자세히 보여주는 디버그 수준의 출력을 켜는 것일 뿐입니다. 이 추가 출력은 일반적으로 wget 소스 코드를 수정하는 개발자에게만 유용하며, 대부분의 사용자는 신경 쓸 필요가 없습니다. 다운로드 스크립트를 작성하는 프로그래머조차 이 정보가 필요하지 않은 경우가 많으며, 대부분 불필요한 출력만 늘어날 뿐입니다.

마지막으로, ~/Downloads가 아닌 다른 디렉터리에서 wget을 실행했다면 로그 파일 역시 해당 디렉터리에 생성된다는 점을 기억하세요.

저자 소개

wget -b 플래그 활용법: 백그라운드 모드에서 다운로드 상태 확인하기

Kevin Arrows (케빈 애로우즈)

10년 이상의 업계 경험을 갖춘 베테랑 기술 전문가입니다. Microsoft Certified Technology Specialist(MCTS) 자격증을 보유하고 있으며, 최신 기술 동향을 꾸준히 학습하는 데 큰 열정을 가지고 있습니다. 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 폭넓은 기술 분야의 주제에 대해 다수의 글을 집필했으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 동료들 사이에서 높은 평가를 받고 있습니다.