GUI 저리가라!! 강력한커맨드 FTP - NCFTP !! [중급]


안녕하세요... 오늘 강좌할 내용은 커맨드라인 ftp프로그램인 ncftp입니다.

이프로그램은 원래 리/유닉스용으로 만들어진것입니다.

하지만 윈도우에는 포식스(POSIX)기반 프로그램을 실행할수가 있답니다.

그래서 유닉스의 명령어를 포팅할수가 있습니다...

윈도우의 기본 ftp인 ftp.exe는 말그대로 기초적인것만 제공합니다. 하지만

ncftp프로그램은 윈도우의 GUI기반의 FTP프로그램이 가진 기능 거의 모두를

지원하고 있습니다.... 이에따라 커맨드 명령이 몇개더 늘어낫지만,

천천히 시간을 두고  하나씩 배워가시게 되면 나중에 리눅스/유닉스를 공부

할때에도 별다른 어려움없이 ncftp를 사용하실수가 있습니다....

이전에도 말한바가 있었지만,  윈도우에서도 사용하면서 유닉스에서도

사용할수있는 프로그램을 배워두시면 어떤 운영체제에서도 당황함이 없이

자신이 할려는 작업을 할수가 있습니다... 이점을 생각해두시고 공부하시기

바랍니다......

ncftp프로그램의 전체적인 설명은 하지 못하였습니다만, 아래에 설명하는

명령어만 익히셔도 사용에는 지장이 없습니다.....!!!

원래는 매뉴얼로 제작할려고 하였으나, 너무 졸작이 되는것 같아서 이에

그림없이 강좌를 합니다. 이점 양해해주시면 감사하겠습니다..

먼저 프로그램의 홈페이지는 http://www.ncftp.com 입니다.

Download에 가셔서 win32용으로 설치하시면 됩니다..

아니면 여기!!

를 눌러서 설치하시기 바랍니다.


--------------------------------------------------------------------------------

이름
NCFTP.EXE
NcFTP – 파일전송프로토콜용 검색프로그램

사용법
ncftp [ 호스트명 ]
ncftp [ ftp://호스트명/폴더명/ ]

설명
ncftp프로그램은 인터넷 표준 유틸리티인 ftp 프로그램과 100%호환된다.
또한, ncftp프로그램은 강력하고 유연한 명령어를 지원하고 있다.
ncftp프로그램은 커맨드라인 프로그램이다. 현재 그래픽환경의 프로그램이
지원하는 기능이상의 기능을 지원하고 있다.
파일명 자동완성기능
커맨드라인 에디팅
백그라운드 처리
자동이어받기 기능
즐겨찾기 기능
디렉토리 캐싱 기능
호스트 재접속 기능
방화벽, 프락시 작업
전체디렉토리 다운로드 기능
등등.. 수많은 기능을 지원하고 있다. 위의 기능들은 대표적인것일
뿐이다.
또한 표준 ftp명령어를 완벽히 지원하고 있다.

옵션
커맨드라인에서의 호스트명과 디렉토리의 URL을 지원한다
커맨드창을 열고 ncftp [ 호스트명 | 호스트명/디렉토리 ] 의
방식으로 사용할 수가 있다.
아래와 같은 옵션을 지원한다.
-u xx    : 사용자명을 지정하게 된다.(기본값:anonymous)
-p xx    : 사용자명에 따른 비밀번호를 지정한다.
-P xx     : 포트번호를 지정한다.(기본값:21번)
ncftp –u kpj666 –p 1234 –P 2100 ftp.bora.net
위와 같은 명령은 ftp.bora.net이란 서버에 사용자계정 kpj666과
비밀번호 1234와 서버의 포트번호 2100 으로 접속하는 경우이다.
중요한 것은 –u –p –P 옵션이 먼저 적은후에 서버명이 온다는것이다.
Ncftp ftp.bora.net      과 같이 입력하게 되면 기본값인
Anonymous / Email주소 가 자동으로 입력되게 된다.

커맨드 쉘의 소개
지금부터의 설명은 옵션이 없는 상태에서 단지 ncftp만 실행하였을경우
사용법을 간단히 설명한후에 명령어 의 전체적인 설명을 하겠다.
상대방의 컴퓨터에 접속하여서 자신의 컴퓨터로 파일전송을 하기 위해서
먼저 상대방의 서버에 접속하려면 상대방의 IP번호 또는 도메인이름을
사용하게 된다.
open ftp.bora.net   (도메인명으로 사용)
open 129.93.33.24     (IP번호 사용)
IP번호로의 접속은 정적IP에만 유효하다. 도메인으로의 접속은
매번 같은 이름으로 접속가능하게 된다.
상대방의 서버에 접속하게 되면 권한이 필요하게 된다. FTP프로토콜은
상당히 간단한 방식으로 계정을 확인하게 된다.
사용자 계정 / 계정에 따른 비밀번호
하지만 대부분의 서버들은 이러한 계정/비밀번호가 없이도 사용가능한
공개용 계정/비밀번호가 존재한다.
Anonymous / 이메일주소
ftp   /  ftp
위와 같은 방식으로 접속할수 있고 이런계정으로 접속하는 서버를
공섭이라고 부른다. (Public Server)
이메일주소에서는 @문자만 검사하므로 반드시 실제 이메일주소일
필요는 없다.  a@a.c    라고 해서도 지장이 없다.
이러한 공개섭들에서는 대부분 읽기만 허용해놓은경우가 대부분이다.
읽기권한은 곧 다운로드만 가능하다는 뜻이다. 해당 서버의 관리자가
설정하기 나름이다.
Open 명령어로 상대방의 서버에 접속이 되었으면, 서버의 현재 디렉토리를
보여주는 명령어 ls 또는 dir 을 입력해서 서버의 디렉토리를 확인한다.
서버에서의 디렉토리 이동은 cd 명령어로서 사용하게 된다.

서버에서 자신의 컴퓨터로 파일을 다운로드 할려면 get 파일명 과 같은
명령어를 사용하게 된다.
get README.txt
ncftp프로그램은 파일전송상황을 화면에 표시하게 된다.파일전송이 완료된후에 다른 명령어를 입력할수 있게 된다.
자신의 컴퓨터에 존재하는 파일을 서버에 업로드 할려면 put 파일명  과
같은 명령어를 사용하게된다.
put something.tar
더 이상의 작업이 필요없을 경우에는 quit 명령을 입력하여 ncftp를 종료
하게 된다. Ncftp를 종료하게 전에 현재 연결상태(서버명/계정/비밀번호..)를
저장할경우에는 bookmark 명령을 사용하게 된다.
Bookmark boranet

또한 북마크해둔 이름으로 접속할수있다.
Ncftp boranet      과 같이 하게되면 마지막상태로 접속하게된다.
명령어 레퍼런스
커맨드쉘상태에서 (접속된상태) 입력하게 된다.
help
현재 버전에서 지원하는 명령어를 표시하게된다.
Help 명령어 와 같이 입력하게 되면 해당명령어의 문법과
간단한 설명을 표시하게 된다.
Ex) help open 
ascii
파일전송시에 전송모드를 ascii모드(텍스트모드)로 변경한다.
도스 to 유닉스간의 텍스트파일전송시에 유용하게 사용된다.
보통의 ftp들은 기본값이 ascii이지만 ncftp의 경우는 기본값이
binary 로 셋팅되어 있다.
      Ex) ascii 
bgget, bgput
이들 명령어들은 get명령과 put명령어들과 사용법이 같다.
하지만 작업처리를 후면처리(백그라운드)로 하게 된다.
후면처리로 업/다운로드 작업을 주게되면 다른작업을 할 수가
있게된다. 보통의 get/put명령어는 이들 명령이 완료될때까지
입력을 할 수가 없지만 bgget/bgput명령어는 곧바로 다른
명령을 입력할 수가 있게 된다.
다운로드/업로드작업을 하면서 서버를 탐색할수도 있는것이다.
Ncftp의 강력한 기능중 하나이다.
 
bgget / bgput  명령어는 전송스케쥴링을 지원한다.
-@  문자뒤에 YYYYMMDDhhmmss 와같이 시간을 지정할수있다.
2001년 12월 20일 새벽2시정각에 파일을 다운로드할려면,
bgget -@ 20011220020000 /pub/kpj666/test.zip
      위와 같이 기입하게 되면 된다. 
binary
전송방식을 이진수방식에 맞게끔 세팅하게 된다.ncftp의 기본값이다.
일반적인 ftp의 기본값은 ascii이다.
 
bookmark
현재 세션을 저장하고 나중에 재사용할 수가 있다. 원격서버의
각종 설정값을 모두 기억하게 된다.
      Ex) bookmark test
bookmarks
현재 저장되어있는 북마크(즐겨찾기)를 사람이 이해할 수 있는 문자로
리스팅해준다. 전체설치를 하였다면 GUI환경이 나타나게 된다.
즐겨찾기 관리툴이라고 생각하면 된다.
 
cat
유닉스의 cat툴과 유사하다. 원격파일에만 사용가능하다.
다운로드받은 파일을 화면에 덤프하는 명령어이다. 파일의 내용을
볼려고 할 때 주로 사용하게 된다.
      Ex) cat Readme.txt 
cd
원격서버의 디렉토리를 변경하는 명령어이다
cd pub
cd news
cd comp.sources.d
위와 같은 명령은 아래와 같이 한번에 할수 있다.
cd /pub/news/comp.sources.d
또한 마지막 디렉토리로 이동하는 명령어도 존재한다.
cd –

chmod
유닉스의 chmod툴과 동일하다. 원격서버의 파일의 퍼미션을
수정하는 명령어이다. 물론  수정할 권한이 있어야 한다.
 
close
원격서버에 접속을 끊는다.
 
debug
내부테스트용 명령어이다. 디버깅모드라는 것이 존재한다.
서버의 모든메세지를 화면 혹은 파일에 저장하는 명령어이다.
서버의 작동원리를 알고자 할 때 사용하며 , 서버의 오작동
유무도 파악할 수가 있다.
 
dir
유닉스의 ls –l 과 같은 효과를 내는 리스팅 명령어이다.
도스사용자를 위한 명령어이다.  Ls와 같은 명령어이다.

get
원격서버의 현재 디렉토리에서 로컬컴퓨터의 현재 디렉토리로 다운로드 하는 명령어이다.
Ex) get Readme.txt
파일명을 공백으로 분리해서 여러 개를 줄수 있다.
Ex) get Readme.txt test.bin document.doc
또한 와일드카드문자를 사용할수도 있다.
Ex) get Read*
-z 플래그와 사용하게 되면 원격파일을 다운로드할 때 로컬컴퓨터에 다른파일명으로 저장할수도 있다.
Ex) get –z Readme.txt README
자동이어받기기능은 기본값으로 세팅되어있다. 이어받기기능은 물론
서버에서 지원해야 사용가능하다. 200메가 파일을 다운로드중에
100메가다운로드 중에 끊어졌다면 get명령은 다시 100메가부터
다운로드를 하게 된다.
      기존에 존재하는 파일에 추가할려면 –A 플래그와 사용하게 된다.
get -A log.11
위의 명령은 로컬컴퓨터에 log.11파일이 존재하면 추가하게된다.
get –DD
위의 명령은 서버파일을 다운로드후에 삭제하는 플래그이다.
      Get –R
      위의 명령은 서브트리를 포함하는 모든 디렉토리를 다운로드하게된다.
 
jobs
후면작업으로 처리되는 작업리스트를 보여주게된다. 유닉스의 jobs
명령과 동일하다.
 
lcd
lcd 명령에서 처음문자인 l 은 local을 뜻한다. 즉 현재 로컬컴퓨터의
디렉토리를 이동하게 한다.
get,put명령들은 현재 로컬디렉토리를 기준으로 하기 때문에                 로컬디렉토리를 이동할경우 사용하는 명령어이다.
lchmod
로컬컴퓨터의 파일의 퍼미션을 수정하는 명령어이다.
 
lls
로컬컴퓨터의 리스팅 명령어이다.

lmkdir
      로컬컴퓨터의 디렉토리 생성시에 사용하는 명령어이다. 
lookup
ncftp의 내장된 lookup명령어이다. 즉 인터넷의 이름풀기서버인
DNS서버를 질의 하는 명령어이다.
Ex) lookup openserver.co.kr
lpwd
로컬컴퓨터의 현재 작업디렉토리를 표시하게 된다.
 
lrename
로컬컴퓨터의 파일명을 변경하는 명령어이다.
유닉스의 mv 명령어와 동일하게 사용된다.
 
lrm
로컬컴퓨터의 파일을 삭제하는 명령어이다.
유닉스의 rm과 동일하게 사용된다.
 
lrmdir
      로컬컴퓨터의 디렉토리를 삭제하는 명령어이다.
      유닉스의 rmdir과 동일한 명령어이다. 
ls
원격서버의 디렉토리 리스팅 명령어이다. 유닉스의 ls –CF와 동일하게 리스팅하게 된다.
ls –rt    명령은 유닉스 시스템에서는 ls –CFrt 와 같이 된다.
Ncftp는 디렉토리 리스팅시에 디렉토리 캐시를 지원한다.
디렉토리 캐시는 작업속도를 빠르게 만들어주게 된다.
 
mkdir
원격서버에 디렉토리를 생성하는 명령어이다.
 
open
원격서버에 접속하는 명령어이다. 원격서버에 anonymous로 접속을
시도 하게 된다. 계정으로 접속하기를 원할경우에는 여러 플래그를
사용하게 된다.
-u         Anonymous 대신에 계정을 사용하게 된다.
-p          계저에 따른 패스워드를 지정하게 된다.               
-P         기본포트인 21번포트이외의 포트번호를 지정한다

page
원격서버의 파일의 내용을 화면에 페이지단위로 표시한다.
 
put
로컬파일을 원격서버에 복사하는 명령이다.(업로드)
put xx.zip yy.zip
위의 명령은 로컬파일인 xx.zip을 서버에 yy.zip파일로 업로드한다.
put *.zip
위의 명령은 로컬파일중 모든 zip파일을 서버에 업로드 한다.
put -z kpj666 KPJ666.ZIP
위의 명령은 로컬파일인 kpj666 이란 파일을 서버에 KPJ666.ZIP파일로 업로드 하는 명령이다.
put명령은 위에서 기술한 get명령의 플래그들과 동일하게 작업한다.
  pwd
원격서버의 현재 작업디렉토리를 표시하는 명령어이다.
 
quit
      ncftp프로그램을 종료하는 명령어이다.  
quote
FTP서버의 명령을 전송하는 명령어이다. 클라이언트명령이 아닌
서버의 명령을 전송하게된다.
rename
      원격서버의 파일명을 변경하는 명령어이다.
rhelp
원격서버의 명령어의 도움말을 볼수 있게 하는 명령어이다.
rhelp NLST
위의 명령은 서버의 NLST란 명령어의 도움말을 표시하라는 명령이다.
Syntax: NLST [ path-name ]
      이에 위와 같은 응답을 하게 된다.
rm
원격서버의 파일을 삭제하는 명령이다. 삭제 권한이 있을경우에만
사용가능하다.
 
rmdir
원격서버의 디렉토리를 삭제하는 명령어이다. Ncftp의 rmdir명령은
원격서버의 디렉토리가 비록 비어있지 않더라도 삭제되므로
사용에 주의를 요망한다.
set
ncftp프로그램의 기본값을 세팅할수있게 하는 명령어이다.
set
위와 같은 형식으로 사용하게 된다.예를 들어 anonymous의 비밀번호인 기본이메일주소를 변경하기 위해서는 아래와 같이
입력한다.
set anon-password kpj666@hanmail.net
show
set명령으로 설정할 수 있는 기본값을 표시한다.
Show anon-password   명령 또는 show 명령과 같이 사용한다.
모든값을 표시하려면 show all    과 같이 all옵션을 주면된다.
type
파일전송모드를 변경할 때 사용하는 명령어이다. 아래와같이
3가지의 명령이 존재한다. 각각 텍스트,2진파일,이미지파일전송시에
사용한다.
type ascii     = type a
type binary    = type b
type image     = type i
umask
유닉스의umask와 동일한 명령어이다. 서버에서 지원해야 사용가능
한 명령어이다. umask값이란 디렉토리/파일이 생성될 때 기본
퍼미션을 잡아주는 명령어이다.
version
현재 자신의 시스템에 설치되어있는 ncftp프로그램의 버전정보를
표시한다.

디렉토리명은 TAB 키를 누르게 되면 자동완성 까지 시켜주게 된다.

--------------------------------------------------------------------------------


실제 사용예는 마땅히 표현할것이 없기에.... 생략하였습니다...

ftp를 사용하셨던 분이시라면 충분히 이해하리라 생각합니다.....

그럼 한겨울로 접어드는 날씨에 감기 조심하시구요, 새해에 복 많이 받으세요!!

******************************
******  Make by KPJ666 ******
******************************

2009/04/30 13:38 2009/04/30 13:38

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다