3. 초보자를 위한 ftp 사용 가이드
출처 : http://www.lug.or.kr/docs/LINUX/KLDP/HOWTOs/mini/html/Ftp-html/Ftp-3.html
다음 이전 차례
3. 초보자를 위한 ftp 사용 가이드
ftp 사용 퀵 가이드.
표준 ftp 프로그램은 최초의 ftp 클라이언트이다. 대부분의 리눅스 배포판에 들어 있다. California, Berkeley 대학에 의해 개발되었고, 처음으로 4.2BSD에 나타났다.
3.1 ftp 프로그램 사용하기
ftp 사용하는 것은 쉽다. 최근의 리눅스 커널 소스를 받기 위해서 metalab.unc.edu의 ftp 사이트에 anonymous로 접속하길 원할 것이다. 명령 라인에서, 쳐라:
$ ftp metalab.unc.edu
ftp 프로그램은 metalab.unc.edu에 접속하려고 시도할 것이다. 매개변수 없이 명령 라인에서 ftp를 실행하기 위한 다른 방법은 이렇게 하라, 그리고 사이트 이름과 함께 open 명령을 사용하라:
$ ftp
ftp> open metalab.unc.edu
3.2 FTP 서버로 로그인하기
FTP 사이트에 접속되었을때, 로그인을 위해서 당신에게 물을 것이다 (당신의 사용자 이름을 적어라, 이런 경우에는, foo: 우리는 공공의 아카이브를 얻기 위해서 anonymous 혹은 ftp로 로그인 한다.
220 helios.oit.unc.edu FTP server (Version wu-2.6.0(2) Wed Nov 17 14:44:12
EST 1999) ready.
Name (metalab.unc.edu:foo):
지금, 패스워드 대신에 완전한 e-mail 주소를 입려하라 (대부분의 공공의 FTP 사이트에서는 이 것을 요구한다).
331 Guest login ok, send your complete e-mail address as password.
Password:
로그인을 성공한 다음에, 다음의 정보가 우리에게 주어진다:
Remote system type is UNIX. Using binary mode to transfer files. ftp>
3.3 파일 전송 유형
ftp 사이트에 로그인한 후에, ftp는 파일 전송 유형을 출력할 것이다. 지금은 바이너리 방식이다. 바이너리 방식의 파일을 전송하려면, 조금씩, FTP 서버에 있을 것이다. 그렇지만, 정확히 텍스트를 다운로드 하려면 아스키 방식을 하라. 방식 사이를 ascii 혹은 binary를 사용해서 바꿀수 있다.
커널 소스를 받기를 원한다면, 바이너리 전송 방식으로 바꿔라. 바이너리 방식은 그래픽 이미지, zip/gzip 아카이브, 실행가능한 프로그램, 기타 같은 텍스트 파일이 아닌 파일을 전송하기 위해서 쓰인다. 믿지 못하면, 바이너리 방식을 써봐라.
3.4 항해하기와 디렉토리 목록보기
파일의 목록을 보기 위해서 ls를 사용해라. ftp 서버에서 ls 명령은 원격의 서버에서 실행된다, 그래서 명령 라인 옵션을 서버에서 서버로 쓸 수 있다. 대부분의 보통의 옵션은 대체로 이용 가능하다, 자세한 ls의 manpage를 확인하라.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 33590
-r--r--r-- 1 root other 34348506 Dec 03 03:53 IAFA-LISTINGS
lrwxrwxrwx 1 root other 7 Jul 15 1997 README -> WELCOME
-rw-r--r-- 1 root other 890 Nov 15 13:11 WELCOME
dr-xr-xr-x 2 root other 512 Jul 15 1997 bin
dr-xr-xr-x 2 root other 512 Jul 15 1997 dev
dr-xr-xr-x 2 root other 512 Jul 18 1997 etc
drwxrwxrwx 11 ftp 20 4608 Nov 28 16:00 incoming
lrwxrwxrwx 1 root other 13 Jun 04 1998 ls-lR -> IAFA-LISTINGS
dr-xr-xr-x 17 root root 512 Jun 08 11:43 pub
dr-xr-xr-x 3 root other 512 Jul 15 1997 unc
dr-xr-xr-x 5 root other 512 Jul 15 1997 usr
226 Transfer complete.
ls 명령이 너무 많은 파일을 리스트 하면 스크린의 탑의 스크롤을 끄라, 스크롤 업을 하기 위해서 Shift-Pageup을 사용할 수 있다. xterm 이나 rxvt 뿐만아니라 리눅스 콘솔 모드에서도 작동한다.
공공의 FTP 아카이브에서, 다운 가능한 자원은 항상 /pub 디렉토리에 있다. 예를 들어, 당신은 커널 소스에서 이미 /pub/Linux/kernel에 있다. 그래서 저 디렉토리에 얻기 위해서 가려면 다음 명령을 쳐라:
ftp> cd pub/Linux/kernel
250-README for kernel
250-
250-What you'll find here: kernel sources and patches
250-
250-
250 CWD command successful.
"250"로 시작하는 메시지는 서버에 의해 보내지는 정보 메시지이다. 이 경우에, ftp 서버에서 자동으로 README 파일을 당신이 cd로 디렉토리에 들어갔을때 보내도록 설정했다.
3.5 파일 받기와 보내기
지금, ls외에 다른 것을 쓸 것이다, v2.2 디렉토리로 들어가기 위해서 cd를 써라. 아직 ls외에 쓰지 않았다, 그리고 다운로드 하기 원하는 파일을 찾아라. 그것은 linux-2.2.13.tar.gz이다. 이렇게 써라:
ftp> get linux-2.2.13.tar.gz
local: linux-2.2.13.tar.gz remote: linux-2.2.13.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540
bytes).
ftp 프로그램은 linux-2.2.13.tar.gz 파일을 linux-2.2.13.tar.gz로 저장하기 시작한다.
foo.tar.gz로 저장하기 원하면, 이렇게 이름을 적어라:
ftp> get linux-2.2.13.tar.gz foo.tar.gz
local: foo.tar.gz remote: linux-2.2.13.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540
bytes).
한번에 한 파일 이상을 받기 원하면, mget(multiple get)명령을 사용해라. mget와 다운로드 받기를 원하는 파일이름의 위치의 범위 혹은 와일드 카드를 써라. 예를 들면:
ftp> mget linux*
"linux"로 시작하는 모든 파일을 받으려면. 일반적으로, 그것을 다운로드 받기 전에 각각의 파일을 보여줄 것이다. 프롬프트 명령을 써서 고정시킬 수 있다.
지금 몇 소프트웨어를 보낼 것이다, 그리고 그것을 Metalab의 리눅스 소프트웨어 아카이브에 추가하기 위해서 올리기는 원한다면. 첫째로, 당신은 /incoming 디렉토리 (대부분의 공공의 FTP 서버는 가지고 있고, 언제나 파일 올리기가 가능한 incoming 혹은 uploads로 불리운다.) 로 간다, 그리고 put 명령을 사용한다:
ftp> cd /incoming
ftp> put foo.tar.gz
local: foo.tar.gz remote: foo.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for foo.tar.gz.
226 Transfer complete.
10257 bytes sent in 0.00316 secs (3.2e+03 Kbytes/sec)
put 명령은 get 명령과 같이 동작한다, 그래서 많은 파일을 한번에 올리려면 mput를 사용할 수 있다. 원격의 파일 그리고/혹은 경로명을 명확히 적어서 서버의 다른 파일로 올릴 수 있다.
현재의 로컬 디렉토리에 foo.tar.gz가 있지 않다면 올릴때 어떻게 시도할 것인가? 당신은 lcd (local change directory) 명령을 사용해서 로컬 디렉토리를 바꿀 수 있다:
ftp> lcd /home/foo/
Local directory now /home/foo
3.6 셸 명령 사용하기
ftp 클라이언트는 로컬 명령을 사용하기 위해서 bang (!)을 사용하는 것을 지원한다. 예를 들면, 현재의 로컬 디렉토리의 파일의 목록을 보기 위해서는 이렇게 하라:
ftp> !ls
이 작업의 방법은 ftp가 셸($SHELL 환경변수에 있는)을 부른다, 그리고 ls를 실행한다. 이와 같이, "!" (대부분의 리눅스 배포판의 디폴트 셸은 bash, the Bourne Again SHell이다)를 앞에 넣어서 간단하게 셸로 어떤 명령 라인 작업이라도 할 수 있다. !cd는 작동하지 않는다는것을 기억하라, 그것은 lcd 명령이 존재하기 때문이다.
3.7 Hash mark와 tick
ftp로 파일을 다운로드 받는 동안 진행을 보기 원하는가? 다운로드 파일을 해시 마크로 보여주는 hash 명령을 써봐라:
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp는 해시 마크를 다운로드 받는 데이터의 1024 바이트 마다 보여줄 것이라고 말한다.
또한 tick 옵션이 있다.
ftp> tick
Tick counter printing on (10240 bytes/tick increment).
This will print something to this effect as you download a file:
Bytes transferred: 11680
3.8 그 외의 ftp 명령
다른 ftp 명령이 많이 있다. 퍼미션을 가지고 있다면 (개인적인 셸 어카운트에 접속하려면 필요한), mkdir 명령으로 원격의 서버에 디렉토리를 만들 수 있다. delete 명령으로 원격의 서버에 있는 파일을 지우거나 rmdir 명령으로 디렉토리를 지울 수 있다. chmod 명령으로 파일의 퍼미션을 바꿀 수 있다.
ftp를 사용하는데 복잡한 정보가 많이 있다, ftp 프로그램에서 온라인 도움말을 보라 (명령의 목록의 변수 없이 help 혹은 명령의 명확한 도움말을 help <commandname> 써서 볼 수 있다. 또한 ftp 명령 프롬프트에서 man을 써서 유닉스 맨 페이지를 볼 수 있다.
다음 이전 차례
'Linux > Linux 명령어' 카테고리의 다른 글
FTP 명령어 사용법 (0) | 2008.03.24 |
---|---|
useradd (0) | 2008.02.11 |
GCC 사용 옵션 (0) | 2008.01.07 |