Linux에서 FTP 명령을 사용하는 방법

0
1299
양식화 된 Linux 터미널 프롬프트
Fatmawati Achmad Zaenuri / Shutterstock.com

파일 전송 프로토콜은 대부분의 독자보다 오래되었지만 여전히 강력합니다. FTP에는 최신 프로토콜의 보안 기능이 없지만 어쨌든 사용해야합니다. 방법은 다음과 같습니다.

경고 : 인터넷을 통해 FTP를 사용하지 마십시오

파일 전송 프로토콜 (FTP)은 1970 년대 초반으로 거슬러 올라가며 보안과 무관하게 작성되었습니다. 아무것도 암호화를 사용하지 않습니다. 다운로드 또는 업로드 한 데이터는 물론 사용자 이름 및 비밀번호와 같은 로그인 자격 증명이 일반 텍스트로 전송됩니다. 길을 따라 가면 누구나 비밀을 볼 수 있습니다. 그러나 FTP는 여전히 사용합니다.

네트워크 내에서 파일을 전송하는 경우, 네트워크상의 어느 누구도 중요한 문서를 전송할 때 패킷 스니핑하고 도청하지 않는 한 안전해야합니다. 기밀이 아니거나 민감한 파일이 아닌 경우 FTP를 사용하여 파일을 내부 네트워크로 옮기는 것이 좋습니다. 리눅스는 표준 ftp 그 시나리오를 정확하게 다루는 명령 줄 프로그램.

그러나 명확히 사용하지 마십시오 ftp 인터넷을 통해 외부 리소스에 액세스하도록 명령합니다. 이를 위해 sftp 보안 SSH 파일 전송 프로토콜을 사용하는 명령 행 프로그램. 이 자습서에서는이 두 프로그램을 모두 소개합니다.

인터넷을 통해 FTP를 사용하고 싶지 않은 이유를 명확히하려면 아래 스크린 샷을보십시오. FTP 비밀번호를 일반 텍스트로 표시합니다. 네트워크상의 사용자 나 인터넷의 FTP 서버 사이에있는 모든 사람이 비밀번호가 “MySecretPassword”임을 쉽게 확인할 수 있습니다.

암호화가 없으면 악의적 인 행위자가 다운로드 또는 업로드중인 파일도 전송 중에 수정할 수 있습니다.

일반 텍스트 비밀번호를 사용하는 네트워크 패킷 추적

ftp 명령

FTP 사이트에 유효한 계정이 있다고 가정하면 다음 명령을 사용하여 연결할 수 있습니다. 이 기사 전체에서 명령의 IP 주소를 연결중인 FTP 서버의 IP 주소로 바꾸십시오.

ftp  192.168.4.25

경고: 당신은 ftp 신뢰할 수있는 로컬 네트워크의 서버에 연결하는 명령입니다. 사용 sftp 인터넷을 통해 파일을 전송하기위한 명령입니다.

터미널 창에서 ftp 연결 명령

FTP 서버는 환영 메시지로 응답합니다. 인사말 문구는 서버마다 다릅니다. 그런 다음 로그인 한 계정의 사용자 이름을 묻습니다.

연결중인 사이트의 IP 주소와 Linux 사용자 이름이 표시됩니다. FTP 서버의 계정 이름이 Linux 사용자 이름과 동일하면 Enter 키를 누르면됩니다. FTP 서버에서 Linux 사용자 이름을 계정 이름으로 사용합니다. Linux 사용자 이름과 FTP 계정 이름이 다른 경우 FTP 계정 사용자 이름을 입력 한 후 Enter를 누르십시오.

FTP 서버에 로그인

FTP 사이트의 비밀번호를 입력하라는 메시지가 표시됩니다. 비밀번호를 입력하고 Enter를 누르십시오. 비밀번호가 화면에 표시되지 않습니다. FTP 서버에서 FTP 사용자 계정 이름과 비밀번호 조합을 확인하면 FTP 서버에 로그인됩니다.

당신은 함께 표시됩니다 ftp> 신속한.

터미널 창에서 ftp 계정에 로그인

둘러보고 파일 검색

먼저 FTP 서버에 파일 목록을 가져오고 싶을 것입니다. 그만큼 ls 명령은 바로 그렇게합니다. 우리의 사용자는 파일을 본다 gc.c FTP 서버에 있고 자신의 컴퓨터로 다운로드하려고합니다. 그의 컴퓨터는 FTP 용어에서 “로컬 컴퓨터”입니다.

파일을 검색 (또는 “get”)하는 명령은 다음과 같습니다. get. 따라서 우리의 사용자는 명령을 발행 get gc.c. 그들은 유형 get, 공백 및 검색하려는 파일 이름을 입력하십시오.

FTP 서버는 파일을 로컬 컴퓨터로 전송하고 전송이 완료되었음을 확인하여 응답합니다. 파일 크기와 전송하는 데 걸린 시간도 표시됩니다.

ls
get gc.c

터미널 창에서 ftp 파일 전송

한 번에 여러 파일을 검색하려면 mget (다중 get) 명령. 그만큼 mget 명령을 실행하면 각 파일을 차례로 다운로드할지 여부를 묻는 메시지가 표시됩니다. “y”(예), “n”(아니요)을 누르면 응답

이것은 많은 파일에 지루할 것입니다. 이로 인해 관련 파일 모음은 일반적으로 ftp 사이트에 단일 tar.gz 또는 tar.bz2 파일로 저장됩니다.

관련 : Linux에서 .tar.gz 또는 .tar.bz2 파일에서 파일을 추출하는 방법

mget *.c

터미널 창에서 mget 명령

FTP 서버로 파일 업로드

FTP 계정에 부여 된 권한에 따라 파일을 서버에 업로드 (또는 “넣을”) 수 있습니다. 파일을 업로드하려면 put 명령. 이 예에서 사용자는이라는 파일을 업로드하고 있습니다. Songs.tar.gz FTP 서버로.

put Songs.tar.gz

터미널 창에 명령을 넣다

예상 한대로 FTP 서버에 여러 파일을 한 번에 넣는 명령이 있습니다. 그것은이라고 mput (복수 넣기). 그냥 mget 명령은 mput 각 파일의 업로드에 대해 “y”또는 “n”확인을 하나씩 요청합니다.

tar 아카이브에 파일 세트를 넣는 것과 동일한 인수가 파일을 가져올 때와 마찬가지로 파일을 넣는 데 적용됩니다. 사용자는 다음 명령으로 여러 “.odt”파일을 업로드하고 있습니다.

mput *.odt

터미널 창에서 mput 명령

디렉토리 생성 및 변경

ftp 서버의 사용자 계정이 허용하면 디렉토리를 만들 수 있습니다. 이를 수행하는 명령은 mkdir . 분명히, 당신이 만든 디렉토리는 mkdir 명령은 로컬 컴퓨터가 아닌 ftp 서버에서 작성됩니다.

ftp 서버에서 디렉토리를 변경하려면 cd 명령. 사용할 때 cd 명령 ftp> 프롬프트는 새로운 현재 디렉토리를 반영하도록 변경되지 않습니다. 그만큼 pwd (작업 디렉토리 인쇄) 명령은 현재 디렉토리를 보여줍니다.

ftp 사용자는 music이라는 디렉토리를 만들고 새 디렉토리로 변경 한 다음 pwd 그런 다음 명령은 파일을 해당 디렉토리에 업로드합니다.

mkdir music
cd music
pwd
put songs.tar.gz

터미널 창의 cd pwd 및 mkdir 명령

현재 디렉토리의 상위 디렉토리로 빠르게 이동하려면 cdup 명령.

cdup

터미널 창에서 cdup 명령

로컬 컴퓨터에 액세스

로컬 컴퓨터에서 디렉토리를 변경하려면 lcd 에서 명령 ftp> 신속한. 그러나 로컬 파일 시스템의 위치를 ​​잃기 쉽습니다. 로컬 파일 시스템에 액세스하는 더 편리한 방법은 ! 명령.

그만큼 ! 명령은 로컬 컴퓨터에 쉘 창을 엽니 다. 이 쉘에서 표준 터미널 창에서 수행 할 수있는 모든 작업을 수행 할 수 있습니다. 입력 할 때 exit 당신은 ftp> 신속한.

우리의 사용자는 ! 명령을 실행하고 로컬 컴퓨터에서 쉘 창을 입력했습니다. 그들은 발행했다 ls 해당 디렉토리에 어떤 파일이 있는지 확인한 다음 입력하는 명령 exit 로 돌아가다 ftp> 신속한.

!
ls
exit

! 터미널 창에서 쉘 명령

파일 이름 바꾸기

FTP 서버에서 파일 이름을 바꾸려면 rename 명령. 여기서 FTP 사용자는 파일 이름을 rename 그런 다음 ls 디렉토리의 파일을 나열하는 명령입니다.

rename songs.tar.gz rock_songs.tar.gz
ls

터미널 창에서 이름 바꾸기 명령

파일 삭제

FTP 서버에서 파일을 삭제하려면 delete 명령. 한 번에 여러 파일을 삭제하려면 mdelete 명령. 각 파일 삭제에 대해 “y”또는 “n”확인을 제공하라는 메시지가 표시됩니다.

FTP 사용자는 파일을 나열하여 이름을 본 다음 삭제할 파일을 선택했습니다. 그런 다음 모두 삭제하기로 결정합니다.

ls
delete gc.o
mdelete *.o

터미널 창에서 ls delete 및 mdelete 명령

sftp 명령 사용

IP 주소 지정 시스템에 익숙한 독자는 위의 예에서 사용 된 FTP 서버의 192.168 주소가 개인 IP 주소라고도하는 내부 IP 주소임을 알 수 있습니다. 이 기사의 시작 부분에서 경고했듯이 ftp 내부 네트워크에서만 명령을 사용해야합니다.

원격 또는 공용 FTP 서버에 연결하려면 sftp 명령. 우리의 사용자는라는 SFTP 계정에 연결하려고합니다 demo 에 공개적으로 액세스 할 수있는 FTP 서버 test.trebex.net.

연결되면 연결이 설정되었음을 알립니다. 또한 호스트의 진위 여부를 확인할 수 없다는 알림을받습니다. 새 호스트를 처음 연결할 때는 정상입니다. “y”를 눌러 연결을 수락합니다.

사용자 계정 이름 (demo)가 명령 행에 전달되었으므로 사용자 계정 이름을 입력하라는 메시지가 표시되지 않습니다. 비밀번호 만 묻습니다. 이것은 입력, 확인 및 수락되며 sftp> 신속한.

sftp demo@test.rebex.net

터미널 창에서 sftp 사이트에 연결

위에서 설명한 FTP 명령은 SFTP 세션에서 다음과 같은 예외를 제외하고 동일하게 작동합니다.

  • 파일을 삭제하려면 rm (FTP는 delete)
  • 여러 파일을 삭제하려면 rm (FTP는 mdelete)
  • 부모 디렉토리로 이동하려면 cd .. (FTP는 cdup)

우리 사용자는 SFTP 세션에서 몇 가지 명령을 사용했습니다. 그들은 사용했다 ls 파일을 나열하고 cd pub 디렉토리로 변경합니다. 그들은 사용했다 pwd 작업 디렉토리를 인쇄합니다.

터미널 창에서 sftp 명령

Linux 세계에서 특히 파일을 전송하는 다른 옵션이 있습니다. scp (보안 사본)이지만 여기서는 FTP 및 SFTP에 중점을 두었습니다. 해당 시나리오에서 사용되는이 두 명령은 사용자와 파일 저장 및 검색에 적합합니다.