Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

'scp:일반 파일이 아님' 오류 해결 – 단계별 가이드

오류 메시지 'scp는 일반 파일이 아닙니다'는 SCP 명령을 사용하여 파일을 복사하려고 시도했지만 지정된 원본 또는 대상이 일반 파일이 아님을 나타냅니다. SCP 명령은 SSH(Secure Shell) 연결을 통해 호스트 간에 파일을 안전하게 전송하는 데 널리 사용됩니다. 파일 전송의 소스와 대상을 모두 지정해야 합니다. 따라서 일반적으로 잘못된 파일 경로로 인해 오류가 발생합니다.

'Scp는 일반 파일이 아닙니다'라는 오류 메시지는 'Linux', 'macOS', 'BSD'와 같은 Unix 계열 시스템을 포함한 다양한 운영 체제에서 발생할 수 있습니다. 일반적으로 'PuTTY' 또는 'Cygwin'과 같은 타사 소프트웨어의 일부로 SCP 명령이 설치된 Windows 시스템에서도 발생할 수 있습니다.

이 오류를 해결하는 데 도움을 드리고자 이 문제를 자세히 해결하는 데 도움이 되는 문제 해결 가이드를 준비했습니다.

1. 구문 문제

Unix와 Linux는 잘 정의된 구문 규칙과 명령, 쉘 스크립팅 및 구성 파일을 관리하는 표준을 엄격하게 준수하는 것으로 알려져 있습니다. 이러한 운영 체제에서 적절한 실행과 예상되는 동작을 보장하려면 규정된 구문을 따르는 것이 중요합니다.

따라서 구문의 불완전성이 발견되면 시스템은 자동으로 사용자에게 오류 메시지를 표시합니다. 이 경우 오류는 "scp:일반 파일이 아닙니다."입니다. 파일을 복사할 때 염두에 두어야 할 여러 가지 고려 사항이 있습니다.

1.1 공백 확인

파일이나 디렉터리 이름의 공백을 확인하는 것은 Unix/Linux에서 중요한 작업입니다. 명령이나 스크립트 작업 시 잠재적으로 문제를 일으킬 수 있는 선행 또는 후행 공백이 없도록 보장합니다.

예를 들어 '/home/user' 디렉터리에 'my_file.txt'라는 파일이 있는 시나리오를 생각해 보겠습니다. 파일 이름에 공백이 있는지 확인하려면 다음 명령을 사용하세요:

ls -Q/home/user

-Q 옵션은 따옴표 안에 파일 및 디렉터리 이름을 표시하는 데 사용됩니다. 파일 이름에 공백이 있으면 이 명령을 실행할 때 공백이 눈에 띄게 따옴표로 묶입니다.

예를 들어 출력에 특정 결과가 표시되면 필요한 조치를 취해야 합니다.

"myfile.txt"

이는 파일 이름에 공백이 있음을 나타냅니다. 이러한 경우 명령이나 스크립트 작업 시 특수 문자를 사용하거나 이름을 따옴표로 묶어 파일 이름의 공백을 처리하는 것이 좋습니다.

파일 또는 디렉터리 이름의 공백과 관련된 잠재적인 문제를 방지하려면 일반적으로 공백이 포함되지 않은 파일 이름을 사용하는 것이 좋습니다.

1.2 콜론이 없거나 추가되었습니다

SCP 명령에서는 원격 서버 및 파일 경로를 지정하기 위해 콜론을 사용해야 합니다. 예를 들어 'scp user@host filepath'와 같은 잘못된 구문을 사용하는 경우 'scp user@host:filepath' 대신 오류가 발생할 수 있습니다. 따라서 "scp가 일반 파일이 아닙니다."라는 오류를 방지하려면 구문 제한 사항을 준수해야 합니다.

1.3 소스와 대상 혼합

SCP 명령을 사용할 때 원본 경로와 대상 경로를 혼합하면 오류나 예기치 않은 동작이 발생할 수 있습니다. 성공적인 파일 전송을 위해서는 올바른 순서를 유지하는 것이 중요합니다.

명확히 하기 위해 SCP 명령은 다음 구문을 따릅니다.

scp <source> <destination>.

실수로 원본 경로와 대상 경로를 바꾸는 경우 파일이 잘못된 방향으로 복사되거나 대상이 유효하지 않은 경우 "scp not a 일반 파일" 오류가 발생할 수 있습니다.

예를 들어, 로컬 컴퓨터에서 원격 서버로 "file.txt"라는 파일을 복사한다고 가정해 보겠습니다.

Correct: scp file.txt user@remote:/path/to/destination
Incorrect: scp user@remote:/path/to/destination file.txt

잘못 사용하면 "file.txt"라는 원격 파일을 로컬 시스템에 복사하려고 시도하여 원하지 않는 결과나 오류가 발생합니다. 원활한 파일 전송을 보장하려면 SCP 명령을 사용할 때 항상 원본 및 대상 경로의 올바른 순서를 다시 확인하고 유지하세요.

2. "-r" 옵션을 사용하세요

이 오류가 발생하는 이유는 디렉토리를 복사한다는 것을 운영 체제에 지정하지 않은 채 디렉토리를 복사하고 있기 때문일 것입니다.

기본적으로 SCP는 파일을 일반 파일로 취급하므로 디렉터리를 복사할 때 -r 옵션을 추가해야 합니다. 사용자가 디렉터리를 복사하려고 할 때 -r 옵션을 사용하여 이 작업을 지정하지 않으면 "scp not a 일반" 오류가 발생합니다.

모든 하위 디렉터리 및 파일과 함께 전체 디렉터리를 복사하려면 "-r" 옵션을 사용합니다. "-r" 옵션이 없으면 SCP는 디렉터리가 아닌 개별 파일만 복사합니다.

다음은 "-r" 옵션과 함께 scp를 사용하는 예입니다:

scp -r /path/to/source_directory user@remote:/path/to/destination_directory

이 명령은 "source_directory"와 모든 하위 디렉터리의 내용을 원격 서버의 "destination_directory"에 반복적으로 복사합니다.

저자 소개

 scp:일반 파일이 아님  오류 해결 – 단계별 가이드

다우드 잔주아

Dawood Janjua는 Windows 문제 해결 및 게임에 대한 풍부한 지식을 갖춘 고도로 숙련된 기술 애호가입니다. 그는 CCNA 인증을 보유하고 있으며 고객에게 탁월한 지원을 제공하는 입증된 실적을 보유하고 있습니다. 현재 작가로 활동하고 있는 Dawood는 자신의 기술 전문성을 확장하고 지역 수준의 지원을 제공하기 위해 앞으로 권위 있는 CCIE 인증을 획득하기를 열망하고 있습니다. 게임에 대한 열정과 기술 전문 지식을 바탕으로 Dawood는 자신의 지식을 커뮤니티와 공유하여 다른 사람들이 해당 분야에서 기술과 지식을 향상할 수 있도록 돕기 위해 최선을 다하고 있습니다.