FTP란?
FTP는 파일 전송 프로토콜(File Transfer Protocol)의 약자로, TCP/IP 네트워크에서 컴퓨터끼리 파일을 교환하기 위해 만들어진 프로토콜입니다.
1971년도에 최초로 출시된 상당히 역사가 깊은 프로토콜로, 현재도 몇몇 사이트에서 사용되고 있습니다.
(현재는 보안상의 문제로 SFTP, FTPS라는 것이 많이 사용하는 편입니다.)
FTP 클라이언트와 FTP 서버
FTP 통신을 하려면 클라이언트와 서버가 필요한데, 쉽게 말하자면, 필요한 문서를 전화(서버)로 요청하면서, 팩스(클라이언트)로 그 정보들을 출력받는 형식입니다.
FTP 클라이언트에는 FileZilla, RaiDrive 등 다양한 것이 있습니다. GUI로 이루어져 있어서 조작하기 편리합니다.
하지만 GUI가 지원되지 않는 환경에서는 명령어들을 직접 입력해야 하며, 특히 유닉스 서버 개발자라면 SSH와 함께 꼭 익혀야 하는 기술 중 하나입니다.
주요 명령어
ftp 192.168.12.2 :
192.168.12.2 라는 서버에 접속합니다. 해당 명령어를 입력한 뒤, 아이디와 패스워드를 입력해야 합니다.
cd ./data/text/ :
data 내 text 라는 폴더로 이동합니다. 리눅스의 cd 명령어와 동일합니다.
cdup :
현재 경로의 한단계 위 경로로 이동합니다. cd .. 와 동일합니다.
ls :
현재 경로의 파일들을 보여줍니다. 리눅스의 ls 명령어와 동일합니다.
get abcd.txt
abcd.txt 라는 파일을 내려받습니다. 현재 위치한 경로에 해당 파일이 없다면 오류가 발생합니다.
put abcd.txt
abcd.txt 라는 파일을 서버에 업로드합니다.
delete abcd.txt
abcd.txt 라는 파일을 삭제합니다.
rstatus :
현재 연결한 FTP 서버의 상태를 보여줍니다.
bye :
FTP 통신을 종료합니다.
실습 - FileZilla
개인 프로젝트에서 실제로 FTP를 사용하는 모습을 사진으로 가져와 봤습니다.
(IP 주소는 보안 문제로 인하여 숨김 처리하였습니다.)
먼저, 'ftp://주소' 형식을 통해 서버에 접속하고, 사용할 사용자명을 입력합니다.
성공적으로 연결했다면 왼쪽이 로컬(컴퓨터) 파일, 오른쪽이 서버의 파일을 나타내는 창이 나옵니다.
서버 파일의 아랫쪽을 보면, 해당 경로에 어떤 것들이 있는지도 볼 수 있습니다.
아래 Text.txt 파일을 더블 클릭하면...
로컬(컴퓨터)에 파일을 다운로드 할 수 있습니다.
반대로 파일을 창으로 끌어 넣으면, 업로드 할 수 있습니다.
느낀 점
리눅스에서는 어떠한 방식으로 파일을 교환해야 할지 궁금했었는데, 이번 기회에 FTP라는 것을 알게 되어서 궁금증이 풀린거 같습니다. 그리고 이를 직접 적용해보며 어떠한 상황에서 쓰면 좋을지를 탐구해보는 경험이였던거 같습니다. 다음에는 SSH + FTP, FTPS 같은 심화된 파일 전송 프로토콜에 대해 알아보고, 기존의 FTP와는 어떠한 차이점이 있는지에 대해 알아보고 싶습니다.
'🛠️ 컴퓨터공학' 카테고리의 다른 글
플립플롭(순차논리회로) 정리 (0) | 2022.08.15 |
---|---|
명령어 형식 정리 (0) | 2022.08.15 |