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

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

경고 : 인터넷에서 FTP를 사용하지 마십시오.

처음부터이 사실을 명확히합시다. FTP (File Transfer Protocol)는 1970 년대 초반으로 거슬러 올라가며 보안에 관계없이 작성되었습니다. 암호화를 사용하지 않습니다. 사용자 이름 및 비밀번호와 같은 로그인 자격 증명은 물론 다운로드하거나 업로드하는 데이터가 일반 텍스트로 전송됩니다. 도중에 누구나 귀하의 비밀을 볼 수 있습니다. 그러나 FTP는 여전히 그 용도가 있습니다.

네트워크 내에서 파일을 전송하는 경우 네트워크의 어느 누구도 중요한 문서를 전송할 때 패킷 스니핑 및 도청을하지 않는 한 안전해야합니다. 파일이 어떤 식 으로든 기밀이 아니거나 민감하지 않은 경우 FTP를 사용하여 내부 네트워크에서 파일을 이동하는 것이 좋습니다. Linux에는 ftp이러한 시나리오를 정확하게 처리 할 수 있는 표준 명령 줄 프로그램이 있습니다.

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

인터넷을 통해 FTP를 사용하지 않는 이유를 명확히하려면 아래 스크린 샷을 참조하십시오. FTP 비밀번호를 일반 텍스트로 표시합니다. 네트워크에있는 사람이나 인터넷의 FTP 서버 사이에있는 사람은 누구나 쉽게 "MySecretPassword"라는 암호를 확인할 수 있습니다.

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

ftp 명령

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

ftp 192.168.4.25

경고 : ftp신뢰할 수있는 로컬 네트워크의 서버에 연결할 때만이 명령을 사용해야합니다 . sftp인터넷을 통해 파일을 전송 하려면 아래에 설명 된 명령을 사용하십시오 .

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

연결하려는 사이트의 IP 주소와 Linux 사용자 이름이 표시됩니다. FTP 서버의 계정 이름이 Linux 사용자 이름과 같으면 Enter 키를 누르기 만하면됩니다. 이것은 FTP 서버의 계정 이름으로 Linux 사용자 이름을 사용합니다. Linux 사용자 이름과 FTP 계정 이름이 다른 경우 FTP 계정 사용자 이름을 입력 한 다음 Enter를 누릅니다.

FTP 서버에 로그인

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

ftp>프롬프트 가 표시 됩니다.

파일 둘러보기 및 검색

먼저 FTP 서버에있는 파일 목록을 얻고 싶을 것입니다. ls명령은 단지 않습니다. 사용자는 파일 gc.c이 FTP 서버에있는 것을보고 자신의 컴퓨터로 다운로드하려고합니다. 그의 컴퓨터는 FTP 용어로 "로컬 컴퓨터"입니다.

파일을 검색 (또는 "가져 오기")하는 명령은 get입니다. 따라서 사용자는 명령을 실행 get gc.c합니다. get, 공백을 입력 한 다음 검색하려는 파일의 이름을 입력합니다.

FTP 서버는 파일을 로컬 컴퓨터로 전송하고 전송이 발생했는지 확인하여 응답합니다. 파일 크기와 전송에 걸린 시간도 표시됩니다.

ls
gc.c 받기

한 번에 여러 파일을 검색하려면 mget(multiple get) 명령을 사용하십시오  . 이 mget명령은 각 파일을 차례로 다운로드할지 여부를 확인하도록 요청합니다. 예는 "y"를, 아니오는 "n"을 눌러 응답합니다.

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

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

mget * .c

FTP 서버에 파일 업로드

FTP 계정에 부여 된 권한에 따라 파일을 서버에 업로드 (또는 "저장") 할 수 있습니다. 파일을 업로드하려면 put명령을 사용하십시오 . 이 예에서 사용자는 Songs.tar.gzFTP 서버에 라는 파일을 업로드하고 있습니다 .

Songs.tar.gz 넣어

예상대로 여러 파일을 한 번에 FTP 서버에 넣는 명령이 있습니다. mput(다중 풋) 이라고 합니다. mget명령 과 mput마찬가지로은 각 파일을 하나씩 업로드 할 때 "y"또는 "n"확인을 요청합니다.

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

mput * .odt

디렉토리 생성 및 변경

ftp 서버의 사용자 계정에서 허용하는 경우 디렉토리를 만들 수 있습니다. 이를 수행하는 명령은 mkdir입니다. 명확하게 말하면 mkdir명령으로 만든 모든 디렉토리 는 로컬 컴퓨터가 아닌 ftp 서버에 만들어집니다.

ftp 서버에서 디렉토리를 변경하려면 cd명령을 사용하십시오 . cd명령 을 사용할 때 ftp>프롬프트는 새 현재 디렉토리를 반영하도록 변경되지 않습니다. pwd(인쇄 작업 디렉토리) 명령은 당신에게 당신의 현재 디렉토리를 표시합니다.

ftp 사용자는 music이라는 디렉토리를 만들고 새 디렉토리로 변경하고 pwd명령을 사용하여 현재 위치를 확인한 다음 해당 디렉토리에 파일을 업로드합니다.

mkdir 음악
cd 음악
암호
songs.tar.gz 넣어

현재 디렉토리의 상위 디렉토리로 빠르게 이동하려면 cdup명령을 사용하십시오 .

cdup

로컬 컴퓨터에 액세스

로컬 컴퓨터에서 디렉토리를 변경하려면 프롬프트 lcd에서 명령을 사용할 수 있습니다 ftp>. 그러나 로컬 파일 시스템에서 현재 위치를 잃어 버리기 쉽습니다. 로컬 파일 시스템에 액세스하는보다 편리한 방법은 !명령 을 사용하는 것 입니다.

!명령은 로컬 컴퓨터에 대한 셸 창을 엽니 다. 이 쉘에서는 표준 터미널 창에서 할 수있는 모든 것을 할 수 있습니다. 입력 exit하면 ftp>프롬프트 로 돌아갑니다 .

사용자가 !명령 을 사용 하고 로컬 컴퓨터에 셸 창을 입력했습니다. 그들은 ls해당 디렉토리에 어떤 파일이 있는지 확인 하는 명령을 내린 다음 프롬프트 exit로 돌아 가기 위해 입력 했습니다 ftp>.

!
ls
출구

파일 이름 바꾸기

FTP 서버에서 파일 이름을 바꾸려면 rename명령을 사용하십시오 . 여기서 FTP 사용자는 파일의 이름을 변경 한 rename다음 ls명령을 사용 하여 디렉토리에있는 파일을 나열합니다.

songs.tar.gz rock_songs.tar.gz 이름 변경
ls

파일 삭제

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

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

ls
gc.o 삭제
mdelete * .o

sftp 명령 사용

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

원격 또는 공용 FTP 서버에 연결하려면 sftp명령을 사용하십시오 . 사용자는 demo에있는 공개적으로 액세스 할 수있는 FTP 서버에서 호출되는 SFTP 계정에 연결합니다 test.trebex.net.

연결되면 연결이 설정되었음을 알려줍니다. 또한 호스트의 진위 여부를 확인할 수 없다는 알림도받습니다. 이것은 새 호스트의 첫 번째 연결에서 정상입니다. 연결을 수락하려면 "y"를 누릅니다.

사용자 계정 이름 ( demo)이 명령 줄에 전달 되었으므로 사용자 계정 이름을 입력하라는 메시지가 표시되지 않습니다. 암호를 묻는 메시지 만 표시됩니다. 입력, 확인 및 수락되고 sftp>프롬프트 가 표시 됩니다.

sftp [email protected]

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

  • 파일 사용을 삭제하려면 rm(FTP 사용 delete)
  • 여러 파일을 삭제하려면 rm(FTP 사용 mdelete)
  • 상위 디렉토리로 이동하려면 cd ..(FTP 사용 cdup)

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

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