2013년 11월 1일 금요일

FTP 관련 내용 정리

######## FTP command line

1.원격 서버 열기
     [test@zeroTest]$ftp 210.xxx.xxx.xxx
     Connected to 210.xxx.xxx.xxx.
     220 web17 FTP server (Version 5.60) ready.
     Name (210.xxx.xxx.xxx:test):아이디입력
     331 Password required for w3invest.
     Password:패스워드 입력
     230 User test logged in.
     Remote system type is UNIX.
     Using binary mode to transfer files.

** open : ftp 접속을 시도한다.(open 210.xxx.xxx.xxx or open zero.test.co.kr)

2. directory 이동(원격서버)
     ftp>cd /home/testServer

** cd : remote시스템의 directory를 변경한다.(cd directory명)
** cdup : remote시스템에서 한 단계 상위 directory로 이동한다.(cdup)
** ls : remote시스템의 directory 내용을 디스플레이한다. (ls 또는 ls -l)
** dir : remote시스템의 directory 내용을 디스플레이한다.(dir)

3.현재 directory 확인
     ftp>pwd
** pwd : remote시스템의 현재 작업 directory를 표시한다.(pwd)

4.Local directory 이동
     ftp>lcd /bin
     Local directory now /bin

** lcd : local시스템의 directory를 변경한다.(lcd directory)

5.파일 전송 타입 설정(바이너리,아스키)
     ftp>ascii
     200 Type set to A.
     ftp>binary
     200 Type set to I.
** ascii : 전송모드를 ASCII모드로 설정한다.(ascii또는 as)
** binary : 전송모드를 BINARY모드로 설정한다.( binary또는 bi)
** type : 전송모드를 설정한다.(type 또는 type ascii 또는 type binary)

6.file Download
     ftp>binary
     ftp>get thinkinjava.pdf
** get : 지정된 파일하나를 가져온다.(get index.html)

7.file Download(다중 파일)
     ftp>mget *.PDF
** mget : 여러개의 파일을 한꺼번에 가져오려할 때 사용한다. ( mget *.gz)

8.file Upload
     ftp>binary
     ftp>put thinkinjava.pdf
** put : 하나의 파일을 remote시스템에 올린다.(put index.html)

9.file Upload(다중 파일)
     ftp>mput *.PDF

** mput : 한꺼번에 여러개의 파일을 remote시스템에 올린다.(mput *.html)

10.파일 전송 상태 표시하기(Hash Mark)
     ftp>hash
     Hash mark printing on (1024 bytes/hash mark).
     ftp>get R389.PDF
     local: R389.PDF remote: R389.PDF
     200 PORT command successful.
     150 Opening BINARY mode data connection for R389.PDF (44028 bytes).
     ##########################################
     226 Transfer complete.
     44028 bytes received in 12.1 secs (3.5 Kbytes/sec)

** hash : 파일전송 도중에 "#"표시를 하여 전송중임을 나타낸다.(hash)
11.종료 하기
     ftp>bye
     ftp>exit
bye : ftp접속을 종료하고 빠져나간다.(bye)
close : ftp접속을 종료한다. (close)
exit : ftp접속을 종료하고 빠져나간다.(exit)
quit : ftp접속을 종료하고 빠져나간다.(quit)

12.도움말
     ftp>help

help : ftp명령어 도움말을 볼 수 있다.(help또는 help 명령어)

######## 이외 명령어
delete : remote시스템의 파일을 삭제한다.(delete index.old)
mdelete : 여러개의 파일을 한꺼번에 지울 때 사용한다.( mdelete *.old)
chmod : remote시스템의 파일퍼미션을 변경한다.(chmod 755 index.html)
prompt : 파일전송시에 확인과정을 거친다. on/off 토글 (prompt)
rstatus : remote시스템의 상황(version, 어디서, 접속ID등)을 표시한다.(rstatus)
rename : remote시스템의 파일명을 바꾼다.(remote 현재파일명 바꿀파일명)
rmdir : remote시스템의 directory을 삭제한다.(rmdir directory명)
size :remote시스템에 있는 파일의 크기를 byte단위로 표시한다.(size index.html)
status : 현재 연결된 ftp세션모드에 대한 설정을 보여준다.(status)

######## 활용 팁
1. 유저가 루트로 FTP 로그인할 수 있게 하는 방법
   # 텔넷의 root 로그인 방법이 설정 되고 난 이후
   $ vi /etc/ftpusers
     #root

2. 다중 업로드, 다운로드할 때 yes 문구 없이 하는 방법
     ftp> prompt
     ftp> mget & mput
     또는, 접속시에 ftp -i xxx.xxx.xxx.xxx

######## core
110 재시동 표시 응답 이 경우 텍스트는 . , 실행되며 특정한 구현 안에 남아 있지 않는다.
120 nnn분 안에 서비스를 준비한다.
125 데이터 커넥션은 이미 열려 있다. 전송이 시작된다.
150 파일 상태는 OK 이다. 데이터 커넥션을 열려고 한다.
200 OK 명령어
202 명령어는 구현되지 못하며, 이 사이트에서 흘러 넘친다.
211 시스템 상태 또는 시스템 도움말 응답
212 directory 상태
213 파일 상태
214 도움말 메시지
215 NAME 시스템 타입
220 새로운 사용자를 위한 서비스를 준비
221 서비스는 제어 커넥션을 닫는다. 만일 적절하다면 로그아웃 한다.
225 데이터 커넥션을 연다. 어떤 전송도 처리하는 중이 아니다.
226 데이터 커넥션을 닫는다. 요청된 파일 행위는 성공적이다.
227 수동적인 모드를 입력한다.
230 사용자가 로그인 했으면, 처리한다.
250 정보 : 요청된 파일 행위는 OK 이며 완료되었다.
257 "PATHNAME"을 만든다.
331 사용자 이름은 OK이며 패스워드가 필요하다.
332 로그인을 위해서 계정이 필요하다.
350 요청된 파일 행위는 더 많은 정보를 요구한다.
421 서비스가 가용이 아니며, 제어 커넥션을 닫는다.
425 데이터 커넥션을 열 수 없다.
426 커넥션을 닫는다. 전송을 회피한다.
450 요청된 파일 행위는 일어나지 않는다. 파일은 사용할 수 없다.
451 요청된 행위를 회피한다. 지역 에러를 처리중이다.
452 요청된 행위가 일어나지 않았다. 시스템의 메모리가 불충분하다.
500 문법 에러. 명령어를 인식할 수 없다.
501 파라미터 또는 인수에서의 문법에러
502 명령어가 구현되지 않았다.
503 명령어의 틀린 시퀀스
504 파라미터를 위한 명령어가 구현되지 않았다.
530 로그인이 안됐다.
532 저장된 파일들을 위해서 계정이 필요하다.
550 요청된 행위가 일어나지 않았음. 파일은 사용 가능하다.
551 요청된 행위는 회피 되었음. 알려지지 않은 페이지 타입
552 요청된 파일 행위를 회피한다. 메모리 할당 초과.
553 요청된 행위가 일어나지 않음. 파일 이름이 허락되지 않았음.

댓글 없음:

댓글 쓰기