FTP(File Transfer Protocol)는 원격 네트워크에서 또는 원격 네트워크로 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜입니다.
이 튜토리얼에서는 Linux ftp 명령을 사용하는 방법을 실제 예를 통해 보여드리겠습니다.
대부분의 경우 데스크톱 FTP 클라이언트를 사용하여 원격 서버에 연결하고 파일을 다운로드하거나 업로드합니다. 그러나 ftp 명령은 GUI가 없는 서버에서 작업하고 FTP를 통해 원격 서버로 또는 원격 서버로 파일을 전송할 때 유용합니다.
시작하기 전에 다음을 수행
FTP 트래픽이 암호화되지 않았습니다. 보안 데이터 전송을 위해 SCP 또는 SFTP를 사용합니다.
파일을 전송하려면 소스 파일에 대한 읽기 권한과 대상 시스템에 대한 쓰기 권한이 있어야 합니다.
대용량 파일을 전송할 때는 화면 또는 tmux 세션 내에서 ftp 명령을 실행하는 것이 좋습니다.
ftp 명령을 실행하는 디렉터리는 로컬 작업 디렉터리입니다.
FTP 연결 설정 중
01. 원격 시스템에 대한 ftp 연결을 열려면 ftp 명령 다음에 원격 서버 IP 주소 또는 도메인 이름을 호출합니다. 예를 들어 "192.168.42.77"의 FTP 서버에 연결하려면 다음을 입력합니다.
ftp 192.168.42.77
02. 연결이 설정되면 확인 메시지가 표시되고 FTP 사용자 이름을 입력하라는 메시지가 표시됩니다. 이 예에서는 FTP 사용자 이름이 Linux화되었습니다.
# 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
# 220-You are user number 1 of 50 allowed.
# 220-Local time is now 21:35. Server port: 21.
# 220-This is a private system - No anonymous login
# 220-IPv6 connections are also welcome on this server.
# 220 You will be disconnected after 15 minutes of inactivity.
# Name (192.168.42.77:localuser): linuxize
원격 서버에서 실행되는 FTP 서비스에 따라 다른 확인 메시지가 표시될 수 있습니다.
03. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.
Password:
04. 암호가 올바르면 원격 서버에서 확인 메시지와 ftp> 프롬프트를 표시합니다.
# 230 OK. Current restricted directory is /
# Remote system type is UNIX.
# Using binary mode to transfer files.
# ftp>
액세스하는 FTP 서버에서 익명 FTP 계정을 수락하고 익명 사용자로 로그인하려면 익명으로 사용자 이름을 사용하고 이메일 주소를 암호로 사용합니다.
일반 FTP 명령
대부분의 thr FTP 명령은 Linux 셸 프롬프트에 입력하는 명령과 유사하거나 동일합니다.
다음은 가장 일반적인 FTP 명령 중 일부입니다.
help or ? - 사용 가능한 모든 FTP 명령을 나열합니다.
cd - 원격 컴퓨터의 디렉토리를 변경합니다.
lcd - 로컬 컴퓨터의 디렉토리를 변경합니다.
ls - 현재 원격 디렉터리에 있는 파일 및 디렉터리 이름을 나열합니다.
mkdir - 현재 원격 디렉터리 내에 새 디렉터리를 만듭니다.
pwd - 원격 시스템에서 현재 작업 디렉토리를 인쇄합니다.
delete - 현재 원격 디렉토리에서 파일을 제거합니다.
rmdir - 현재 원격 디렉토리에서 디렉토리를 제거합니다.
get - 파일 하나를 원격에서 로컬 시스템으로 복사합니다.
mget - 여러 파일을 원격에서 로컬 시스템으로 복사합니다.
put - 로컬에서 원격 컴퓨터로 파일 하나를 복사합니다.
mput - 로컬에서 원격 시스템으로 파일 하나를 복사합니다.
ftp 명령을 사용하여 파일 다운로드
로그인한 후 현재 작업 디렉토리는 원격 사용자 홈 디렉토리입니다.
ftp 명령으로 파일을 다운로드하면 ftp 명령을 입력한 디렉터리로 파일이 다운로드됩니다.
파일을 다른 로컬 디렉토리에 다운로드하려면 lcd 명령을 사용하여 해당 디렉토리로 전환합니다.
파일을 ~/ftp_downloads 디렉토리에 다운로드한다고 가정해 보겠습니다.
lcd ~/ftp_downloads
원격 서버에서 단일 파일을 다운로드하려면 get 명령을 사용하십시오. 예를 들어 백업이라는 파일을 다운로드합니다. zip 다음 명령을 사용합니다.
get backup.zip
출력은 다음과 같아야 합니다.
# 200 PORT command successful
# 150-Connecting to port 60609
# 150 6516.9 kbytes to download
# 226-File successfully transferred
# 226 2.356 seconds (measured here), 2.70 Mbytes per second
# 6673256 bytes received in 2.55 seconds (2.49 Mbytes/s)
여러 파일을 동시에 다운로드하려면 mget 명령을 사용합니다. 개별 파일 이름 목록을 제공하거나 와일드카드 문자를 사용할 수 있습니다.
mget backup1.zip backup2.zip
여러 파일을 다운로드할 때 각 파일에 대해 확인 메시지가 표시됩니다.
# mget backup1.zip? y
# 200 PORT command successful
# 150 Connecting to port 52231
# 226-File successfully transferred
# 226 0.000 seconds (measured here), 31.51 Kbytes per second
# 14 bytes received in 0.00058 seconds (23.6 kbytes/s)
# mget backup2.zip? y
# 200 PORT command successful
# 150-Connecting to port 59179
# 150 7.2 kbytes to download
# 226-File successfully transferred
# 226 0.000 seconds (measured here), 16.68 Mbytes per second
# 7415 bytes received in 0.011 seconds (661 kbytes/s)
원격 FTP 서버에서 파일을 다운로드했으면 by 또는 종료 명령을 사용하여 연결을 닫으십시오.
quit
# 221-Goodbye. You uploaded 0 and downloaded 6544 kbytes.
# 221 Logout.
FTP 명령으로 파일 업로드
로컬 디렉터리에서 원격 FTP 서버로 파일을 업로드하려면 put 명령을 사용합니다.
put image.jpg
# 200 PORT command successful
# 150 Connecting to port 34583
# 226-File successfully transferred
# 226 0.849 seconds (measured here), 111.48 Kbytes per second
# 96936 bytes sent in 0.421 seconds (225 kbytes/s)
현재 작업 디렉토리에 없는 파일을 업로드하려면 파일의 절대 경로를 사용하십시오.
로컬 디렉터리에서 원격 FTP 서버로 여러 파일을 업로드하려면 mput 명령을 호출합니다.
mput image1.jpg image2.jpg
# mput image1.jpg? y
# 200 PORT command successful
# 150 Connecting to port 41075
# 226-File successfully transferred
# 226 1.439 seconds (measured here), 102.89 Kbytes per second
# 151586 bytes sent in 1.07 seconds (138 kbytes/s)
# mput image2.jpg? y
# 200 PORT command successful
# 150 Connecting to port 40759
# 226-File successfully transferred
# 226 1.727 seconds (measured here), 111.75 Kbytes per second
# 197565 bytes sent in 1.39 seconds (138 kbytes/s)
여러 파일을 업로드할 때 업로드할 각 파일을 확인하라는 메시지가 표시됩니다.
원격 FTP 서버에 파일 업로드가 완료되면 bye로 연결을 닫거나 종료합니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : 명령어로 파일, 디렉토리 삭제하는 방법, 예제, 명령어 (0) | 2021.01.27 |
---|---|
Ubuntu 18.04 : PyCharm 설치하는 방법, 예제, 명령어 (0) | 2021.01.26 |
Debian 9 : R 설치하는 방법, 예제, 명령어 (0) | 2021.01.24 |
CentOS 7 : PHP Composer 설치, 사용하는 방법, 예제, 명령어 (2) | 2021.01.22 |
Debian 9 : MongoDB 설치하는 방법, 예제, 명령어 (0) | 2021.01.21 |