강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
lftp( 고성능 ftp 클라이언트 sftp, http 등 지원)
조회 : 5,572  



 

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 보다 강력한 기능을 가진 lftpRedhat 7.2 버전 부터
포함하기 시작했으며
, Redhat 8.0부터는 ncftp 를 선택으로 lftp를 기본으로 설치되게 하였다.
그리고 최근에 나온
Fedora Core 4에서는 ncftp패키지를 배포판에 포함하지 않았다.
현재
3.2.1버전 까지 나왔으며, 3.0 대는 커다란 변화가 있었다. lftpftp, 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는 이런 보안 프로토콜을 제공하기
때문에 더욱 다양한 환경에서 파일전송을 쉽게 할 수 있다
.


lftphttp를 지원한다. 자체 파서로 링크를 분석하여 디렉토리 구조로 나타낸다.
그래서 웹 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명령으로 가능하다.

lftpipv6를 지원한다. 물론 ftp proxy , http proxy 등 라우레벨 까지 지원한다.

lftpssl 지원가능하게 컴파일되었다.

lftp에대해서 전반적으로 살펴본 결과 다양한 기능을 제공하며, 기능 들의 안정성또한 뛰어났다.


참고 문서 : http://lftp.yar.ru/desc.html

test base : Fedora Core 4

작성자 : 수퍼유저코리아 에스유(dolysuperuser.co.kr)


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1024


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
관리자