2013년 10월 28일 월요일

lftp 사용법

리눅스에서 command line 용 ftp client 로 현재 많이 쓰이고 있는 것은 ncftp 를 넘어선 lftp 일 것입니다. 많은 기능을 제공하고 있습니다.



1. 시작


lftp

단순히 lftp 을 실행해도 큰 문제는 없습니다.



lftp -u [사용자아이디] [서버주소]

사용자 아이디와 서버주소를 명시해서 바로 접속을 시도할 수 있습니다. FTP over TLS 등이 적용된 서버에는 접속하기 힘든데, -c 옵션이나 -e 옵션으로 명령을 추가해서 접속할 수 있습니다.



sudo lftp

일반 계정으로 접속할 수 없는 곳에서 파일을 보내거나 받을 때에는 미리 sudo 로 관리자 권한으로 실행해야 합니다.



2. 사전 작업


FTP over TLS 로 구성된 서버에 접속하거나 Encoding 등을 수정으로 잡아줘야 할 경우 미리 설정을 할 수 있습니다.



set ftp:ssl-auth TLS
set ftp:ssl-force true
set ftp:ssl-protect-list yes
set ftp:ssl-protect-data yes
set ssl:verify-certificate no

FTP over TLS 로 접속할 때 사전 작업으로 위의 다섯가지 정도를 이용할 수 있습니다. CCC 을 이용한다면 ssl-protect-data 는 no 로 해도 되겠습니다.



3. 접속


아래와 같은 몇 가지 방법으로 접속이 가능합니다.



connect -u [사용자아이디] [서버주소]

위 방법으로 접속할 경우 비밀번호를 물어봅니다.



connect -u '[사용자아이디]:[비밀번호]' [서버주소]

위 방법과 같이 접속할 경우 비밀번호를 한꺼번에 입력해서 접속할 수 있습니다. 단, 히스토리에 비밀번호가 남아있게 되므로 보안상 매우 취약하므로 가급적 사용하지 않아야 하겠습니다. 그리고 아이디와 비밀번호 앞뒤로 따옴표를 이용함으로써 특수문자 등을 내용에 포함시킬 때 문제가 일어나지 않게 할 수 있습니다.



connect [서버주소]
login [사용자아이디]

위 방법으로 서버 접속과 로그인을 별개로 처리할 수도 있습니다.



이 외에도 많은 방법을 제공합니다.



4. 디렉토리 이동


ftp 에서는 두 개의 디렉토리가 존재합니다. 바로 로컬(Local)과 리모트(Remote)인데, 기본적으로 리모트가 기본입니다. 즉, 접속한 서버가 기준이라는 것이죠. 그래서 리눅스 명령어와 같은 형태로 이동을 하게 되면 리모트의 경로가 변경됩니다. 로컬의 경우 앞에 l 을 붙여주면 일반적으로 로컬 이동 명령이 됩니다.
그리고, lftp 는 Tab 키를 지원합니다. 경로가 애매하거나 할 때에는 언제나 Tab 키를 눌러서 자동완성을 할 수 있으니 적극 이용해보세요.



cd /tmp
pwd
ls

위와 같이 일반적인 ftp 명령어는 리모트의 정보를 처리합니다.



lcd /tmp
lpwd


위와 같이 l 이 앞에 붙어있는 ftp 명령어는 로컬의 정보를 처리합니다. ! 명령으로 잠시 쉘로 나가서 경로 이동을 한 뒤 exit 로 돌아오는 방법도 추천됩니다.


기타 명령어는 help 을 입력하면 볼 수 있습니다.


5. 미러링


lftp 의 꽃이라고 할 수 있는 미러링 기능입니다. 정해진 대상을 그대로 복사할 때 사용할 수 있습니다. 기본적으로는 리모트의 자료를 로컬로 가져올 때 사용합니다. -R 옵션을 사용하면 로컬의 자료를 리모트로 전송할 수도 있습니다.
미러링이라고 해서 원본의 자료가 삭제되면 원격지의 자료도 삭제되거나 하지는 않습니다. ftp 의 경우 파일 대상으로만 복사를 하기 때문에 이 미러링의 기능으로 디렉토리 복사를 하기 위해 많이 사용합니다.

mirror [리모트복사대상물] [로컬위치]

mirror -R [로컬복사대상물] [원격지위치]



6. 백그라운드 작업


lftp 는 백그라운드 작업을 지원합니다.
ctrl+z 를 눌러 작업을 백그라운드로 이동시킬 수 있습니다.



jobs

명령으로 현재 백그라운드에 존재하는 작업을 조회할 수 있습니다.



wait

위의 명령으로 백그라운드 작업을 포그라운드로 가져올 수 있습니다.

댓글 없음:

댓글 쓰기