강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

FTP 접속하여 원격서버의 현재디렉토리에 존재하는 모든 파일 가져오기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

FTP 접속하여 원격서버의 현재디렉토리에 존재하는 모든 파일 가져오기

 

 

 

 

앞의 강좌에서 원격서버에서 한 개의 파일을 로컬서버로 가져올 때에는 get이라는 명령어를 사용하였고, 여러 개의 파일을 동시에 가져올 때에는 mget이라는 명령어를 사용하였습니다.

 

 

 

 

 이번에는 원격서버의 현재 디렉토리에 존재하는 모든 파일을 모두 로컬서버로 가져오는 방법에 대해서 알아보도록 하겠습니다.

 

 

 

 

 원격서버에 존재하는 모든 파일을 로컬서버로 가져오려면 “mget *”이라고 하시면 됩니다.

 

 

 

 

 

 

먼저, FTP로 접속을 하기 전에 로컬서버내에 존재하는 현재 디렉토리내용을 확인한 것으로 아무런 파일이 존재하고 있지 않음을 알 수 있습니다.

 

 

 

 

 

 

[root@su252 ~]# ls -l

합계 0

[root@su252 ~]#

 

 

 

 

그리고 아래와 같이 로컬서버(A서버)에서 원격서버(B서버, 192.168.0.250) bible이라는 계정명으로 FTP접속을 하였습니다.

 

 

 

 

 

 

[root@su252 ~]# ftp 192.168.0.250

Connected to 192.168.0.250.

220 (vsFTPd 2.0.7)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.0.250:root): bible

331 Please specify the password.

Password:********

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

 

 

 

 

FTP접속이 이루어진 후에 아래와 같이 dir이라는 FTP명령어로 원격서버의 파일내용을 확인하였습니다.

 

 

 

 

 보시는 바와 같이 3개의 파일과 1개의 디렉토리가 존재하고 있습니다.

 

 

 

 

  

 

ftp> dir

227 Entering Passive Mode (192,168,0,250,157,190).

150 Here comes the directory listing.

-rwx------    1 505      505           295 Dec 07  2005 manual.conf

-rwx------    1 505      505           332 Oct 24  2022 squid.conf

-rwx------    1 505      505          9534 Jul 15  2022 ssl.conf

drwxr-xr-x    4 505      505          4096 Jan 07  2023 www

226 Directory send OK.

ftp>

 

 

 

 

원격서버의 현재위치에 존재하는 모든 파일을 가져오기 위하여 “mget *”이라는 명령어를 사용하였습니다.

 

 

 

 

 결과적으로 원격서버의 현재위치에 존재하는 모든 파일들은 가져오게 됩니다.

 

 

 

 

 

 

ftp> mget *

local: manual.conf remote: manual.conf

227 Entering Passive Mode (192,168,0,250,203,36).

150 Opening BINARY mode data connection for manual.conf (295 bytes).

226 File send OK.

295 bytes received in 0 seconds (0.29 Kbytes/s)

local: squid.conf remote: squid.conf

227 Entering Passive Mode (192,168,0,250,72,189).

150 Opening BINARY mode data connection for squid.conf (332 bytes).

226 File send OK.

332 bytes received in 1e-06 seconds (3.2e+05 Kbytes/s)

local: ssl.conf remote: ssl.conf

227 Entering Passive Mode (192,168,0,250,32,241).

150 Opening BINARY mode data connection for ssl.conf (9534 bytes).

226 File send OK.

9534 bytes received in 0.00023 seconds (4.1e+04 Kbytes/s)

local: www remote: www

227 Entering Passive Mode (192,168,0,250,117,176).

550 Failed to open file.

ftp>

ftp> quit

221 Goodbye.

[root@su252 ~]#

 

 

 

 

여기서 주의 하실 것은 원격서버의 서브디렉토리는 가져오지 않는다는 것입니다.

 

 

 

 

 , 이번 예에서 www이라는 디렉토리가 존재하지만 서브디렉토리까지 한꺼번에 가져오지는 않습니다.

 

 

 

 

 따라서 만약 www디렉토리에 있는 파일들을 가져오려면 www디렉토리로 이동하여 “mget *”이라고 해야 합니다.

 

 

 

 

 

 

[참고사항]
원격 서버에 존재하는 모든 파일과 서브디렉토리까지 모두를 동시에 가져오고자 한다면 ncftp명령어를 사용하시면 됩니다.

 

 

 

 

 ncftp명령어에서 “mget -R *”하시면 원격서버의 현재 디렉토리에 존재하는 모든 파일과 디렉토리(그 안의 파일들까지)를 모두 로컬서버로 가져오게 됩니다.

 

 

 

 

 ncftp의 자세한 설명은 이 홈페이지(www.linux.co.kr) ncftp명령어편을 보시기 바랍니다.

 

 

 

 

 

 

 

 

 

위의 예에서 “mget *”명령어를 수행한 후에 quit이라는 명령어로 FTP를 빠져 나왔습니다.

 

 

 

 

 

 

[root@su252 ~]# ls -l

합계 20

-rw-r--r-- 1 root root  295 10 22 01:44 manual.conf

-rw-r--r-- 1 root root  332 10 22 01:44 squid.conf

-rw-r--r-- 1 root root 9534 10 22 01:44 ssl.conf

[root@su252 ~]#

 

 

 

 

그리고 로컬서버에서 원격서버에서 가져온 모든 파일을 확인한 것입니다.

 

 

 

 

 여기서 www라는 디렉토리는 전송되지 않았음을 확인하시기 바랍니다.

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  82 명