SCP에서 '해당 파일 또는 디렉터리 없음'오류를 수정하는 방법은 무엇입니까?

SCP는 Secure Copy Protocol의 약자이며 "Secure Shell"프로토콜을 기반으로합니다. 컴퓨터간에 파일을 전송하는 방법을 제공합니다. 이 전송에서 두 컴퓨터는 모두 원격 호스트가 될 수 있거나 한 컴퓨터는 로컬 호스트가되고 다른 컴퓨터는 원격 호스트가 될 수 있습니다. 아주 최근에 많은 사용자가 SCP로 파일을 복사하려고 할 때 " No such File or Directory "오류가 발생했습니다.

이 기사에서는이 문제가 발생하는 몇 가지 이유에 대해 논의하고 문제를 완전히 해결하기위한 실행 가능한 솔루션도 제공합니다. 또한 트리거되는 몇 가지 이유를 살펴 보겠습니다. 충돌을 피하기 위해 가이드를 신중하고 정확하게 따르십시오.

SCP에서 "해당 파일 또는 디렉터리 없음"오류의 원인은 무엇입니까?

여러 사용자로부터 수많은 보고서를받은 후 문제를 조사하기로 결정하고이를 완벽하게 해결하기위한 일련의 솔루션을 고안했습니다. 또한 트리거되는 이유를 조사하여 다음과 같이 나열했습니다.

  • 잘못된 명령 :  경우에 따라 사용자가 파일을 복사하는 데 사용하는 명령이 올바르지 않을 수 있습니다. 복사중인 현재 상황에 맞게 복사 명령을 수정해야합니다. 파일 및 전체 디렉토리 복사 명령이 다릅니다. 또한 구성이 다른 두 컴퓨터간에 복사하는 명령은 요구 사항에 따라 변경됩니다.
  • 포트 번호 :  컴퓨터간에 파일을 복사하기위한 포트 번호가 지정되지 않았을 수도 있습니다. 두 호스트간에 파일을 복사하기 전에 올바른 포트를 전달해야합니다.
  • 잘못된 로그인 : 현재 서버에 로그인되어 있고 파일을 데스크톱에 복사하려는 경우 서버가 서버 내에서 로컬 경로를 찾으려고하기 때문에이 오류가 발생할 수 있습니다. 이는 서버 경로에서 로그 아웃하여 방지 할 수 있습니다.
  • 파일 권한 :  경우에 따라 복사 할 파일의 권한이 "읽기 전용"으로 제한 될 수 있습니다. 이렇게하면 서버가 파일에 액세스하고 복사 할 수 없게됩니다. 파일에 대한 읽기 및 쓰기 권한이 제공되는 것이 중요합니다.

이제 문제의 본질에 대한 기본적인 이해를 마쳤으므로 해결책으로 넘어갈 것입니다. 충돌을 피하기 위해 제시된 특정 순서대로 구현해야합니다.

해결 방법 1 : 올바른 명령 사용

파일을 전송하려는 호스트 구성에 따라 올바른 명령을 사용해야합니다. 이를 위해 서로 다른 호스트 구성간에 파일을 전송하는 데 사용할 수있는 몇 가지 명령을 나열합니다.

로컬 호스트에서 원격 호스트로 복사하려면

Localhost는 물리적으로 액세스 할 수있는 실제 컴퓨터입니다. 원격 호스트는 사용자가 물리적으로 액세스 할 수없는 호스트이며 원격 서버에 있습니다. Localhost에서 원격 호스트로 파일을 전송하려면 다음 명령 구성을 사용해야합니다.

$ scp "the_file"your_username @ the_remote_host : the / path / to / the / directory

Alexa.txt ” 라는 텍스트 파일을 복사하는 예 는 다음과 같습니다.

$ scp Alexa.txt [email protected] : / some / remote / directory

같은 방법으로 다음과 같은 방법으로 전체 디렉토리 를 복사 할 수 있습니다.

$ scp -r "the_directory_to_copy"your_username @ the_remote_host : the / path / to / the / directory / to / copy / to

Alexa ” 라는 디렉토리를 복사하는 예 는 다음과 같습니다.

$ scp -r foo [email protected] : / some / remote / directory / bar

원격 호스트에서 로컬 호스트로 복사하려면

원격 호스트에서 로컬 호스트로 파일을 복사하려는 경우 명령 구성이 원래 구성과 다릅니다. 다음은 원격 호스트와 로컬 호스트간에 파일을 복사하는 데 적합한 명령입니다.

파일 을 복사 하려면 다음 명령을 사용하십시오.

$ scp your_username @ the_remote_host : the_file / your / local / directory

" Alexa . txt ", 다음 명령을 사용하십시오

$ scp your_username @ the_remote_host : Alexa.txt / your / local / directory

해결 방법 2 : 포트 번호 식별

파일을 컴퓨터에 복사하기 전에 원격 호스트의 포트 번호를 식별해야합니다. 이를 위해 복사 프로세스를 시작하는 동안 포트 번호를 추가합니다.

다음 명령을 사용하여 포트 번호 를 표시하면서 컴퓨터간에 복사 할 수 있습니다 .

$ scp -P port_number your_username @ the_remote_host : the_file / your / local / directory

이 동일한 명령을 사용하여 원격 호스트로 또는 원격 호스트에서 복사하는 동안 포트 번호를 표시 할 수 있습니다. 명령 의 " $ scp "부분 뒤에 " -P (포트 번호) " 를 추가하기 만하면 됩니다.

해결 방법 3 : 권한 변경

컴퓨터간에 파일을 복사하는 동안 파일에 적절한 권한을 제공해야합니다. 따라서이 단계에서는 파일의 권한을 변경하는 프로세스를 표시합니다. 그에 대한:

  1. 마우스 오른쪽 - 클릭 복사하려고하는 파일에.
  2. " 속성 "을 클릭 하고 " 보안 "탭을 선택합니다 .
  3. 모든 권한이 " 시스템 "및 " 관리자 " 에게 제공되었는지 확인하십시오 .

참고 :  또한 파일을 복사하는 동안 서버 경로에 로그인하지 않았는지 확인하십시오.