에 이 메시지를 받았다면 무슨 뜻인가요 scp
?
scp: /dev/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/3/fd/5/31/rd/c6d16: No such device or address
내가 하고 있는 일은
scp -r [email protected]:/* .
답변1
원격 측에서 재귀를 수행하는 프로세스는 수퍼유저로 실행 중이며 /dev/fd
재귀의 일부로 읽혀지는 디렉터리에 대해 여러 개의 열린 파일 설명자가 있습니다. 순회하면 하위 디렉터리처럼 보이기 때문에 /dev/fd
다시 반복됩니다.
어떤 열린 파일 설명자가 어떤 디렉터리에 열려 있는지 확인하는 것도 가능합니다.
- 파일 설명자 #3이 열려 있습니다.
/
- 파일 설명자 #5가 열려 있습니다.
/dev/fd
- 파일 설명자 #31이 열려 있습니다.
/dev
/dev/rd/c6d16
열기 및 복사 시도가 물리적 장치에 해당하지 않는 지점 까지 길고 우회적인 경로를 취했습니다 .
/dev
명령, 특히 슈퍼유저 권한으로 실행되는 명령은 순진하게 , , , 등 /device
의 모든 파일을 열고 복사하려고 시도하므로 항상 주의하십시오. 이러한 관행은 교환원이 감지될 때까지 공개 통화를 차단하는 테이프 장치(때때로 자동 되감기/자동 고정 기능 포함)와 터미널 장치 시절부터 현명하지 못했습니다. /proc
/sys
/dev
당신이진짜복사하려면 /dev
아마도당신은하지 않습니다최신 운영 체제에서는 해당 내용이 런타임에 동적으로 결정된다는 점을 고려하면 순진하게 파일을 열고 읽는 대신 단일 명령을 사용하여 특수 장치 파일, FIFO, 소켓 및 심볼릭 링크 자체를 복사할 수 있습니다. 일반 파일로. (또는 특수 장치인지 확인하여 장치 파일에서 오류가 발생하고 에서 오류가 발생합니다 open()
. )fstat()
open()