lftp( 고성능 ftp 클라이언트 sftp, http 등 지원)
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 8,533 조회
- 0 추천
- 목록
본문
O 커맨드 라인 인터페이스 기반의 강력한 ftp 클라이언트
- ftp, http, fish, sftp, https, ftps 의 다양한 프로토콜을 지원
- lftp의 모든 명령어는 신뢰성있다.
- 심각한 에러에 대한 예외 처리가 잘 되어 있고 실패했을시 자동으로 다시 시도한다.
- 만약 ftp서버가 REST명령어를 지원하지 않더라도 lftp는 성공적으로 전송을 끝내기
위해 재시도 한다.
- 백그라운드 모드를 지원한다. [/summary]
프로그램 : lftp ( ftp client ) 파일 이름 : lftp-3.2.1.tar.gz (1648 kB) 운영체제 : POSIX 호환 유닉스 라이센스 : GPL 홈페이지 : http://lftp.yar.ru/ |
|
지금부터 소개할 유틸리티는 커맨드 라인 인터페이스 기반의 강력한 ftp 클라이언트인 lftp 이다.
예전에는 ncftp를 많이 사용하여 리눅스에서 기본 제공하는엣 ftp 클라이언트보다 더 쉽게 파일을
주고 받을 수 있었다. 많이 알려진 ncftp 보다 강력한 기능을 가진 lftp를 Redhat 7.2 버전 부터
포함하기 시작했으며, Redhat 8.0부터는 ncftp 를 선택으로 lftp를 기본으로 설치되게 하였다.
그리고 최근에 나온 Fedora Core 4에서는 ncftp패키지를 배포판에 포함하지 않았다.
현재 3.2.1버전 까지 나왔으며, 3.0 대는 커다란 변화가 있었다. lftp는 ftp, http, fish,
sftp, https, ftps 의 다양한 프로토콜을 지원한다. lftp의 모든 명령어는 신뢰성있다.
심각한 에러에 대한 예외 처리가 잘 되어 있고 실패했을시 자동으로 다시 시도한다.
그래서 다운로드가 중지되더라도 자동으로 재 시작한다.
만약 ftp서버가 REST명령어를 지원하지 않더라도 lftp는 성공적으로 전송을 끝내기 위해 재시도 한다.
이 기능은 자주 변하는 유동 IP뿐만 아니라 불안정한 라인에서도 좋은 효과를 볼 수 있다.
그럼 이 lftp를 어떻게 설치하는지 그리고, 어떤점이 좋은지에 대해서 알아보도록 하자.
설치는 여러가지 방법이 있지만, 가장 일반적이고 배포판에 제약을 받지않는 컴파일 설치를 해 보도록 하겠다.
물론 바이너리 버전도 있으니 사용하고 있는 배포판과 동일한 바이너리 버전을 rpm등의 패키지 매니저로 설치면 된다.
먼저 lftp.yar.ru 사이트에 접속한 다음 lftp-3.2.1.tar.gz 파일을 다운로드 하 여 압축을 해제한다.
configure 스크립트로 환경설정한 다음, make 명령으로 컴파일 하며, make install 로 설치하면 끝난다.
기본 설치 디렉토리는 /usr/local아래이다.
tar xvfz lftp-3.2.1.tar.gz
cd lftp-3.2.1
./configure && make && make install
다음그림은 lftp를 사용하여, help 페이지를 보았다.
일반적인 ftp클라이언트에서는 보이지 않는것들이 여럿 보인다. 가장 대표적인 몇가지를 보도록 하자.
du명령어를 사용하여 전체의 용량을 알아볼 수 있다.
멋진기능중의 하나인 mirror기능을 지원한다. mirror 명령을 이용하여 파일을 다운로드 받거나
업데이트가 가능하며, 또한 원격서버로 업로드 하거나 업데이트 가능하다( -R 옵션이용).
다음그림은 다양한 옵션들을 보여주고 있다.
gzip으로 압축된 파일을 전송하지 않고 볼 수 있는 zcat 과 zmore 명령어를 지원한다.
위와같이 sftp프로토콜을 이용하여 보안 접속을 하였다. lftp는 이런 보안 프로토콜을 제공하기
때문에 더욱 다양한 환경에서 파일전송을 쉽게 할 수 있다.
lftp는 http를 지원한다. 자체 파서로 링크를 분석하여 디렉토리 구조로 나타낸다.
그래서 웹 base ftp 서버에 쉽게 접근하여 원하는 자료를 다운 받을 수 있는 강력한 기능을 내장하고 있다.
만약 모든 작업이 끝나지 않은 상태에서 lftp를 정지해야 한다면, 작업 내용을을 백그라운드로 돌릴 수 있다.
lftp는 쉘과 비슷한 명령어 문법을 제공한다. background(&), () 묶여진 명령어 그룹,
하던 작업을 백그라운드로 돌리고 싶으면 Ctrl+z키를 누르고, 다시 wait명령어로 포그라운드로 돌릴 수 있다.
돌고 있는 작업들을 보려면 jobs명령으로 볼 수 있다. 어떤 명령어(cat, ls ...)는 리다이렉트를 지원한다.
그리고 이런 명령어들은 논리연산자(&&, ||)등을 사용할 수 있다.
예:
lftp> cat file | gzip > file.gz
lftp> get file &
lftp> (cd /path && get file) &
첫번째 명령어는 file내용을 리다이렉트를 이용하여 gzip으로 압축하여 file.gz으로 저장하는 방법을
보여주는 것이며, 다음 라인은 백그라운드 모드로 file을 내려 받는 것을 보여 주며,
마지막 라인은 명령어들을 묶고, && 조건 연산을 사용하여 백그라운드 모드로 돌리는 것을 보여준다.
at 명령어를 사용하여 정해진 시간에 작업을 실행할수도 있며, queue명령어를 사용하여 명령어를
차례대로 실행시킬수 있다. 물론 진행상황을 보려면 jobs명령으로 가능하다.
lftp는 ipv6를 지원한다. 물론 ftp proxy , http proxy 등 라우레벨 까지 지원한다.
lftp는 ssl 지원가능하게 컴파일되었다.
lftp에대해서 전반적으로 살펴본 결과 다양한 기능을 제공하며, 기능 들의 안정성또한 뛰어났다.
참고 문서 : http://lftp.yar.ru/desc.html
test base : Fedora Core 4
작성자 : 수퍼유저코리아 에스유(doly엣superuser.co.kr)
관련자료
-
이전
-
다음