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

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

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

처음부터 이것을 명확히 합시다. FTP(파일 전송 프로토콜)는 1970년대 초로 거슬러 올라가며 보안을 고려하지 않고 작성되었습니다. 암호화를 사용하지 않습니다. 사용자 이름 및 비밀번호와 같은 로그인 자격 증명과 다운로드하거나 업로드하는 데이터는 일반 텍스트로 전송됩니다. 도중에 누구든지 당신의 비밀을 볼 수 있습니다. 그러나 FTP에는 여전히 용도가 있습니다.

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

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

인터넷을 통해 FTP를 사용하고 싶지 않은 이유를 명확히 하려면 아래 스크린샷을 살펴보십시오. FTP 암호를 일반 텍스트로 표시합니다. 네트워크에 있는 사람 또는 인터넷에 있는 FTP 서버 사이에 있는 사람은 누구나 암호가 “MySecretPassword”임을 쉽게 알 수 있습니다.

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

ftp 명령

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

ftp  192.168.4.25

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

  Google Meet에서 화면을 공유하는 방법

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

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

FTP 서버에 로그인

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

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

파일 검색 및 검색

먼저 FTP 서버에 있는 파일 목록을 얻고 싶을 것입니다. ls 명령이 바로 이 작업을 수행합니다. 사용자는 gc.c 파일이 FTP 서버에 있는 것을 보고 이를 자신의 컴퓨터에 다운로드하려고 합니다. 그의 컴퓨터는 FTP 용어로 “로컬 컴퓨터”입니다.

파일을 검색(또는 “get”)하는 명령은 get입니다. 따라서 사용자는 get gc.c 명령을 실행합니다. get, 공백, 검색하려는 파일 이름을 차례로 입력합니다.

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

ls
get gc.c

한 번에 여러 파일을 검색하려면 mget(다중 가져오기) 명령을 사용합니다. mget 명령은 각 파일을 차례로 다운로드할지 여부를 확인하도록 요청합니다. 예인 경우 “y”를 누르고 아니오인 경우 “n”을 눌러 응답하십시오.

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

mget *.c

FTP 서버에 파일 업로드

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

put Songs.tar.gz

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

  macOS의 메뉴 막대에서 이번 주의 iTunes 영화 보기

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

mput *.odt

디렉토리 생성 및 변경

ftp 서버의 사용자 계정이 허용하는 경우 디렉토리를 생성할 수 있습니다. 이를 수행하는 명령은 mkdir 입니다. 분명히 하기 위해 mkdir 명령으로 생성한 모든 디렉토리는 로컬 컴퓨터가 아닌 ftp 서버에 생성됩니다.

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

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

mkdir music
cd music
pwd
put songs.tar.gz

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

cdup

로컬 컴퓨터에 액세스

로컬 컴퓨터의 디렉토리를 변경하려면 ftp> 프롬프트에서 lcd 명령을 사용할 수 있습니다. 그러나 로컬 파일 시스템에서 자신이 어디에 있는지 추적하기 쉽습니다. 로컬 파일 시스템에 액세스하는 보다 편리한 방법은 ! 명령.

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

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

!
ls
exit

파일 이름 바꾸기

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

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

파일 삭제

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

  Android에서 텍스트, 링크 및 사진을 복사하여 붙여넣는 방법

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

ls
delete gc.o
mdelete *.o

sftp 명령 사용

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

원격 또는 공용 FTP 서버에 연결하려면 sftp 명령을 사용하십시오. 우리 사용자는 test.trebex.net에 있는 공개적으로 액세스 가능한 FTP 서버에서 데모라는 SFTP 계정에 연결할 것입니다.

연결되면 연결이 설정되었음을 알립니다. 그들은 또한 호스트의 진위를 확인할 수 없다는 알림을 받습니다. 이는 새 호스트의 첫 번째 연결에 대해 정상입니다. 연결을 수락하려면 “y”를 누릅니다.

사용자 계정 이름(데모)이 명령줄에서 전달되었기 때문에 사용자 계정 이름을 묻는 메시지가 표시되지 않습니다. 암호만 묻는 메시지가 표시됩니다. 이를 입력하고 확인하고 수락하면 sftp> 프롬프트가 표시됩니다.

sftp [email protected]

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

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

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

Linux 세계에서 파일을 전송하는 다른 옵션, 특히 scp(보안 사본), 그러나 여기서는 FTP 및 SFTP에 중점을 두었습니다. 적용 가능한 시나리오에서 사용되는 이 두 명령은 귀하와 귀하의 파일 저장 및 검색 요구 사항을 잘 충족시킬 것입니다.