SCP 사용 오류 :“일반 파일 아님”


73

잠시 동안 검색했는데 일반 파일의 정의를 찾을 수 없습니다. 내 경로는 영구적이며 (에서 시작 /)에 연결 중입니다.

scp root@IP: /path/to/picture.jpg

암호를 찾은 다음 ...

scp: .: not a regular file

답변:


59

일반 파일은 파이프 나 장치, 소켓, 문 등과 같이 이름이 지정된 디렉토리 나 "특별한"파일 이 아닌 파일입니다 . 심볼릭 링크 는 일반 파일이 아니지만 대상 파일처럼 작동합니다. 응용 프로그램이 파일의 내용에 액세스하고 있습니다.

root@IP:사본의 출처와 /path/to/picture.jpg목적지로 전달 했습니다 . 소스는 root머신 에서 사용자의 홈 디렉토리 입니다 IP. 이것은 목적지로는 유용하지만 소스로는 유용하지 않습니다. 입력 한 내용은 디렉토리를 파일로 복사하는 데 필요합니다. 옵션 scp을 사용하여 재귀 적 사본을 요청하지 않으면 디렉토리를 복사 할 수 없습니다 -r(및로도 기존 파일을 디렉토리로 덮어 쓰기를 거부 -r하지만 소스가 일반 파일 인 경우 일반 파일을 자동으로 덮어 씁니다).

/path/to/picture.jpg복사하려는 파일의 원격 시스템에있는 경로 인 경우 파일 이름을 호스트 스펙에 고정해야합니다. :호스트 이름을 원격 경로와 구분하는 것은 콜론 입니다. 목적지도 지정해야합니다.

scp root@IP:/path/to/picture.jpg /some/destination

로컬 파일 /path/to/picture.jpg을 원격 호스트 에 복사 하려면 인수를 교체해야합니다. 유닉스 복사 명령은 소스를 첫 번째로, 목적지를 마지막으로 둡니다.

scp /path/to/picture.jpg root@IP:

원격 파일 /path/to/picture.jpg을 동일한 위치에 로컬로 복사 하려면 경로를 반복해야합니다. 쉘이 반복 작업을 수행하도록 할 수 있습니다 (타이핑이 적고 가독성이 떨어짐).

scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg

2
호스트 이름과 파일 사이에 공백이 없는지 확인하십시오.
chris

나는 이것을 읽은 후 매우 어리석은 느낌이 든다. 소스, 목적지! 어이!
Chaim Eliyah

112

디렉토리를 복사 할 때 다음 -r옵션을 사용해야합니다 .

scp -r root@IP:/path/to/file /path/to/filedestination

1
수용된 답변이 기술적으로 실제 질문에 대한 답변이지만,이 답변은이 페이지를 방문한 사람들이 찾는 것일 가능성이 높습니다.
cgnorthcutt

4

구문 문제-사이의 공백을 제거하십시오

root @ IP :

/통로


그러나 scp더 이상 목표가 없습니다.
Bernhard

예. 나는 엔터를 너무 빨리 누르고 그것을 고칠 담당자가 부족했다. 내가 여기에 댓글을 달 수 있다는 것에 놀랐습니다. 건배.
lurker

2
나는 당신이 항상 당신의 자신의 공헌에 대해 의견을 말할 수 있다고 생각하며, 당신이 항상 그것들을 편집 할 수 있다고 생각 했습니까?
Bernhard

나는이 오류를 일으킬 수있는 틱하지 않습니다not a regular file
HISI

@hisi -r는 scp 인수로 사용 합니다.
Ankur Loriya

2

scp root@IP:/path/to/file /path/to/filedestination

위의 명령은 파일을 원격 서버에서 컴퓨터로 복사합니다. 입력 scp root@IP:만하면 루트의 홈 디렉토리 (scp users home .) 를 복사하려고 시도합니다 .

따라서 파일의 정확한 경로를 제공해야합니다


이것은 효과가 있었다. 고마워요. 유지하십시오!
JeffM

2

파일이 아닌 폴더를 복사하려고하므로 오류가 발생하므로 -r옵션 을 사용하여 파일을 재귀 적으로 복사해야합니다.

원격 컴퓨터에서 로컬 컴퓨터로 파일을 복사 할 때 아래 명령을 사용하십시오.

scp -r root@RemoteIP:/path/to/file /path/to/filedestination

또는

로컬 컴퓨터에서 원격 컴퓨터로 파일을 복사하는 경우

scp -r /path/to/file root@RemoteIP:/path/to/filedestination

0
scp root@IP:/path/to/*.jpg  /path/to/filedestination/

이것은 작동합니다 (적어도 내 Mac에서는)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.